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) للحصول على التفاصيل.

-email
    يطبع عنوان (أو عناوين) البريد الإلكتروني إن وجدت.

-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 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.