【问题标题】:secure random seed and derby database creation安全的随机种子和 derby 数据库创建
【发布时间】:2017-05-27 11:42:51
【问题描述】:

这是我的加密数据库:

私有静态最终字符串 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 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(未知来源) 在 org.bouncycastle.jcajce.provider.drbg.DRBG$Default.engineSetSeed(未知来源) 在 java.security.SecureRandom.setSeed(SecureRandom.java:427)

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

【问题讨论】:

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


    【解决方案1】:

    嗯.. 颠倒提供者优先级解决了这个问题。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2014-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-28
        相关资源
        最近更新 更多