securerandom.source=file:/dev/urandom用
securerandom.source=file:/dev/./urandomin
替换
$JAVA_PATH/jre/lib/security/java.security已解决了我的问题。
即使
file:/dev/urandom已指定,JRE仍将
/dev/random用于SHA1PRNG(请参见Bug
JDK-4705093):
在SHA1PRNG中,有一个SeedGenerator,它根据配置执行各种 *** 作。
如果java.security.egd或securerandom.source指向“ file:/ dev / random”或“
file:/ dev /
urandom”,我们将使用NativeSeedGenerator,它调用super(),后者调用SeedGenerator.URLSeedGenerator(/
dev / random )。(SeedGenerator中的一个嵌套类。)此bug唯一改变的是urandom也将触发此代码路径的使用。如果这些属性指向存在的另一个URL,我们将初始化SeedGenerator.URLSeedGenerator(url)。这就是为什么“
file:/// dev / urandom”,“ file:/./ dev / random”等将起作用的原因。
从Wikipedia上的/ dev / random:
在该实现中,生成器保持熵池中噪声位数的估计。根据该熵池,创建随机数。读取时,/ dev / random设备将仅返回熵池中估计的噪声位数内的随机字节。
/ dev / random 应该适合需要 非常高质量的随机性的应用, 例如一次性填充或密钥生成。当熵池为空时,从/ dev / random的读取 将被阻塞,
直到收集到其他环境噪声为止。目的是充当加密安全的伪随机数生成器,以尽可能大的熵传递输出。建议将其用于生成用于高价值或长期保护的加密密钥。
环境噪音?
随机数发生器将 来自设备驱动程序和其他来源的 环境噪声 收集到一个熵池中。发生器还保持熵池中噪声位数的估计。根据该熵池,创建随机数。
这意味着在实践中,有可能在未知的时间内阻止tomcat。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)