English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La funzione openssl_pkey_get_private() viene utilizzata per ottenere la chiave privata.
openssl_pkey_get_private()La funzione restituirà la tua chiave privata.
La funzione openssl_pkey_get_private() restituisce la chiave privata dal pubblica/privata fornita. Ad esempio, il contenuto del file .pem.
openssl_pkey_get_private ( mixed $key[, string $passphrase = "" ] ) : resource
Numero | Parametro | Descrizione |
---|---|---|
1 | chiave | Puoi ottenere la chiave dal file .pem o utilizzare la chiave privata generata da openssl_pkey_new(). |
2 | passphrase | Se la chiave specificata è crittografata (proteggiata da una password), è necessaria l'opzionale passphrase |
Se non ci sono errori, la funzione PHP openssl_pkey_get_private() restituirà un identificatore di risorsa. Se la generazione della chiave fallisce, restituirà false.
Questa funzione funzionerà a partire dalla versione PHP superiore a 5.0.0.
Funzionamento di openssl_pkey_get_private():
<?php //Generare una nuova coppia di chiavi private (e pubblica) $privkey = openssl_pkey_new(); openssl_pkey_export($privkey, $yourprivatekey); $testprivatekey = openssl_pkey_get_private($yourprivatekey); if ($testprivatekey === false) { var_dump(openssl_error_string()); } else { var_dump($testprivatekey); } ?>
Questo produrrà il seguente risultato:
risorsa(3) di tipo (chiave OpenSSL)
openssl_pkey_get_private() e openssl_pkey_get_details() funzionano:
<?php $privkey = openssl_pkey_new(); openssl_pkey_export($privkey, $yourprivatekey); $testprivatekey = openssl_pkey_get_private($yourprivatekey); if ($testprivatekey === false) { var_dump(openssl_error_string()); } else { //var_dump($testprivatekey); $key_details = openssl_pkey_get_details($testprivatekey); print_r($key_details); } ?>
Questo produrrà il seguente risultato:
Array ( [bits] => 2048 [key] => -----INIZIO CHIAVE PUBBLICA----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnO1F0Gt03mgxLcDpRxlm VEh8sfIfan5o11EcoLaEwaTyKgMNm7A4Rs9LcG3fwkNjXo8XNRQv6OSrhl8y00AX +cPUb78Qp/K3INmyXr8UUVWy0BT+Rxq5kez1TmZhpITxUYLScEL8DPcghFyfstRa 5hP8hc0cwYM6N4ieOlXIxrdmbzTn92MeyiTstTvHxt8aGKbSdpmksWyNeqke22kM 9pBfEsf98XFh5HoQBQaQF6GXL5y00PWIdki7DTzYtXXPRGcQl/53M5HrGGdP0kGS uD4YOFXRWYtQR1ZYLa4Ej+BP0eOpfxXiME0aaH1/2iWqyi+bsvkdgFbu92j5ptsr yQIDAQAB -----FINELLA CHIAVE PUBBLICA----- [rsa] => Array ( [n] => ��E�kt�h1-��GfTH|��j~h�Q������* ��8F�Kpm��Cc^�5/�䫆_2�@���o��� ٲ^�QU���G����Nfa���Q��pB�� �\���Z������:7��:U�Ʒfo4��c�$�;�����v���l�z��i��_���qa�z���/�����vH� <صu�Dg��w3��gO�A��>8U�Y�PGVX-���O���0Mh}�%��/����V��h���+� [e] => [d] => MK��C|��Y5��5}Z�R0;�S�I�V������M��0�Lw�r�����R��|��C���d�W�}�#����v�[9iZI��1��&!���A�;8K�%}��`@ ����������}��n b�]K�L#�~Sg�' 81!��2R]������`�vl�&�Z�@-q���7u�#����.���d������]�*Z-�'�|�ܳ ?M j������Å [p] => �*&5IXM�U�$u�'����d,�$x��iR�1�ᙯ���A�Cxi`%�FR�5� ��!�a��C��֧t�^����f�$���V�+�ү��]v"�+=��I�w��RN��<�P�e�� 3-�"���^����|_�-�l��lD,���=�26�ۗXGg5�@}q��T.�j����A��#��m,>#YN}��,pk}g [dmp1] => �� �l5o�5L������ޅh)I�+��D�n�J!��ycP���1 =u>&��h-HT����K��j;�um �oO\�e��.���� X�%s���ڕ_�|Za3��z$�\n1�N1�u�j)����z� [dmq1] => ��n[������ǣ<��t��^��P���)�F@ni�� �gHꥴ(���@#s�!+$�D��]����{�ّ���I㯽l���[$���>i q|�$�Gء�I'R��^c "����e"k [iqmp] => ������� ��a6�W#�:��#bS?�Ó��S�r#�C�ױ87])4��Z���`����ݻ����w���.�a�y��@ �ѓ�p���s�XP.{�o9h�Bq��뵘�EU��n ���&S��tE� ) [type] => 0 )
La funzione openssl_pkey_get_private() con password funziona:
<?php $privkey = openssl_pkey_new(); openssl_pkey_export($privkey, $testkey, 'helloworld'); $testprivatekey = openssl_pkey_get_private($testkey, 'helloworld'); if ($testprivatekey === false) { var_dump(openssl_error_string()); } else { //var_dump($testprivatekey); $key_details = openssl_pkey_get_details($testprivatekey); print_r($key_details); } ?>
Questo produrrà il seguente risultato:
Array ( [bits] => 2048 [key] => -----INIZIO CHIAVE PUBBLICA----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAs4HV+NM9dQ1ssuxb9PhM 64Yn8RHgv7YKK33nZudmk6SCOr9yRo7immp+bkaA0Lt/9ONJP+UF5VCltpdNdHLb GDTo+TkK5NdTJDalON3L9EhB4cJeQaQQh59uJGf39Et0BJiYiINXsNdlc/pig1/Z XDRyhEtqQ6nZJkOIIWO0gpdj9xj2naq/wy6Oas4p3/A7EvN5nB22xfEVIptKUZzi YWV4Bs5y2OM3GRwVv+jLYKQ49S/ZKq7MpdCxcXC6YxyrlEIz4PL9cWRtybK3BINv JnCWrfWRhUtlAY/CvfXrq2PhXwHVcebsDOPob6A71TcZMirxFZVyqkC+4rGX+5be PwIDAQAB -----FINELLA CHIAVE PUBBLICA----- [rsa] => Array ( Non è possibile tradurre il testo perché contiene caratteri non riconosciuti o non supportati. Non è possibile tradurre il testo perché contiene caratteri non riconosciuti o non supportati. Non è possibile tradurre il testo perché contiene caratteri non riconosciuti o non supportati. Non è possibile tradurre il testo perché contiene caratteri non riconosciuti o non supportati. [e] => [d] => ��e���e�$% sဩQ��EUA�D��Bu��34$�v�#����P�\��uD��(�z�w+�z����aͲ5���X��������q�Pŵڡ��%O+3��]+o�3�FM�*�Z^L��k�/�Ty��/��;�)�sB�Np�5�@�x�,8�z2�#�SyM�o�Xċ.���;�����K��� ���ڊ��qsLLD ^���"j��*=Io{����7`a��{�l�ᛅ�B������#���\� [p] => ׳��à�tY�@���[N��n�p�Ƌ��f� ��?7/\���͡�y<ox�,�(損�i�w�X�P�5�@��s BD�C���⎓�| �*���JH��/��|`�����+�3��]��oc?�fI�Ze�`�C�>U��|�"��ڊ:U���^��L����g� �u|@z����F%6�X/� ��Ú��+�_�Yh:���59}�D�&כ��Gc [dmp1] => i�*/ �U�̯�6�� ���|�>3�HP�hN��.�G�������9���cxj*�!��0�ؼ��R��:�9E(�Z��$�&�&7>�9.Ih��E�z/�,�QR�"�'�;���^���xq [dmq1] => |�w��`���䛌��� ��3�����b�����AZ�t���.8���Q]��F�iI��2)�{<��G^ܵt��u�Mb��4I�YL�E�S�8a!�6��&Q�(�^��������É��� [iqmp] => \p5��N�� $WC�j�� �|�{>d�������Y f�����9�3�$rF(ON��>��� ����%��`(� &�op� �}=C+������b�˝�#�G"�0T.���G`t�܈��^���\7� ) [type] => 0 )
Gestione del file .pem per openssl_pkey_get_private():
<?php //Creare la chiave privata $privkey = openssl_pkey_new(); openssl_pkey_export_to_file($privkey, 'C:/xampp/htdocs/modules/openssl/fortesting.pem'); //Utilizzare il file .pem con la chiave privata. $testprivatekey = openssl_pkey_get_private(file_get_contents('C:/xampp/htdocs/modules/openssl/fortesting.pem')); if ($testprivatekey === false) { var_dump(openssl_error_string()); } else { //var_dump($testprivatekey); $key_details = openssl_pkey_get_details($testprivatekey); print_r($key_details); } ?>
Questo produrrà il seguente risultato:
Array ( [bits] => 2048 [key] => -----INIZIO CHIAVE PUBBLICA----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqaka1+sKh3D4HgIDzER6 vr/DI5u6h1QF6Xm1q/nOduTn0vlx4bLv+QEbcElXV1Bss4W7wOZRkMIOwj4xcT+e PGKaN95JUyxC/NQ13+F6K5yUk0ish36BVusrHt0wdZj28f63gHm824D0yDnn+aJr s+vSuMppErUD/i0QUFnO86ypHi/zeb+QBEif4a82RtfwRIVUtE/Sxy08ct+1ogA9 pdBd47elLmcekz/dtSUqpUjLj5SNojS7AJCZ5LNxnLOzN3ryCQXGaAn8KHQ284Xs jlYBjSjXFLY/1fLDYDpQGOApoBj2vK9Io8MxFU3uss79Ezb6LwKZG6CmzlbldBrJ YQIDAQAB -----FINELLA CHIAVE PUBBLICA----- [rsa] => Array ( Error in segment 20, unable to translate Error in segment 19, unable to translate Error in segment 18, unable to translate Error in segment 17, unable to translate Error in segment 16, unable to translate Error in segment 15, unable to translate Error in segment 14, unable to translate Error in segment 13, unable to translate Error in segment 12, unable to translate Error in segment 11, unable to translate Error in segment 10, unable to translate Error in segment 9, unable to translate Error in segment 8, unable to translate Error in segment 7, unable to translate Error in segment 6, unable to translate Error in segment 5, unable to translate )