SoapUI ne parvient pas à se connecter en HTTPS (SSLPeerUnverifiedException)
J'ai besoin de tester le service web est en cours de déploiement de la pré-publication de l'environnement qui est déployé sur HTTPS point de terminaison. Malheureusement SoapUI échoue avec SSLPeerUnverifiedException: peer not authenticated
exception. J'ai utilisé les deux versions 4.6.4 et très frais 5.0.
Env:
point de terminaison est https, certificat startcom, réseau utilise un proxy (mais même problème sans proxy avec l'autre réseau)
J'ai passé de nombreuses heures, peut-être un jour googler pour trouver une solution. Surtout, ce lien avait l'air prometteur: https://forum.soapui.org/viewtopic.php?f=13&t=20866
J'en ai extrait l'extrémité de certificat via firefox et de le laisser faire confiance. J'ai donc modifié cacerts
de soapui installation JVM:
..\SoapUI-4.6.4\jre\lib\security>keytool -import -alias HOSTNAME
-file endpoint.crt -keystore cacerts -storepass changeit
Redémarrez-le, puis retesté l'échec.
Puis j'ai pris approche différente et laissez SoapUI JVM faire confiance à tous les StartCom certificats.
keytool -import -trustcacerts -alias startcom.ca -file ca.crt -keystore cacerts
keytool -import -alias startcom.ca.sub -file sub.class1.server.ca.crt -keystore cacerts
Redémarrer et encore échoué. Quoi d'autre dois-je faire maintenant?
MODIFIER
2014-05-30 08:39:53,782 ERROR [errorlog] javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
at sun.security.ssl.SSLSessionImpl.getPeerCertificates(Unknown Source)
at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
at org.apache.http.conn.ssl.SSLSocketFactory.createLayeredSocket(SSLSocketFactory.java:446)
at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:499)
at com.eviware.soapui.impl.wsdl.support.http.SoapUISSLSocketFactory.createLayeredSocket(SoapUISSLSocketFactory.java:268)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.updateSecureConnection(DefaultClientConnectionOperator.java:200)
at org.apache.http.impl.conn.AbstractPoolEntry.layerProtocol(AbstractPoolEntry.java:277)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.layerProtocol(AbstractPooledConnAdapter.java:142)
at org.apache.http.impl.client.DefaultRequestDirector.establishRoute(DefaultRequestDirector.java:758)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:565)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport$Helper.execute(HttpClientSupport.java:238)
at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport.execute(HttpClientSupport.java:348)
at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.submitRequest(HttpClientRequestTransport.java:318)
at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:232)
at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:123)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
SSL debug:
adding as trusted cert:
Subject: CN=StartCom Certification Authority, OU=Secure Digital Certificate Signing, O=StartCom Ltd., C=IL
Issuer: CN=StartCom Certification Authority, OU=Secure Digital Certificate Signing, O=StartCom Ltd., C=IL
Algorithm: RSA; Serial number: 0x1
Valid from Sun Sep 17 21:46:36 CEST 2006 until Wed Sep 17 21:46:36 CEST 2036
Allow unsafe renegotiation: false
Allow legacy hello messages: true
Is initial handshake: true
Is secure renegotiation: false
Thread-20, WRITE: TLSv1 Handshake, length = 186
Thread-20, READ: TLSv1 Alert, length = 2
Thread-20, RECV TLSv1 ALERT: warning, unrecognized_name
SSL - handshake alert: unrecognized_name
Thread-20, handling exception: javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name
Thread-20, SEND TLSv1 ALERT: fatal, description = unexpected_message
Thread-20, WRITE: TLSv1 Alert, length = 2
Thread-20, called closeSocket()
Thread-20, IOException in getSession(): javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name
09:16:12,482 ERROR [WsdlSubmit] Exception in request: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
OriginalL'auteur Leos Literak | 2014-05-29
Vous devez vous connecter pour publier un commentaire.
Ok, le correctif de ce problème consiste à définir
dans
$SOAPUI_HOME/bin/soapui.bat
La raison est décrit dans cette réponse: https://stackoverflow.com/a/14884941/1639556
Digest:
Java 7 a introduit SNI de soutien qui est activé par défaut. J'ai trouvé que certains serveurs mal configurés envoyer un "non reconnus" Nom d'avertissement dans le handshake SSL qui est ignoré par la plupart des clients... sauf pour Java.
Mise à jour: pour SoapUI 5.2.1 j'ai dû modifier un fichier
SoapUI-5.2.1.vmoptions
en raison de la modificationbat
fichier n'a pas aidé.Merci. Votre mention de soapui.chauve-souris a été une clé. Je n'ai pas été au courant que je peut modifier les paramètres de la JVM.
J'ai le même problème et essayer de le réparer avec "%JAVA%" -Djsse.enableSNIExtension=false %JAVA_OPTS% com.eviware.soapui.SoapUI %* mais j'ai toujours l'exception. Est mon la modification de soapui.bat ok? - Je l'utiliser sur windows. Merci.
Cela n'a pas fonctionné pour moi avec SoapUI-5.1.3 sur Windows 10
OriginalL'auteur Leos Literak
Pour personne en utilisant un Mac à la recherche pour la même réponse (désolé, il ne me laisse pas de commentaires sur la réponse choisie comme je n'ai pas assez de points de réputation encore de Commentaire !!!).
L'édition soapui.sh n'aura aucun impact si le lancement de l'Application en cliquant sur l'icône dans le dossier Applications ou à l'aide de Spotlight.
/Applications/SoapUI-5.0.0.app/Contents
Modifier vmoptions.txt et ajoutez -Dcom.soleil.net.le protocole ssl.checkRevocation=false à la fin du fichier.. Sauver et relancer.
OriginalL'auteur bawinnicki
Je pense que vous êtes en train de faire les choses bien. Si vous chargez le certificat de serveur sur votre truststore la connexion doit œuvres, peut-être quelque chose se passe, comme par exemple une redirection. Si vous le souhaitez, vous pouvez essayer de désactiver le certificat de serveur SSL de validation. Si vous utilisez un SOAPUI version autonome de modifier le
$SOAPUI_HOME/bin/soapui.bat
ou$SOAPUI_HOME/bin/soapui.sh
et ajouter ce paramètre-Dcom.sun.net.ssl.checkRevocation=false
comme option java:soapui.chauve-souris
set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.net.ssl.checkRevocation=false
soapui.sh
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.net.ssl.checkRevocation=false"
Espère que cette aide,
Après avoir défini cette propriété, vous obtenez la même erreur? Pouvez-vous partager le complet stacktrace?
Attachée à la question
Cela n'a pas fonctionné pour moi avec SoapUI-5.1.3 sur Windows 10. La connexion est remis
c'est un vieux de la réponse pour un autre SoapUI, de l'OS et probablement la version java. Avec le commentaire plus de détails, il est difficile de voir ce qui se passe, pour votre cas. Envisager de poster une nouvelle question avec plus de détails soapui version, la version de java, de l'os et une trace de la pile, de cette façon il sera plus facile d'obtenir de l'aide 🙂
OriginalL'auteur albciff
Si vous utilisez un proxy, essayez d'ignorer les mêmes (via ProxySettings est SoapUI Préférences)
OriginalL'auteur NevinJ
Assurez-vous également que vous êtes pas en cours d'exécution Fiddler, qui va essayer d'agir comme un proxy, à toute demande faite par SoapUI. Si vous voulez le faire fonctionner avec un violon, vous devez ajouter le Violoneux certificat racine de votre Java magasin de confiance.
Voir aussi: SoapUI ne fonctionne pas avec un violon pour le REPOS de service de test
OriginalL'auteur franzjaeger
J'avais aussi message suivant:
Le problème que j'ai eu a passer par un serveur proxy. Connecté directement à Internet sans proxy.
J'ai essayé toutes ces solutions, et aucun travail.
J'ai même essayé d'ajouter l'autorité de certification de confiance des certificats dans une Java magasin de clés en vertu de WS-Security-Configurations -> Truststores et a été toujours obtenir le rror.
J'ai mis à SoapUI 5.2.1 et le problème est maintenant résolu.
Il pourrait être intéressant pour vous de l'essayer.
OriginalL'auteur StephaneD