Makecert.exe (أداة إنشاء شهادة)

تقوم أداة إنشاء الشهادة بإنشاء شهادات X.509 لأغراض الاختبار فقط, حيث تقوم بإنشاء زوج من المفاتيح العامة و الخاصة للتواقيع الرقمية و تخزنها في ملف شهادة, و تقوم هذه الأداة أيضاً بإقران زوج المفاتيح مع اسم ناشر محدد و إنشاء شهادة X.509 التي تربط اسم محدد لمستخدم بالجزء العمومي من زوج المفاتيح,

حيث تتضمن Makecert.exe الخيارات الأساسية و الموسعة فالخيارات الأساسية هي الأكثر استخداماً لإنشاء شهادة, أما الخيارات الموسعة توفر مرونة أكثر.

المفاتيح الخاصة للشهادة التي تم إنشاؤها بواسطة هذه الأداة يجب عدم تخزينها في ملفات .snk أبداً, و إذا كنت تحتاج لتخزين مفتاح خاص فيجب عليك استخدام حاوية مفاتيح. لمزيد من المعلومات حول كيفية تخزين مفتاح خاص في حاوية مفاتيح, راجع كيفية: تخزين مفاتيح غير متماثلة في حاوية الأساسية.

ملاحظة تنبيهتنبيه

يجب عليك استخدام شهادة مخزن لتخزين الشهادة الخاصة بك بشكل آمن,فملفات .snk المستخدمة من قبل هذه الأداة تقوم بتخزين المفاتيح الخاصة في طريقة غير محمية,و عندما تقوم بإنشاء أو استيراد ملف .snk فيجب أن تكون حذراً لتأمينه أثناء الاستخدام و إزالته عند الانتهاء.

أداة إنشاء الشهادة مثبتة تلقائياً مع ‏‫Visual Studio و لتشغيل الأداة استخدم موجه أوامر Visual Studio.. في موجه الأوامر، اكتب ما يلي:

makecert [options] outputCertificateFile

الوسيطة

الوصف

outputCertificateFile

ستتم كتابة شهادة الاختبار X.509 في اسم الملف .cer.

الخيارات الأساسية

الخيار

الوصف

-n x509name

يقوم بتحديد اسم الشهادة للموضوع حيث يجب أن يتوافق هذا الاسم مع المعيار X.500, و الطريقة الأسهل هي تحديد الاسم بعلامات اقتباس مزدوجة مسبوقة بـ CN = على سبيل المثال، "CN =myName".

-pe

يمثل المفتاح الخاص الذي تم إنشاؤه كقابل للتصدير, و هذا يسمح بتضمين المفتاح الخاص في الشهادة.

-sk keyname

يقوم بتحديد موقع حاوية المفاتيح للموضوع الذي يحتوي على المفتاح الخاص, و إذا لم تتواجد حاوية الفاتيح فإنه سيتم إنشاؤها.

‎-sr الموقع

يقوم بإنشاء موقع تخزين الشهادة للموضوع, حيث إن الموقع يمكن أن يكون currentuser (الافتراضي), أو localmachine.

-ss ممخزن

يقوم بإنشاء اسم مخزن الشهادات للموضوع الذي يخزن شهادة الإخراج.

-# رقم

يقوم بتحديد رقم تسلسلي من 1 إلى 2,147,483,647, فالقيمة الافتراضية عبارة عن قيمة فريدة تم إنشاؤها بواسطة Makecert.exe.

-$ authority

يقوم بتحديد المرجع المصدق لتوقيع الشهادة التي يجب تعيينها إلى إما التجارية (للشهادات المستخدمة من قبل ناشري البرامج التجارية) أو الفردية (للشهادات المستخدمة من قبل ناشري البرامج الفردية).

-?

يعرض بناء جملة الأمر و قائمة للخيارات أساسية للأداة.

-!

يعرض بناء جملة الأمر و قائمة الخيارات الموسّعة للأداة.

الخيارات الموسعة

الخيار

الوصف

-a خوارزمية

يقوم بتحديد خوارزمية التوقيع حيث يجب أن تكون إما md5 (الافتراضي) أو sha1.

-b mm/dd/yyyy

يقوم بتحديد البداية لفترة الصلاحية و الإعدادات الافتراضية لتاريخ إنشاء الشهادة.

-cy certType

يقوم بتحديد نوع الشهادة حيث القيم الصالحة عبارة عن إنهاء لوحدة الإنهاء و المرجع للمرجع المصدق.

-d اسم

يقوم بعرض اسم للموضوع.

-e mm/dd/yyyy

يقوم بتحديد النهاية لفترة الصلاحية و الإعدادات الافتراضية لـ 12/31/2039 11:59:59 GMT.

-eku oid [oid]

يقوم بإدراج قائمة لمعرفات الكائنات (OIDs) مفصولة بفاصلة و تعزيز استخدام المفتاح في الشهادة.

-h رقم

يقوم يتحديد الارتفاع الأقصى للشجرة أدنى هذه الشهادة.

-ic ملف

يقوم بتحديد ملف شهادة المُصدر.

-ik keyname

يقوم بتحديد اسم حاوية مفاتيح المُصدر.

-iky keytype

يقوم بتحديد نوع مفتاح المُصدر الذي يجب أن يكون توقيع أو تبادل أو عدد صحيح يمثل نوع موفر, و بشكل افتراضي يمكنك تمرير 1 لمفتاح تبديل و 2 لمفتاح توقيع.

-in اسم

يقوم بتحديد الاسم الشائع لشهاشهادة المُصدر.

-ip موفر

يقوم بتحديد اسم موفر المُصدر CryptoAPI.

‎-ir الموقع

يقوم بتحديد الموقع لمخزن شهادات المُصدر, حيث الموقع يمكن أن يكون إما currentuser (الافتراضي) أو localmachine.

-is مخزن

يقوم بتحديد اسم مخزن شهادة المُصدر.

-iv pvkFile

يقوم بتحديد ملف المفتاح الخاص .pvk للمُصدر.

-iy pvkFile

يقوم بتحديد نوع موفر المُصدر CryptoAPI.

-l ارتباط

ارتباطات لمعلومات السياسة (على سبيل المثال، URL).

-m رقم

يقوم بتحديد المدة بالشهور لفترة صلاحية الشهادة.

-nscp

يتضمن ملحق عميل التخويل Netscape.

‎-r

يقوم بإنشاء شهادة موقعة ذاتياً.

-sc ملف

يقوم بتحديد ملف الشهادة للموضوع.

-sky keytype

يقوم بتحديد نوع مفتاح الموضوع الذي يجب أن يكون توقيع أو تبادل أو عدد صحيح يمثل نوع موفر, و بشكل افتراضي يمكنك تمرير 1 لمفتاح تبديل و 2 لمفتاح توقيع.

-sp موفر

يقوم بتحديد اسم الموفر CryptoAPI للموضوع.

-sv pvkFile

يقوم بتحديد ملف المفتاح الخاص .pvk للموضوع و يتم إنشاء الملف في حالة عدم وجوده.

-sy نوع

يقوم بتحديد نوع الموفر CryptoAPI للموضوع.

أمثلة

يقوم الأمر التالي بإنشاء شهادة اختبار تم إصدارها من قبل جذر الاختبار الافتراضي و كتابته إلى testCert.cer.

makecert testCert.cer

يقوم الأمر التالي بإنشاء شهادة صادرة عن جذر الاختبار الافتراضي و حفظها في مخزن شهادات

makecert -ss testCertStore

يقوم الأمر التالي بإنشاء شهادة صادرة عن جذر الاختبار الافتراضي و حفظها في مخزن شهادات حيث يتم وضع الشهادة بوضوح في المخزن currentuser.

makecert -ss testCertStore -sr currentuser

يقوم الأمر التالي بإنشاء شهادة اختبار و كتابتها في textXYZ.cer باستخدام حاوية المفاتيح للموضوع و شهادة اسم الموضوع X.500 .

makecert -sk XYZ -n "CN=XYZ Company" testXYZ.cer 

يقوم الأمر التالي بإنشاء شهادة صادرة عن جذر الاختبار الافتراضي و إنشاء ملف .pvk و إخراج الشهادة للمخزن و الملف.

makecert -sv testCert.pvk -ss testCertStore testCert.cer

يقوم الأمر التالي بإنشاء شهادة صادرة عن جذر الاختبار الافتراضي و إنشاء حاوية مفاتيح و إخراج الشهادة للمخزن و الملف.

makecert -sk myTestKey -ss testCertStore testCert.cer

يقوم الأمر التالي بإنشاء شهادة موقعة ذاتياً و تحديد اسم الموضوع لـ "CN=XYZ شركة" و بداية و نهاية فترات الصلاحية و وضع المفتاح في المخزن my و تحديد و تبادل المفتاح و جعل المفتاح الخاص قابل للتصدير.

makecert -r -pe -n "CN=XYZ Company" -b 01/01/2005 -e 01/01/2010 -sky exchange -ss my

تقوم الأوامر التالية بإنشاء الشهادات و حفظها للمخازن حيث يقوم الأمر الأول بإنشاء شهادة باستخدام جذر الاختبار الافتراضي و حفظ الشهادة لمخزن, و يقوم الأمر الثاني بإنشاء شهادة أخرى باستخدام شهادة تم إنشاؤه حديثاً و حفظها لمخزن آخر.

makecert -sk myTestKey -ss testCertStore
makecert -is testCertStore -ss anotherTestStore

تقوم الأوامر التالية بإنشاء الشهادات و حفظها للمخازن حيث يقوم الأمر الأول بحفظ الشهادة للمخزن my, و يقوم الأمر الثاني بإنشاء شهادة أخرى باستخدام شهادة تم إنشاؤه حديثاً, و بسبب وجود أكثر من شهادة في المخزن my فإن الأمر الثاني يقوم بتعريف الشهادة الأولى باستخدام اسمها الشائع.

makecert -sk myTestKey -n "CN=XXZZYY" -ss my
makecert -is my -in "XXZZYY" -ss anotherTestStore

تقوم الأوامر التالية بإنشاء الشهادات و حفظها للملفات و المخزنات حيث يقوم الأمر الأول بإنشاء شهادة باستخدام جذر الاختبار الافتراضي و حفظ الشهادة للمخزن my و للملف, و يقوم الأمر الثاني بإنشاء شهادة أخرى باستخدام شهادة تم إنشاؤه حديثاً testCert.cer, و بسبب وجود أكثر من شهادة في المخزن my فإن الأمر الثاني يقوم بتعريف الشهادة الأولى بشكل فريد باستخدام اسم ملف الشهادة.

makecert -sk myTestKey -n "CN=XXZZYY" -ss my testCert.cer
makecert -is my -ic testCert.cer -ss anotherTestStore

راجع أيضًا:

المرجع

Cert2spc.exe (أداة اختبار شهادة برنامج الناشر)

موجه أوامر Visual Studio.

موارد أخرى

أدوات .NET Framework