7
votes

Exception d'E / S Coldfusion CFHTPTP: peer non authentifié - même après avoir ajouté CERTS à KeyStore

Je travaille actuellement avec un processeur de paiement. Je peux accéder à l'URL de paiement de notre serveur. Ce n'est donc pas un problème de pare-feu, mais lorsque j'essaie d'utiliser cfhttp, je reçois une exception d'E / S: peer non authentifié. J'ai téléchargé et installé son dernier certificat de sécurité dans CaCerts KeyStore et redémarré cf et obtenez toujours la même erreur. Non seulement j'ai installé le certificat des fournisseurs, mais également les 2 autres certificat de certificat VeriSign de la chaîne de certificats. Le CERT est l'un des nouveaux certificats de validation étendus de classe 3.

Quelqu'un a-t-il déjà rencontré cela avant et trouvé une solution?


1 commentaires

Réponse très tardive ici, mais j'ai fini par aller avec la balise personnalisée CFX_HTTP5 qui peut être trouvée à CFTAGSTORE.COM /tags/cfxhttp5.cfm


8 Réponses :


3
votes

Avez-vous ajouté au bon magasin correct? N'oubliez pas que ColdFusion utilise sa propre instance Java. J'ai passé plusieurs heures à ce sujet une fois avant de me souvenir de ce fait. Celui que vous voulez est à quelque part comme / Coldfusion8 / Runtime / Jre / Lib / Security /


3 commentaires

Salut Ryber, c'est là que je les ai ajoutés. J'ai ajouté d'autres avant cela et ça a toujours fonctionné. Merci.


Peut-être que vous manquez l'un des certs de la chaîne et Java se plaint car il ne peut pas vérifier l'authenticité du ou des signes?


Bonjour seize ans d'Otto, j'ai installé les 3 certs dans la chaîne, je ne travaille toujours pas!



0
votes

Ce que je viens de découvrir a été référencé à cet article: http: //kb2.adobe .com / cps / 400 / kb400977.html et quelques autres endroits après beaucoup de creusage.

Si vous regardez cet article, vous avez probablement inséré votre certificat "Server.CrT" dans le bon Les emplacements racines et vous l'avez probablement inséré dans le fichier CaCerts dans / Coldfusion9 / Runtime / Jre / Lib / Security à l'aide de la commande

\ ColdFusion9 \ Runtime \ jre \ bin \ keyTool -Impport -v -Alias ​​Somreserver-Cert -file somreservercercerfile.crt -keystore CaCerts -StorePass Changeit

(Si vous ne l'avez pas fait, faites-le maintenant). La chose que je rencontrais était que je confie SSL sur mon localhost alors après ces étapes, je reçois toujours la même erreur.

Comme il s'avère, vous devez également insérer votre "serveur. CRT "dans le fichier" TrustStore "Communément situé dans / ColdFusion9 / Runtime / Jre / LIB à l'aide de la commande xxx

Espérons que cela sauvera quelqu'un de temps.


0 commentaires

9
votes

Un collègue de mine a trouvé ce qui suit après avoir expérimenté le même problème lors de la connexion à une tierce partie.

http://www.coldfusionjedi.com/index.cfm/2011/1/12/diagnosofing-a-cfhttp-issue--eeer-not-Authentiqué Strike> p> https: // www .Raymondcamden.com / 2011/01/12 / Diagnostiens-A-CFHTTP-NUMÉMENT-PAIER-NON AUTHITÉ / P>

Nous avons utilisé la solution fournie dans le commentaire de Pete Freitag plus loin le page. Cela fonctionne, mais je pense que vous devriez être utilisé avec prudence, car cela implique de retirer et d'ajouter de manière dynamique dans une propriété particulière du fournisseur Jsafejce. P>

pour l'archivage, voici le contenu original de Pete Freitag's Commentaire: P>

J'ai réduit cela un peu plus loin et enlevez le Keyageement.diffiehellman du fournisseur de RSA Jsafejce (qui provoque l'utilisation de la mise en œuvre par défaut du soleil à la place) des coutures à travailler et probablement moins d'un effet sur votre serveur que de supprimer l'ensemble du fournisseur serait. Voici comment vous le faites: p>

yadayadayada Caused by: java.security.InvalidKeyException: Cannot
build a secret key of algorithm TlsPremasterSecret at
com.rsa.jsafe.provider.JS_KeyAgree.engineGenerateSecret(Unknown
Source) at javax.crypto.KeyAgreement.generateSecret(DashoA13*..) at
com.sun.net.ssl.internal.ssl.DHCrypt.getAgreedSecret(DHCrypt.java:166)


1 commentaires

Hey Barry, un peu confus. Ici, vous avez dit que vous avez utilisé la solution de contournement suggérée par Pete Freitag, mais dans le commentaire ci-dessus, vous avez dit que vous avez "fini par aller avec la balise personnalisée CFX_HTTP5". Quelle était votre solution à la fin?



2
votes

Essayez avec cmd

c: \ coldfusion9 \ runtime \ jre \ bin> Beytool -import -keystore ../lib/security/cacterts -Alias ​​Uniquename -fileName -Namefile.cer

Remarque: Nous devons choisir le bon keyStore présent dans le dossier de sécurité, car il existe un autre fichier de clés présent dans la bin.si nous importerons le certificat dans ces principaux magasins qu'il ne fonctionnera pas.


0 commentaires

0
votes

J'utilise Jrun. Après avoir essayé beaucoup de choses différentes, j'ai rencontré un extrait d'informations applicable dans ma configuration. J'avais configuré un (1) SSLService HTTPS avec mon propre fichier de trustStore. Cela a provoqué l'élément d'information dans le lien suivant de devenir important.

http://helpx.adobe.com/coldfusion/kb/import-certificate-certificat-stores-coldfusion.html

Remarque: Si vous utilisez JRUN comme serveur J2ee sous-jacent (soit le Configuration du serveur ou multiserver / j2ee avec configuration JRun) et ont activé SSL pour le serveur Web JRUN interne (JWS), vous allez besoin d'importer le certificat dans le dépôt de fiduciaire défini dans le Fichier JRUN.XML pour le JWS sécurisé plutôt que le magasin de clé JRE. Par Par défaut, le fichier s'appelle "TrustStore" et est généralement situé Sous Jrun_root / Lib pour le MultiServer / J2ee avec la configuration JRun ou cf_root / runtime / lib pour la configuration du serveur ColdFusion. Vous Utilisez le même Tool Java Keytool pour gérer le fossage.

Voici l'extrait de mon fichier jrun.xml: xxx

une fois que j'ai importé le certificat dans ce fossage (/ app / jrun4 / cert / cert .JKS) Il a fonctionné après avoir redémarré Coldfusion.


(1) http://helpx.adobe.com/legacy/kb/ssl-jrun-web-server-connector.html


0 commentaires

0
votes

Ajout du certificat au magasin de clés ne fonctionnait pas pour moi sur l'entreprise CF9.

a fini par utiliser la balise CFX, cfx_http5 .


0 commentaires

4
votes

spécifique à Coldfusion 8 avec un serveur Web avec des chiffreurs SSL modernes:

J'utilise Coldfusion 8 sur JDK 1.6.45 et j'ai eu des problèmes de me donner des croix rouges à la place des images, et aussi avec CFHTP de ne pas connecter à la WebServer local avec SSL. P>

Mon script de test à reproduire avec ColdFusion 8 était P>

java SSLPoke www.onlineumfragen.com 443 (or of course your url!)


1 commentaires

C'était super incroyablement utile mais j'ai constaté que je ne pouvais pas obtenir le service Coldfusion 8 pour commencer si je mets Bouncycastle en position 1. Mais cela a fonctionné bien en position 2 (après Sun.Security.Provider.sun). Merci encore de me sauver des tonnes de temps!



0
votes

Je réalise que c'est une très vieille discussion, mais comme elle apparaît toujours près de la recherche de l'erreur "peer non authentifiée" dans cf, je voulais partager cela pour la plupart des gens, la solution simple est de mettre à jour le JVM que cf utilise . (Plus d'un instant sur la façon de faire ça.)

La cause du problème est généralement que le service appelé a fait une modification nécessitant une version ultérieure de TLS ou SSL (et peut-être une modification des algorithmes supportés). Plus tard, les JVMS offrent cela, tandis que les plus antérieurs ne l'ont pas. Comme les FC fonctionnent au sommet de la JVM, ce sont les appels de CF (VA CFHTTP, CFLDAP, CFMAIL, etc.) commencent à échouer.

et sûr, parfois une mise à jour du certificat est la réponse (et même alors, vous devez le faire soigneusement), mais ce n'est pas toujours nécessaire. Et la mise à jour de la JVM donne également d'autres avantages, en termes de corrections de bugs, etc.

Le seul défi consiste à savoir ce que JVM votre version de FC appuiera. (Mais même les personnes qui s'exécutent toujours sur une ancienne version CF ont constaté que la mise à jour des utilisations JVM CF a résolu ce problème et n'a pas provoqué d'autres.)

Je discute de tout cela dans un message 2019:

https: // Coldfusion.Adobe.com/2019/06/6ERROR-CALLING-CF-VIA-HTTPS -SOLVED-UPDATING-JVM/

espère que cela peut aider quelqu'un.


0 commentaires