OpenJDK和iText示例的编译问题

时间:2019-07-23 12:49:10

标签: java itext hsm

我在compiling this example上遇到问题

我正在Mac上使用OpenJDK:openjdk版本“ 12.0.2” 2019-07-16

主要问题: 无法重新导入导入的sun.security.pkcs11.SunPKCS11

次要问题: 构造函数OcspClientBouncyCastle()被废弃

有哪些解决方法,可以更新示例吗?

3 个答案:

答案 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的安全提供程序。