Pagina 1 di 1

[apache - ssl] verifica del certificato client

Inviato: sab 17 mar 2007, 8:34
da nik600
Ciao

sto cercando di impostare su un virtual hosts di apache la verifica del certificato lato client.

La configurazione sembra funzionare ma nn mi viene riconosciuto il certificato che mi sono installato sul browser

(sia il certificato del server, che quello della CA, che quello del browser meli sono creati io con openssl e li ho firmati con quello della CA)

configurazione:

Codice: Seleziona tutto


<VirtualHost testing:443>
SSLEngine on

ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /home/universita/testing
ServerName testing:443
ErrorLog testing-error_log
CustomLog logs/ssl_request_log "%t %h %{SSL_CLIENT_VERIFY}x %{SSL_CIPHER}x %r %b"


SSLCertificateFile /home/universita/testing/certificati/certificati/certificato.crt	
SSLCertificateKeyFile /home/universita/testing/certificati/chiavi/certificato.key

SSLCACertificateFile /home/universita/testing/certificati/certificati/certificato.crt

SSLVerifyClient optional
SSLVerifyDepth  10

</VirtualHost>

nei log vedo:

Codice: Seleziona tutto


root@criminal:/home/nik600$ tail -f /usr/local/apache2/logs/ssl_request_log 
[12/Mar/2007:16:58:13 +0100] 127.0.0.1 NONE DHE-RSA-AES256-SHA GET /protected/prova.php HTTP/1.1 1739
[12/Mar/2007:16:58:15 +0100] 127.0.0.1 NONE DHE-RSA-AES256-SHA GET /protected/prova.php HTTP/1.1 1739
[12/Mar/2007:17:03:10 +0100] 127.0.0.1 NONE DHE-RSA-AES256-SHA GET / HTTP/1.1 319
[12/Mar/2007:17:03:12 +0100] 127.0.0.1 NONE DHE-RSA-AES256-SHA GET /protected/ HTTP/1.1 312
[12/Mar/2007:17:03:25 +0100] 127.0.0.1 NONE DHE-RSA-AES256-SHA GET /protected/prova.php HTTP/1.1 1739
[12/Mar/2007:17:03:25 +0100] 127.0.0.1 NONE DHE-RSA-AES256-SHA GET /protected/prova.php HTTP/1.1 1739
[13/Mar/2007:14:43:01 +0100] 127.0.0.1 NONE DHE-RSA-AES256-SHA GET / HTTP/1.1 319
[13/Mar/2007:14:43:01 +0100] 127.0.0.1 NONE DHE-RSA-AES256-SHA GET /favicon.ico HTTP/1.1 209
[13/Mar/2007:14:43:01 +0100] 127.0.0.1 NONE DHE-RSA-AES256-SHA GET /protected/ HTTP/1.1 312
[13/Mar/2007:14:43:03 +0100] 127.0.0.1 NONE DHE-RSA-AES256-SHA GET /protected/prova.php HTTP/1.1 1701


come vedete l'autentificazione del client risulta essere NONE, mentre sul browser il certificato รจ stato importato correttamente.

idee?

Inviato: sab 17 mar 2007, 10:45
da nik600
ho seguito con calma la procedura spiegata qui

http://httpd.apache.org/docs/2.0/ssl/ss ... rtificates

e ho risolto

vi posto un mini- riassunto di quello che bisogna fare:

Chiave e certificato della CA

Codice: Seleziona tutto

nik600@criminal:/home/win/universita/tesi/certificati$ openssl genrsa -des3 -out CA.key 1024
nik600@criminal:/home/win/universita/tesi/certificati$ openssl req -new -x509 -nodes -sha1 -days 365 -key CA.key -out CA.crt
Chiave e certificato del server web

Codice: Seleziona tutto

nik600@criminal:/home/win/universita/tesi/certificati$ openssl genrsa -des3 -out server.key 1024
nik600@criminal:/home/win/universita/tesi/certificati$ openssl req -new -key server.key -out server.csr
Chiave e certificato del client

Codice: Seleziona tutto

nik600@criminal:/home/win/universita/tesi/certificati$ openssl genrsa -des3 -out client.key 1024
nik600@criminal:/home/win/universita/tesi/certificati$ openssl req -new -key client.key -out client.csr
Firma dei certificati client e server con il certificato della CA
Nota: bisogna creare una directory demoCA in cui fare un file index.txt e un file serial che contiene il serial del certificato della CA

Codice: Seleziona tutto

nik600@criminal:/home/win/universita/tesi/certificati$ openssl ca -in server.csr -cert CA.crt -keyfile CA.key -out server.crt -outdir ./
nik600@criminal:/home/win/universita/tesi/certificati$ openssl ca -in client.csr -cert CA.crt -keyfile CA.key -out client.crt -outdir ./
Esportazione del certificato client nella forma pk12 per il browser

Codice: Seleziona tutto

pkcs12 -export -in client.crt -inkey client.key -certfile CA.crt -name "Certificato Client" -out certificatobrowser.p12
fine...

Inviato: sab 17 mar 2007, 16:51
da alessiodf
Utilissimo! grazie mille, proprio stamane stavo impazzento con sti certificati :)