2

システムに ColdFusion 9 がインストールされています。

SSL 暗号化サイト (https) からデータを読み取る必要があります。CF ドキュメントに記載されているすべての手順に従いました。

あれは:

  • 問題の SSL サーバーのページに移動します。
  • ロック アイコンをダブルクリックします。
  • [詳細] タブをクリックします。
  • [ファイルにコピー] をクリックします。
  • base64 オプションを選択し、ファイルを保存します。
  • CER ファイルを C:\ColdFusion8\runtime\jre\lib\security (または ColdFusion が使用している JRE) にコピーします。
  • 同じディレクトリで次のコマンドを実行します (keytool.exe は C:\CFusionMX7\runtime\jre\bin にあります)。
    keytool -import -keystore cacerts -alias giveUniqueName -file filename.cer

CMDでは、「証明書が正常に追加されました」と表示されました

しかし、それでも同じエラーpeer not authenticatedが表示されます。

さらに必要なものはありますか?

4

2 に答える 2

2

CF 11 (おそらく 10 ですが、自分で確認してください) で Web サービスを呼び出そうとする場合、CF は Web サービスまたは任意の CFHTTP 呼び出しが WebSocket サービスとポート 8577 を標準セットアップで使用することを想定しています。これは、WebSocket サービスが Web サービス用に最適化されており、CFHTTP も WebService ソケットを使用しているためです。

IIS サーバーで CF 11 を実行していますが、ポート 8577 がファイアウォールによってブロックされています。接続しようとすると、CFHTTP および Web サービスに対して次のエラーが返されます。

「I/O 例外: sun.security.validator.ValidatorException: PKIX パスの構築に失敗しました: sun.security.provider.certpath.SunCertPathBuilderException: 要求されたターゲットへの有効な証明書パスが見つかりません」

JRE の CACERT にカスタム証明書を追加する必要があるように思えますが、それは私にとっての解決策ではありません。

WebSocket サービスのブロックを解除したくない場合、およびネイティブで実行するためにそのパフォーマンスを必要としない場合は、これを IIS (少なくとも IIS) で実行するための簡単な修正があります。CF 管理ダッシュボードに移動し、WebSocket サービスを「プロキシを使用」に変更するだけです。これにより、IIS をプロキシとして経由して CF WebSocket サービスまたは CFHTTP へのすべての呼び出しが送信されます。CF Application Server サービスを再起動すると、問題なく動作するはずです。これらの指示が完璧でない場合は、申し訳ありませんが、それが機能するように導くでしょう. ColdFusion 11 での WebSocket の使用も参照してください。

于 2015-11-27T20:38:17.230 に答える