3

keytool を使用して、First Data から ColdFusion 9 セットアップに証明書をインポートしようとしました。

keytool -importcert -keystore MYCF9Dir\runtime\jre\lib\security\cacerts -trustcacerts -alias firstdata -file FirstData.pem

インポートは機能しているように見えますが、ColdFusion 関数またはタグを介して WSDL にアクセスすると、「I/O Exception: 致命的なアラートを受け取りました: handshake_failure」がスローされます。これは、持っている証明書を使用してサイトにアクセスできないか、サイトが見つからないことを示しています。

それで、証明書を正しくインポートしていますか? また、ColdFusion を使用してこの WSDL にアクセスするには、他にどのような方法がありますか?

4

3 に答える 3

0

.pem ファイルの代わりに .crt ファイルを使用することを検討しましたか? ちょうど使った

keytool -importcert -keystore C:\Coldfusion9\runtime\jre\lib\security\cacerts -trustcacerts -alias myserver -file myserver.crt

そして今、それはうまく機能します。

お役に立てれば。

于 2011-07-08T01:17:24.787 に答える
0

Javaと統合するときに同じ問題が発生しました。ColdFusion で何をするかはわかりませんが、これで正しい方向に進むことができると思います。

この問題を回避するには、SSLContext を作成して最初のデータ サーバーに手動で提示する必要があります。

Javaでは、これは私がしたことです:

KeyStore ksjks = KeyStore.getInstance(KeyStore.getDefaultType());
ksjks.load(new FileInputStream("/path/to/your/p12/file"),"password".toCharArray());

KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
kmf.init(ksjks, "password".toCharArray());

SSLContext sslContext = SSLContext.getInstance("SSLv3");
sslContext.init(kmf.getKeyManagers(), null, null);

SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();

そして、このコンテキストをクライアントで次のように使用します。

URL url = new URL("serverUrl");
HttpsURLConnection urlConn = (HttpsURLConnection) url.openConnection();
urlConn.setSSLSocketFactory(sslSocketFactory);

お役に立てば幸いです。平和!

于 2011-12-20T22:06:23.327 に答える