.\" -*- 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_CTX_SET_DEFAULT_PASSWD_CB 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SSL_CTX_SET_DEFAULT_PASSWD_CB 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_CTX_set_default_passwd_cb, SSL_CTX_set_default_passwd_cb_userdata, SSL_CTX_get_default_passwd_cb, SSL_CTX_get_default_passwd_cb_userdata, SSL_set_default_passwd_cb, SSL_set_default_passwd_cb_userdata, SSL_get_default_passwd_cb, SSL_get_default_passwd_cb_userdata \- ضبط أو الحصول على دالة الاستدعاء لكلمة السر لمعالجة ملفات PEM المُعمّاة .SH موجز .IX Header موجز .Vb 1 \& #include \& \& void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb); \& void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u); \& pem_password_cb *SSL_CTX_get_default_passwd_cb(SSL_CTX *ctx); \& void *SSL_CTX_get_default_passwd_cb_userdata(SSL_CTX *ctx); \& \& void SSL_set_default_passwd_cb(SSL *s, pem_password_cb *cb); \& void SSL_set_default_passwd_cb_userdata(SSL *s, void *u); \& pem_password_cb *SSL_get_default_passwd_cb(SSL *s); \& void *SSL_get_default_passwd_cb_userdata(SSL *s); .Ve .SH الوصف .IX Header الوصف \&\fBSSL_CTX_set_default_passwd_cb()\fP يضبط دالة الاستدعاء المبدئية لكلمة السر التي تُستدعى عند تحميل/تخزين شهادة PEM مع التعمية. .PP \&\fBSSL_CTX_set_default_passwd_cb_userdata()\fP يضبط مؤشرًا إلى بيانات المستخدم، \fBu\fP، التي تُقدم لدالة استدعاء كلمة السر عند الاستدعاء. .PP \&\fBSSL_CTX_get_default_passwd_cb()\fP يُرجع مؤشر دالة إلى دالة استدعاء كلمة السر المضبوطة حاليًا في \fBctx\fP. إذا لم تُضبط أي دالة استدعاء صراحةً، يُرجع المؤشر NULL. .PP \&\fBSSL_CTX_get_default_passwd_cb_userdata()\fP يُرجع مؤشرًا إلى بيانات المستخدم المضبوطة حاليًا في \fBctx\fP. إذا لم تُضبط أي بيانات مستخدم صراحةً، يُرجع المؤشر NULL. .PP \&\fBSSL_set_default_passwd_cb()\fP, \fBSSL_set_default_passwd_cb_userdata()\fP, \&\fBSSL_get_default_passwd_cb()\fP و \fBSSL_get_default_passwd_cb_userdata()\fP تؤدي نفس وظيفة نظيراتها في SSL_CTX، لكن باستخدام كائن SSL. .PP دالة استدعاء كلمة السر، التي يجب أن يوفرها التطبيق، تُعيد كلمة السر التي ستُستخدم أثناء فك التعمية. عند الاستدعاء، يُقدم مؤشر إلى بيانات المستخدم. يجب على الدالة تخزين كلمة السر في المخزن المؤقت المقدم \&\fBbuf\fP بحجم \fBsize\fP. يجب إرجاع الطول الفعلي لكلمة السر إلى الدالة المستدعية. يُشير \fBrwflag\fP إلى ما إذا كانت دالة الاستدعاء تُستخدم للقراءة/فك التعمية (rwflag=0) أو الكتابة/التعمية (rwflag=1). لمزيد من التفاصيل، انظر \fBpem_password_cb\fP\|(3). .SH ملاحظات .IX Header ملاحظات عند تحميل أو تخزين المفاتيح الخاصة، قد تُقدم كلمة سر لحماية المفتاح الخاص. قد تعتمد طريقة تقديم كلمة السر هذه على التطبيق. إذا تم التعامل مع مفتاح خاص واحد فقط، قد يكون من العملي جعل دالة الاستدعاء تتعامل مع حوار كلمة السر تفاعليًا. إذا كان يجب التعامل مع عدة مفاتيح، قد يكون من العملي طلب كلمة السر مرة واحدة، ثم الاحتفاظ بها في الذاكرة واستخدامها عدة مرات. في الحالة الأخيرة، يمكن تخزين كلمة السر في مخزن بيانات المستخدم وتُعيد دالة الاستدعاء فقط كلمة السر المخزنة بالفعل. .PP عند طلب كلمة السر تفاعليًا، يمكن لدالة الاستدعاء استخدام \&\fBrwflag\fP للتحقق مما إذا كان يجب تعمية عنصر (rwflag=1). في هذه الحالة، قد يطلب حوار كلمة السر نفس كلمة السر مرتين للمقارنة من أجل اكتشاف الأخطاء المطبعية التي قد تجعل فك التعمية مستحيلًا. .PP يمكن أيضًا تعمية عناصر أخرى في تنسيق PEM (الشهادات)، لكن هذا ليس معتادًا، حيث تُعتبر معلومات الشهادة عامة. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" لا توفر هذه الدوال معلومات تشخيصية. .SH أمثلة .IX Header أمثلة المثال التالي يُعيد كلمة السر المقدمة كبيانات مستخدم إلى الدالة المستدعية. تُعتبر كلمة السر سلسلة محارف منتهية بـ \*(Aq\e0\*(Aq. إذا لم تتناسب كلمة السر مع المخزن المؤقت، تُقتطع كلمة السر. .PP .Vb 6 \& int my_cb(char *buf, int size, int rwflag, void *u) \& { \& strncpy(buf, (char *)u, size); \& buf[size \- 1] = \*(Aq\e0\*(Aq; \& return strlen(buf); \& } .Ve .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBssl\fP\|(7), \&\fBSSL_CTX_use_certificate\fP\|(3) .SH التاريخ .IX Header التاريخ \&\fBSSL_CTX_get_default_passwd_cb()\fP, \fBSSL_CTX_get_default_passwd_cb_userdata()\fP, \&\fBSSL_set_default_passwd_cb()\fP و \fBSSL_set_default_passwd_cb_userdata()\fP أُضيفت في OpenSSL 1.1.0. .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2000\-2019 لمؤلفي مشروع 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 .