2010-04-23 21 views
1

J'essaie de créer un certificat auto-signé à utiliser pour le cryptage d'un e-mail à l'aide de BouncyCaste.Création d'un certificat pour le cryptage de château plein d'entrain

Quelle serait la meilleure façon de générer un certificat?

J'ai essayé using openssl mais j'ai eu des problèmes avec le certificat.

Voici le code que j'utilise pour crypter, j'utilise 3des.

SMIMEEnvelopedGenerator gen = new SMIMEEnvelopedGenerator(); 
gen.addKeyTransRecipient(x509Cert); // adds an X509Certificate 

MimeBodyPart encData = 
    gen.generate(mimeBodyPart, SMIMEEnvelopedGenerator.DES_EDE3_CBC, "BC"); 

EDIT: Désolé pour être Vauge mais le message d'erreur que je reçois ne semble pas être très utile.

Le message est le suivant:

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

Ceci est jeté quand je l'appelle la méthode SMIMEEnvelopedGenerator.generate.

Je suis actuellement en train d'attacher le code source dans Eclipse pour voir si je peux obtenir un message d'erreur plus utile en passant par le code.

+0

http://stackoverflow.com/questions/2720763/wait-for-return-keypress-using-scanner huh? – BalusC

+0

@BalusC Accidentellement posté la question au début. Réalisé quelque chose de stupide dans la question. Y a-t-il un moyen d'entrer pour le supprimer? Je viens d'obtenir un 404 avec le vieux lien. – Gordon

Répondre

1

Vous devriez être d'accord avec openssl; c'est la commande j'utiliser pour générer un certificat auto-signé:

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

Cela va créer un fichier appelé mycert.pem qui contient à la fois la clé privée et le certificat auto-signé. Notez dans cet exemple que la clé n'est pas cryptée, ce qui est acceptable pour les tests. La clé et le certificat sont codés en PEM et incluent l'en-tête standard et les lignes de bas de page.

2

J'utiliserais keytool ou openssl pour générer un certificat auto-signé. Si vous avez des problèmes alors postez-les, ne dites pas simplement que vous rencontrez des problèmes. Si vous souhaitez générer le certificat à partir de votre code java, utilisez la classe org.bouncycastle.x509.X509V3CertificateGenerator