是否有可以处理 SSL 连接并支持 AES-NI 指令的 Java 安全提供程序?
我曾尝试将 SunPKCS11 与 Mozilla NSS 一起使用,但它不适用于使用 AES 加密的 SSL 连接。根据Java PKCS#11 Reference Guide ,此提供程序不支持 SSLContext。*“算法”:-(
最佳答案
2012 年 12 月在 openjdk 上有一些近期 Activity 在 x86 上支持 AES-NI。参见 JEPS-164
This讨论了 2012 年 12 月合并到 jdk8 here包括汇编代码更改以支持 AES-NI。从讨论看来,更改可能会返回移植到 jdk7u12。
IBM JCE 2012 年 11 月的 Java V7 包括对 AES-NI 的支持。
如果使用这些新的 JRE 之一,您的 java SSL/TLS 实现应该利用 AES-NI 而无需使用 PKCS11 提供程序。
您可以检查您的 BIOS 以查看是否可以启用/禁用 AES-NI。如果可以,那么您可以运行 AES 加密/解密的微基准测试,看看有什么区别。
关于支持 AES-NI 的 Java SSL 提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14259671/