如何解决将First Data证书导入ColdFusion
| 我已经尝试使用keytool将“第一数据”中的证书导入到我的ColdFusion 9设置中:keytool -importcert -keystore MYCF9Dir\\runtime\\jre\\lib\\security\\cacerts -trustcacerts -alias firstdata -file FirstData.pem
导入似乎有效,但是,当我通过任何ColdFusion函数或标签访问WSDL时,它将引发\“ I / O异常:收到致命警报:handshake_failure \”。这告诉我它无法使用其拥有的证书访问该网站,或者找不到它。
那么,我可以正确导入证书吗?如果是的话,还可以通过ColdFusion访问该WSDL吗?
解决方法
您是否考虑过使用.crt文件而不是.pem文件?
我刚用过
keytool -importcert -keystore C:\\Coldfusion9\\runtime\\jre\\lib\\security\\cacerts -trustcacerts -alias myserver -file myserver.crt
现在它可以正常工作了。
希望这可以帮助。
,与Java集成时,我遇到了同样的问题。尽管我不确定您会在ColdFusion中做什么,但是我认为这可以为您指明正确的方向。
为避免此问题,您需要创建一个SSLContext并将其手动呈现给firstdata服务器,然后才能执行其他任何操作。
在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);
希望对您有帮助。和平!
,我遇到了类似的问题,以防万一有人遇到相同的问题,这就是我的解决方法。我有一个.pem文件,这表明它已成功导入ColdFusion内的Cacert密钥库中,但是由于某些原因,我尝试访问的远程API(服务器)无法识别证书。因此,我首先使用OpenSSL将.pem证书转换为PKCS12格式文件-该链接帮助:http://cc.in2p3.fr/docenligne/84/en#0.4(在底部)。然后,我使用CFHTTP CF标签,如下所示:
<cfhttp
url=\"https://urlToAPI\"
method=\"POST\"
clientCert=\"path to the file (.p12)\"
clientCertPassword=\"password\"
result=\"result\">
这为我做到了。希望对您有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。