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

I would use keytool or openssl to generate a self-signed certificate. If you are having problems then post them, don't just say you are having problems. If you want to generate the certificate from your java code use the org.bouncycastle.x509.X509V3CertificateGenerator class

于 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 に答える