Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [apache - ssl] verifica del certificato client

    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:
    <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:
    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?
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  2. #2
    ho seguito con calma la procedura spiegata qui

    http://httpd.apache.org/docs/2.0/ssl...l#certificates

    e ho risolto

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

    Chiave e certificato della CA
    codice:
    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:
    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:
    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 cartella demoCA in cui fare un file index.txt e un file serial che contiene il serial del certificato della CA
    codice:
    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:
    pkcs12 -export -in client.crt -inkey client.key -certfile CA.crt -name "Certificato Client" -out certificatobrowser.p12
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  3. #3
    Utente di HTML.it L'avatar di mark2x
    Registrato dal
    Nov 2005
    Messaggi
    1,940
    Questo 3d va dritto nei miei bookmark

    Posso chiederti come mai utilizzi i certificati per l'autenticazione client anzichè il solto sistema usr+pwd ?
    Intendo, è super-corretto, ma c'è qualcosa che ti fa propendere per questa soluzione assolutamente "fuori dagli schemi dei normali programmi Web" ?

    [.:: JaguarXF ::.]
    __________________

  4. #4
    sto lavorando ad un progetto di tesi che prevede diversi livelli ai autentificazione.

    In particolare voglio certificare un link SSL tra due entità che non necessariamente sono server -> client ma possono anche essere server -> server.

    In soldoni, un web-services che verifica i vari server con cui parla, certificandone la connessione.

    Il livello di sicurezza ulteriore prevede che anche i singoli client siano muniti di certificato.

    Ho intenzione di modificare alcune classi http sviluppate in php, quando finisco se ti interessano probabilmente le metto su phpclasses ;-)

    se ti interessa altro, domanda pure!

    PS, se ti interessa con mod_rewrite poi puoi decidere cosa fare nel caso in cui il certificato non sia valido:

    codice:
    RewriteEngine on
    
    RewriteCond  %{SSL:SSL_CLIENT_VERIFY}  SUCCESS
    RewriteCond  %{SSL:SSL_CLIENT_I_DN_OU}  ciccio
    RewriteCond  %{SSL:SSL_CLIENT_I_DN_O}  organizzazione
    RewriteRule  .* ok.php [L]
    
    RewriteRule  .* errore.php [L]
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.