javax.net.le protocole ssl.SSLHandshakeException sur le CAS des Services


Histoire courte, mon patron veut utiliser une connexion unique pour de nombreuses applications que nous avons faites et j'essaie CAS pour ce besoin.

J'essaie d'installer CAS comme mon SSO. je génère un fichier jks à partir de keytool dans java bin. la connexion et la déconnexion fonctionnent bien jusqu'à ce que je veuille essayer d'ajouter des services.

https://localhost:8443/cas/services/j_acegi_cas_security_check?ticket=ST-2-Ts4EoUqKfeGOGGi1XbXq-cas01.example.org

Cette erreur sortira:

java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching localhost found
org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:341)
org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:305)
org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:50)
org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:207)

Donc je google et j'essaie cette chose mais j'ai toujours échoué:

Première chose que j'exécute cette commande et son succès:

keytool -genkey -alias localhost -keyalg RSA -keystore C:\Users\User\Documents\keystore.jks -keysize 2048
keytool -certreq -alias localhost -keystore C:\Users\User\Documents\keystore.jks -file C:\Users\User\Documents\localhost.csr

Importer le fichier jks vers java

keytool -import -trustcacerts -alias localhost -keystore "C:/Program Files/Java/jdk1.7.0/bin/jre/lib/security/cacerts" -file "D:\apache tomcat 6\bin\keystore.jks"

Mais une erreur sort:

keytool error: java.lang.Exception: Input not an X.509 certificate

Essayez également de générer un fichier x509

openssl x509 -in "C:\Users\User\Documents\localhost.csr" -out "C:\Users\User\Documents\localhost.der" -outform DER

Mais cette erreur sort:

unable to load certificate
24516:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_li
b.c:696:Expecting: TRUSTED CERTIFICATE

Veuillez conseiller si une solution que je peux essayer?

PS : utilisation de tomcat 6 sur Windows 8 64 bits. (c'est pourquoi j'utilise toujours mon dossier de document, car cela ne fonctionne pas si j'utilise ailleurs)

Author: Daniel Robertus, 2013-03-07

2 answers

Salut, je résous ce moi-même enfin...

Peut-être que quelqu'un d'autre en a besoin..

  1. j'exécute l'application avec https avec le fichier jks que j'exporte.
  2. afficher les certificats avec le navigateur.
  3. Exportez-le et enregistrez-le dans .fichier cer
  4. importez-le avec java keytool.

C'est la commande :

keytool -import -trustcacerts -alias localhost -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -file "D:/apache tomcat 6/bin/daniel2.cer"
 6
Author: Daniel Robertus, 2013-03-08 03:06:18

J'ai eu le même problème et je l'ai résolu en fonction de vos pas mais avec un pas de plus. Après la commande

keytool -genkey -alias localhost -keyalg RSA -keystore C:\Users\User\Documents\keystore.jks -keysize 2048

Il demande votre nom et prénom. Le prénom et le nom de famille doivent être le nom d'hôte de votre serveur et ne peuvent pas être une adresse IP. J'ai entré mon vrai prénom un nom de famille et c'était incorrect.

 2
Author: Mikhail Panteleev, 2013-10-26 14:23:51