| OPENSSL-X509(1SSL) | OpenSSL | OPENSSL-X509(1SSL) |
الاسم¶
openssl-x509 - أمر لعرض وتوقيع الشهادات
موجز¶
openssl x509 [-help] [-in اسم_الملف|معرف_المورد] [-passin معطى] [-new] [-x509toreq] [-req] [-copy_extensions معطى] [-inform DER|PEM] [-vfyopt اسم:قيمة] [-key اسم_الملف|معرف_المورد] [-keyform DER|PEM|P12|ENGINE] [-signkey اسم_الملف|معرف_المورد] [-out اسم_الملف] [-outform DER|PEM] [-nocert] [-noout] [-dateopt] [-text] [-certopt خيار] [-fingerprint] [-alias] [-serial] [-startdate] [-enddate] [-dates] [-subject] [-issuer] [-nameopt خيار] [-email] [-hash] [-subject_hash] [-subject_hash_old] [-issuer_hash] [-issuer_hash_old] [-ext ملحقات] [-ocspid] [-ocsp_uri] [-purpose] [-pubkey] [-modulus] [-multi] [-checkend رقم] [-checkhost مضيف] [-checkemail مضيف] [-checkip عنوان_أي_بي] [-set_serial رقم] [-next_serial] [-not_before تاريخ] [-not_after تاريخ] [-days معطى] [-preserve_dates] [-set_issuer معطى] [-set_subject معطى] [-subj معطى] [-force_pubkey اسم_الملف] [-clrext] [-extfile اسم_الملف] [-extensions قسم] [-sigopt اسم:قيمة] [-badsig] [-خلاصة] [-CA اسم_الملف|معرف_المورد] [-CAform DER|PEM|P12] [-CAkey اسم_الملف|معرف_المورد] [-CAkeyform DER|PEM|P12|ENGINE] [-CAserial اسم_الملف] [-CAcreateserial] [-trustout] [-setalias معطى] [-clrtrust] [-addtrust معطى] [-clrreject] [-addreject معطى] [-rand ملفات] [-writerand ملف] [-engine معرف] [-provider اسم] [-provider-path مسار] [-provparam [الاسم:]مفتاح=قيمة] [-propquery استعلام]
الوصف¶
هذا الأمر هو أمر متعدد الأغراض لإدارة الشهادات. ويمكن استخدامه لطباعة معلومات الشهادة، وتحويل الشهادات إلى صيغ مختلفة، وتعديل إعدادات الثقة الخاصة بالشهادات، وإنشاء شهادات من البداية أو من طلبات إصدار الشهادات، ثم التوقيع عليها ذاتيًا أو التوقيع عليها بصفة ”سلطة تصديق مصغرة“.
تحمل الشهادات المُولدة الإصدار 3 من X.509. ما لم يُحدد خلاف ذلك، تُدرج ملحقات معرف المفتاح كما هو موصوف في x509v3_config(5).
نظرًا لوجود عدد كبير من الخيارات، فقد قُسمت إلى أقسام متنوعة.
الخيارات¶
خيارات الدخل والخرج والأغراض العامة¶
- -help
- اطبع رسالة الاستخدام.
- -in اسم_الملف|معرف_المورد
- يحدد هذا
الدخل
لقراءة
شهادة منه
أو ملف
الدخل
لقراءة طلب
شهادة إذا
استُخدمت
علامة -req.
وفي كلتا
الحالتين،
يكون الدخل
القياسي هو
المبدئي.
لا يمكن دمج هذا الخيار مع علامة -new.
- -passin معطى
- مصدر كلمة سر ملف المفتاح والشهادة. لمزيد من المعلومات حول تنسيق المعطى انظر openssl-passphrase-options(1).
- -new
- توليد شهادة من الصفر، دون استخدام شهادة دخل أو طلب شهادة. لذا فإن هذا يستبعد خياري -in و -req. وبدلاً من ذلك، يجب تقديم خيار -set_subject. يمكن تقديم المفتاح العام المراد تضمينه عبر خيار -force_pubkey ويكون المبدئي هو المفتاح المعطى عبر خيار -key (أو -signkey)، مما يعني التوقيع الذاتي.
- -x509toreq
- إخراج طلب
شهادة PKCS#10
(بدلاً من
الشهادة).
يجب
استخدام
خيار -key (أو
-signkey) لتوفير
المفتاح
الخاص
للتوقيع
الذاتي؛
ويُوضع
المفتاح
العام
المقابل في
حقل subjectPKInfo.
لا تُنسخ ملحقات X.509 المضمنة في دخل الشهادة مبدئيًا. يمكن تحديد ملحقات X.509 المراد إضافتها باستخدام خيار -extfile.
- -req
- يُتوقع
وجود شهادة
في الدخل
مبدئيًا.
باستخدام
هذا
الخيار،
يُتوقع طلب
شهادة PKCS#10
بدلاً من
ذلك، والذي
يجب أن يكون
موقعًا
ذاتيًا
بشكل صحيح.
لا تُنسخ ملحقات X.509 المضمنة في الطلب مبدئيًا. يمكن تحديد ملحقات X.509 المراد إضافتها باستخدام خيار -extfile.
- -copy_extensions معطى
- يحدد كيفية
التعامل مع
ملحقات X.509
عند
التحويل من
شهادة إلى
طلب
باستخدام
خيار -x509toreq أو
التحويل من
طلب إلى
شهادة
باستخدام
خيار -req. إذا
كان
المعطى هو
none أو لم
يتوفر هذا
الخيار،
فسيتم
تجاهل
الملحقات.
إذا كان
المعطى هو
copy أو copyall،
فستُنسخ
جميع
الملحقات،
باستثناء
ملحقات
معرف
الموضوع
ومعرف
مفتاح
السلطة
التي لا
تُنقل عند
إنتاج طلب
شهادة.
يمكن استخدام خيار -ext لتقييد الملحقات المراد نسخها بشكل أكبر.
- -inform DER|PEM
- تنسيق ملف الدخل المستخدم؛ تُحاول المحاولة مع PEM أولاً مبدئيًا. انظر openssl-format-options(1) للتفاصيل.
- -vfyopt اسم:قيمة
- مرر الخيارات إلى خوارزمية التوقيع أثناء عمليات التحقق. أسماء وقيم هذه الخيارات خاصة بالخوارزمية.
- -key اسم_الملف|معرف_المورد
- يوفر هذا
الخيار
المفتاح
الخاص
لتوقيع
شهادة
جديدة أو
طلب شهادة.
ما لم يُعطَ
-force_pubkey، يُوضع
المفتاح
العام
المقابل في
الشهادة
الجديدة أو
طلب
الشهادة،
مما يؤدي
إلى توقيع
ذاتي.
لا يمكن استخدام هذا الخيار بالتزامن مع خيار -CA.
يضبط اسم المصدر ليكون هو نفسه اسم الموضوع (أي يجعلها صادرة ذاتيًا). ما لم يُوفر خيار -preserve_dates، فإنه يضبط تاريخ بدء الصلاحية على الوقت الحالي وتاريخ الانتهاء على قيمة يحددها خيار -days. يمكن أيضًا توفير تاريخي البدء والانتهاء صراحةً عبر خياري -not_before و -not_after.
- -signkey اسم_الملف|معرف_المورد
- هذا الخيار هو اسم مستعار لـ -key.
- -keyform DER|PEM|P12|ENGINE
- تنسيق مدخل المفتاح؛ غير محدد مبدئيًا. انظر openssl-format-options(1) للتفاصيل.
- -out اسم_الملف
- يحدد هذا اسم ملف المخرجات للكتابة إليه أو الخرج القياسي مبدئيًا.
- -outform DER|PEM
- تنسيق الخرج؛ المبدئي هو PEM. انظر openssl-format-options(1) للتفاصيل.
- -nocert
- عدم إخراج شهادة (باستثناء الطباعة كما هو مطلوب عبر الخيارات أدناه).
- -noout
- يمنع هذا الخيار الخرج باستثناء الطباعة كما هو مطلوب عبر الخيارات أدناه.
خيارات طباعة الشهادة¶
ملاحظة: خيارا -alias و -purpose هما أيضًا خيارات طباعة ولكنهما موصوفان في قسم "إعدادات الثقة".
- -dateopt
- حدد تنسيق خرج التاريخ. القيم هي: rfc_822 و iso_8601. المبدئي هو rfc_822.
- -text
- يطبع الشهادة في شكل نصي. تُطبع التفاصيل الكاملة بما في ذلك المفتاح العام، وخوارزميات التوقيع، وأسماء المصدر والموضوع، والرقم التسلسلي وأي ملحقات موجودة وأي إعدادات ثقة.
- -certopt خيار
- تخصيص تنسيق الطباعة المستخدم مع -text. يمكن أن يكون معطى الخيار خيارًا واحدًا أو خيارات متعددة مفصولة بفواصل. قد يُستخدم مفتاح -certopt أيضًا أكثر من مرة لضبط خيارات متعددة. انظر قسم "علامات طباعة النصوص" لمزيد من المعلومات.
- -fingerprint
- يحسب ويطبع خلاصة إصدار DER المرمز للشهادة بأكملها (انظر خيارات الخلاصة). يُطلق على هذا عادةً اسم "البصمة". وبسبب طبيعة خلاصات الرسائل، فإن بصمة الشهادة فريدة لتلك الشهادة ويمكن اعتبار شهادتين بنفس البصمة شهادة واحدة.
- -alias
- يطبع "الاسم المستعار" للشهادة (الكنية)، إن وجد.
- -serial
- يطبع الرقم التسلسلي للشهادة.
- -startdate
- يطبع تاريخ بدء الشهادة، وهو تاريخ notBefore.
- -enddate
- يطبع تاريخ انتهاء الشهادة، وهو تاريخ notAfter.
- -dates
- يطبع تاريخي البدء وانتهاء الصلاحية للشهادة.
- -subject
- يطبع اسم الموضوع.
- -issuer
- يطبع اسم المصدر.
- -nameopt خيار
- يحدد هذا كيفية عرض أسماء الموضوع أو المصدر. انظر openssl-namedisplay-options(1) للحصول على التفاصيل.
- يطبع عنوان (أو عناوين) البريد الإلكتروني إن وجدت.
- -hash
- مرادف لـ "-subject_hash" لأسباب تتعلق بالتوافقية مع الإصدارات القديمة.
- -subject_hash
- يطبع "بصمة" (hash) اسم موضوع الشهادة. يُستخدم هذا في OpenSSL لتشكيل فهرس يتيح البحث عن الشهادات في دليل ما عبر اسم الموضوع.
- -subject_hash_old
- يطبع "بصمة" اسم موضوع الشهادة باستخدام الخوارزمية القديمة التي كانت مُستخدمة في OpenSSL قبل الإصدار 1.0.0.
- -issuer_hash
- يطبع "بصمة" اسم مصدر الشهادة.
- -issuer_hash_old
- يطبع "بصمة" اسم مصدر الشهادة باستخدام الخوارزمية القديمة التي كانت مُستخدمة في OpenSSL قبل الإصدار 1.0.0.
- -ext الامتدادات
- يطبع امتدادات الشهادة في شكل نصي. يمكن استخدامه أيضًا لتقييد الامتدادات التي تُنسخ. تُحدد الامتدادات بسلسلة نصية مفصولة بفاصلة، على سبيل المثال، "subjectAltName, subjectKeyIdentifier". انظر صفحة الدليل x509v3_config(5) لمعرفة أسماء الامتدادات.
- -ocspid
- يطبع قيم بصمة OCSP لاسم الموضوع والمفتاح العام.
- -ocsp_uri
- يطبع عنوان (أو عناوين) مستجيب OCSP إن وجدت.
- -purpose
- يجري هذا الخيار اختبارات على امتدادات الشهادة ويخرج النتائج. لوصف أكثر اكتمالاً، انظر "Certificate Extensions" في openssl-verification-options(1).
- -pubkey
- يطبع كتلة SubjectPublicKeyInfo الخاصة بالشهادة بتنسيق PEM.
- -modulus
- يطبع هذا الخيار قيمة المقياس (modulus) للمفتاح العام المضمن في الشهادة.
- -multi
- يطبع هذا الخيار معلومات محددة عن جميع الشهادات الموجودة في المدخلات.
خيارات فحص الشهادة¶
- -checkend معطى
- بدون -multi،
يفحص ما إذا
كانت
الشهادة
ستنتهي
صلاحيتها
خلال
الثواني
معطى
القادمة،
ويخرج
بقيمة غير
صفرية إذا
كانت
ستنتهي، أو
صفر إذا لم
تنتهِ.
مع -multi، يفحص ما إذا كانت أي شهادة في المدخلات ستنتهي صلاحيتها خلال الثواني معطى القادمة، ويخرج بقيمة غير صفرية إذا انتهت صلاحية أي منها، أو صفر إذا لم تنتهِ صلاحية أي واحدة.
- -checkhost مضيف
- يفحص ما إذا كانت الشهادة تطابق المضيف المحدد.
- -checkemail بريد_إلكتروني
- يفحص ما إذا كانت الشهادة تطابق عنوان البريد الإلكتروني المحدد.
- -checkip عنوان_ip
- يفحص ما إذا كانت الشهادة تطابق عنوان IP المحدد.
خيارات مخرجات الشهادة¶
- -set_serial n
- يحدد الرقم
التسلسلي
المراد
استخدامه.
يمكن
استخدام
هذا الخيار
مع خيارات
-key أو -signkey أو -CA.
وإذا
استُخدم مع
الخيار -CA
فلا
يُستخدم
ملف
الأرقام
التسلسلية
(كما هو
محدد
بالخيار
-CAserial).
يمكن أن يكون الرقم التسلسلي عشريًا أو ستة عشريًا (إذا سُبق بـ "0x").
- -next_serial
- يضبط الرقم التسلسلي ليكون أكبر بواحد من الرقم الموجود في الشهادة.
- -not_before تاريخ
- يسمح هذا
بضبط تاريخ
البدء
صراحةً.
تنسيق
التاريخ هو
YYMMDDHHMMSSZ (نفس هيكل
ASN1 UTCTime)، أو YYYYMMDDHHMMSSZ
(نفس هيكل ASN1
GeneralizedTime). في كلا
التنسيقين،
يجب أن تكون
الثواني SS
والمنطقة
الزمنية Z
حاضرتين.
بدلاً من
ذلك، يمكنك
أيضًا
استخدام
"today".
لا يمكن استخدامه مع الخيار -preserve_dates.
- -not_after تاريخ
- يسمح هذا
بضبط تاريخ
انتهاء
الصلاحية
صراحةً.
تنسيق
التاريخ هو
YYMMDDHHMMSSZ (نفس هيكل
ASN1 UTCTime)، أو YYYYMMDDHHMMSSZ
(نفس هيكل ASN1
GeneralizedTime). في كلا
التنسيقين،
يجب أن تكون
الثواني SS
والمنطقة
الزمنية Z
حاضرتين.
بدلاً من
ذلك، يمكنك
أيضًا
استخدام
"today".
لا يمكن استخدامه مع الخيار -preserve_dates. يتجاوز هذا الخيار الخيار -days.
- -days معطى
- يحدد عدد
الأيام من
اليوم حتى
انتهاء
صلاحية
الشهادة
التي وُلدت
حديثًا.
القيمة
المبدئية
هي 30.
لا يمكن استخدامه مع الخيار -preserve_dates. إذا ضُبط الخيار -not_after، فإن تاريخ انتهاء الصلاحية الصريح له الأولوية.
- -preserve_dates
- عند توقيع شهادة، تُحفظ تواريخ "notBefore" و "notAfter" لأي شهادة مدخلة بدلاً من ضبطها على الوقت والمدة الحاليين. لا يمكن استخدامه مع الخيارات -days و -not_before و -not_after.
- -set_issuer معطى
- عند إنشاء
شهادة،
يُضبط اسم
مصدرها على
القيمة
المعطاة.
انظر -set_subject لمعرفة كيفية تنسيق المعطى.
- -set_subject معطى
- عند إنشاء
شهادة،
يُضبط اسم
موضوعها
على القيمة
المعطاة.
عندما تكون
الشهادة
موقعة
ذاتيًا،
يُضبط اسم
المصدر على
القيمة
نفسها، ما
لم يُعطَ
الخيار -set_issuer.
يجب تنسيق المعطى كـ "/type0=value0/type1=value1/type2=...". يمكن الهروب من المحارف الخاصة باستخدام "\" (الشرطة المائلة الخلفية)، وتُحفظ المسافات البيضاء. القيم الفارغة مسموح بها، لكن النوع المقابل لن يُدرج في الشهادة. إعطاء "/" مفردة سيؤدي إلى تسلسل فارغ من RDNs (أي NULL-DN). يمكن تشكيل RDNs متعددة القيم بوضع محرف "+" بدلاً من "/" بين تأكيدات قيم السمات (AVAs) التي تحدد أعضاء المجموعة. مثال:
"/DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe"
يمكن استخدام هذا الخيار مع خياري -new و -force_pubkey لإنشاء شهادة جديدة دون تقديم شهادة مدخلة أو طلب شهادة.
- -subj معطى
- هذا الخيار هو الاسم المستعار لـ -set_subject.
- -force_pubkey اسم_الملف
- عند إنشاء
شهادة
جديدة أو
طلب شهادة،
يُضبط
مفتاحها
العام على
المفتاح
المعطى
بدلاً من
المفتاح
الموجود في
المدخلات
أو المعطى
مع الخيار
-key (أو -signkey). إذا
لم تكن
المدخلات
تحتوي على
مفتاح عام
ولكنها
تحتوي على
مفتاح خاص،
يُستخدم
جزؤه العام.
يمكن استخدام هذا الخيار بالاشتراك مع -new و -set_subject لتوليد شهادة تحتوي على أي مفتاح عام مطلوب مباشرة.
هذا الخيار مفيد أيضًا لإنشاء شهادات صادرة ذاتيًا ولكنها ليست موقعة ذاتيًا، على سبيل المثال عندما لا يمكن استخدام المفتاح للتوقيع، مثل DH.
- -clrext
- عند تحويل
شهادة إلى
شهادة
جديدة،
تُحفظ جميع
امتدادات
الشهادة
بشكل مبدئي.
عند تحويل شهادة أو طلب شهادة، يمنع الخيار -clrext نقل أي امتدادات من المصدر. وفي كل الأحوال، عند إصدار طلب شهادة، لا يُدرج امتداد معرف الموضوع ولا امتداد معرف مفتاح السلطة.
- -extfile اسم_الملف
- ملف الإعداد الذي يحتوي على امتدادات شهادة وطلب X.509 المراد إضافتها.
- -extensions القسم
- القسم في
ملف
الامتدادات
(extfile) الذي
تُضاف منه
امتدادات X.509.
إذا لم
يُحدد هذا
الخيار،
فيجب أن
تكون
الامتدادات
إما في
القسم غير
المسمى
(المبدئي)
أو يجب أن
يحتوي
القسم
المبدئي
على متغير
يسمى "extensions"
يحتوي على
القسم
المراد
استخدامه.
انظر صفحة الدليل x509v3_config(5) لتفاصيل تنسيق قسم الامتداد.
ما لم يُذكر خلاف ذلك، تُدرج امتدادات معرف المفتاح كما هو موضح في x509v3_config(5).
- -sigopt اسم:قيمة
- مرر خيارات إلى خوارزمية التوقيع أثناء عمليات التوقيع. يمكن إعطاء هذا الخيار مرات متعددة. الأسماء والقيم المقدمة باستخدام هذا الخيار تعتمد على الخوارزمية.
- -badsig
- أفسد التوقيع قبل كتابته؛ قد يكون هذا مفيدًا للاختبار.
- -خلاصة
- الخلاصة المراد استخدامها. يؤثر هذا على أي خيار توقيع أو طباعة يستخدم خلاصة رسالة، مثل خيارات -fingerprint و -key و -CA. يمكن استخدام أي خلاصة يدعمها الأمر openssl-dgst(1). إذا لم تُحدد، فسيُستخدم SHA1 مع -fingerprint أو تُستخدم الخلاصة المبدئية لخوارزمية التوقيع، وعادة ما تكون SHA256.
خيارات Micro-CA¶
- -CA اسم_الملف|uri
- يحدد شهادة
"سلطة
التصديق" (CA)
التي
ستُستخدم
للتوقيع.
عند وجوده،
يعمل هذا
مثل "micro CA" كما
يلي: يوضع
اسم
الموضوع
لشهادة "CA"
كاسم
للمُصدر في
الشهادة
الجديدة،
والتي
تُوقع بعد
ذلك
باستخدام
مفتاح "CA"
المعطى كما
هو مفصل
أدناه.
لا يمكن استخدام هذا الخيار بالاشتراك مع -key (أو -signkey). يُجمع هذا الخيار عادةً مع خيار -req الذي يشير إلى طلب توقيع شهادة (CSR). بدون خيار -req، يجب أن تكون المدخلات شهادة موجودة ما لم يُعط خيار -new، الذي يولد شهادة من الصفر.
- -CAform DER|PEM|P12،
- تنسيق شهادة سلطة التصديق؛ غير محدد بشكل مبدئي. انظر openssl-format-options(1) للتفاصيل.
- -CAkey اسم_الملف|uri
- يضبط المفتاح الخاص لسلطة التصديق للتوقيع به على الشهادة. يجب أن يتطابق المفتاح الخاص مع المفتاح العام للشهادة المعطاة مع -CA. إذا لم يُوفر هذا الخيار، فيجب أن يكون المفتاح موجودًا في مدخلات -CA.
- -CAkeyform DER|PEM|P12|ENGINE
- تنسيق مفتاح سلطة التصديق؛ غير محدد بشكل مبدئي. انظر openssl-format-options(1) للتفاصيل.
- -CAserial اسم_الملف
- يضبط ملف
الرقم
التسلسلي
لسلطة
التصديق
المراد
استخدامه.
عند إنشاء شهادة بهذا الخيار ومع الخيار -CA، يُخزن الرقم التسلسلي للشهادة في الملف المعطى. يتكون هذا الملف من سطر واحد يحتوي على عدد زوجي من الأرقام الست عشرية مع الرقم التسلسلي المستخدم في المرة الأخيرة. بعد قراءة هذا الرقم، يُزاد ويُستخدم، ويُحدث الملف.
يتكون اسم الملف المبدئي من الاسم الأساسي لملف شهادة سلطة التصديق مع إضافة .srl. على سبيل المثال، إذا كان ملف شهادة سلطة التصديق يسمى mycacert.pem فإنه يتوقع العثور على ملف رقم تسلسلي يسمى mycacert.srl.
إذا حُدد الخيار -CA ولم يُعطَ لا <-CAserial> ولا <-CAcreateserial> وكان ملف الرقم التسلسلي المبدئي غير موجود، يُولد رقم عشوائي؛ وهذا هو الإجراء الموصى به.
- -CAcreateserial
- مع هذا الخيار والخيار -CA، يُنشأ ملف الرقم التسلسلي لسلطة التصديق إذا لم يكن موجودًا. يُولد رقم عشوائي، ويُستخدم للشهادة، ويُحفظ في ملف الرقم التسلسلي المحدد كما هو موضح أعلاه.
إعدادات الثقة¶
الشهادة الموثوقة هي شهادة عادية مُلحق بها عدة معلومات إضافية مثل الاستخدامات المسموح بها والمحظورة للشهادة وربما "اسم مستعار" (لقب).
عادةً عندما تُحقق صحة شهادة، يجب أن تكون هناك شهادة واحدة على الأقل "موثوقة". بشكل مبدئي، يجب تخزين الشهادة الموثوقة محليًا ويجب أن تكون سلطة تصديق جذرية (root CA): وعندئذٍ تكون أي سلسلة شهادات تنتهي بسلطة التصديق هذه قابلة للاستخدام لأي غرض.
تُستخدم إعدادات الثقة حاليًا فقط مع سلطة التصديق الجذرية. وهي تسمح بتحكم أدق في الأغراض التي يمكن استخدام سلطة التصديق الجذرية لها. على سبيل المثال، قد تكون سلطة التصديق موثوقة لعميل SSL ولكن ليس لاستخدام خادم SSL.
انظر openssl-verification-options(1) لمزيد من المعلومات حول معنى إعدادات الثقة.
سوف تتعرف الإصدارات المستقبلية من OpenSSL على إعدادات الثقة في أي شهادة: وليس فقط في سلطات التصديق الجذرية.
- -trustout
- يُعلم أي خرج لشهادة PEM كشهادة <موثوقة> بدلاً من كونها عادية. يمكن إدخال شهادة عادية أو موثوقة ولكن بشكل مبدئي تُخرج شهادة عادية وتُتجاهل أي إعدادات ثقة. مع الخيار -trustout، تُخرج شهادة موثوقة. تُخرج الشهادة الموثوقة آليًا إذا عُدلت أي إعدادات ثقة.
- -setalias معامل
- يضبط الـ "alias" (الاسم المستعار) للشهادة. يتيح هذا الإشارة إلى الشهادة باستخدام اسم مستعار، مثلاً "Steve's Certificate".
- -clrtrust
- يمسح جميع الاستخدامات المسموح بها أو الموثوقة للشهادة.
- -addtrust معامل
- يضيف استخدامًا موثوقًا للشهادة. يمكن استخدام أي اسم كائن هنا ولكن حاليًا فقط clientAuth و serverAuth و emailProtection و anyExtendedKeyUsage هي المعرفة. بدءًا من OpenSSL 1.1.0، فإن الأخير منها يحظر جميع الأغراض عند رفضه أو يمكن جميع الأغراض عند الوثوق به. قد تُعرف تطبيقات OpenSSL الأخرى استخدامات إضافية.
- -clrreject
- يمسح جميع الاستخدامات المحظورة أو المرفوضة للشهادة.
- -addreject معامل
- يضيف غرضًا محظورًا لمرساة الثقة. يقبل نفس القيم مثل خيار -addtrust.
خيارات عامة¶
- -rand ملفات، -writerand ملف
- انظر "خيارات الحالة العشوائية" في openssl(1) للتفاصيل.
- -engine id
- انظر "خيارات المحرك" في openssl(1). هذا الخيار مهجور.
- -provider الاسم
- -provider-path المسار
- -provparam [الاسم:]المفتاح=القيمة
- -propquery propq
- انظر "خيارات المزود" في openssl(1)، و provider(7)، و property(7).
أعلام طباعة النص¶
بالإضافة إلى تخصيص تنسيق طباعة الاسم، من الممكن أيضًا تخصيص الحقول الفعلية المطبوعة باستخدام خيار certopt عند وجود خيار text. السلوك المبدئي هو طباعة كافة الحقول.
- compatible
- استخدم التنسيق القديم. وهذا يعادل عدم تحديد أي خيارات طباعة على الإطلاق.
- no_header
- لا تطبع معلومات الترويسة: وهي الأسطر التي تقول "Certificate" و "Data".
- no_version
- لا تطبع رقم الإصدار.
- no_serial
- لا تطبع الرقم التسلسلي.
- no_signame
- لا تطبع خوارزمية التوقيع المستخدمة.
- no_validity
- لا تطبع الصلاحية، أي الحقلين notBefore و notAfter.
- no_subject
- لا تطبع اسم المُبْتَدأ.
- no_issuer
- لا تطبع اسم المُصدِر.
- no_pubkey
- لا تطبع المفتاح العام.
- no_sigdump
- لا تُعطِ تفريغًا سداسيًا عشريًا لتوقيع الشهادة.
- no_aux
- لا تطبع معلومات ثقة الشهادة.
- no_extensions
- لا تطبع أي امتدادات X509V3.
- ext_default
- الاحتفاظ بسلوك الملحقات المبدئي: محاولة طباعة ملحقات الشهادة غير المدعومة.
- ext_error
- طباعة رسالة خطأ للملحقات غير المدعومة في الشهادة.
- ext_parse
- تحليل ASN1 للملحقات غير المدعومة.
- ext_dump
- تفريغ ست عشري للملحقات غير المدعومة.
- ca_default
- القيمة المستخدمة بواسطة openssl-ca(1)، وتكافئ no_issuer و no_pubkey و no_header و no_version.
أمثلة¶
ملاحظة: تعني '\' في هذه الأمثلة وجوب كون المثال بالكامل في سطر واحد.
طباعة محتويات شهادة:
openssl x509 -in cert.pem -noout -text
طباعة ملحق "Subject Alternative Name" لشهادة:
openssl x509 -in cert.pem -noout -ext subjectAltName
طباعة المزيد من ملحقات الشهادة:
openssl x509 -in cert.pem -noout -ext subjectAltName,nsCertType
طباعة الرقم التسلسلي للشهادة:
openssl x509 -in cert.pem -noout -serial
طباعة اسم المُصْدَر له الشهادة:
openssl x509 -in cert.pem -noout -subject
طباعة اسم المُصْدَر له الشهادة بصيغة RFC2253:
openssl x509 -in cert.pem -noout -subject -nameopt RFC2253
طباعة اسم المُصْدَر له الشهادة في سطر واحد على طرفية تدعم ترميز UTF8:
openssl x509 -in cert.pem -noout -subject -nameopt oneline,-esc_msb
طباعة بصمة SHA1 للشهادة:
openssl x509 -sha1 -in cert.pem -noout -fingerprint
تحويل شهادة من صيغة PEM إلى DER:
openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER
تحويل شهادة إلى طلب شهادة:
openssl x509 -x509toreq -in cert.pem -out req.pem -key key.pem
تحويل طلب شهادة إلى شهادة موقعة ذاتياً باستخدام ملحقات لسلطة شهادات (CA):
openssl x509 -req -in careq.pem -extfile openssl.cnf -extensions v3_ca \
-key key.pem -out cacert.pem
توقيع طلب شهادة باستخدام شهادة سلطة الشهادات (CA) المذكورة أعلاه وإضافة ملحقات شهادة المستخدم:
openssl x509 -req -in req.pem -extfile openssl.cnf -extensions v3_usr \
-CA cacert.pem -CAkey key.pem -CAcreateserial
اجعل الشهادة موثوقة لاستخدام عميل SSL وغيّر اسمها المستعار إلى "Steve's Class 1 CA"
openssl x509 -in cert.pem -addtrust clientAuth \
-setalias "Steve's Class 1 CA" -out trust.pem
التحقق مما إذا كانت أي شهادات في السلسلة ستنتهي صلاحيتها خلال الـ 30 يوماً القادمة (يعيد صفراً إذا لم تنتهِ صلاحية أي منها، وغير الصفر إذا انتهت صلاحية أي منها):
openssl x509 -in chain.pem -multi -checkend $[3600*24*30] \
&& echo 'perform renewal' || echo 'renewal unnecessary'
ملاحظات¶
يفترض التحويل إلى تنسيق UTF8 المستخدم مع خيارات الأسماء أن T61Strings تستخدم مجموعة محارف ISO8859-1. هذا خاطئ ولكن Netscape و MSIE يفعلان ذلك كما تفعل العديد من الشهادات. لذا على الرغم من أن هذا غير صحيح، فمن المرجح أن يطبع أغلب الشهادات بشكل صحيح.
يبحث الخيار -email في اسم المُصْدَر له وملحق الاسم البديل للمُصْدَر له. ستُطبع عناوين البريد الإلكتروني الفريدة فقط: لن يُطبع العنوان نفسه أكثر من مرة.
العلل¶
من الممكن إنتاج شهادات أو طلبات غير صالحة من خلال تحديد مفتاح خاص خاطئ، أو استخدام ملحقات X.509 غير مناسبة، أو استخدام خيارات غير متسقة في بعض الحالات: يجب فحص هذه الأمور.
يجب أن تتوفر خيارات لتعيين أمور مثل تواريخ البدء والانتهاء صراحةً بدلاً من الاعتماد على إزاحة من الوقت الحالي.
انظر أيضًا¶
openssl(1), openssl-req(1), openssl-ca(1), openssl-genrsa(1), openssl-gendsa(1), openssl-verify(1), x509v3_config(5)
التاريخ¶
كانت خوارزمية التجزئة المستخدمة في خياري -subject_hash و -issuer_hash قبل الإصدار 1.0.0 من OpenSSL تعتمد على خوارزمية MD5 المهجورة وترميز الاسم المتميز (DN). في الإصدار 1.0.0 وما بعده، أصبحت تعتمد على نسخة معيارية من الاسم المتميز (DN) باستخدام SHA1. هذا يعني أن أي أدلة تستخدم الشكل القديم يجب إعادة بناء روابطها باستخدام openssl-rehash(1) أو ما شابه.
أُعيدت تسمية الخيار -signkey إلى -key في الإصدار 3.0 من OpenSSL، مع الاحتفاظ بالاسم القديم كاسم مستعار.
خيار -engine أصبح مهجوراً في OpenSSL 3.0.
أُزيل الخيار -C في OpenSSL 3.0.
منذ الإصدار 3.2 من OpenSSL، تحمل الشهادات المُنشأة الإصدار 3 من معيار X.509، وتُدرج ملحقات معرف المفتاح (key identifier extensions) بشكل افتراضي.
حقوق النسخ¶
حقوق النشر 2000-2025 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة.
مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط <https://www.openssl.org/source/license.html>.
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 7 أبريل 2026 | 3.6.2 |