Come installare: OpenSSL + WAMP

Qualcuno qui ha passaggi chiari e dettagliati su come ottenere SSL sul mio computer di sviluppo locale? Ho installato l’ultima versione di WAMP (2.2c) su c: \ wamp. Le istruzioni che trovo in rete sembrano essere obsolete nella maggior parte dei casi e mancano i dettagli che ho bisogno di fare le cose nel modo giusto.

Guida: Openssl in WampServer 2.5

Prerequisito : Normalmente non è necessario installare openssl (viene fornito in bundle con Wamp). Apache 2.4.9 include 1.0.1g per esempio.

Variabile di sistema :

  • Aprire il pannello Sistema di Windows (“WIN + Q” Cerca: sistema)> Impostazioni di sistema avanzate> Avanzate> Variabili di ambiente
  • Aggiungi una nuova voce nelle variabili di sistema con nome OPENSSL_CONF e il suo valore è il percorso di openssl.cnf (di solito qualcosa come C: \ wamp \ bin \ apache \ apache2.4.9 \ conf \ opensl.cnf)

struttura della cartella openssl :

  • In C: \ wamp \ bin \ apache \ apache #. #. # \ Conf crea la seguente struttura di cartelle:

     ..
     demoCA
     | ----- certs
     | ----- CRL
     | ----- newcerts
     | ----- privato
    

Configurazione di openssl.cnf :

  • Ho seguito il consiglio di Neil C. Obremski e ho cancellato le seguenti impostazioni predefinite:
    • countryName_default (era “AU”)
    • stateOrProvinceName_default (era “Some-State”)
    • 0.organizationName_default (era “Internet Widgits Pty Ltd”)
    • organizationalUnitName_default (era già vuoto)

Creazione del certificato :

  • Dalla riga di comando vai a C: \ wamp \ bin \ apache \ apache #. #. # \ Bin \ e chiama “openssl req -new -out cacert.csr -keyout cacert.pem”. Se richiesto inserisci una password e successivamente le informazioni sul DN come sotto.

     Caricamento 'schermo' in stato casuale - fatto
     Generazione di una chiave privata RSA a 1024 bit
     ....................... ++++++
     .... ++++++
     scrivere una nuova chiave privata per "cacert.pem"
     Inserisci la passphrase PEM: my_secret_pass
     Verifica: immettere la passphrase PEM: my_secret_pass
     `-----
     Stai per essere invitato a inserire le informazioni che verranno incorporate
     nella tua richiesta di certificato.
     Quello che stai per entrare è quello che viene chiamato un Distinguished Name o un DN.
     Ci sono parecchi campi ma puoi lasciare un po 'di spazio
     Per alcuni campi ci sarà un valore predefinito,
     Se inserisci ".", Il campo verrà lasciato vuoto.
     `-----
     Nome del paese (codice a 2 lettere) []:
     Nome dello stato o della provincia (nome completo) []:
     Nome della località (es. Città) []:
     Nome dell'organizzazione (es. Azienda) []:
     Nome dell'unità organizzativa (ad esempio, sezione) []:
     Nome comune (ad es. Nome FQDN del server o TUO nome) []: locale
     Indirizzo email []:
    
     Si prega di inserire i seguenti attributi 'extra'
     da inviare con la richiesta del certificato
     Una password di sfida []:
     Un nome di società facoltativo []:
    
     C: \ wamp \ bin \ apache \ apache2.4.9 \ bin>
    
  • Nella stessa finestra della console ora utilizzare “openssl rsa -in cacert.pem -out cacert.key” e, se richiesto, inserire la password inserita in precedenza.

     Inserisci la pass phrase per cacert.pem: my_secret_pass
     scrivere la chiave RSA
    
  • Rimuovere il file “.rnd” in C: \ wamp \ bin \ apache \ apache2.4.9 \ bin

  • Sempre nella stessa finestra, chiama “openssl x509 -in cacert.csr -out cacert.cert -req -signkey cacert.key -days 365”. Se si verifica il seguente errore “imansible scrivere ‘stato casuale'”. Questo è un bug noto ! Per risolvere questo problema, “imposta RANDFILE = .rnd” e riprova il comando precedente.

Complimenti ora sei il proprietario di un certificato autofirmato!

Ho inserito i file compilati (sono attualmente nella cartella bin) secondo questo sito :

  • cacert.pem, cacert.key in C: \ wamp \ bin \ apache \ apache #. #. # \ conf \ demoCA \ private
  • cacert.cert, cacert.csr in C: \ wamp \ bin \ apache \ apache #. #. # \ conf \ demoCA \ certs

In httpd.conf abilita SLL (cerca “#Include conf / extra / httpd-ssl.conf”) + altera le seguenti voci in httpd-ssl.conf:

SSLSessionCache "shmcb:C:/wamp/logs/ssl_scache(512000)" DocumentRoot "C:/wamp/www" #ErrorLog #TransferLog SSLCertificateFile "C:/wamp/bin/apache/apache2.4.9/conf/demoCA/certs/cacert.cert" SSLCertificateKeyFile "C:/wamp/bin/apache/apache2.4.9/conf/demoCA/private/cacert.key" CustomLog "C:/wamp/logs/ssl_request.log" \ 

Ora prova la tua installazione di Apache chiamando httpd -t. Se viene visualizzato il seguente errore “SSLSessionCache: cache di sessione” shmcb “non supportata (nomi noti:). Forse è necessario caricare il modulo socache appropriato (mod_socache_shmcb?).” abilitare la seguente voce “LoadModule socache_shmcb_module modules / mod_socache_shmcb.so” in httpd.conf

Wamp ora è configurato con supporto https 🙂

Ho anche abilitato “LoadModule status_module modules / mod_status.so” usando la seguente configurazione in httpd.conf:

  ExtendedStatus On  SetHandler server-status   

Puoi controllare ora lo stato del tuo server qui

 https://localhost/server-status/ 

Apache / 2.4.9 (Win64) OpenSSL / 1.0.1g PHP / 5.5.12 Server sulla porta locale 443

Note :

  • Ho fatto questo tute mentre cercavo di farlo funzionare sulla mia macchina (questo era il mio primo tentativo di usare OpenSSL su windows / wamp).
  • Questa guida non è pensata per i sistemi di produzione!
  • Potrebbe essere necessario modificare alcune cose come i nomi a seconda di openssl.cnf
  • La mia intenzione non era quella di realizzare il miglior tutorial in giro, ma semplicemente di annotare tutte le modifiche richieste per ottenere il funzionamento di SSL in WAMP.
  • Assicurati di impostare l’importo dei giusti giorni per il tuo certificato x509
  • Finalmente so perché la NSA può facilmente entrare nei server con un processo così complesso: D
  • Poiché Wamp raggruppa apache insieme a OpenSSL, potrebbe essere meglio installarlo separatamente ??

Ho installato WAMP 2.2E.

Mi sono imbattuto nello stesso problema, e dopo circa un’ora di ricerche su Internet e tentativi di ogni genere di cose, sono inciampato nel scoprire che openssl può essere triggersto da:

  • Cliccando sull’icona WAMP nella barra delle applicazioni,
  • Passando su “PHP” ,
  • Quindi “estensioni PHP” ,
  • Quindi cerca con attenzione “php_openssl” nella lunga lista di estensioni.

Dopo aver seguito le eccellenti istruzioni di KAGRAN22, mi sono imbattuto in 2 errori:

 AH00526: Syntax error on line 48 of C:/wamp64/bin/apache/apache2.4.9/conf/extra/httpd-ssl.conf: Invalid command 'SSLCipherSuite', perhaps misspelled or defined by a module not included in the server configuration 

Questo errore viene risolto decommentando questa riga

 LoadModule ssl_module modules/mod_ssl.so 

in httpd.conf.

Successivamente ho ottenuto questo:

 AH00526: Syntax error on line 74 of C:/wamp64/bin/apache/apache2.4.9/conf/extra/httpd-ssl.conf: SSLSessionCache: 'shmcb' session cache not supported (known names: ). Maybe you need to load the appropriate socache module (mod_socache_shmcb?). 

Che viene risolto decommentando questa riga

 LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 

in httpd.conf.

Dovrebbe funzionare tutto dopo.

Fatti: non è ansible configurare SSL su WampServer Versione 2.4 almeno non in un ragionevole lasso di tempo. La persona normale non dovrebbe essere interessata a occuparsi di questo, perché questo non è un modo pratico o normale di fare le cose. SSL su Wamp è una macchina SM basicalmente quindi se hai alcune esigenze masochistiche, procedi con questo.