table of contents
- trixie-backports 4.31.0-1~bpo13+1
- testing 4.31.0-1
- unstable 4.31.0-1
| DSA_SIGN(3SSL) | OpenSSL | DSA_SIGN(3SSL) |
الاسم¶
DSA_sign, DSA_sign_setup, DSA_verify - توقيعات DSA
موجز¶
#include <openssl/dsa.h>
الدوال التالية أصبحت مهجورة منذ OpenSSL 3.0، ويمكن إخفاؤها تماماً عن طريق تعريف OPENSSL_API_COMPAT بقيمة إصدار مناسبة، انظر openssl_user_macros(7):
int DSA_sign(int type, const unsigned char *dgst, int len,
unsigned char *sigret, unsigned int *siglen, DSA *dsa);
int DSA_sign_setup(DSA *dsa, BN_CTX *ctx, BIGNUM **kinvp, BIGNUM **rp);
int DSA_verify(int type, const unsigned char *dgst, int len,
unsigned char *sigbuf, int siglen, DSA *dsa);
الوصف¶
جميع الدوال الموصوفة في هذه الصفحة مهجورة. ينبغي للتطبيقات بدلاً من ذلك استخدام EVP_PKEY_sign_init(3)، وEVP_PKEY_sign(3)، وEVP_PKEY_verify_init(3)، وEVP_PKEY_verify(3).
DSA_sign() تحسب توقيعًا رقميًا على ملخص الرسالة dgst بطول len بايت باستخدام المفتاح الخاص dsa وتضع ترميز ASN.1 DER الخاص به في sigret. يُوضع طول التوقيع في *siglen. يجب أن يشير sigret إلى DSA_size(dsa) بايت من الذاكرة.
DSA_sign_setup() عُرّفت فقط للتوافق الثنائي العكسي ولا ينبغي استخدامها. منذ OpenSSL 1.1.0 أصبح نوع DSA معتمًا ولا يمكن استخدام مخرجات DSA_sign_setup() على أي حال: استدعاء هذه الدالة سيسبب عبئًا فقط، ولا يؤثر على الحساب الفعلي (المسبق) للتوقيع.
DSA_verify() تتحقق من أن التوقيع sigbuf بحجم siglen يطابق ملخص رسالة معطى dgst بحجم len. dsa هو المفتاح العام للموقّع.
المعامل type يُتجاهل.
يجب بذر المولد العشوائي عند استدعاء DSA_sign() (أو DSA_sign_setup()). إذا فشلت البذر الآلي أو إعادة البذر لـ OpenSSL CSPRNG بسبب ظروف خارجية (انظر RAND(7))، ستفشل العملية.
القيم المُرجعة¶
DSA_sign() و DSA_sign_setup() تُرجعان 1 عند النجاح، 0 عند الخطأ. DSA_verify() تُرجع 1 لتوقيع صحيح، 0 لتوقيع غير صحيح و -1 عند الخطأ. يمكن الحصول على رموز الخطأ بواسطة ERR_get_error(3).
متوافق مع¶
معيار معالجة المعلومات الفيدرالي الأمريكي FIPS186-4 (معيار التوقيع الرقمي، DSS)، ANSI X9.30
انظر أيضًا¶
DSA_new(3), ERR_get_error(3), RAND_bytes(3), DSA_do_sign(3), RAND(7)
التاريخ¶
كل هذه الدوال أصبحت مهجورة في OpenSSL 3.0.
حقوق النسخ¶
حقوق النشر 2000-2021 لمؤلفي مشروع 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 |