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 (أداة اختبار شهادة برنامج الناشر)