2017-05-27 72 views
2

这是我的加密DB:安全随机种子和Derby数据库创建

私有静态最后弦乐EMBEDDEDDRIVER = “org.apache.derby.jdbc.EmbeddedDriver”; “dbdb:derby:./ db; create = true; dataEncryption = true; bootPassword = somepassword; encryptionProvider = org.bouncycastle.jce.provider.BouncyCastleProvider; encryptionAlgorithim = AESEngine/CFBBlockCipher/NoPadding; sqlAutorization = true”;

我延长了JCE罐子我的JDK安全并取得供应商的优先级如下: security.provider.1 = org.bouncycastle.jce.provider.BouncyCastleProvider security.provider.2 = sun.security.provider.Sun

,当我试图创建数据库...我得到这个异常:

产生的原因:在org.bouncycastle.crypto.prng.SP800SecureRandom.setSeed(来源不明) java.lang.StackOverflowError的 在org.bouncycastle.jcajce.provider.drbg.DRBG $ Default.engineSetSeed(Unknown Source) at java.security.Se cureRandom.setSeed(SecureRandom.java:427)

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

回答

1

那么..逆转供应商的优先事项解决了这个问题。

0

我在WebLogic同样的错误,我通过复制提供商BouncyCastle的JAR中的文件(不论其中:bcprov-jdk15on-159.jarbcprov-ext-jdk15on-159.jar)解决它在JRE的lib/ext文件夹中。 当我得到错误时,我只复制了bcprov-jdk15on-159.jar而不是其他的。