1

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

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

我曾尝试使用 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 中的源代码,以查看是否可以通过单步执行代码来获得更有用的错误消息。

4

2 回答 2

2

我会使用 keytool 或 openssl 来生成自签名证书。如果您遇到问题,请发布它们,不要只说您遇到问题。如果您想从您的 java 代码生成证书,请使用org.bouncycastle.x509.X509V3CertificateGenerator

于 2010-04-23T11:36:52.677 回答
1

你应该对 openssl 没问题;这是我用来生成自签名证书的命令:

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem

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

于 2010-04-23T13:48:05.873 回答