我们移至 BouncyCastle FIPS 版本 1.0.1,从那时起,RSAKeyHelper 在 Windows VM 中挂起很长时间(下面的堆栈)。
我们在 Linux 中遇到了类似的问题,通过增加熵(urandom/haveged/etc.)解决了该问题。
是否有可用于 Windows 环境的类似解决方法?
Daemon Thread [http-bio-18080-exec-10] (Suspended)
owns: Object (id=2939)
owns: Boolean (id=2940)
owns: SocketWrapper<E> (id=117)
SHA2$SHA256(SHA2).implDigest(byte[], int) line: 98
SHA2$SHA256(DigestBase).engineDigest(byte[], int, int) line: 181
SHA2$SHA256(DigestBase).engineDigest() line: 160
MessageDigest$Delegate.engineDigest() line: 592
MessageDigest$Delegate(MessageDigest).digest() line: 365
ManifestEntryVerifier.verify(Hashtable<String,CodeSigner[]>, Hashtable<String,CodeSigner[]>) line: 207
JarVerifier.processEntry(ManifestEntryVerifier) line: 241
JarVerifier.update(int, byte[], int, int, ManifestEntryVerifier) line: 228
JarVerifier$VerifierStream.read(byte[], int, int) line: 482
URLClassPath$JarLoader$2(Resource).getBytes() line: 124
Launcher$ExtClassLoader(URLClassLoader).defineClass(String, Resource) line: 462
URLClassLoader.access$100(URLClassLoader, String, Resource) line: 73
URLClassLoader$1.run() line: 368
URLClassLoader$1.run() line: 362
AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
Launcher$ExtClassLoader(URLClassLoader).findClass(String) line: 361
Launcher$ExtClassLoader(ClassLoader).loadClass(String, boolean) line: 424
Launcher$ExtClassLoader(ClassLoader).loadClass(String) line: 357
BouncyCastleFipsProvider.<init>(String, SecureRandom) line: not available
BouncyCastleFipsProvider.<init>(String) line: not available
BouncyCastleFipsProvider.<init>() line: not available
RSAKeyHelper.<init>(String, String) line: 35