我在compiling this example上遇到问题
我正在Mac上使用OpenJDK:openjdk版本“ 12.0.2” 2019-07-16
主要问题: 无法重新导入导入的sun.security.pkcs11.SunPKCS11
次要问题: 构造函数OcspClientBouncyCastle()被废弃
有哪些解决方法,可以更新示例吗?
答案 0 :(得分:0)
对于您的主要问题,请考虑更改您的方法,具体方法如下:https://www.oracle.com/technetwork/java/faq-sun-packages-142232.html
与次要产品有关,但仍与主要问题有关,您正在使用旧的库,无法解决不建议使用的错误,或者忍受了此错误,或者找到了可以解决问题的库或库的版本。
提一点建议,在处理旧库时,更新可能意味着更改整个解决方案。
答案 1 :(得分:0)
您还应该指定要使用的iText和BouncyCastle版本。
关于您的主要问题,您只是在尝试编译/运行示例,还是在考虑特定的PKCS11提供程序和配置?在最近的JDK版本中,PKCS11提供程序的处理已发生更改。您可以从此处开始获取更多信息:
关于次要问题,并假设使用的是BouncyCastle的最新版本,可以这样做以避免过时警告:
OCSPVerifier ocspVerifier = new OCSPVerifier(null, null);
OcspClient ocspClient = new OcspClientBouncyCastle(ocspVerifier);
请参阅此处了解后果:
答案 2 :(得分:0)
感谢您的投入!经过kaliatech的评论后,我意识到我可以使用HSM提供程序中用于PKCS11的特定库。
@Estevao Santiago:感谢您提供的链接以及如何正确使用OSCP客户端的方法。
我最终使用了JAVA JCE / JCA,而不是PKCS11方法。对我来说,使用HSM似乎是一种简单得多的方法。我只是添加了HSM设备的正确JAR,并注册了HSM的安全提供程序。