Bonjour,
je suis en train d'avoir des maux de tête avec une authentification cliente sur un serveur Glassfish v.3
Voici ce que j'ai fait :
- J'ai générer une CA et un certificat client (donc signé par la CA).
- Import du certif client dans firefox
- Configuration de Glassfish pour demander l'authentification cliente
- Import de la CA dans le ficheir cacert.jks de glassfish avec la commande suivante :
Ce qui se passe :Import New CA into Trusted Certs
keytool -import -trustcacerts -file /path/to/ca/ca.pem -alias CA_ALIAS -keystore $JAVA_HOME/jre/lib/security/cacerts
- L'échange ssl se passe bien, le serveur demande au client son certificat, celui-ci l'envoie. Mais le serveur ferme directement la connexion (reset tcp).
Ce que j'ai observé :
- Si je place le certificat client dans le jks et non celui de la CA cela fonctionne.
J'ai contrôlé :
Le certificat est bien dans le .jks avec la commande :
keytool -list -v -keystore cacert.jksTester que le certificat est bien signé par la CA :Nom d'alias : rootrainbowca
Date de création : 19 sept. 2013
Type d'entrée*: trustedCertEntry
Propriétaire : CN=RootRainbowCA, O=test, L=Swiss, ST=Swiss, C=CH
Emetteur : CN=RootRainbowCA, O=test, L=Swiss, ST=Swiss, C=CH
Numéro de série : ee32855de951fd43
Valide du : Thu Sep 19 08:52:01 CEST 2013 au : Sun Sep 17 08:52:01 CEST 2023
Empreintes du certificat :
MD5: CE:9B:38:2D:FA:28:B7:24:B6D:B6:A4:90:65:36:75
SHA1 : E9:16:2C5:59:8C:35:4C
4:85:46:5F:C4:C4:36:8D:A2:04
3:15
SHA256 : 4D:688:81:10:68:B9:1D:74:CD:31:0B:3B:F1:4D:0F:BE:28:C5:34:E3:28:12:0F:7C:BF:AB:8F:75
5:85:09
Nom de l'algorithme de signature : SHA1withRSA
Version : 1
-> OKopenssl verify -CAfile rootrainbow.crt rainbox6.crt
J'ai aussi remarqué que lorsque j'ouvre le keystore avec un keytool UI j'ai 3 colonnes :
- valid date
- self-signed
- trusted C.A
Et que le trusted C.A. n'est pas coché pour ma CA. Je pense que le soucis viens de la.. mais aucune option pour la cocher et en ligne de commande il me semble que j'utilise la bonne commande
[EDIT]
J'ai ajouté ma CA dans java/jdk/security/lib/cacert et maintenant il est bien coché.
J'ai finalement ajouter ma ca un peu partout :
- Centre de certificat windows
- /java/jdk/jre/lib/security/cacert
- /java/jre/lib/security/cacert
[/EDIT]
Merci de votre aide
Partager