الاسم
- Provided by: manpages-ar-dev (Version: 4.31.0-1)
- Source: manpages-l10n
- Report a bug
#include <openssl/x509.h> int X509_STORE_CTX_get_error(const X509_STORE_CTX *ctx); void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int s); int X509_STORE_CTX_get_error_depth(const X509_STORE_CTX *ctx); void X509_STORE_CTX_set_error_depth(X509_STORE_CTX *ctx, int depth); X509 *X509_STORE_CTX_get_current_cert(const X509_STORE_CTX *ctx); void X509_STORE_CTX_set_current_cert(X509_STORE_CTX *ctx, X509 *x); X509 *X509_STORE_CTX_get0_cert(const X509_STORE_CTX *ctx); STACK_OF(X509) *X509_STORE_CTX_get1_chain(const X509_STORE_CTX *ctx); const char *X509_verify_cert_error_string(long n);
تُستدعى هذه الدوال عادةً بعد التحقق من الشهادة أو السلسلة باستخدام X509_verify_cert(3) أو X509_STORE_CTX_verify(3) التي أشارت إلى خطأ، أو في دالة رد التحقق لتحديد طبيعة الخطأ.
X509_STORE_CTX_get_error() تُعيد رمز الخطأ لـ ctx. ctx يجب ألا يكون NULL. راجع قسم "رموز الخطأ" للحصول على وصف كامل لجميع رموز الخطأ. قد تُعيد رمزًا != X509_V_OK حتى لو لم تُشر X509_verify_cert() إلى خطأ، ربما لأن دالة رد التحقق قد تنازلت عن الخطأ.
X509_STORE_CTX_set_error() تعيّن رمز الخطأ لـ ctx إلى s. على سبيل المثال، قد تُستخدم في دالة رد التحقق لتعيين خطأ بناءً على فحوصات إضافية. ctx يجب ألا يكون NULL.
X509_STORE_CTX_get_error_depth() تُعيد عمق الخطأ. هذا عدد صحيح غير سالب يمثل مكان حدوث الخطأ في سلسلة الشهادات. إذا كان صفرًا، فقد حدث في شهادة الكيان النهائي، وواحد إذا كانت الشهادة التي وقّعت شهادة الكيان النهائي، وهكذا. ctx يجب ألا يكون NULL.
X509_STORE_CTX_set_error_depth() تعيّن عمق الخطأ. يمكن استخدام هذا مع X509_STORE_CTX_set_error() لتعيين العمق الذي اكتُشفت فيه حالة الخطأ.
X509_STORE_CTX_get_current_cert() تُعيد الشهادة الحالية في ctx. إذا حدث خطأ، فستكون الشهادة الحالية هي الأكثر ارتباطًا بالخطأ، أو ربما NULL إذا لم تكن هناك شهادة ذات صلة.
X509_STORE_CTX_set_current_cert() تعيّن الشهادة x في ctx التي سببت الخطأ. ليس المقصود من هذه القيمة أن تبقى صالحة لفترة طويلة، وتبقى مملوكة للمستدعي. قد تُفحص بواسطة دالة رد التحقق المُستدعاة لمعالجة كل خطأ يُواجه أثناء التحقق من السلسلة، ولم تعد مطلوبة بعد هذه الدالة. إذا رغبت دالة رد في حفظ الشهادة لاستخدامها بعد عودتها، فيجب عليها زيادة عدد مراجعها عبر X509_up_ref(3). بمجرد عدم الحاجة إلى الشهادة المحفوظة، يمكن تحريرها باستخدام X509_free(3).
X509_STORE_CTX_get0_cert() تسترجع مؤشرًا داخليًا إلى الشهادة التي يجري التحقق منها بواسطة ctx. قد تكون NULL إذا كان مفتاح عام خام قيد التحقق.
X509_STORE_CTX_get1_chain() تُعيد سلسلة تحقق كاملة إذا كان التحقق السابق ناجحًا. وإلا، فقد تكون السلسلة المُعادة غير كاملة أو غير صالحة. تظل السلسلة المُعادة موجودة بعد تحرير بنية ctx. عندما لا تكون مطلوبة بعد الآن، يجب تحريرها باستخدام:
OSSL_STACK_OF_X509_free(chain);
X509_verify_cert_error_string() تُعيد سلسلة خطأ قابلة للقراءة البشرية لخطأ التحقق n.
X509_STORE_CTX_get_error() تُعيد X509_V_OK أو رمز خطأ.
X509_STORE_CTX_get_error_depth() تُعيد عمق خطأ غير سالب.
X509_STORE_CTX_get_current_cert() تُعيد الشهادة التي سببت الخطأ أو NULL إذا لم تكن هناك شهادة ذات صلة بالخطأ.
X509_verify_cert_error_string() تُعيد سلسلة خطأ قابلة للقراءة البشرية لخطأ التحقق n.
قائمة برموز الخطأ والرسائل معروضة أدناه. بعض رموز الخطأ مُعرّفة ولكن لا تُعاد حاليًا: تُوصف هذه بأنها "غير مستخدمة".
ينبغي استخدام الدوال أعلاه بدلاً من الإشارة المباشرة إلى الحقول في بنية X509_VERIFY_CTX.
في إصدارات OpenSSL قبل 1.0، لم تكن الشهادة الحالية المُعادة بواسطة X509_STORE_CTX_get_current_cert() NULL أبدًا. ينبغي للتطبيقات التحقق من قيمة الإرجاع قبل طباعة أي معلومات تصحيح تتعلق بالشهادة الحالية.
إذا مُرر رمز خطأ غير معروف إلى X509_verify_cert_error_string()، فتُعاد القيمة الرقمية للرمز المجهول في مخزن مؤقت ثابت. هذا ليس آمنًا للخيوط ولكنه لن يحدث أبدًا إلا إذا مُرر رمز غير صالح.
الإصدارات السابقة من هذا التوثيق بدّلت معنى رمزي الخطأ X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT وX509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY.
X509_verify_cert(3)، X509_STORE_CTX_verify(3)، X509_up_ref(3)، X509_free(3).
حقوق النشر 2009-2025 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة.
مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط <https://www.openssl.org/source/license.html>.
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.