SSL:使用openSSL创建并使用keytool安装的CSR文件

时间:2015-08-07 07:19:12

标签: java tomcat ssl https openssl

我使用openSSL命令创建了CSR并购买了crt个文件。

openssl genrsa -out private-key.pem 2048 
openssl req -new -key private-key.pem -out csr.pem

使用keystore命令安装它是否可以,因为我没有使用keytool创建CSR文件(但使用openSSL创建)?

另一个问题是我从受信任的证书生成公司获得了三个文件。那么如何识别哪一个是主要的,根,中间的crt文件?文件名本身中未提及文件类型(root,intermediate)。我必须在crt文件类型的基础上运行以下命令。

keytool -import -alias root -keystore tomcat.keystore -trustcacerts -file [name of the root certificate]

keytool -import -alias intermed -keystore tomcat.keystore -trustcacerts -file [name of the intermediate certificate]

keytool -import -alias tomcat -keystore tomcat.keystore -trustcacerts -file [name of the certificate]

1 个答案:

答案 0 :(得分:1)

  

使用keystore命令安装它是否可行,因为我没有   使用keytool创建CSR文件(但使用openSSL创建)?

您还必须将私钥导入密钥库。否则密钥库将无用。

有两种方法可以做到这一点:

  1. 首先使用OpenSSL创建PKCS#12文件,然后使用keytool将此文件转换为JKS(请参阅here)。
  2. 使用KeyStore Explorer,它具有OpenSSL格式的导入/导出功能。可以找到说明here
  3.   

    另一个问题是我从受信任的证书生成公司获得了三个文件。那么如何识别哪一个是主要的,根,中间的crt文件?

    您必须查看证书的内容,尤其是其可分辨名称(DN)。

    • 根CA证书始终具有相同的SubjectDN和IssuerDN。
    • 中间CA将根CA的SubjectDN作为其IssuerDN和不同的SubjectDN。
    • SSL证书将中间CA的SubjectDN作为其IssuerDN,并将域名作为其SubjectDN的一部分。

    用于打印出SubjectDN和IssuerDN的OpenSSL命令取决于证书文件(DER或PEM)的格式。 DER是二进制格式,PEM是ASCII格式。如果您不确定,请尝试两者:

    openssl x509 -noout -subject -issuer -nameopt RFC2253 -inform DER -in <cert-file>
    

    openssl x509 -noout  -subject -issuer -nameopt RFC2253 -inform PEM -in <cert-file>