有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我使用下面的代码从java中的个人密钥库获取证书,但是 ksp。加载(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) 个答案

  1. # 1 楼答案

    我很确定这是最安全的。Cyrpto需要生成强随机数。其中一个技巧是长时间运行一个算法,最终产生一个不可预测的数字。解决方案可能是:

    • 要想办法“提前”做到这一点,而且只发生一次
    • 找到一个加密实现/JVM,它有一个不同的更快的实现