我正在尝试创建一个自签名证书,用于使用bouncycaste加密电子邮件。
生成证书的最佳方式是什么?
我尝试过使用openssl,但我遇到了证书问题。
以下是我用来加密的代码,我正在使用3des。
SMIMEEnvelopedGenerator gen = new SMIMEEnvelopedGenerator();
gen.addKeyTransRecipient(x509Cert); // adds an X509Certificate
MimeBodyPart encData =
gen.generate(mimeBodyPart, SMIMEEnvelopedGenerator.DES_EDE3_CBC, "BC");
编辑: 很抱歉是因为vauge但我收到的错误信息似乎不是很有用。
信息如下:
org.openas2.WrappedException: org.bouncycastle.mail.smime.SMIMEException:
key invalid in message.
当我调用SMIMEEnvelopedGenerator.generate方法时抛出此内容。
我目前正在Eclipse中附加源代码,看看是否可以通过单步执行代码来获得更有用的错误消息。
答案 0 :(得分:2)
我会使用keytool或openssl生成自签名证书。如果您遇到问题然后发布,不要只是说您有问题。如果要从java代码生成证书,请使用org.bouncycastle.x509.X509V3CertificateGenerator类
答案 1 :(得分:1)
你应该对openssl没问题;这是我用来生成自签名证书的命令:
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mycert.pem -out mycert.pem
这将创建一个名为mycert.pem的文件,其中包含两个文件 私钥和自签名证书。请注意本例中的 密钥是未加密的,可用于测试目的。 密钥和证书都是PEM编码的,包括标准头 和页脚行。