bcprovider问题
2015年11月2日
昨天我看日志,28号和27号的certid是正常的,而29号的certid是另外一个,我认为是证书被换过了。并且咨询银联之后,银联说相同的证书在不同的操作系统,不同版本的jdk下读出来的certid是一致。行方技术经理从生产上拿下证书后,用银联的demo看了一下,证书是正确的。由于我坚信【证书没有换过,certid就应该一致】,所以我想,是不是在28号由于共享证书,做过换证书的动作。
尔后,由于银联开发包里依赖包是bcprov-jdk16-1.45.jar,而我们在解决sftp下载报错的问题时,用的是bcprov-jdk15on-153.jar,所以,将jar包又替换回bcprov-jdk16-1.45.jar,本来认为可以了,但是生产验证,银联仍然报错,并且certid仍然不正确。
然后,我给出的方案是,将java.security改回,并将bcprov-jdk15on-153.jar放回我们的war包,我们赶往总行。
到了总行,行方技术经理已经将java.security里的顺序调整了一下,即,将我们放在最后的security.provider.12=org.bouncycastle.jce.provider.BouncyCastleProvider调整成security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider(即放到第一位),并且将之前的按顺序依次后移。验证银联和sftp后,都可以通过。暂时这么做。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步