Salut,
J'avance a petit pas, mais me revoila un peu dans le gaz.
En utilisant le fichier .keystore créer, il me semble arrivé a faire communiquer le server et le client en mode SSL.
keytool -genkey -alias tomcat -keyalg RSA
Avec pour mot de passe : motdepasse
Puis je le deplace a la racine du disque C.
Maintenant je voudrais que le client s'authentifie au serveur. Pour cela j'ai cru comprendre qu'il fallait qu'il y ai un certificat dans le navigateur client, et cela est du type PKCS12.
J'ai créér via, HTTP Server d'IBM, un nouveau fichier .p12. Que j'ai mis dans le navigateur web du client, et sur le serveur en modifiant le fichier server.xml
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="true" sslProtocol="TLS"
keystoreFile="C:\.keystore"
keystorePass="motdepasse"
truststoreFile="C:\key.p12"
truststorePass="motdepasse"
truststoreType="PKCS12"
/>
Seulement il me met comme message d'erreur , comme quoi mon certificat a ete rejeté par localhost ( le serveur).
Et dans les logs :
java.net.SocketException: SSL handshake errorjavax.net.ssl.SSLException: No available certificate or key corresponds to the SSL cipher suites which are enabled.
J'ai vu dans le post précédent que le gars avait reussi a contourner le probleme en mettant un KeyAllias, mais je vois pas ce qu'il a voulu dire.
Mais bon, je patauge deja sur les notions, que faut il mettre sur le serveur, et dans le navigateur client pour qu'il y ai une authentification du client, les memes fichiers ? Si non, quels type de fichier , .cer, .crt, .p12, .jks ... ect.
J'ai beau chercher sur le web, cela reste encore un peu confus.
Merci a vous.
Partager