为什么加载个人密钥库需要花费这么多时间?

时间:2014-03-12 21:01:22

标签: java security keystore

我使用下面的代码从java中的个人密钥库获取证书但声明 ksp.load(null,null)需要14秒才能执行,我无法弄清楚为什么以及如何减少它。我可以用证书签署pdf文件,但整个过程需要1分钟,我想要1秒钟。

SunMSCAPI SunProvider=new SunMSCAPI();
Security.addProvider(SunProvider);
KeyStore ksp = KeyStore.getInstance("Windows-MY");
ksp.load(null,null);
java.security.cert.Certificate[] chain = ksp.getCertificateChain(certName);

1 个答案:

答案 0 :(得分:0)

我相当肯定这是SecureRandom播种。 Cyrpto需要强大的随机数生成。其中一种技术是长时间运行算法,最后产生不可预测的数字。解决方案可能是:

  • 找到一种方法来提前做到这一点"提前#34;并且它只发生一次。
  • 找到一个加密实现/ JVM,它具有不同的更快实现。