English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يستخدم دالة openssl_pkey_export_to_file لتحويل المفتاح إلى ملف.
openssl_pkey_export_to_fileتقوم الدالة بتحويل المفتاح إلى ملف.
يحفظ دالة openssl_pkey_export_to_file المفتاح بالتنسيق PEM، حيث يمثل PEM Privacy-Enhanced Mail، ويستخدم لتحفظ المفاتيح المشفرة والشهادات.
openssl_pkey_export_to_file ( mixed $key , string $outfilename [, string $passphrase [, array $configargs ]] ) : bool
الترتيب | الإعداد | الوصف |
---|---|---|
1 | key | المفتاح الذي سيتم استخدامه لتصديره إلى ملف. |
2 | outfilename | مسار الملف المحدد لتخزين ملف .pem. |
3 | passphrase | الرقم السري الذي يمكن استخدامه لحماية الملف. |
4 | configargs | الوحدة configargs هي التفاصيل التي يجب تقديمها للوظيفة لإنشاء مفتاح خاص/عام، وفقًا لما يلي. |
بشكل افتراضي، يستخدم openssl_pkey_new() تفاصيل التكوين الموجودة في openssl.cnf. ولكن يمكن تغييرها باستخدام configargs. تفاصيل التكوين كما يلي:
configargs | النوع | المفتاح المستخدم في openssl.conf | الوصف |
---|---|---|---|
digest_alg | السلسلة | default_md | الطريقة السريعة التي تحصل عليها من openssl_get_md_methods(). |
x509_extensions | السلسلة | x509_extensions | الامتداد المستخدم لإنشاء التوقيع الرقمي x509. |
req_extensions | السلسلة | req_extensions | الامتداد المستخدم لإنشاء CSR. |
private_key_bits | عدد | default_bits | تحديد عدد الأرقام التي سيتم استخدامها لإنشاء المفتاح الخاص. |
private_key_type | عدد | لا شيء | نوع المفتاح الخاص الذي سيتم إنشاؤه. يمكن أن يكون ذلك OPENSSL_KEYTYPE_DSA، OPENSSL_KEYTYPE_DH، OPENSSL_KEYTYPE_RSA أو OPENSSL_KEYTYPE_EC من بينهم. القيمة الافتراضية هي OPENSSL_KEYTYPE_RSA. |
encrypt_key | قيمة منطقية | encrypt_key | هل تم تشفير المفتاح المستورد؟ |
encrypt_key_cipher | عدد | لا شيء | الرقم السري الثابت، مثل OPENSSL_CIPHER_RC2_40 (عدد)، OPENSSL_CIPHER_RC2_128 (عدد)، OPENSSL_CIPHER_RC2_64 (عدد)، OPENSSL_CIPHER_DES (عدد)، OPENSSL_CIPHER_3DES (عدد) وما إلى ذلك. |
اسم المنحنية | السلسلة | لا شيء | أحد أسماء المنحنيات التي يعودها دالة openssl_get_curve_names(). |
التكوين | السلسلة | غير متاح | يمكنك تغيير التكوين في openssl.conf حسب الحاجة، و تقديم مسارها هنا. |
إذاكانPHPopenssl_pkey_export_to_file()نجح،فسيأخذبالمكتبةبالمعادلةtrue،وإذالمنجحفسيأخذبالمكتبةبالمعادلةfalse.
هذاالدالةسوفتعملمنالبدايةبالبنياتالبرمجيةPHPإلىأعلىمن5.0.0.
عمليةopenssl_pkey_export_to_file()
؟php //إنشاء مفتاح خاص $privkey = openssl_pkey_new(); openssl_pkey_export_to_file($privkey, 'C:/xampp/htdocs/modules/openssl/keytest.pem'); ?>
تفاصيلإضافيةتمتثمثبتفيملفkeytest.pemكمايلي-
-----بداية المفتاحِِالخاص----- مئيئIEغIBADANبكغقيG9و0بAEفاسCBكغوAgEآوIBAQDaقNK97آ+mL9Xو إIDت3رز9يئفورLcدإفسDa9جسQByJVBdRتاNل6نfg91/لوفكو8زAeG8سرد292جسيك 9مگBهكپMCHv/قهWجA4إيدPLدوWHCbYفجF/LHموز022/فقتنQtFووس992/كلهZدو6 كبDلU/H2لمبنCوطرسقHلقيQ7بزBgC5و5سW0ت3A03PSqxQTIFبOHi1يكس1Il5جH/H11 6وكسدكوگAWسسهRpdوVدسCy6وJ3ركبر1پر7CDكHSS49مAvج4ه6كس+جي12لرتيچR زتييLILzإG7ا1ن0بPGAI1بQسيVHXNيپUكAYFn221گKRuB+9SQvC3VKبNXي8Oc7ن9 هإهأD8س3آغMBAAECggEBAKزEU68وغ7زلcvزكسجسسکNتد4كب5كس0رخلزPپرWكO131 تسسلم57إكسلوMcMه6P3رff5دقكن9هوVRك9للإيF1س/xلف7CSGزJ2+وئهHsBVgOاكس ئيودنونVsFG2تيرو3يYphقAwwدووBNFبلس8ق084WزA3وآج6سVgAi6مؤارإتني3Xفروإب يروي4ي1ي1SB92كس4ي85تZ/Pكوموماومف0دجKQئوهاز7ف7جلوJRفدشNENRبكدل65ن5 ج8هي7وكسMSاودپJ3زZJMمغNفك9نالنتSZفوسHGMز/ووغ8هV6+هزCوqrMكR15پزي1 هقفVسزيو1يووJvlجoxإينجJOقج2س6لبلسوببBR8دووQيكسإيCgYEA+8RKXcw0U3VU8زجO NTFzSDEtFYKZ5Bg4IPaYSTSo/ojiL3VrLeocRq3/2zdeCw8wx9eNZbcBW93lWVxK q2G0X4XgonorEEONBvL9aE/D7wBCMYPWDXd/KQVZW8CPwcy10g2oIi3SqbcTQ/gT fcmcHAQD2wVgo9XBlg24ESAP01MCgYEA3lYGasOvDweca5GCiP4m1oOH605haIUU f5CDWXbZ6QjcoUQQB0CoDtTl3QpBd3KGbd+PbqU8xb44+LhrVIsjUyZs6k+eLACe Dufzq00mIRSl/TZ0R3q17lAMmxId9QramDScpmqqqXonpOpdEoonThynhLyANgX3 eYGLXeqaII0CgYBPVi/JFwx2MEcwy+1xPcACQ9zdJmawRiGJ4atjhkCq1R/RrMK1 mUyHyVUTE4ODIKpSj05zexPmiyo22qp9DzDz2RBMowrm+SJ7yh6ovFoV+pLhX5YY cEuV9aWPEEM84vF42+zbuGzmJlbf2FDsFpgnC+zbG/q0Jiv2ySPz4ZKbGQKBgQDM ek9ih1+LshNAts1Xkm5DoSoy1Z4uUx48B7tVX0If2N+YjRE0qlklctWIiXMWGMTb bdzrBJq0vjKFRI6pbWFqio9mmxy8GUFEMjzekZB8ohHao+cjCg8iAorlXy8f+wB5 NQHQ547XWRn2yPgaIebuJtpF8Fr11Fz6aZK0KBvhzQKBgGRwuxq6IhIROupoDRpU RHuqICeQQYcf7Cfk7+ZyYJnA1fbOowj4Q5zvbWa6N2Ygyq2KIl0P5YL4Atb7aRKS e6ol8lIKZM9ysbS+wR0OhhTJs/9CqpgvDbYNQFiaVZtGRpSNCxHkhn0cAR7lzK4P ROQC7p9zXJhAmzE8/hTD9eaH -----انتهاء المفتاح الخاص-----
الحصول على المفتاح من ملف .pem-
؟php //إنشاء مفتاح خاص $privkey = openssl_pkey_new(); openssl_pkey_export_to_file($privkey, 'C:/xampp/htdocs/modules/openssl/keytest.pem'); //استخدام ملف .pem الذي يحتوي على المفتاح الخاص. $testprivatekey = openssl_get_privatekey(file_get_contents('C:/xampp/htdocs/modules/openssl/keytest.pem')); if ($testprivatekey === false) { var_dump(openssl_error_string()); } else { //var_dump($testprivatekey); $key_details = openssl_pkey_get_details($testprivatekey); print_r($key_details["key"]); } ?>
تفاصيل الحفظ في ملف test-csr1.pem كما يلي-
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnbGAblUCP6sZvbi2JM4G PcLmKK9flGQq6EE+yvMWrEUnIPGOLJUEB06dE8inIMQTYDmdmjn7HgUAlIDaViw+ aSv3XBZJqBTm7xtW4488oKuCzdBuJbnomtGttFWOk4cjb8kG+Kza6v0AB+P0eUru cPkwnJF4F1pGY1pszSMsL3/s7OcIzjiKUKu5vHJxUWO7baVovq+gv9+O24Pd0GhB t6RC/pgK/42YqZ2YW5V+JiuCFFkTVPusviunAOLLpDwoyPIROvXdML2TKopiowOd nmOkNRrW81duRF8Z4dcn7jnf2sKExpLBgAtcV05OufZIv3VeeTD0ISbCJhn0zmx/ SQIDAQAB -----END PUBLIC KEY-----