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

为Bouncy Castle加密创建证书

  •  1
  • Gordon  · 技术社区  · 14 年前

    我正在尝试创建一个自签名证书,用于使用BouncyCast加密电子邮件。

    生成证书的最佳方法是什么?

    我试过使用OpenSSL,但证书有问题。

    这是我用来加密的代码,我用的是3DES。

    SMIMEEnvelopedGenerator gen = new SMIMEEnvelopedGenerator();
    gen.addKeyTransRecipient(x509Cert); // adds an X509Certificate
    
    MimeBodyPart encData = 
        gen.generate(mimeBodyPart, SMIMEEnvelopedGenerator.DES_EDE3_CBC, "BC");
    

    编辑: 抱歉,我是在自吹自擂,但我收到的错误信息似乎不是很有用。

    信息如下:

    org.openas2.WrappedException: org.bouncycastle.mail.smime.SMIMEException:
     key invalid in message.
    

    当我调用smimeenvelopedGenerator.generate方法时,会引发此问题。

    我目前正在Eclipse中附加源代码,以查看是否可以通过单步执行代码获得更有用的错误消息。

    2 回复  |  直到 14 年前
        1
  •  1
  •   bignum    14 年前

    您应该可以使用openssl;这是我用来生成自签名证书的命令:

    openssl req-x509-节点-第365天-newkey rsa:1024-keyout mycert.pem-out mycert.pem

    这将创建一个名为mycert.pem的文件,其中包含 私钥和自签名证书。注意在本例中 密钥未加密,可以用于测试。 密钥和证书都是PEM编码的,并包含标准头文件。 和页脚行。

        2
  •  2
  •   President James K. Polk    14 年前

    我将使用keytool或openssl生成自签名证书。如果你有问题,那么贴出来,不要只是说你有问题。如果要从Java代码生成证书,请使用 org.bouncycastle.x509.X509V3CertificateGenerator