سؤال

أحاول إنشاء شهادة موقعة ذاتيًا لاستخدامها في تشفير بريد إلكتروني باستخدام 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 لمعرفة ما إذا كان بإمكاني الحصول على رسالة خطأ أكثر فائدة عن طريق التنقل عبر الكود.

هل كانت مفيدة؟

المحلول

يجب أن تكون بخير مع OpenSSL ؛ هذا هو الأمر الذي سأستخدمه لإنشاء شهادة موقعة ذاتيا:

Openssl req -x509 -nodes -Days 365 -newkey RSA: 1024 -Keyout mycert.pem -out mycert.pem

سيؤدي ذلك إلى إنشاء ملف يسمى mycert.pem الذي يحتوي على كل من المفتاح الخاص وشهادة الموقعة ذاتية. ملاحظة في هذا المثال ، فإن المفتاح غير مشفر وهو أمر جيد لأغراض الاختبار. يتم ترميز كل من المفتاح و CERT وتشمل خطوط الرأس والتذييل القياسية.

نصائح أخرى

أود استخدام keytool أو openssl لإنشاء شهادة موقعة ذاتيا. إذا كنت تعاني من مشاكل ثم قم بنشرها ، فلا تقل فقط أنك تواجه مشاكل. إذا كنت ترغب في إنشاء الشهادة من رمز Java الخاص بك ، فاستخدم org.bouncycastle.x509 صف دراسي

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top