ColdFusion CFHTTP and SSL Certs

后端 未结 1 1384
抹茶落季
抹茶落季 2021-01-17 02:12

Background: I have an ongoing problem with a Connection Failure error message when I try connecting to an API using CFHTTP. While reviewing the API in SoapU

相关标签:
1条回答
  • 2021-01-17 02:49

    I have answered the question of installing certificates before. Here are the steps again to save you from searching...

    If you are using cfhttp to connect via SSL (https) then the ColdFusion server definitely needs the certificate installed to successfully connect. Here is a previous answer that I gave on a similar issue:

    Here are the steps you need to perform in order to install the certificate to the Java keystore for ColdFusion. First, be sure you are updating the correct cacerts file that ColdFusion is using. In case you have more than one JRE installed on that server. You can verify the JRE ColdFusion is using from the administrator under the 'System Information'. Look for the Java Home line.

    The default truststore is the JRE's cacerts file. This file is typically located in the following places:

    • Server Configuration:

      cf_root/runtime/jre/lib/security/cacerts

    • Multiserver/J2EE on JRun 4 Configuration:

      jrun_root/jre/lib/security/cacerts

    • Sun JDK installation:

      jdk_root/jre/lib/security/cacerts

    • Consult documentation for other J2EE application servers and JVMs

    In order to install the certificate you need to first get a copy of the certificate. This can be done by using Internet Explorer. Note that different versions of Internet Explorer will behave slightly differently but should be very similar to these steps. For example, earlier versions of IE might save the certificate under a different tab than I mention.

    1. Browse to the SSL URL in Internet Explorer - https://xyz/infoLookup.php?wsdl.
    2. View the certificate by clicking on the lock icon and clicking view certificate
    3. Then click the Install Certificate... button (note: if you do not see this button you must close IE and run it as administrator first)
    4. Click on IE's Internet Options and click the Content tab
    5. Click the Certificates button
    6. Find the server's certificate under the Intermediate Certification Authorities tab, select the cert and click the Export... button
    7. Export using DER format

    Copy the exported certificate file to your ColdFusion server (you can delete the cert from IE if you want)

    1. Run cmd prompt as administrator on the ColdFusion server
    2. Make a backup of the original cacerts file in case you run into issues

    The keytool is part of the Java SDK and can be found in the following places:

    • Server Configuration:

      cf_root/runtime/bin/keytool

    • Multiserver/J2EE on JRun 4 Configuration:

      jrun_root/jre/bin/keytool

    • Sun JDK installation:

      jdk_root/bin/keytool

    • Consult documentation for other J2EE application servers and JVMs

    To install the cert:

    1. Change directory to your truststore's location (where the cacerts file is located)
    2. Type this command (use current jvm and use current jvm's keytool) "c:\program files\java\jre7\bin\keytool" -import -v -alias your_cert_alias_name -file C:\wherever_you_saved_the_file\cert_file.cer -keystore cacerts -storepass changeit
    3. Type yes at the prompt to "Trust this certificate?"

    Note: your_cert_alias_name I used above can be whatever you want
    Note: C:\wherever_you_saved_the_file\cert_file.cer change these values to whatever you use for the server folder and certificate file name

    To verify the cert:

    1. Type this command (use current jvm and use current jvm's keytool) "c:\program files\java\jre7\bin\keytool" -list -v -keystore cacerts -alias your_cert_alias_name -storepass changeit

    Note: your_cert_alias_name use the same name here that you used above to install the cert

    Restart the ColdFusion service It will not read the updated cacerts file until you do this.

    You can delete the imported certificate file from the server if you wish.

    0 讨论(0)
提交回复
热议问题