.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX Title "SSL_CIPHER_GET_NAME 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SSL_CIPHER_GET_NAME 3ssl "7 أبريل 2026" 3.6.2 OpenSSL .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH الاسم SSL_CIPHER_get_name, SSL_CIPHER_standard_name, OPENSSL_cipher_name, SSL_CIPHER_get_bits, SSL_CIPHER_get_version, SSL_CIPHER_description, SSL_CIPHER_get_cipher_nid, SSL_CIPHER_get_digest_nid, SSL_CIPHER_get_handshake_digest, SSL_CIPHER_get_kx_nid, SSL_CIPHER_get_auth_nid, SSL_CIPHER_is_aead, SSL_CIPHER_find, SSL_CIPHER_get_id, SSL_CIPHER_get_protocol_id \&\- احصل على خصائص SSL_CIPHER .SH موجز .IX Header موجز .Vb 1 \& #include \& \& const char *SSL_CIPHER_get_name(const SSL_CIPHER *cipher); \& const char *SSL_CIPHER_standard_name(const SSL_CIPHER *cipher); \& const char *OPENSSL_cipher_name(const char *stdname); \& int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *alg_bits); \& const char *SSL_CIPHER_get_version(const SSL_CIPHER *cipher); \& char *SSL_CIPHER_description(const SSL_CIPHER *cipher, char *buf, int size); \& int SSL_CIPHER_get_cipher_nid(const SSL_CIPHER *c); \& int SSL_CIPHER_get_digest_nid(const SSL_CIPHER *c); \& const EVP_MD *SSL_CIPHER_get_handshake_digest(const SSL_CIPHER *c); \& int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *c); \& int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *c); \& int SSL_CIPHER_is_aead(const SSL_CIPHER *c); \& const SSL_CIPHER *SSL_CIPHER_find(SSL *ssl, const unsigned char *ptr); \& uint32_t SSL_CIPHER_get_id(const SSL_CIPHER *c); \& uint16_t SSL_CIPHER_get_protocol_id(const SSL_CIPHER *c); .Ve .SH الوصف .IX Header الوصف \&\fBSSL_CIPHER_get_name()\fP تُرجع مؤشرًا لاسم \fBcipher\fP. إذا كان \fBcipher\fP فارغًا، تُرجع "(NONE)". .PP \&\fBSSL_CIPHER_standard_name()\fP تُرجع مؤشرًا للاسم المعياري RFC لـ \fBcipher\fP. إذا كان \fBcipher\fP فارغًا، تُرجع "(NONE)". إذا لم يكن لـ \fBcipher\fP اسم معياري، تُرجع \fBNULL\fP. إذا عُرّف \fBcipher\fP في كل من SSLv3 وTLS، تُرجع اسم TLS. .PP \&\fBOPENSSL_cipher_name()\fP تُرجع مؤشرًا لاسم OpenSSL لـ \fBstdname\fP. إذا كان \fBstdname\fP فارغًا، أو لم يكن لـ \fBstdname\fP اسم مقابل في OpenSSL، تُرجع "(NONE)". حيث يوجد كلاهما، يجب أن يكون \fBstdname\fP اسم TLS بدلاً من اسم SSLv3. .PP \&\fBSSL_CIPHER_get_bits()\fP تُرجع عدد البتات السرية المستخدمة لـ \fBcipher\fP. إذا كان \fBcipher\fP فارغًا، يُرجع 0. .PP \&\fBSSL_CIPHER_get_version()\fP تُرجع سلسلة محارف تشير إلى إصدار بروتوكول SSL/TLS الذي عرّف المُعمِّي أولاً. تُرجع "(NONE)" إذا كان \fBcipher\fP فارغًا. .PP \&\fBSSL_CIPHER_get_cipher_nid()\fP تُرجع NID المُعمِّي المقابل لـ \fBc\fP. إذا لم يكن هناك مُعمِّي (مثل مجموعات المُعمِّي بدون تعمية)، يُرجع \fBNID_undef\fP. .PP \&\fBSSL_CIPHER_get_digest_nid()\fP تُرجع NID الملخص المقابل لـ MAC المستخدم بواسطة \fBc\fP أثناء تعمية/فك تعمية السجل. إذا لم يكن هناك ملخص (مثل مجموعات المُعمِّي AEAD)، يُرجع \fBNID_undef\fP. .PP \&\fBSSL_CIPHER_get_handshake_digest()\fP تُرجع EVP_MD للملخص المستخدم أثناء مصافحة SSL/TLS عند استخدام SSL_CIPHER \fBc\fP. لاحظ أن هذا قد يختلف عن الملخص المستخدم لحساب MAC للسجلات المُعمّاة. .PP \&\fBSSL_CIPHER_get_kx_nid()\fP تُرجع NID تبادل المفاتيح المقابل للطريقة المستخدمة بواسطة \fBc\fP. إذا لم يكن هناك تبادل مفاتيح، يُرجع \fBNID_undef\fP. إذا أمكن استخدام أي خوارزمية تبادل مفاتيح مناسبة (كما في حالة مجموعات المُعمِّي TLS 1.3)، يُرجع \fBNID_kx_any\fP. أمثلة (غير شاملة): .PP .Vb 4 \& NID_kx_rsa \& NID_kx_ecdhe \& NID_kx_dhe \& NID_kx_psk .Ve .PP \&\fBSSL_CIPHER_get_auth_nid()\fP تُرجع NID الاستيثاق المقابل للطريقة المستخدمة بواسطة \fBc\fP. إذا لم يكن هناك استيثاق، يُرجع \fBNID_undef\fP. إذا أمكن استخدام أي خوارزمية استيثاق مناسبة (كما في حالة مجموعات المُعمِّي TLS 1.3)، يُرجع \fBNID_auth_any\fP. أمثلة (غير شاملة): .PP .Vb 3 \& NID_auth_rsa \& NID_auth_ecdsa \& NID_auth_psk .Ve .PP \&\fBSSL_CIPHER_is_aead()\fP تُرجع 1 إذا كان المُعمِّي \fBc\fP هو AEAD (مثل GCM أو ChaCha20/Poly1305)، و0 إذا لم يكن AEAD. .PP \&\fBSSL_CIPHER_find()\fP تُرجع بنية \fBSSL_CIPHER\fP تحتوي على معرف المُعمِّي المخزن في \fBptr\fP. المعامل \fBptr\fP هو مصفوفة من عنصرين من \fBchar\fP، تخزن معرف المُعمِّي TLS ذو البايتين (كما خُصص بواسطة IANA) بترتيب بايتات الشبكة. يُسترد هذا المعامل عادةً من حزمة TLS باستخدام دوال مثل \&\fBSSL_client_hello_get0_ciphers\fP\|(3). تُرجع \fBSSL_CIPHER_find()\fP NULL إذا حدث خطأ أو لم يُعثر على المُعمِّي المشار إليه. .PP \&\fBSSL_CIPHER_get_id()\fP تُرجع المعرف الخاص بـ OpenSSL للمُعمِّي المُعطى \fBc\fP. هذا المعرف ليس هو نفسه المعرف الخاص بـ IANA. .PP \&\fBSSL_CIPHER_get_protocol_id()\fP تُرجع المعرف ذو البايتين المستخدم في بروتوكول TLS للمُعمِّي المُعطى \fBc\fP. .PP \&\fBSSL_CIPHER_description()\fP تُرجع وصفًا نصيًا للمُعمِّي المُستخدم في المخزن المؤقت \fBbuf\fP بطول \fBlen\fP المُقدم. إذا وُفر \fBbuf\fP، فيجب أن يكون على الأقل 128 بايت. إذا كان \fBbuf\fP فارغًا (NULL)، فسيُخصص باستخدام \&\fBOPENSSL_malloc()\fP. إذا كان المخزن المؤقت المُقدم صغيرًا جدًا، أو فشل التخصيص، يُرجع \&\fBNULL\fP. .PP تتكون السلسلة المحارف التي تُرجعها \fBSSL_CIPHER_description()\fP من عدة حقول مفصولة بمسافات بيضاء: .IP "<اسم المُعمِّي>" 4 .IX Item "<اسم المُعمِّي>" تمثيل نصي لاسم المُعمِّي. .IP "<إصدار البروتوكول>" 4 .IX Item "<إصدار البروتوكول>" أدنى إصدار بروتوكول تدعمه مجموعة المُعمِّيات، مثل \fBTLSv1.2\fP. لاحظ أن هذا ليس دائمًا نفس إصدار البروتوكول الذي عُرفت فيه مجموعة المُعمِّيات لأول مرة لأن بعض مجموعات المُعمِّيات متوافقة مع الإصدارات السابقة من البروتوكول. .IP "Kx=<تبادل المفاتيح>" 4 .IX Item "Kx=<تبادل المفاتيح>" طريقة تبادل المفاتيح مثل \fBRSA\fP، \fBECDHE\fP، إلخ. .IP Au=<الاستيثاق> 4 .IX Item Au=<الاستيثاق> طريقة الاستيثاق مثل \fBRSA\fP، \fBNone\fP، إلخ. None هو تمثيل المُعمِّيات المجهولة. .IP "Enc=<طريقة التعمية المتناظرة>" 4 .IX Item "Enc=<طريقة التعمية المتناظرة>" طريقة التعمية، مع عدد البتات السرية، مثل \fBAESGCM(128)\fP. .IP "Mac=<رمز استيثاق الرسالة>" 4 .IX Item "Mac=<رمز استيثاق الرسالة>" مُستخلص الرسالة، مثل \fBSHA256\fP. .PP بعض الأمثلة لمخرجات \fBSSL_CIPHER_description()\fP: .PP .Vb 2 \& ECDHE\-RSA\-AES256\-GCM\-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD \& RSA\-PSK\-AES256\-CBC\-SHA384 TLSv1.0 Kx=RSAPSK Au=RSA Enc=AES(256) Mac=SHA384 .Ve .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&\fBSSL_CIPHER_get_name()\fP، \fBSSL_CIPHER_standard_name()\fP، \fBOPENSSL_cipher_name()\fP، \&\fBSSL_CIPHER_get_version()\fP و \fBSSL_CIPHER_description()\fP تُرجع القيمة المقابلة في سلسلة محارف منتهية بـ NUL لمُعمِّي معين أو "(NONE)" إذا لم يُعثر على المُعمِّي. .PP \&\fBSSL_CIPHER_get_bits()\fP تُرجع عددًا صحيحًا موجبًا يمثل عدد البتات السرية أو 0 إذا حدث خطأ. .PP \&\fBSSL_CIPHER_get_cipher_nid()\fP، \fBSSL_CIPHER_get_digest_nid()\fP، \&\fBSSL_CIPHER_get_kx_nid()\fP و \fBSSL_CIPHER_get_auth_nid()\fP تُرجع قيمة NID أو \&\fBNID_undef\fP إذا حدث خطأ. .PP \&\fBSSL_CIPHER_get_handshake_digest()\fP تُرجع بنية \fBEVP_MD\fP صالحة أو NULL إذا حدث خطأ. .PP \&\fBSSL_CIPHER_is_aead()\fP تُرجع 1 إذا كان المُعمِّي من نوع AEAD أو 0 خلاف ذلك. .PP \&\fBSSL_CIPHER_find()\fP تُرجع بنية \fBSSL_CIPHER\fP صالحة أو NULL إذا حدث خطأ. .PP \&\fBSSL_CIPHER_get_id()\fP تُرجع عددًا صحيحًا من 4 بايتات يمثل المُعرِّف الخاص بـ OpenSSL. .PP \&\fBSSL_CIPHER_get_protocol_id()\fP تُرجع عددًا صحيحًا من 2 بايت يمثل المُعرِّف الخاص ببروتوكول TLS. .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBssl\fP\|(7), \fBSSL_get_current_cipher\fP\|(3), \&\fBSSL_get_ciphers\fP\|(3), \fBopenssl\-ciphers\fP\|(1) .SH التاريخ .IX Header التاريخ دالة \fBSSL_CIPHER_get_version()\fP حُدِّثت لإرجاع سلسلة البروتوكول الصحيحة دائمًا في OpenSSL 1.1.0. .PP دالة \fBSSL_CIPHER_description()\fP غُيِّرت لإرجاع \fBNULL\fP عند الخطأ، بدلاً من سلسلة ثابتة، في OpenSSL 1.1.0. .PP دالة \fBSSL_CIPHER_get_handshake_digest()\fP أُضيفت في OpenSSL 1.1.1. .PP كانت الدالة \fBSSL_CIPHER_standard_name()\fP متاحةً عالميًا في OpenSSL 1.1.1. قبل OpenSSL 1.1.1، كان التتبع (الوسيط \fBenable\-ssl\-trace\fP في Configure) مطلوبًا لتفعيل هذه الدالة. .PP دالة \fBOPENSSL_cipher_name()\fP أُضيفت في OpenSSL 1.1.1. .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2000\-2025 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة. .PP مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط . .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .