X509_STORE_SET_VERIFY_CB_FUNC(3ssl)

الاسم
X509_STORE_set_lookup_crls_cb, X509_STORE_set_verify_func, X509_STORE_get_cleanup, X509_STORE_set_cleanup, X509_STORE_get_lookup_crls, X509_STORE_set_lookup_crls, X509_STORE_get_lookup_certs, X509_STORE_set_lookup_certs, X509_STORE_get_check_policy, X509_STORE_set_check_policy, X509_STORE_get_cert_crl, X509_STORE_set_cert_crl, X509_STORE_get_check_crl, X509_STORE_set_check_crl, X509_STORE_get_get_crl, X509_STORE_set_get_crl, X509_STORE_get_check_revocation, X509_STORE_set_check_revocation, X509_STORE_get_check_issued, X509_STORE_set_check_issued, X509_STORE_CTX_get1_issuer, X509_STORE_get_get_issuer, X509_STORE_set_get_issuer, X509_STORE_CTX_get_verify, X509_STORE_set_verify, X509_STORE_get_verify_cb, X509_STORE_set_verify_cb_func, X509_STORE_set_verify_cb, X509_STORE_CTX_cert_crl_fn, X509_STORE_CTX_check_crl_fn, X509_STORE_CTX_check_issued_fn, X509_STORE_CTX_check_policy_fn, X509_STORE_CTX_check_revocation_fn, X509_STORE_CTX_cleanup_fn, X509_STORE_CTX_get_crl_fn, X509_STORE_CTX_get_issuer_fn, X509_STORE_CTX_lookup_certs_fn, X509_STORE_CTX_lookup_crls_fn - ضبط رد الاتصال للتحقق

موجز
 #include <openssl/x509_vfy.h>

 typedef int (*X509_STORE_CTX_get_issuer_fn)(X509 **issuer,
                                             X509_STORE_CTX *ctx, X509 *x);
 typedef int (*X509_STORE_CTX_check_issued_fn)(X509_STORE_CTX *ctx,
                                               X509 *x, X509 *issuer);
 typedef int (*X509_STORE_CTX_check_revocation_fn)(X509_STORE_CTX *ctx);
 typedef int (*X509_STORE_CTX_get_crl_fn)(X509_STORE_CTX *ctx,
                                          X509_CRL **crl, X509 *x);
 typedef int (*X509_STORE_CTX_check_crl_fn)(X509_STORE_CTX *ctx, X509_CRL *crl);
 typedef int (*X509_STORE_CTX_cert_crl_fn)(X509_STORE_CTX *ctx,
                                           X509_CRL *crl, X509 *x);
 typedef int (*X509_STORE_CTX_check_policy_fn)(X509_STORE_CTX *ctx);
 typedef STACK_OF(X509) *(*X509_STORE_CTX_lookup_certs_fn)(X509_STORE_CTX *ctx,
                                                           const X509_NAME *nm);
 typedef STACK_OF(X509_CRL) *(*X509_STORE_CTX_lookup_crls_fn)(const
                                                              X509_STORE_CTX *ctx,
                                                              const X509_NAME *nm);
 typedef int (*X509_STORE_CTX_cleanup_fn)(X509_STORE_CTX *ctx);

 void X509_STORE_set_verify_cb(X509_STORE *xs,
                               X509_STORE_CTX_verify_cb verify_cb);
 X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(const X509_STORE_CTX *ctx);

 void X509_STORE_set_verify(X509_STORE *xs, X509_STORE_CTX_verify_fn verify);
 X509_STORE_CTX_verify_fn X509_STORE_CTX_get_verify(const X509_STORE_CTX *ctx);

 int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x);
 X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(const X509_STORE_CTX *ctx);
 void X509_STORE_set_get_issuer(X509_STORE *xs,
                                X509_STORE_CTX_get_issuer_fn get_issuer);

 void X509_STORE_set_check_issued(X509_STORE *xs,
                                  X509_STORE_CTX_check_issued_fn check_issued);
 X509_STORE_CTX_check_issued_fn
     X509_STORE_get_check_issued(const X509_STORE_CTX *ctx);

 void X509_STORE_set_check_revocation(X509_STORE *xs,
                                      X509_STORE_CTX_check_revocation_fn check_revocation);
 X509_STORE_CTX_check_revocation_fn
     X509_STORE_get_check_revocation(const X509_STORE_CTX *ctx);

 void X509_STORE_set_get_crl(X509_STORE *xs,
                             X509_STORE_CTX_get_crl_fn get_crl);
 X509_STORE_CTX_get_crl_fn X509_STORE_get_get_crl(const X509_STORE_CTX *ctx);

 void X509_STORE_set_check_crl(X509_STORE *xs,
                               X509_STORE_CTX_check_crl_fn check_crl);
 X509_STORE_CTX_check_crl_fn
     X509_STORE_get_check_crl(const X509_STORE_CTX *ctx);

 void X509_STORE_set_cert_crl(X509_STORE *xs,
                              X509_STORE_CTX_cert_crl_fn cert_crl);
 X509_STORE_CTX_cert_crl_fn X509_STORE_get_cert_crl(const X509_STORE_CTX *ctx);

 void X509_STORE_set_check_policy(X509_STORE *xs,
                                  X509_STORE_CTX_check_policy_fn check_policy);
 X509_STORE_CTX_check_policy_fn
     X509_STORE_get_check_policy(const X509_STORE_CTX *ctx);

 void X509_STORE_set_lookup_certs(X509_STORE *xs,
                                  X509_STORE_CTX_lookup_certs_fn lookup_certs);
 X509_STORE_CTX_lookup_certs_fn
     X509_STORE_get_lookup_certs(const X509_STORE_CTX *ctx);

 void X509_STORE_set_lookup_crls(X509_STORE *xs,
                                 X509_STORE_CTX_lookup_crls_fn lookup_crls);
 X509_STORE_CTX_lookup_crls_fn
     X509_STORE_get_lookup_crls(const X509_STORE_CTX *ctx);

 void X509_STORE_set_cleanup(X509_STORE *xs,
                             X509_STORE_CTX_cleanup_fn cleanup);
 X509_STORE_CTX_cleanup_fn X509_STORE_get_cleanup(const X509_STORE_CTX *ctx);

 /* Aliases */
 void X509_STORE_set_verify_cb_func(X509_STORE *st,
                                    X509_STORE_CTX_verify_cb verify_cb);
 void X509_STORE_set_verify_func(X509_STORE *xs,
                                 X509_STORE_CTX_verify_fn verify);
 void X509_STORE_set_lookup_crls_cb(X509_STORE *xs,
                                    X509_STORE_CTX_lookup_crls_fn lookup_crls);

الوصف
X509_STORE_set_verify_cb() يضبط رد اتصال التحقق لـ xs إلى verify_cb مع استبدال رد الاتصال السابق. يصبح رد الاتصال المُسند بهذه الدالة مبدئيًا لذاك الذي يمكن إسناده مباشرة إلى X509_STORE_CTX المقابل، يُرجى الاطلاع على X509_STORE_CTX_set_verify_cb(3) لمزيد من المعلومات.

X509_STORE_set_verify() تضبط دالة التحقق النهائية من السلسلة لـ xs إلى verify. غرضها هو المرور عبر سلسلة الشهادات والتحقق من أن جميع التوقيعات صالحة وأن الوقت الحالي ضمن حدود زمن الصلاحية الأول والأخير لكل شهادة. يجب أن تُرجع دوال التحقق النهائية من السلسلة 0 عند الفشل و عند النجاح. إذا لم تُقدم دالة تحقق من السلسلة، فستُستخدم الدالة المبدئية الداخلية بدلاً منها.

X509_STORE_CTX_get1_issuer() يحاول إيجاد شهادة من مكون store في ctx التي تحمل اسم موضوع مطابق لاسم مُصدر x وتُقبل من دالة check_issued في ctx. عند النجاح، يُسند إلى *issuer أول تطابق له فترة صلاحية مناسبة أو غير ذلك أحدث تاريخ انتهاء صلاحية بين جميع الشهادات المطابقة. إذا أعادت الدالة 1، يكون المتصل مسؤولاً عن تحرير *issuer. لاحظ أن هذا البحث لا يدعم التراجع.

X509_STORE_set_get_issuer() يضبط الدالة get_issuer المستخدمة للحصول على شهادة المُصدر "الأفضل" المرشحة للشهادة المعطاة x. عندما تُوجد هذه الشهادة، يجب على get_issuer زيادة العداد المرجعي وإسنادها إلى *issuer ثم إعادة 1. وإلا، يجب على get_issuer إعادة 0 إذا لم تُوجد و-1 (أو 0) عند الفشل. إذا لم تُستخدم X509_STORE_set_get_issuer() أو كانت get_issuer NULL، فإن X509_STORE_CTX_get1_issuer() تُستخدم كالتنفيذ المبدئي.

X509_STORE_set_check_issued() تضبط الدالة للتحقق من أن الشهادة المعطاة x صدرت بواسطة شهادة المُصدِر issuer. يجب أن تُرجع هذه الدالة 0 عند الفشل (من ضمنها إذا لم تُصدر x بواسطة issuer) و1 عند النجاح. إذا لم تُقدم دالة للحصول على المُصدِر، فستُستخدم الدالة المبدئية الداخلية بدلاً منها.

X509_STORE_set_check_revocation() يضبط دالة التحقق من الإلغاء. الغرض منها هو النظر عبر السلسلة النهائية والتحقق من حالة الإلغاء لكل شهادة. يجب أن تُعيد 0 عند الفشل و1 عند النجاح. إذا لم تُقدم دالة للحصول على المُصدر، ستُستخدم الدالة المبدئية الداخلية بدلاً من ذلك.

X509_STORE_set_get_crl() يضبط الدالة للحصول على CRL لشهادة معطاة x. عندما يُوجد، يجب إسناد CRL إلى *crl. يجب أن تُعيد هذه الدالة 0 عند الفشل و1 عند النجاح. إذا لم تُقدم دالة للحصول على المُصدر، ستُستخدم الدالة المبدئية الداخلية بدلاً من ذلك.

X509_STORE_set_check_crl() يضبط الدالة للتحقق من صلاحية crl المعطى. يجب أن تُعيد هذه الدالة 0 عند الفشل و1 عند النجاح. إذا لم تُقدم دالة للحصول على المُصدر، ستُستخدم الدالة المبدئية الداخلية بدلاً من ذلك.

X509_STORE_set_cert_crl() يضبط الدالة للتحقق من حالة الإلغاء للشهادة المعطاة x مقابل crl المعطى. يجب أن تُعيد هذه الدالة 0 عند الفشل و1 عند النجاح. إذا لم تُقدم دالة للحصول على المُصدر، ستُستخدم الدالة المبدئية الداخلية بدلاً من ذلك.

X509_STORE_set_check_policy() يضبط الدالة للتحقق من سياسات جميع الشهادات في السلسلة النهائية. يجب أن تُعيد هذه الدالة 0 عند الفشل و1 عند النجاح. إذا لم تُقدم دالة للحصول على المُصدر، ستُستخدم الدالة المبدئية الداخلية بدلاً من ذلك.

X509_STORE_set_lookup_certs() و X509_STORE_set_lookup_crls() يضبطان الدوال للبحث عن جميع الشهادات أو جميع CRLs التي تطابق الاسم المعطى nm. تُعيد هذه الدوال NULL عند الفشل ومؤشراً إلى كومة من الشهادات (X509) أو إلى كومة من CRLs (X509_CRL) عند النجاح. إذا لم تُقدم دالة للحصول على المُصدر، ستُستخدم الدالة المبدئية الداخلية بدلاً من ذلك.

X509_STORE_set_cleanup() تضبط دالة التنظيف النهائية، التي تُستدعى عند تفكيك السياق (X509_STORE_CTX). لا تُرجع هذه الدالة أي قيمة. إذا لم تُقدم دالة للحصول على المُصدِر، فستُستخدم الدالة المبدئية الداخلية بدلاً منها.

X509_STORE_get_verify_cb(), X509_STORE_CTX_get_verify(), X509_STORE_get_get_issuer(), X509_STORE_get_check_issued(), X509_STORE_get_check_revocation(), X509_STORE_get_get_crl(), X509_STORE_get_check_crl(), X509_STORE_set_verify(), X509_STORE_set_get_issuer(), X509_STORE_get_cert_crl(), X509_STORE_get_check_policy(), X509_STORE_get_lookup_certs(), X509_STORE_get_lookup_crls() و X509_STORE_get_cleanup() جميعها تُعيد مؤشر الدالة المُسند مع X509_STORE_set_check_issued(), X509_STORE_set_check_revocation(), X509_STORE_set_get_crl(), X509_STORE_set_check_crl(), X509_STORE_set_cert_crl(), X509_STORE_set_check_policy(), X509_STORE_set_lookup_certs(), X509_STORE_set_lookup_crls() و X509_STORE_set_cleanup(), أو NULL إذا لم يُجرَ أي إسناد.

X509_STORE_set_verify_cb_func(), X509_STORE_set_verify_func() و X509_STORE_set_lookup_crls_cb() هي أسماء مستعارة لـ X509_STORE_set_verify_cb(), X509_STORE_set_verify() و X509_STORE_set_lookup_crls، متاحة كوحدات ماكرو للتوافق مع الإصدارات السابقة.

ملاحظات
جميع دوال الاستدعاء من X509_STORE تُورث بواسطة بنية X509_STORE_CTX المقابلة عند تهيئتها. انظر X509_STORE_CTX_set_verify_cb(3) لمزيد من التفاصيل.

العلل
إصدار الماكرو لهذه الدالة كان الوحيد المتاح قبل OpenSSL 1.0.0.

القيم المُرجعة
دوال X509_STORE_set_*() لا تُرجع قيمة.

دوال X509_STORE_get_*() تُرجع مؤشرًا من نوع الدالة المناسب.

X509_STORE_CTX_get1_issuer() تُرجع 1 إذا وُجدت شهادة مناسبة، و0 إذا لم تُوجد، و-1 عند خطأ آخر.

انظر أيضًا
X509_STORE_CTX_set_verify_cb(3), X509_STORE_CTX_get0_chain(3), X509_STORE_CTX_verify_cb(3), X509_STORE_CTX_verify_fn(3), CMS_verify(3)

التاريخ
أُضيفت الدالة X509_STORE_set_verify_cb() في OpenSSL 1.0.0.

أُضيفت الدوال X509_STORE_set_verify_cb(), X509_STORE_get_verify_cb(), X509_STORE_set_verify(), X509_STORE_CTX_get_verify(), X509_STORE_set_get_issuer(), X509_STORE_get_get_issuer(), X509_STORE_set_check_issued(), X509_STORE_get_check_issued(), X509_STORE_set_check_revocation(), X509_STORE_get_check_revocation(), X509_STORE_set_get_crl(), X509_STORE_get_get_crl(), X509_STORE_set_check_crl(), X509_STORE_get_check_crl(), X509_STORE_set_cert_crl(), X509_STORE_get_cert_crl(), X509_STORE_set_check_policy(), X509_STORE_get_check_policy(), X509_STORE_set_lookup_certs(), X509_STORE_get_lookup_certs(), X509_STORE_set_lookup_crls(), X509_STORE_get_lookup_crls(), X509_STORE_set_cleanup() و X509_STORE_get_cleanup() في OpenSSL 1.1.0.

حقوق النسخ
حقوق النشر 2009-2021 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة.

مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط <https://www.openssl.org/source/license.html>.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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