Xampp, tra le sue varie estensioni, ne ha una che permette la gestione delle funzioni openSSL.
Per attivarla dovrebbe bastare la rimozione del punto e virgola davanti alla stringa “extension=php_openssl.dll” nel file php.ini. Ma questo non è sufficiente.
Prendiamo in considerazione questo codice:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php $key = <<<EOF -----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDXX/MsKEBLcLeKA1d/i7ufG1qs qS97xFkIRSeX3TwmHic843AfVrzoh2pZUeOvK9ZLZQpHSM7DoHMYDGD1273+FvZX Ypf5LiFtecfxko/Cku16zy6WAeCYVFjjlveBhwPmPCIk+qDRYeiIW05QE2XK+CuD nJ7sxxXIJSSgD3Jo5wIDAQAB -----END PUBLIC KEY----- EOF; print $key; $res = openssl_pkey_get_public($key); var_dump(openssl_pkey_get_details($res)); $text = "stringa da codificare"; openssl_public_encrypt($text,$crypttext,$res); ?> |
Limitandoci alla sola attivazione del modulo openssl avremmo un errore del tipo “Don’t Know How To Get Public Key From This Private Key” all’atto dell’esecuzione della openssl_public_encrypt() anche se il dump della openssl_pkey_get_details fornisce dati validi.
Per ovviare a questo problema è necessario eseguire questi semplici step:
xampp\php
sono prosenti due DLL: libeay32.dll e ssleay32.dll. Copiateli in xampp\apache\bin. Se sono già presenti, rinominateli prima di eseguire la copia dalla directory xampp\php
xampp\php\php.ini
rimuovete il punto e virgola anteposto alla stringa extension=php_openssl.dll
Buona crittazione a tutti.
This Post Has 0 Comments