.\" -*- 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 "ASN1_GENERATE_NCONF 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ASN1_GENERATE_NCONF 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 الاسم ASN1_generate_nconf, ASN1_generate_v3 \- دوال توليد سلسلة ASN1 .SH موجز .IX Header موجز .Vb 1 \& #include \& \& ASN1_TYPE *ASN1_generate_nconf(const char *str, CONF *nconf); \& ASN1_TYPE *ASN1_generate_v3(const char *str, X509V3_CTX *cnf); .Ve .SH الوصف .IX Header الوصف تولد هذه الدوال ترميز ASN1 لسلسلة في بنية \fBASN1_TYPE\fP. .PP \&تحتوي \fIstr\fP على السلسلة المراد تعميتها. تحتوي \fInconf\fP أو \fIcnf\fP على معلومات التهيئة الاختيارية حيث تُقرأ سلاسل إضافية منها. تأتي \fInconf\fP عادة من ملف تهيئة بينما تُحصل \fIcnf\fP من بنية \fBX509V3_CTX\fP، والتي تُستخدم عادة بواسطة دوال امتداد شهادة X509 v3. يمكن ضبط \fIcnf\fP أو \fInconf\fP على NULL إذا لم تُستخدم تهيئة إضافية. .SH "تنسيق سلسلة التوليد" .IX Header "تنسيق سلسلة التوليد" تُحدد البيانات الفعلية المُعمّاة بواسطة السلسلة \fIstr\fP ومعلومات التهيئة. التنسيق العام للسلسلة هو: .IP [\fImodifier\fP,]\fItype\fP[:\fIvalue\fP] 4 .IX Item [معدل،]نوع[:قيمة] .PP أي صفر أو أكثر من المعدلات المفصولة بفاصلة متبوعة بنوع متبوع بنقطتين اختياريتين وقيمة. تُشرح تنسيقات \fItype\fP و\&\fIvalue\fP و\fImodifier\fP أدناه. .SS "الأنواع المدعومة" .IX Subsection "الأنواع المدعومة" تُدرج الأنواع المدعومة أدناه. حالة الأحرف غير مهمة في أسماء الأنواع. ما لم يُحدد خلاف ذلك، يُسمح فقط بتنسيق \fBASCII\fP. .IP "\fBBOOLEAN\fP، \fBBOOL\fP" 4 .IX Item "BOOLEAN، BOOL" يعمي هذا نوعًا منطقيًا. سلسلة \fIvalue\fP إلزامية ويجب أن تكون \fBTRUE\fP أو \fBFALSE\fP. بالإضافة إلى ذلك، تُقبل \fBTRUE\fP و\fBtrue\fP و\fBY\fP و\&\fBy\fP و\fBYES\fP و\fByes\fP و\fBFALSE\fP و\fBfalse\fP و\fBN\fP و\fBn\fP و\fBNO\fP و\fBno\fP. .IP \fBNULL\fP 4 .IX Item NULL شفر نوع \fBNULL\fP، سلسلة \fIvalue\fP يجب ألا تكون موجودة. .IP "\fBINTEGER\fP، \fBINT\fP" 4 .IX Item "INTEGER، INT" يشفر نوع ASN1 \fBINTEGER\fP. سلسلة \fIvalue\fP تمثل قيمة العدد الصحيح، يمكن أن تسبقها علامة ناقص وتُفسر عادةً كقيمة عشرية ما لم تُضمن البادئة \fB0x\fP. .IP "\fBENUMERATED\fP، \fBENUM\fP" 4 .IX Item "ENUMERATED، ENUM" يشفر نوع ASN1 \fBENUMERATED\fP، وهو مطابق لـ \&\fBINTEGER\fP فيما عدا ذلك. .IP "\fBOBJECT\fP، \fBOID\fP" 4 .IX Item "OBJECT، OID" يشفر ASN1 \fBOBJECT IDENTIFIER\fP، سلسلة \fIvalue\fP يمكن أن تكون اسمًا قصيرًا أو اسمًا طويلاً أو تنسيقًا رقميًا. .IP "\fBUTCTIME\fP، \fBUTC\fP" 4 .IX Item "UTCTIME، UTC" يشفر بنية ASN1 \fBUTCTime\fP، يجب أن تكون القيمة بالتنسيق \fBYYMMDDHHMMSSZ\fP. .IP "\fBGENERALIZEDTIME\fP، \fBGENTIME\fP" 4 .IX Item "GENERALIZEDTIME، GENTIME" يشفر بنية ASN1 \fBGeneralizedTime\fP، يجب أن تكون القيمة بالتنسيق \fBYYYYMMDDHHMMSSZ\fP. .IP "\fBOCTETSTRING\fP، \fBOCT\fP" 4 .IX Item "OCTETSTRING، OCT" يشفر ASN1 \fBOCTET STRING\fP. \fIvalue\fP تمثل محتويات هذه البنية، يمكن استخدام سلاسل التنسيق \fBASCII\fP و \fBHEX\fP لتحديد تنسيق \fIvalue\fP. .IP "\fBBITSTRING\fP، \fBBITSTR\fP" 4 .IX Item "BITSTRING, BITSTR" يُعمي سلسلة \fBBIT STRING\fP من ASN1. \fIvalue\fP يمثل محتويات هذه البنية، ويمكن استخدام سلاسل التنسيق \fBASCII\fP و\fBHEX\fP و\fBBITLIST\fP لتحديد تنسيق \fIvalue\fP. .Sp إذا كان التنسيق غير \fBBITLIST\fP، يُضبط عدد البتات غير المستخدمة إلى صفر. .IP "\fBUNIVERSALSTRING\fP، \fBUNIV\fP، \fBIA5\fP، \fBIA5STRING\fP، \fBUTF8\fP، \fBUTF8String\fP، \fBBMP\fP، \fBBMPSTRING\fP، \fBVISIBLESTRING\fP، \fBVISIBLE\fP، \fBPRINTABLESTRING\fP، \fBPRINTABLE\fP، \fBT61\fP، \fBT61STRING\fP، \fBTELETEXSTRING\fP، \fBGeneralString\fP، \fBNUMERICSTRING\fP، \fBNUMERIC\fP" 4 .IX Item "UNIVERSALSTRING، UNIV، IA5، IA5STRING، UTF8، UTF8String، BMP، BMPSTRING، VISIBLESTRING، VISIBLE، PRINTABLESTRING، PRINTABLE، T61، T61STRING، TELETEXSTRING، GeneralString، NUMERICSTRING، NUMERIC" تُعمي هذه الأنواع المقابلة من السلاسل. \fIvalue\fP يمثل محتويات هذه البنية. يمكن أن يكون التنسيق \fBASCII\fP أو \fBUTF8\fP. .IP "\fBSEQUENCE\fP، \fBSEQ\fP، \fBSET\fP" 4 .IX Item "SEQUENCE، SEQ، SET" يُنسق النتيجة كنوع \fBSEQUENCE\fP أو \fBSET\fP من ASN1. يجب أن يكون \fIvalue\fP اسم قسم سيحتوي المحتويات. تُتجاهل أسماء الحقول في القسم وتكون القيم بتنسيق السلسلة المُولدة. إذا كان \fIvalue\fP غائبًا، فسيُعمي SEQUENCE فارغ. .SS المعدلات .IX Subsection المعدلات تؤثر المعدلات على البنية التالية، ويمكن استخدامها لإضافة وسم EXPLICIT أو IMPLICIT، أو إضافة أغلفة، أو تغيير تنسيق السلسلة للنوع والقيمة النهائيين. التنسيقات المدعومة موثقة أدناه. .IP "\fBEXPLICIT\fP، \fBEXP\fP" 4 .IX Item "EXPLICIT، EXP" أضف وسمًا صريحًا إلى البنية التالية. يجب أن تتبع هذه السلسلة بنقطتين وقيمة الوسم المستخدمة كقيمة عشرية. .Sp بإتباع الرقم بـ \fBU\fP أو \fBA\fP أو \fBP\fP أو \fBC\fP، يمكن استخدام وسم UNIVERSAL أو APPLICATION أو PRIVATE أو CONTEXT SPECIFIC، المبدئي هو CONTEXT SPECIFIC. .IP "\fBIMPLICIT\fP، \fBIMP\fP" 4 .IX Item "IMPLICIT، IMP" هذا مماثل لـ \fBEXPLICIT\fP باستثناء استخدام وسم IMPLICIT بدلاً منه. .IP "\fBOCTWRAP\fP، \fBSEQWRAP\fP، \fBSETWRAP\fP، \fBBITWRAP\fP" 4 .IX Item "OCTWRAP، SEQWRAP، SETWRAP، BITWRAP" تُحاط البنية التالية بـ OCTET STRING أو SEQUENCE أو SET أو BIT STRING على التوالي. بالنسبة لـ BIT STRING، يُضبط عدد البتات غير المستخدمة إلى صفر. .IP \fBFORMAT\fP 4 .IX Item التنسيق يحدد هذا تنسيق القيمة النهائية. يجب أن يتبعه نقطتان وأحد السلاسل \fBASCII\fP أو \fBUTF8\fP أو \fBHEX\fP أو \fBBITLIST\fP. .Sp إذا لم يُدرج محدد تنسيق، يُستخدم \fBASCII\fP. إذا حُدد \fBUTF8\fP، يجب أن تكون سلسلة القيمة سلسلة \fBUTF8\fP صالحة. بالنسبة لـ \fBHEX\fP، يجب أن يكون الناتج مجموعة من الأرقام السداسية العشرية. \fBBITLIST\fP (الصالح فقط لـ BIT STRING) هو قائمة مفصولة بفواصل لمؤشرات البتات المُعينة، وجميع البتات الأخرى صفر. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&تُرجع \fBASN1_generate_nconf()\fP و \fBASN1_generate_v3()\fP البيانات المُرمزة كهيكل \fBASN1_TYPE\fP أو NULL إذا حدث خطأ. .PP أكواد الخطأ التي يمكن الحصول عليها بواسطة \fBERR_get_error\fP\|(3). .SH أمثلة .IX Header أمثلة سلسلة IA5String بسيطة: .PP .Vb 1 \& IA5STRING:Hello World .Ve .PP سلسلة IA5String موسومة صراحة: .PP .Vb 1 \& EXPLICIT:0,IA5STRING:Hello World .Ve .PP سلسلة IA5String موسومة صراحة باستخدام وسوم APPLICATION: .PP .Vb 1 \& EXPLICIT:0A,IA5STRING:Hello World .Ve .PP سلسلة BITSTRING مع تعيين البتتين 1 و 5 وجميع البتات الأخرى صفر: .PP .Vb 1 \& FORMAT:BITLIST,BITSTRING:1,5 .Ve .PP مثال أكثر تعقيدًا باستخدام ملف تهيئة لإنتاج SEQUENCE تتكون من BOOL و OID و UTF8String: .PP .Vb 1 \& asn1 = SEQUENCE:seq_section \& \& [seq_section] \& \& field1 = BOOLEAN:TRUE \& field2 = OID:commonName \& field3 = UTF8:Third field .Ve .PP ينتج هذا المثال هيكل RSAPrivateKey، وهو المفتاح الموجود في ملف client.pem في جميع توزيعات OpenSSL (ملاحظة: أسماء الحقول مثل \*(Aqcoeff\*(Aq تُتجاهل وتُوجد فقط للتوضيح): .PP .Vb 3 \& asn1=SEQUENCE:private_key \& [private_key] \& version=INTEGER:0 \& \& n=INTEGER:0xBB6FE79432CC6EA2D8F970675A5A87BFBE1AFF0BE63E879F2AFFB93644\e \& D4D2C6D000430DEC66ABF47829E74B8C5108623A1C0EE8BE217B3AD8D36D5EB4FCA1D9 \& \& e=INTEGER:0x010001 \& \& d=INTEGER:0x6F05EAD2F27FFAEC84BEC360C4B928FD5F3A9865D0FCAAD291E2A52F4A\e \& F810DC6373278C006A0ABBA27DC8C63BF97F7E666E27C5284D7D3B1FFFE16B7A87B51D \& \& p=INTEGER:0xF3929B9435608F8A22C208D86795271D54EBDFB09DDEF539AB083DA912\e \& D4BD57 \& \& q=INTEGER:0xC50016F89DFF2561347ED1186A46E150E28BF2D0F539A1594BBD7FE467\e \& 46EC4F \& \& exp1=INTEGER:0x9E7D4326C924AFC1DEA40B45650134966D6F9DFA3A7F9D698CD4ABEA\e \& 9C0A39B9 \& \& exp2=INTEGER:0xBA84003BB95355AFB7C50DF140C60513D0BA51D637272E355E397779\e \& E7B2458F \& \& coeff=INTEGER:0x30B9E4F2AFA5AC679F920FC83F1F2DF1BAF1779CF989447FABC2F5\e \& 628657053A .Ve .PP هذا المثال هو المفتاح العام المقابل في هيكل SubjectPublicKeyInfo: .PP .Vb 2 \& # ابدأ بـ SEQUENCE \& asn1=SEQUENCE:pubkeyinfo \& \& # يحتوي pubkeyinfo على معرف خوارزمية والمفتاح العام المُغلف \& # في BIT STRING \& [pubkeyinfo] \& algorithm=SEQUENCE:rsa_alg \& pubkey=BITWRAP,SEQUENCE:rsapubkey \& \& # معرف الخوارزمية لـ RSA هو مجرد OID و NULL \& [rsa_alg] \& algorithm=OID:rsaEncryption \& parameter=NULL \& \& # المفتاح العام الفعلي: المقياس والأس \& [rsapubkey] \& n=INTEGER:0xBB6FE79432CC6EA2D8F970675A5A87BFBE1AFF0BE63E879F2AFFB93644\e \& D4D2C6D000430DEC66ABF47829E74B8C5108623A1C0EE8BE217B3AD8D36D5EB4FCA1D9 \& \& e=INTEGER:0x010001 .Ve .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBERR_get_error\fP\|(3) .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2002\-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 .