ColdFusion CFHTTP-I/O-Ausnahme: peer-nicht authentifiziert - auch nach dem hinzufügen to Keystore CERT
Derzeit arbeite ich mit einer Zahlung Prozessor. Ich kann surfen, um die payment-URL von unserem server, es ist also kein firewall-Problem, aber wenn ich versuche, mit CFHTTP ich bekomme einen I/O-Ausnahme: peer nicht authentifiziert. Ich habe heruntergeladen und installiert die neuesten Sicherheits-cert in keystore cacerts und neu gestartet, CF und bin noch immer der gleiche Fehler. Nicht nur habe ich installiert der Anbieter cert, aber auch die 2 anderen Verisign-Zertifizierungsstelle Zertifikate in der Zertifikatkette. Das cert ist eine der neueren Class 3 Extended Validation-Zertifikate.
Hat jemand über diesen vor und gefunden eine Lösung?
- Sehr spät Antwort hier, aber ich landete mit dem CFX_HTTP5 benutzerdefinierte Tags gefunden bei cftagstore.com/tags/cfxhttp5.cfm
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein Kollege von mir gefunden, nach dem das gleiche Problem Auftritt, wenn eine Verbindung zu einem 3rd-party.
http://www.coldfusionjedi.com/index.cfm/2011/1/12/Diagnosing-a-CFHTTP-issue--peer-not-authenticatedhttps://www.raymondcamden.com/2011/01/12/Diagnosing-a-CFHTTP-issue-peer-not-authenticated/
Verwendeten wir die Lösung in den Kommentar von Pete Freitag weiter unten auf der Seite. Es funktioniert, aber ich denke, dass sollte mit Vorsicht verwendet werden, da es sich um dynamisch das entfernen und hinzufügen zurück in einer bestimmten Eigenschaft der JsafeJCE Anbieter.
Gründen der Archivierung, hier ist der original-Inhalt von Pete Freitag ' s Kommentar:
Haben Sie es hinzufügen, um die richtige keystore? Denken Sie daran, dass ColdFusion verwendet es ist eigene Java-Instanz. Ich verbrachte mehrere Stunden auf dieser einmal, bevor die Erinnerung an diese Tatsache. Die, die Sie wollen, ist irgendwo wie /ColdFusion8/runtime/jre/lib/security/
bestimmte coldfusion 8 mit einem webserver mit modernen ssl Verschlüsselungen:
Ich mit coldfusion 8 auf JDK 1.6.45 und hatte Probleme, dass ich nur rote Kreuze statt Bildern, und auch mit cfhttp nicht in der Lage, eine Verbindung zum lokalen webserver mit ssl.
mein test-script zu reproduzieren mit coldfusion 8 wurde
dies gab mir die ziemlich Allgemeine Fehlermeldung " I/O Exception: peer nicht authentifiziert."
Ich habe dann versucht, hinzufügen von Zertifikaten der server mit root-und intermediate-Zertifikate für den java-keystore und auch die coldfusion-keystore, aber nichts half.
dann habe ich ausgetestet, das problem mit
und bekam
und
Hatte ich dann die Idee, dass der webserver (apache in meinem Fall) hatte sehr moderne Chiffren für die ssl-und die ist ziemlich restriktiv (qualys-score a+) und verwendet eine starke diffie hellmann Schlüssel mit mehr als 1024 bit. offensichtlich, coldfusion und java jdk 1.6.45 kann nicht gelingen.
Der nächste Schritt in der odysee war, zu denken, die Installation eines alternativen security-Anbieter für java, und ich entschied mich für die Hüpfburg.
siehe auch http://www.itcsolutions.eu/2011/08/22/how-to-use-bouncy-castle-cryptographic-api-in-netbeans-or-eclipse-for-java-jse-projects/
Ich dann heruntergeladen, die
vom http://www.bouncycastle.org/latest_releases.html und installiert es unter
C:\jdk6_45\jre\lib\ext oder wo immer das jdk ist in der ursprünglichen Installation von coldfusion 8 unter C:\JRun4\jre\lib\ext aber ich benutze ein neueres jdk (1.6.45), die sich außerhalb der coldfusion-Verzeichnis. es ist sehr wichtig, um die bcprov-ext-jdk15on-156.jar in der \ext-Verzeichnis (dies kostete mich etwa zwei Stunden und ein paar Haare 😉
dann habe ich die Datei bearbeitet C:\jdk6_45\jre\lib\security\java.security (mit wordpad nicht mit editor.exe!) und setzen Sie in eine Zeile für den neuen Anbieter. danach wird die Liste sah wie
(siehe die neuen in position 1)
dann starten Sie den coldfusion-Dienst vollständig.
Sie können dann
und genießen Sie das Gefühl...
und natürlich
was für eine Nacht und was für ein Tag. Hoffentlich wird dies helfen, die (teilweise oder vollständig), um jemand da draußen. wenn Sie Fragen haben, mailen Sie mir einfach an info ... (domain siehe oben).
Versuchen Sie es mit diesem in CMD
C:\ColdFusion9\runtime\jre\bin>
keytool-import -keystore ../lib/security/cacerts
-alias uniquename -Datei certificatename.cer
Hinweis: Wir müssen wählen Sie die richtigen keystore vorhanden innerhalb des security-Ordner,da gibt es andere keystore-Datei, die sich im inneren bin.Wenn wir importieren das Zertifikat für diesen Schlüssel speichert, wird es nicht funktionieren.
Was ich gerade herausgefunden, auf die verwiesen wurde zu diesem Artikel: http://kb2.adobe.com/cps/400/kb400977.html und ein paar andere Orte, nach viel Graben.
Wenn Sie auf der Suche an diesem Artikel, haben Sie wahrscheinlich eingefügt deinen "server.crt" Zertifikat in der richtigen root-Standorten, und Sie haben wahrscheinlich steckt es in die cacerts Datei in /ColdFusion9/runtime/jre/lib/security mit dem Befehl
\ColdFusion9\runtime\jre\bin\keytool -import -v -alias someServer-cert -file someServerCertFile.crt -keystore cacerts -storepass changeit
(wenn Sie dies getan haben, tun Sie es jetzt).
Die Sache, die ich lief in war, ich bin einrichten von ssl auf meinem localhost so, nachdem Sie diese Schritte war ich noch immer den gleichen Fehler.
Als es stellt sich heraus, müssen Sie auch fügen Sie Ihre "server.crt" in der "trustStore" - Datei normalerweise in /ColdFusion9/runtime/jre/lib mit dem Befehl
Hoffentlich wird jemand retten Zeit.
Ich bin mit JRun. Nachdem versucht, eine Menge verschiedener Dinge, die ich stieß auf einen Ausschnitt der Informationen, die anwendbar war in meinem setup. Ich hatte konfiguriert, ein (1)HTTPS SSLService mit meinen eigenen truststore-Datei. Dies führte zu der information, die in den folgenden link, um sich wichtig.
http://helpx.adobe.com/coldfusion/kb/import-certificates-certificate-stores-coldfusion.html
Hier der Auszug aus meiner jrun.xml Datei:
Sobald ich das Zertifikat importiert in diesem truststore (/app/jrun4/cert/truststore.jks) funktionierte es nach dem Neustart ColdFusion.
(1) http://helpx.adobe.com/legacy/kb/ssl-jrun-web-server-connector.html
Hinzufügen das Zertifikat zu der keystore nicht für mich auf CF9 Unternehmen.
Landeten mit dem CFX-tag,
CFX_HTTP5
.