我正在尝试为Boomi webservices启用SSL。我按照他们的文档说明生成CSR并将其发送给CA进行签名。我收到了.pem格式的签名证书。我查看了文件的内容,它不包含任何私钥的任何信息。
这些是关于Boomi文档的步骤。
1) Replace the keystore path, KEYSTORENAME and –dname parameters in this command with your information (this –dname “….” option can be omitted if the trusted root authority requests this information when submitting the CSR) and run the following command to generate the key:
keytool -genkey -dname "CN=HOSTNAME, OU=ORGUNIT, O=ORG, L=LOCATION, S=STATE, C=COUNTRY" -alias Boomi -keyalg RSA -keystore c:\Certificates\Boomi\KEYSTORENAME -keysize 2048
2) Replace the KEYSTORENAME in this command and run the following command to generate the CSR:
keytool -certreq -keyalg RSA -alias Boomi -file c:\Certificates\Boomi\KEYSTORENAME.csr -keystore c:\Certificates\Boomi\KEYSTORENAME
3) Submit the CSR to the Trusted Root Authority (for example, Verisign), and request/download the returned certificate in PKCS7 format. This will have a public, G3 intermediate, and G5 intermediate certificate all in one certificate. Java must be 1.6 or newer.
4) Replace the certificate file path\name and keystore path\name in this command and run the following command to import the PKCS7 certificate:
keytool -import -alias Boomi -trustcacerts -file c:\Certificates\Boomi\NEWCERTNAME.p7b -keystore c:\Certificates\Boomi\KEYSTORENAME
5) Replace the new and destination keystore paths/names and passwords (if different from changeit) in this command and run the following command to convert to .p12 format for import into Boomi:
keytool -importkeystore -srckeystore c:\Certificates\Boomi\KEYSTORE -destkeystore c:\Certificates\Boomi\KEYSTORENAME.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass changeit -deststorepass changeit -srcalias Boomi -destalias Boomi -srckeypass changeit -destkeypass changeit -noprompt
我遇到了第4步,因为我没有.p7b格式的签名证书。我搜索了有关如何将.pem文件转换为.p7b文件的任何信息,并且所有这些都提到.pem文件将包含关键信息以及证书信息。但是由于我拥有的.pem文件没有关键信息,我应该如何将.pem转换为.p7b并最终获得.p12证书。
另外,如果可能的话,请您解释一下这些格式是什么意思?
答案 0 :(得分:4)
首先,请查看此ServerFault answer以获取有关密钥和密钥格式的信息。
其次,要解决您的问题,.pem文件可能包含也可能不包含私钥信息。如果是签名证书(在向CA提交CSR后签名),则通常不会包含私钥。在您的说明中,私钥已存在于密钥库中。我相信4号指令中的命令会将信任链(.p7b)导入密钥库,因此您将在同一[protected]文件中拥有公钥,私钥和信任链。
如果您没有.p7b格式的文件,您可以请求CA以.p7b格式发送给您。
除此之外,我要尝试的第一件事是更改命令以包含.pem文件而不是.p7b文件。 keytool
非常聪明,我认为它会弄清楚导入.pem而不是.p7b需要做什么。
如果由于某种原因这不起作用,你可以做更多的事情,但事情开始变得更加复杂。我会从this link开始。祝你好运!