这是我的加密数据库:
私有(private)静态最终字符串EMBEDDEDDRIVER =“org.apache.derby.jdbc.EmbeddedDriver”;
“jdbc:derby:./ db; create = true; dataEncryption = true; bootPassword = somepassword; encryptionProvider = org.bouncycaSTLe.jce.provider.BouncyCaSTLeProvider; encryptionAlgorithim = AESEngine / CFBBlockCipher / NoPadding; sqlAutorization = true”;
我将JCE jars扩展到我的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中(未知来源)
在org.bouncycaSTLe.jcajce.provider.drbg.DRBG $ Default.engineSetSeed(未知来源)
在java.security.SecureRandom.setSeed(SecureRandom.java:427)
我只是尝试创建一个数据库..在此阶段种子必须要做什么(请原谅我,因为我对加密非常了解)
如果有相同问题的答案,我希望您能将我引向或得到答案...两种方式都值得赞赏。
最佳答案
好吧。取消提供者的优先级可以解决此问题。
关于encryption - 安全的随机种子和 Derby 数据库创建,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44216429/