代码之家  ›  专栏  ›  技术社区  ›  Student

使用BouncyCastle生成RSA密钥时发生NullPointerException

  •  1
  • Student  · 技术社区  · 16 年前
    public static void main(String[] args) throws Exception {
        RSAKeyPairGenerator rsaKeyPairGen = new RSAKeyPairGenerator();
        AsymmetricCipherKeyPair keyPair = rsaKeyPairGen.generateKeyPair();
    }
    

    这个 rsaKeyPairGen 不是空值,而是 generateKeyPair() 方法正在引发NullPointerException。可能有什么问题?

    错误信息:

    java.lang.NullPointerException
    at org.bouncycastle.crypto.generators.RSAKeyPairGenerator.generateKeyPair(Unknown Source)
    at pkg.main(Main.java:154)
    
    1 回复  |  直到 16 年前
        1
  •  3
  •   tangens    16 年前

    必须指定要用于密钥的位长度和随机数生成器(请参见 javadoc ):

    对于生成2048位RSA密钥:

    rsaKeyPairGen.init( new KeyGenerationParameters( new SecureRandom(), 2048 ) );
    
    推荐文章