English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La funzione openssl_pkey_export_to_file() viene utilizzata per esportare la chiave in un file.
openssl_pkey_export_to_file()La funzione esporta la chiave in un file.
La funzione openssl_pkey_export_to_file() salva la chiave in formato PEM, che rappresenta Privacy-Enhanced Mail, e viene utilizzata principalmente per memorizzare chiavi di crittografia e certificati.
openssl_pkey_export_to_file ( mixed $key , string $outfilename [, string $passphrase [, array $configargs ] ] ) : bool
Numero di sequenza | Parametro | Descrizione |
---|---|---|
1 | key | La chiave da esportare nel file. |
2 | outfilename | Il percorso di salvataggio del file .pem è outfilename. |
3 | passphrase | Password utilizzata per proteggere il file. |
4 | configargs | I parametri configargs sono i dettagli di configurazione da fornire alla funzione per generare la coppia di chiavi privata/pubblica. I dettagli sono descritti di seguito. |
Di default, openssl_pkey_new() utilizza i dettagli di configurazione esistenti in openssl.cnf. Ma con configargs è possibile sovrascriverli. I dettagli di configurazione sono i seguenti:
configargs | Tipo | Chiave utilizzata in openssl.conf | Descrizione |
---|---|---|---|
digest_alg | Stringa | default_md | Il metodo di摘要 ottenuto da openssl_get_md_methods(). |
x509_extensions | Stringa | x509_extensions | Estensione utilizzata per creare il certificato x509. |
req_extensions | Stringa | req_extensions | Estensione utilizzata per creare il CSR. |
private_key_bits | Intero | default_bits | Specificare il numero di bit da utilizzare per generare la chiave privata. |
private_key_type | Intero | nessuno | Il tipo di chiave privata da creare. Può essere uno di questi: OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH, OPENSSL_KEYTYPE_RSA o OPENSSL_KEYTYPE_EC. Il valore predefinito è OPENSSL_KEYTYPE_RSA. |
encrypt_key | Valore booleano | encrypt_key | È il chiave esportata crittografata? |
encrypt_key_cipher | Intero | nessuno | Costanti di crittografia, ad esempio OPENSSL_CIPHER_RC2_40 (intero), OPENSSL_CIPHER_RC2_128 (intero), OPENSSL_CIPHER_RC2_64 (intero), OPENSSL_CIPHER_DES (intero), OPENSSL_CIPHER_3DES (intero) e così via. |
curve_name | Stringa | nessuno | Uno dei nomi di curva restituiti dalla funzione openssl_get_curve_names(). |
config | Stringa | N/A | Puoi modificare le configurazioni nel file openssl.conf secondo necessità e fornire il percorso qui. |
La funzione openssl_pkey_export_to_file() di PHP restituisce true se ha successo, altrimenti restituisce false.
Questa funzione funzionerà a partire dalla versione PHP maggiore di 5.0.0.
Lavoro di openssl_pkey_export_to_file()-
<?php //Creare una chiave privata $privkey = openssl_pkey_new(); openssl_pkey_export_to_file($privkey, 'C:/xampp/htdocs/modules/openssl/keytest.pem'); ?>
Dettagli memorizzati nel file keytest.pem come segue-
-----INIZIO CHIAVE PRIVATA----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDaqNK97A+mL9Xu IDt3rz9yfFUvrLcDEvsDa9JsjQByJVbdRtaNl6nfg91/LfKO8zAeG8srd292jcYk 9MgBhkpMCHvF/QhWjA4IdPLdWHCbYfjF/LHmo/z022/FqTnjQtFws992/ClhZdo6 kpDlU/H2lmbnCwrsqHlqcQ7bzBgC5U5SW0t3A03PSqxQTIFPOHi1Yx1Il5jH/H11 6UXDKogAWsseRpdwVdsCy6Wj3rkybr1pr7CDkHSS49MAvJ4e6xhs+je12lrtyChR ZTIYLICzEG7a1n0BPGAI1bQcivHXNipUkAYFn221gKRuB+9SQvC3VKbNXy8Oc7N9 HEahD8S3AgMBAAECggEBAKzEU68og7zlcvzxjsskNtd4kb5Xk0rkhlzPprWKO131 TssLm57IxLoMcMh6P3rff5dqkn9HoVRk9LhiiF1cA/xLf7CSGzJ2+ueHsBVgOaks IeodnVsFG2tEru3YphqAwwdvuBNFblS8q084WzA3waj6cVgAi6MuArEtn3XfruEp Yryc4Y1I1SB92x4y85tZ/PcomumPH0djKQeuhzy7f7GloJRfdshNENRbkdLc65N5 j8hy7WxMSa0dpJ3ZJMmgNfek9nALntSZfOsHGMZ/Wog8eV6+HzCwqqrMkR15pZI1 HqvVszU1iwoUJvlGoxInJOqJ2c6lBSBOBBR8DuuQixECgYEA+8RKXcw0U3VU8zJO 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 -----FINE CHIAVE PRIVATA-----
Ottenere la chiave dal file .pem-
<?php //Creare una chiave privata $privkey = openssl_pkey_new(); openssl_pkey_export_to_file($privkey, 'C:/xampp/htdocs/modules/openssl/keytest.pem'); //Utilizzare il file .pem con la chiave privata. $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"]); } ?>
Dettagli conservati nel file test-csr1.pem come segue-
-----INIZIO CHIAVE PUBBLICA----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnbGAblUCP6sZvbi2JM4G PcLmKK9flGQq6EE+yvMWrEUnIPGOLJUEB06dE8inIMQTYDmdmjn7HgUAlIDaViw+ aSv3XBZJqBTm7xtW4488oKuCzdBuJbnomtGttFWOk4cjb8kG+Kza6v0AB+P0eUru cPkwnJF4F1pGY1pszSMsL3/s7OcIzjiKUKu5vHJxUWO7baVovq+gv9+O24Pd0GhB t6RC/pgK/42YqZ2YW5V+JiuCFFkTVPusviunAOLLpDwoyPIROvXdML2TKopiowOd nmOkNRrW81duRF8Z4dcn7jnf2sKExpLBgAtcV05OufZIv3VeeTD0ISbCJhn0zmx/ SQIDAQAB -----FINE CHIAVE PUBBLICA-----