Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么加载个人密钥库需要这么多时间?_Java_Security_Keystore - Fatal编程技术网

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

Java 为什么加载个人密钥库需要这么多时间?,java,security,keystore,Java,Security,Keystore,我使用下面的代码从java中的个人密钥库获取证书,但是 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

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

我相当肯定这是最安全的。Cyrpto需要生成强随机数。其中一种技术是长时间运行一个算法,最终产生一个不可预测的数字。解决办法可能是:

  • 找到一种“提前”完成的方法,并且它只发生一次
  • 查找具有不同更快实现的加密实现/JVM

谢谢您的回复。我不明白你想找一个加密实现/JVM,它有一个不同的更快的实现。我怎么能这么做呢?我没有确切的答案,也许这甚至不是你的问题。(但我以前也遇到过这个问题。)试试谷歌搜索“SecureRandom slow”,看看你能找到什么。我发现这个。。。我最终为它编写了windows服务。