OPENSSL-RSAUTL(1SSL)

الاسم
openssl-rsautl - أمر RSA

موجز
openssl rsautl [-help] [-in ملف] [-passin وسيطة] [-rev] [-out ملف] [-inkey اسم_ملف|uri] [-keyform DER|PEM|P12|ENGINE] [-pubin] [-certin] [-sign] [-verify] [-encrypt] [-decrypt] [-pkcs] [-x931] [-oaep] [-raw] [-hexdump] [-asn1parse] [-engine معرف] [-rand ملفات] [-writerand ملف] [-provider اسم] [-provider-path مسار] [-provparam [اسم:]مفتاح=قيمة] [-propquery استعلام_خاصية]

الوصف
هذا الأمر مهمل. يجب استخدام الأمر openssl-pkeyutl(1) بدلاً منه.

يمكن استخدام هذا الأمر لتوقيع البيانات والتحقق منها وتشفيرها وفك تشفيرها باستخدام خوارزمية RSA.

الخيارات

-help
    اطبع رسالة الاستخدام.

-in اسم_الملف
    يحدد هذا اسم ملف المدخلات لقراءة البيانات منه أو المدخل القياسي إذا لم يُحدد هذا الخيار.

-passin المعطى
    عبارة المرور المستخدمة في ملف الإخراج. انظر openssl-passphrase-options(1).

-rev
    عكس ترتيب الإدخال.

-out اسم_الملف
    يحدد اسم ملف المخرجات للكتابة إليه أو الخرج القياسي بشكل مبدئي.

-inkey اسم_الملف|معرف_مورد
    مفتاح الإدخال، بشكل مبدئي يجب أن يكون مفتاح RSA خاص.

-keyform DER|PEM|P12|ENGINE
    تنسيق المفتاح؛ غير محدد بشكل مبدئي. انظر openssl-format-options(1) للحصول على التفاصيل.

-pubin
    مبدئيًا، يُقرأ مفتاح خاص من مدخلات المفتاح. مع هذا الخيار، يُقرأ مفتاح عام بدلاً من ذلك. إذا لم تتضمن المدخلات مفتاحًا عامًا بل مفتاحًا خاصًا، فيُستخدم جزؤه العام.

-certin
    الإدخال هو شهادة تحتوي على مفتاح RSA عام.

-sign
    توقيع بيانات الإدخال وإخراج النتيجة الموقعة. يتطلب هذا مفتاح RSA خاص.

-verify
    التحقق من بيانات الإدخال وإخراج البيانات المستردة.

-encrypt
    تشفير بيانات الإدخال باستخدام مفتاح RSA عام.

-decrypt
    فك تشفير بيانات الإدخال باستخدام مفتاح RSA خاص.

-pkcs, -oaep, -x931, -raw
    الحشو المستخدم: PKCS#1 v1.5 (المبدئي)، PKCS#1 OAEP، ANSI X9.31، أو بدون حشو، على التوالي. للتوقيعات، يمكن استخدام -pkcs و -raw فقط.

    ملاحظة: بسبب الحماية من هجمات Bleichenbacher، لن يُرجع فك التشفير باستخدام وضع PKCS#1 v1.5 أخطاء في حالة فشل فحص الحشو. استخدم -raw وافحص القيمة المُعادة يدويًا للتحقق من صحة الحشو.

-hexdump
    تفريغ بيانات الإخراج بالنظام الست عشري.

-asn1parse
    تحليل بيانات إخراج ASN.1، هذا مفيد عند دمجه مع الخيار -verify.

-engine id
    انظر "خيارات المحرك" في openssl(1). هذا الخيار مهجور.

-rand ملفات، -writerand ملف
    انظر "خيارات الحالة العشوائية" في openssl(1) للتفاصيل.

-provider الاسم
-provider-path المسار
-provparam [الاسم:]المفتاح=القيمة
-propquery propq
    انظر "خيارات المزود" في openssl(1)، و provider(7)، و property(7).

ملاحظات
نظرًا لأن هذا الأمر يستخدم خوارزمية RSA مباشرة، يمكن استخدامه فقط لتوقيع أو التحقق من قطع صغيرة من البيانات.

أمثلة
يمكن العثور على أمثلة مكافئة لهذه في توثيق الأمر غير المهمل openssl-pkeyutl(1).

توقيع بعض البيانات باستخدام مفتاح خاص:

 openssl rsautl -sign -in ملف -inkey key.pem -out توقيع

استرداد البيانات الموقعة

 openssl rsautl -verify -in توقيع -inkey key.pem

فحص البيانات الموقعة الخام:

 openssl rsautl -verify -in توقيع -inkey key.pem -raw -hexdump

 0000 - 00 01 ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
 0010 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
 0020 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
 0030 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
 0040 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
 0050 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
 0060 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff   ................
 0070 - ff ff ff ff 00 68 65 6c-6c 6f 20 77 6f 72 6c 64   .....hello world

تنسيق كتلة PKCS#1 واضح من هذا. لو تم هذا باستخدام التشفير وفك التشفير، لكانت الكتلة من النوع 2 (البايت الثاني) وبيانات حشو عشوائية مرئية بدلاً من بايتات 0xff.

يمكن تحليل توقيع الشهادات باستخدام هذا الأمر مع openssl-asn1parse(1). خذ المثال الموقع ذاتياً في certs/pca-cert.pem. تشغيل openssl-asn1parse(1) كالتالي يُنتج:

 openssl asn1parse -in pca-cert.pem

    0:d=0  hl=4 l= 742 cons: SEQUENCE
    4:d=1  hl=4 l= 591 cons:  SEQUENCE
    8:d=2  hl=2 l=   3 cons:   cont [ 0 ]
   10:d=3  hl=2 l=   1 prim:    INTEGER           :02
   13:d=2  hl=2 l=   1 prim:   INTEGER           :00
   16:d=2  hl=2 l=  13 cons:   SEQUENCE
   18:d=3  hl=2 l=   9 prim:    OBJECT            :md5WithRSAEncryption
   29:d=3  hl=2 l=   0 prim:    NULL
   31:d=2  hl=2 l=  92 cons:   SEQUENCE
   33:d=3  hl=2 l=  11 cons:    SET
   35:d=4  hl=2 l=   9 cons:     SEQUENCE
   37:d=5  hl=2 l=   3 prim:      OBJECT            :countryName
   42:d=5  hl=2 l=   2 prim:      PRINTABLESTRING   :AU
  ....
  599:d=1  hl=2 l=  13 cons:  SEQUENCE
  601:d=2  hl=2 l=   9 prim:   OBJECT            :md5WithRSAEncryption
  612:d=2  hl=2 l=   0 prim:   NULL
  614:d=1  hl=3 l= 129 prim:  BIT STRING

سلسلة BIT STRING النهائية تحتوي على التوقيع الفعلي. يمكن استخراجها بـ:

 openssl asn1parse -in pca-cert.pem -out sig -noout -strparse 614

يمكن استخراج المفتاح العام للشهادة بـ:

 openssl x509 -in test/testx509.pem -pubkey -noout >pubkey.pem

يمكن تحليل التوقيع بـ:

 openssl rsautl -in sig -verify -asn1parse -inkey pubkey.pem -pubin

    0:d=0  hl=2 l=  32 cons: SEQUENCE
    2:d=1  hl=2 l=  12 cons:  SEQUENCE
    4:d=2  hl=2 l=   8 prim:   OBJECT            :md5
   14:d=2  hl=2 l=   0 prim:   NULL
   16:d=1  hl=2 l=  16 prim:  OCTET STRING
      0000 - f3 46 9e aa 1a 4a 73 c9-37 ea 93 00 48 25 08 b5   .F...Js.7...H%..

هذه هي النسخة المحللة من بنية ASN1 DigestInfo. يمكن ملاحظة أن الملخص المستخدم كان md5. يمكن استخراج الجزء الفعلي من الشهادة الذي تم توقيعه بـ:

 openssl asn1parse -in pca-cert.pem -out tbs -noout -strparse 4

وملخصه المحسوب بـ:

 openssl md5 -c tbs
 MD5(tbs)= f3:46:9e:aa:1a:4a:73:c9:37:ea:93:00:48:25:08:b5

والذي يمكن ملاحظة أنه يتوافق مع القيمة المستعادة أعلاه.

انظر أيضًا
openssl(1), openssl-pkeyutl(1), openssl-dgst(1), openssl-rsa(1), openssl-genrsa(1)

التاريخ
تم إهمال هذا الأمر في OpenSSL 3.0.

خيار -engine أصبح مهجوراً في OpenSSL 3.0.

حقوق النسخ
حقوق النشر 2000-2023 لمؤلفي مشروع 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.