Newsgroup: it.comp.os.linux.sys
Titolo: Autenticazione dei client via SSL (Apache)

Ciao a tutti!
E' tutta la sera che tiro madonne contro questo problema che, invece,
dovrebbe essere banale...
Quello che vorrei fare e' autenticare dei client tramite un certificato
SSL al posto di usare login+password.
Mi son quindi creato la CA e un certificato per il client:
openssl genrsa -out ca.key 1024
openssl req -new -key ca.key -out ca.csr
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
openssl genrsa -out client.key 1024
openssl req -new -key client.key -out client.csr
openssl x509 -req -days 365 -CA ca.crt -CAkey ca.key -CAcreateserial -in
client.csr -out client.crt
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out
client.p12
Ho quindi creato il mio .htaccess:
SSLVerifyClient require
SSLVerifyDepth 2
SSLOptions +StdEnvVars
SSLCACertificateFile /tmp/c/ca.crt
Ho quindi importato il certificato client.p12 in Firefox.
Pero' quando tento di caricare la pagina mi da' un errore -12195 e nel Log
di Apache trovo:
Re-negotiation handshake failed: Not accepted by client!?
Ma che sto facendo di sbagliato, per la miseria?!?
Grazie a tutti!
Luca Bertoncello
(
luca...@lucabert.de
)
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

mhm , non mi sono mai addentrato nella cosa e potrei dire una
cazzata , ma non è che essendo un selfsigned il client faccia le bizze
nel processo di autenticità e che l'importazione non sia completa .
hai importato oltre al certificato del client anche il certificato del
server per confermarne l'autenticità ?

Matteo "bdm" Cisilino ha scritto:


Beh, il certificato SSL del Server (per l'HTTPS) l'ho generato tempo fa e
poi confermato tramite CAcert.
Il Browser ha la CA di CAcert.
Per la parte client ho importato nel Browser la CA che ho generato alla
bisogna e il certificato client.
E' sbagliato?
Grazie


Il 14/07/11 21.53, Luca Bertoncello ha scritto:

SSL_ERROR_UNKNOWN_CA_ALERT -12195 "Peer does not recognize and trust the 
CA that issued your certificate."
A che ti fa pensare? a un "Not accepted by client!?"
Tu *NON* sei una subCA di CAcert quindi devi installare il tuo RootCA 
sui client.
Sistema di autenticazione penoso a prescindere, poi dovrai anche 
prevedere un sistema di revoca ovviamente e come lo integrerai in apache 
senza OCSP o altro?

 senza OCSP o altro?
Mmm... potresti farmi un esempio pratico di cosa dovrei fare?
E' venerdi, e' stata una settimana dura, ho il cervello in pappa e non ci
arrivo proprio...
Grazie


 arrivo proprio...
Trovi una guida qui
http://www.vanemery.com/Linux/Apache/apache-SSL.html
per quello che stai tentendo di fare ma sono certificati di "default" 
che non ti consentono di identificare l'utente ma semplicemente 
verifichi che il browser sia dotato di certificato per cui poi devi 
gestire anche un autenticazione username/password il ch� anzich� 
risolverti un problema ne crea due, la gestione della PKI e quella 
dell'autenticazione dell'utente.
Per risolvere il problema devi affidarti ad uno standard come la CNS 
come ti stavo spiegando su it.comp.www.php, questo perch� all'interno di 
quei certificati di autenticazione che non sono come quelli di default 
puoi leggere il codice fiscale dell'utente nella variabile 
$_SERVER['SSL_CLIENT_S_DN'] oltre a nome, cognome, email, ecc..
Il ch� rende immediata la gestione integrandola con un DB mySQL che pu� 
essere anche utilizzato in sostituzione dell'OCSP per la verifica delle 
CRL sul quale costruire anche un web services da utilizzarsi da altri 
server/domini

 server/domini
Ecco: di quello avrei bisogno di un esempio... :D
Ciao
