安全随机种子和德比数据库创建

时间:2017-05-27 11:42:51

标签: encryption derby bouncycastle random-seed secure-random

这是我的加密数据库:

private static final String EMBEDDEDDRIVER =" org.apache.derby.jdbc.EmbeddedDriver&#34 ;; " JDBC:德比:./分贝;创建= TRUE; dataEncryption = TRUE; bootPassword = somepassword; encryptionProvider = org.bouncycastle.jce.provider.BouncyCastleProvider; encryptionAlgorithim = AESEngine / CFBBlockCipher / NoPadding; sqlAutorization =真" ;

我将JCE jar扩展到我的jdk安全性并使提供者优先级如下: security.provider.1 = org.bouncycastle.jce.provider.BouncyCastleProvider security.provider.2 = sun.security.provider.Sun

当我尝试创建数据库时......我得到了这个例外:

引起:java.lang.StackOverflowError     在org.bouncycastle.crypto.prng.SP800SecureRandom.setSeed(未知来源)     at org.bouncycastle.jcajce.provider.drbg.DRBG $ Default.engineSetSeed(Unknown Source)     在java.security.SecureRandom.setSeed(SecureRandom.java:427)

我只是想创建一个数据库..在这个阶段种子必须做什么(原谅我,因为我对加密非常新鲜) 如果有相同问题的答案,我希望你指导我或给我一个答案......两种方式都赞赏。

2 个答案:

答案 0 :(得分:1)

嗯..扭转提供商的优先级解决了这个问题。

答案 1 :(得分:0)

我在weblogic中遇到了同样的错误,我通过在JRE的UICollectionView文件夹中复制Providers BouncyCastle JARS文件(它们都是bcprov-jdk15on-159.jarbcprov-ext-jdk15on-159.jar)来解决它。 当我收到错误时,我只复制了lib/ext而不复制了另一个。