.\" -*- 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 "EVP_SEALINIT 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH EVP_SEALINIT 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 الاسم EVP_SealInit, EVP_SealUpdate, EVP_SealFinal \- تعمية المغلف EVP .SH موجز .IX Header موجز .Vb 1 \& #include \& \& int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, \& unsigned char **ek, int *ekl, unsigned char *iv, \& EVP_PKEY **pubk, int npubk); \& int EVP_SealUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, \& int *outl, unsigned char *in, int inl); \& int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); .Ve .SH الوصف .IX Header الوصف إجراءات المغلف EVP هي واجهة عالية المستوى لتعمية المغلف. تُولّد مفتاحًا عشوائيًا و IV (إذا لزم الأمر) ثم تُغلفه باستخدام تعمية المفتاح العام. يمكن بعد ذلك تعمية البيانات باستخدام هذا المفتاح. .PP \&\fBEVP_SealInit()\fP تُهيئ سياق المُعمِّي \fBctx\fP للتعمية باستخدام المُعمِّي \fBtype\fP مع مفتاح سري عشوائي و IV. يُزوَّد \fBtype\fP عادةً بدالة مثل \fBEVP_aes_256_cbc()\fP. يُعمَّى المفتاح السري باستخدام مفتاح عام واحد أو أكثر، وهذا يسمح بفك تعمية نفس البيانات المعماة باستخدام أي من المفاتيح الخاصة المقابلة. \fBek\fP هو مصفوفة من المخازن المؤقتة حيث يُكتب المفتاح السري المُعمَّى بالمفتاح العام، يجب أن يحتوي كل مخزن مؤقت على مساحة كافية للمفتاح المُعمَّى المقابل: أي أن \&\fBek[i]\fP يجب أن يحتوي على مساحة لعدد بايتات \fBEVP_PKEY_get_size(pubk[i])\fP. يُكتب الحجم الفعلي لكل مفتاح سري مُعمَّى إلى المصفوفة \fBekl\fP. \fBpubk\fP هو مصفوفة من \fBnpubk\fP مفتاحًا عامًا. .PP المعامل \fBiv\fP هو مخزن مؤقت يُكتب فيه IV المُولَّد. يجب أن يحتوي على مساحة كافية لـ IV الخاص بالمُعمِّي المقابل، كما يُحدد بواسطة (على سبيل المثال) EVP_CIPHER_get_iv_length(type). .PP إذا كان المُعمِّي لا يتطلب IV، فإن المعامل \fBiv\fP يُتجاهل ويمكن أن يكون \fBNULL\fP. .PP \&\fBEVP_SealUpdate()\fP و \fBEVP_SealFinal()\fP لهما نفس الخصائص تمامًا مثل إجراءات \fBEVP_EncryptUpdate()\fP و \fBEVP_EncryptFinal()\fP، كما هو موثق في صفحة الدليل \fBEVP_EncryptInit\fP\|(3). .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&\fBEVP_SealInit()\fP تُرجع 0 عند الخطأ أو \fBnpubk\fP إذا نجحت. .PP \&\fBEVP_SealUpdate()\fP و \fBEVP_SealFinal()\fP تُرجعان 1 للنجاح و 0 للفشل. .SH ملاحظات .IX Header ملاحظات نظرًا لتوليد مفتاح سري عشوائي، يجب بذر مولد الأعداد العشوائية عند استدعاء \fBEVP_SealInit()\fP. إذا فشل البذر الآلي أو إعادة البذر لـ CSPRNG الخاص بـ OpenSSL بسبب ظروف خارجية (انظر \fBRAND\fP\|(7))، فستفشل العملية. .PP يجب أن يكون المفتاح العام RSA لأنه خوارزمية المفتاح العام الوحيدة في OpenSSL التي تدعم نقل المفتاح. .PP تعمية المغلف هي الطريقة المعتادة لاستخدام تعمية المفتاح العام على كميات كبيرة من البيانات، وذلك لأن تعمية المفتاح العام بطيئة ولكن التعمية المتناظرة سريعة. لذا تُستخدم التعمية المتناظرة للتعمية الكبيرة ويُستخدم المفتاح المتناظر العشوائي الصغير المنقول باستخدام تعمية المفتاح العام. .PP من الممكن استدعاء \fBEVP_SealInit()\fP مرتين بنفس طريقة \&\fBEVP_EncryptInit()\fP. يجب أن يكون الاستدعاء الأول مع تعيين \fBnpubk\fP إلى 0 و (بعد تعيين أي معاملات للمُعمِّي) يجب استدعاؤها مرة أخرى مع تعيين \fBtype\fP إلى NULL. .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBevp\fP\|(7), \fBRAND_bytes\fP\|(3), \&\fBEVP_EncryptInit\fP\|(3), \&\fBEVP_OpenInit\fP\|(3), \&\fBRAND\fP\|(7) .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2000\-2021 لمؤلفي مشروع 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 .