| OPENSSL-PKCS12(1ssl) | OpenSSL | OPENSSL-PKCS12(1ssl) |
الاسم
openssl-pkcs12 - أمر ملف PKCS#12
موجز
openssl pkcs12 [-help] [-passin المعطى] [-passout المعطى] [-password المعطى] [-twopass] [-in اسم_الملف|المعرف] [-out اسم_الملف] [-nokeys] [-nocerts] [-noout] [-legacy] [-engine المعرف] [-provider الاسم] [-provider-path المسار] [-provparam [الاسم:]المفتاح=القيمة] [-propquery propq] [-rand الملفات] [-writerand الملف]
خيارات إدخال (تحليل) PKCS#12: [-info] [-nomacver] [-clcerts] [-cacerts]
[-aes128] [-aes192] [-aes256] [-aria128] [-aria192] [-aria256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-noenc] [-nodes]
خيارات إخراج (تصدير) PKCS#12:
[-export] [-inkey اسم_الملف|المعرف] [-certfile اسم_الملف] [-passcerts المعطى] [-chain] [-untrusted اسم_الملف] [-CAfile الملف] [-no-CAfile] [-CApath المجلد] [-no-CApath] [-CAstore المعرف] [-no-CAstore] [-name الاسم] [-caname الاسم] [-CSP الاسم] [-LMK] [-keyex] [-keysig] [-keypbe الشفرة] [-certpbe الشفرة] [-descert] [-macalg الملخص] [-pbmac1_pbkdf2] [-pbmac1_pbkdf2_md الملخص] [-iter العدد] [-noiter] [-nomaciter] [-maciter] [-macsaltlen] [-nomac] [-jdktrust الاستخدام]
الوصف
يسمح هذا الأمر بإنشاء ملفات PKCS#12 (المشار إليها أحياناً بملفات PFX) وتحليلها. تُستخدم ملفات PKCS#12 بواسطة العديد من البرامج بما في ذلك Netscape و MSIE و MS Outlook.
الخيارات
هناك العديد من الخيارات التي يعتمد معنى بعضها على ما إذا كان ملف PKCS#12 قيد الإنشاء أو التحليل. مبدئياً، يُحلل ملف PKCS#12. يمكن إنشاء ملف PKCS#12 باستخدام خيار -export (انظر أدناه). خيارات تعمية تصدير PKCS#12 وMAC مثل -certpbe و -iter والعديد من الخيارات الأخرى مثل -chain ذات صلة فقط بـ -export. وبالعكس، فإن الخيارات المتعلقة بتعمية المفاتيح الخاصة عند إخراج مدخلات PKCS#12 ذات صلة فقط عندما لا يُعطى خيار -export.
خوارزمية التعمية المبدئية هي AES-256-CBC مع PBKDF2 لاشتقاق المفتاح.
عند مواجهة مشاكل في تحميل ملفات PKCS#12 القديمة التي تتضمن، على سبيل المثال، RC2-40-CBC، جرب استخدام خيار -legacy، وإذا لزم الأمر، خيار -provider-path.
- -help
- اطبع رسالة الاستخدام.
- -passin المعطى
- مصدر كلمة المرور للمدخلات، ولتعمية أي مفاتيح خاصة تُخرج. لمزيد من المعلومات حول تنسيق المعطى انظر openssl-passphrase-options(1).
- -passout المعطى
- مصدر كلمة المرور لملفات المخرجات.
- -password المعطى
- مع -export، يكافئ -password الخيار -passout، وخلاف ذلك فإنه يكافئ -passin.
- -twopass
- اطلب كلمات مرور منفصلة للسلامة والتعمية: تفترض معظم البرامج دائماً أنها متطابقة لذا فإن هذا الخيار سيجعل ملفات PKCS#12 هذه غير قابلة للقراءة. لا يمكن استخدامه مع الخيارات -password أو -passin عند الاستيراد من PKCS#12، أو -passout عند التصدير.
- -nokeys
- لن تُخرج أي مفاتيح خاصة.
- -nocerts
- لن تُخرج أي شهادات.
- -noout
- يمنع هذا الخيار إخراج جميع بيانات الاعتماد، وبالتالي تُحقق من المدخلات فقط.
- -legacy
- استخدم وضع
التشغيل
القديم
وحمل
المزود
القديم
آلياً. إذا
لم يُثبّت OpenSSL
على مستوى
النظام،
فمن
الضروري
أيضاً
استخدام،
على سبيل
المثال،
"-provider-path ./providers"
أو ضبط
متغير
البيئة OPENSSL_MODULES
للإشارة
إلى المجلد
حيث يمكن
العثور على
المزودين.
في الوضع القديم، خوارزمية تعمية الشهادات المبدئية هي RC2_CBC أو 3DES_CBC اعتماداً على ما إذا كانت شفرة RC2 مفعلة في البناء. خوارزمية تعمية المفتاح الخاص المبدئية هي 3DES_CBC. إذا لم يُحدد الخيار القديم، فلن يُحمل المزود القديم وتكون خوارزمية التعمية المبدئية لكل من الشهادات والمفاتيح الخاصة هي AES_256_CBC مع PBKDF2 لاشتقاق المفتاح.
- -engine المعرف
- انظر "خيارات المحرك" في openssl(1). هذا الخيار مهجور.
- -provider الاسم
- -provider-path المسار
- -provparam [الاسم:]المفتاح=القيمة
- -propquery propq
- انظر "خيارات المزود" في openssl(1)، و provider(7)، و property(7).
- -rand الملفات، -writerand الملف
- انظر "خيارات الحالة العشوائية" في openssl(1) لمزيد من التفاصيل.
خيارات إدخال (تحليل) PKCS#12
- -in اسم_الملف|المعرف
- يحدد هذا اسم ملف الإدخال أو المعرف. يُستخدم الإدخال القياسي مبدئياً. بدون خيار -export، يجب أن يكون هذا ملف PKCS#12 ليُحلل. للاستخدام مع خيار -export انظر قسم "خيارات إخراج (تصدير) PKCS#12".
- -out اسم_الملف
- اسم الملف لكتابة الشهادات والمفاتيح الخاصة فيه، المخرجات القياسية مبدئياً. تُكتب جميعها بتنسيق PEM.
- -info
- أخرج معلومات إضافية حول بنية ملف PKCS#12، والخوارزميات المستخدمة وأعداد التكرار.
- -nomacver
- لا تحاول التحقق من سلامة MAC.
- -clcerts
- أخرج شهادات العميل فقط (ليس شهادات CA).
- -cacerts
- أخرج شهادات CA فقط (ليس شهادات العميل).
- -aes128، -aes192، -aes256
- استخدم AES لتعمية المفاتيح الخاصة قبل إخراجها.
- -aria128، -aria192، -aria256
- استخدم ARIA لتعمية المفاتيح الخاصة قبل إخراجها.
- -camellia128، -camellia192، -camellia256
- استخدم Camellia لتعمية المفاتيح الخاصة قبل إخراجها.
- -des
- استخدم DES لتعمية المفاتيح الخاصة قبل إخراجها.
- -des3
- استخدم DES الثلاثي لتعمية المفاتيح الخاصة قبل الإخراج.
- -idea
- استخدم IDEA لتعمية المفاتيح الخاصة قبل الإخراج.
- -noenc
- لا تُعَمِّ المفاتيح الخاصة على الإطلاق.
- -nodes
- هذا الخيار مهجور منذ الإصدار OpenSSL 3.0؛ استخدم -noenc بدلاً منه.
خيارات إخراج (تصدير) PKCS#12
- -export
- يحدد هذا الخيار أن ملف PKCS#12 سيُنشأ بدلاً من أن يُحلل.
- -out اسم_الملف
- يحدد هذا اسم الملف الذي سيُكتب ملف PKCS#12 فيه. يُستخدم الإخراج القياسي مبدئياً.
- -in اسم_الملف|المعرف
- يحدد هذا اسم ملف المدخلات أو معرف المورد الموحد (URI). يُستخدم الإدخال القياسي مبدئياً. مع الخيار -export، يكون هذا ملفاً يحتوي على شهادات ومفتاح، أو معرف مورد يشير إلى مفتاح يُوصَل إليه عبر محرك. ترتيب الاعتمادات في الملف لا يهم، ولكن يجب وجود مفتاح خاص واحد والشهادة المقابلة له. إذا وجدت شهادات إضافية، فستُضمن أيضاً في ملف إخراج PKCS#12.
- -inkey اسم_الملف|معرف_المورد
- مدخل المفتاح الخاص لإخراج PKCS12. إذا لم يُحدد هذا الخيار، فيجب أن يحتوي ملف المدخلات (المعطى -in) على مفتاح خاص. إذا لم يُستخدم أي محرك، يُعامل المعطى كملف. إذا استُخدم الخيار -engine أو كان لمعرف المورد البادئة "org.openssl.engine:" فسيُعامل باقي المعرف كمعرف مفتاح للمحرك المعطى.
- -certfile اسم_الملف
- ملف مدخلات يحتوي على شهادات إضافية لتُضاف إلى إخراج PKCS#12 إذا أُعطي الخيار -export.
- -passcerts المعطى
- مصدر كلمة السر لمدخلات الشهادات مثل -certfile و -untrusted. لمزيد من المعلومات حول تنسيق المعطى، انظر openssl-passphrase-options(1).
- -chain
- إذا وجد هذا الخيار، فستُبنى سلسلة شهادات شهادة الكيان النهائي وتُضمن في ملف إخراج PKCS#12. شهادة الكيان النهائي هي أول شهادة تُقرأ من ملف -in إذا لم يُعطَ مفتاح، وإلا فهي أول شهادة تطابق المفتاح المعطى. يُستخدم مخزن استيثاق سلطة الشهادات (CA) القياسي لبناء السلسلة، بالإضافة إلى أي شهادات سلطة غير موثوقة تُعطى مع الخيار -untrusted.
- -untrusted اسم_الملف
- ملف مدخلات لشهادات غير موثوقة قد تُستخدم لبناء السلسلة، وهو أمر ذو صلة فقط عند إنشاء ملف PKCS#12 باستخدام الخيار -export مع إعطاء الخيار -chain أيضاً. أي شهادات تكون جزءاً فعلياً من السلسلة ستُضاف إلى الإخراج.
- -CAfile ملف، -no-CAfile، -CApath دليل، -no-CApath، -CAstore معرف_المورد، -no-CAstore
- انظر "Trusted Certificate Options" في openssl-verification-options(1) للتفاصيل.
- -name الاسم_المألوف
- يحدد هذا "الاسم المألوف" للشهادات والمفتاح الخاص. يُعرض هذا الاسم عادةً في صناديق القوائم بواسطة البرمجيات التي تستورد الملف.
- -caname الاسم_المألوف
- يحدد هذا "الاسم المألوف" للشهادات الأخرى. يمكن استخدام هذا الخيار عدة مرات لتحديد أسماء جميع الشهادات بالترتيب الذي تظهر به. يتجاهل Netscape الأسماء المألوفة في الشهادات الأخرى بينما يعرضها MSIE.
- -CSP الاسم
- اكتب الاسم كاسم Microsoft CSP. مصدر كلمة السر للمدخلات، ولتعمية أي مفاتيح خاصة تخرج. لمزيد من المعلومات حول تنسيق المعطى، انظر openssl-passphrase-options(1).
- -LMK
- أضف معرف "Local Key Set" (مجموعة المفاتيح المحلية) إلى السمات.
- -keyex|-keysig
- يحدد ما إذا كان المفتاح الخاص سيُستخدم لتبادل المفاتيح أو للتوقيع فقط. يُفسر هذا الخيار فقط بواسطة MSIE وبرمجيات MS المماثلة. عادةً ما تسمح برمجيات "درجة التصدير" فقط باستخدام مفاتيح RSA بطول 512 بت لأغراض التعمية، ولكنها تسمح بمفاتيح ذات أطوال عشوائية للتوقيع. يحدد الخيار -keysig المفتاح للتوقيع فقط. مفاتيح التوقيع فقط يمكن استخدامها لتوقيع S/MIME، والـ authenticode (توقيع عناصر تحكم ActiveX) واستيثاق عملاء SSL؛ ومع ذلك، وبسبب علة برمجية، يدعم فقط MSIE 5.0 والإصدارات الأحدث استخدام مفاتيح التوقيع فقط لاستيثاق عملاء SSL.
- -keypbe الخوارزمية، -certpbe الخوارزمية
- تسمح هذه
الخيارات
باختيار
الخوارزمية
المستخدمة
لتعمية
المفتاح
الخاص
والشهادات.
يمكن
استخدام أي
اسم
خوارزمية PKCS#5
v1.5 أو PKCS#12 PBE (انظر
قسم
"ملاحظات"
لمزيد من
المعلومات).
إذا حُدد
اسم شفرة
(كما يخرج
من "openssl list
-cipher-algorithms")
فسيُستخدم
مع PKCS#5 v2.0.
لأسباب
تتعلق
بالتوافق
التشغيلي،
يُنصح
باستخدام
خوارزميات
PKCS#12 فقط.
القيمة الخاصة "NONE" تعطل تعمية المفتاح الخاص والشهادات.
- -descert
- عَمِّ الشهادات باستخدام DES الثلاثي. مبدئياً، يُعمى المفتاح الخاص والشهادات باستخدام AES-256-CBC ما لم يُستخدم الخيار '-legacy'. إذا استُخدم '-descert' مع '-legacy'، فسيُعمى كل من المفتاح الخاص والشهادات باستخدام DES الثلاثي.
- -macalg بصمة
- حدد خوارزمية بصمة MAC. إذا لم تُضمن، فستُستخدم SHA256.
- -pbmac1_pbkdf2
- استخدم PBMAC1 مع PBKDF2 لحماية MAC لملف PKCS#12.
- -pbmac1_pbkdf2_md بصمة
- حدد خوارزمية بصمة PBKDF2 KDF. إذا لم تُحدد، فستُستخدم SHA256. يُتجاهل هذا المعامل ما لم يُحدد "-pbmac1_pbkdf2".
- -iter عدد
- يحدد هذا
الخيار عدد
التكرارات
لمفتاح
التعمية و MAC.
القيمة
المبدئية
هي 2048.
لتثبيط الهجمات التي تستخدم قواميس ضخمة من كلمات السر الشائعة، يمكن تطبيق عدد تكرارات على الخوارزمية التي تشتق المفاتيح من كلمات السر؛ هذا يجعل جزءاً معيناً من الخوارزمية يتكرر ويبطئها. يُستخدم MAC للتحقق من سلامة الملف، ولكن بما أنه عادةً ما يملك نفس كلمة سر المفاتيح والشهادات، فإنه قد يتعرض للهجوم أيضاً.
- -noiter، -nomaciter
- مبدئياً، يُضبط عدد تكرارات كل من التعمية و MAC على 2048؛ وباستخدام هذه الخيارات، يمكن ضبط عدد تكرارات MAC والتعمية على 1. وبما أن هذا يقلل من أمان الملف، فلا يجب عليك استخدام هذه الخيارات إلا عند الضرورة القصوى. معظم البرمجيات تدعم كلاً من عدد تكرارات MAC والتعمية. MSIE 4.0 لا يدعم عدد تكرارات MAC، لذا فهو يحتاج إلى الخيار -nomaciter.
- -maciter
- أُدرج هذا الخيار للتوافق مع الإصدارات السابقة؛ فقد كان يُحتاج إليه لاستخدام عدد تكرارات MAC، ولكنها تُستخدم الآن مبدئياً.
- -macsaltlen
- يحدد هذا الخيار طول المملحة (salt) بالبايت لـ MAC. يجب أن يكون طول المملحة 16 بايت على الأقل وفقاً للمعيار NIST SP 800-132، وهو القيمة المبدئية.
- -nomac
- لا تحاول توفير سلامة MAC. يمكن أن يكون هذا مفيداً مع مزود FIPS لأن PKCS12 MAC يتطلب PKCS12KDF، وهي ليست خوارزمية FIPS معتمدة ولا يمكن دعمها بواسطة مزود FIPS.
- -jdktrust
- صدر ملف pkcs12 بتنسيق متوافق مع استخدام مستودع مفاتيح Java. يقبل هذا الخيار معاملاً نصياً يشير إلى اسم الـ trust oid الذي سيُمنح للشهادة المرتبطة به. حالياً، لا يوجد سوى "anyExtendedKeyUsage" معرفاً. لاحظ أنه، بما أن مستودعات مفاتيح Java لا تقبل ملفات PKCS12 التي تحتوي على شهادات موثوقة وأزواج مفاتيح معاً، فإن استخدام هذا الخيار يعني ضمنياً ضبط الخيار -nokeys.
ملاحظات
على الرغم من وجود عدد كبير من الخيارات، إلا أن معظمها نادراً ما يُستخدم. لتحليل ملفات PKCS#12، لا يلزم سوى استخدام -in و -out؛ ولإنشاء ملفات PKCS#12، يُستخدم أيضاً -export و -name.
إذا لم يوجد أي من الخيارات -clcerts أو -cacerts أو -nocerts، فستُخرج جميع الشهادات بالترتيب الذي تظهر به في ملفات PKCS#12 المدخلة. لا يوجد ضمان بأن الشهادة الأولى هي المقابلة للمفتاح الخاص. بعض البرمجيات التي تحاول الحصول على مفتاح خاص والشهادة المقابلة قد تفترض أن الشهادة الأولى في الملف هي المقابلة للمفتاح الخاص، ولكن قد لا يكون هذا هو الحال دائماً. سيؤدي استخدام الخيار -clcerts إلى حل هذه المشكلة عن طريق إخراج الشهادة المقابلة للمفتاح الخاص فقط. إذا كانت شهادات سلطة الشهادات (CA) مطلوبة، فيمكن إخراجها إلى ملف منفصل باستخدام الخيارين -nokeys و -cacerts لإخراج شهادات سلطة الشهادات فقط.
تسمح خوارزميات -keypbe و -certpbe بتحديد خوارزميات تعمية دقيقة للمفاتيح الخاصة والشهادات. عادةً ما تكون القيم المبدئية جيدة، ولكن أحياناً لا تستطيع بعض البرمجيات التعامل مع المفاتيح الخاصة المعماة بـ DES الثلاثي؛ عندها يمكن استخدام الخيار -keypbe PBE-SHA1-RC2-40 لتقليل تعمية المفتاح الخاص إلى RC2 بـ 40 بت. يوجد وصف كامل لجميع الخوارزميات في openssl-pkcs8(1).
قبل الإصدار 1.1، كانت كلمات السر التي تحتوي على محارف غير ASCII تُرمز بطريقة غير متوافقة، مما حد من التوافق التشغيلي، لا سيما مع Windows. ولكن الانتقال إلى ترميز كلمات سر متوافق مع المعايير يطرح مشكلة في الوصول إلى البيانات القديمة المحمية بالترميز المعطوب. لهذا السبب، يُحاول حتى استخدام الترميزات الموروثة عند قراءة البيانات. إذا كنت تستخدم ملفات PKCS#12 في تطبيق إنتاجي، فننصحك بتحويل البيانات، لأن النهج التجريبي المطبق ليس آمناً مع خيوط المعالجة المتعددة (MT-safe)، وهدفه الوحيد هو تسهيل ترقية البيانات باستخدام هذا الأمر.
أمثلة
حلل ملف PKCS#12 وأخرجه إلى ملف PEM:
openssl pkcs12 -in file.p12 -out file.pem
أخرج شهادات العميل فقط إلى ملف:
openssl pkcs12 -in file.p12 -clcerts -out file.pem
لا تُعَمِّ المفتاح الخاص:
openssl pkcs12 -in file.p12 -out file.pem -noenc
اطبع بعض المعلومات حول ملف PKCS#12:
openssl pkcs12 -in file.p12 -info -noout
اطبع بعض المعلومات حول ملف PKCS#12 في الوضع الموروث (legacy):
openssl pkcs12 -in file.p12 -info -noout -legacy
أنشئ ملف PKCS#12 من ملف PEM قد يحتوي على مفتاح وشهادات:
openssl pkcs12 -export -in file.pem -out file.p12 -name "My PSE"
ضمّن بعض الشهادات الإضافية:
openssl pkcs12 -export -in file.pem -out file.p12 -name "My PSE" \ -certfile othercerts.pem
صدّر ملف PKCS#12 ببيانات من ملف شهادة PEM ومن ملف PEM إضافي يحتوي على مفتاح، باستخدام الخوارزميات المبدئية كما في المزوّد الموروث (legacy):
openssl pkcs12 -export -in cert.pem -inkey key.pem -out file.p12 -legacy
انظر أيضًا
التاريخ
أُهمل الخيار -engine في إصدار OpenSSL 3.0. كما أُهمل الخيار -nodes في إصدار OpenSSL 3.0 أيضًا؛ استخدم -noenc بدلًا منه. تغيرت القيمة المبدئية للخيار -macsaltlen من 8 إلى 16 بايت في إصدار OpenSSL 3.6.
حقوق النسخ
حقوق النشر 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 |