Scroll to navigation

OPENSSL-RSAUTL(1SSL) OpenSSL 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.

الخيارات

اطبع رسالة الاستخدام.
يحدد هذا اسم ملف المدخلات لقراءة البيانات منه أو المدخل القياسي إذا لم يُحدد هذا الخيار.
عبارة المرور المستخدمة في ملف الإخراج. انظر openssl-passphrase-options(1).
عكس ترتيب الإدخال.
يحدد اسم ملف المخرجات للكتابة إليه أو الخرج القياسي بشكل مبدئي.
مفتاح الإدخال، بشكل مبدئي يجب أن يكون مفتاح RSA خاص.
تنسيق المفتاح؛ غير محدد بشكل مبدئي. انظر openssl-format-options(1) للحصول على التفاصيل.
مبدئيًا، يُقرأ مفتاح خاص من مدخلات المفتاح. مع هذا الخيار، يُقرأ مفتاح عام بدلاً من ذلك. إذا لم تتضمن المدخلات مفتاحًا عامًا بل مفتاحًا خاصًا، فيُستخدم جزؤه العام.
الإدخال هو شهادة تحتوي على مفتاح RSA عام.
توقيع بيانات الإدخال وإخراج النتيجة الموقعة. يتطلب هذا مفتاح RSA خاص.
التحقق من بيانات الإدخال وإخراج البيانات المستردة.
تشفير بيانات الإدخال باستخدام مفتاح RSA عام.
فك تشفير بيانات الإدخال باستخدام مفتاح RSA خاص.
الحشو المستخدم: PKCS#1 v1.5 (المبدئي)، PKCS#1 OAEP، ANSI X9.31، أو بدون حشو، على التوالي. للتوقيعات، يمكن استخدام -pkcs و -raw فقط.

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

تفريغ بيانات الإخراج بالنظام الست عشري.
تحليل بيانات إخراج ASN.1، هذا مفيد عند دمجه مع الخيار -verify.
انظر "خيارات المحرك" في openssl(1). هذا الخيار مهجور.
انظر "خيارات الحالة العشوائية" في openssl(1) للتفاصيل.
انظر "خيارات المزود" في 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 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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

7 أبريل 2026 3.5.6