我使用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文件呢?文件类型(根,中间)在文件名本身中没有提到。我必须根据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]
如果我没有使用keystore命令来安装它,它是否可以使用keytool创建CSR文件(但使用openSSL创建)?
还必须将私钥导入到密钥存储库中。否则,密钥存储库将毫无用处。
有两种方法:
- 首先用OpenSSL创建一个pkcs# 12文件,然后用keytool将该文件转换为JKS文件(见这里)。
- 使用KeyStore Explorer,它具有OpenSSL格式的导入/导出功能。说明可以在这里找到。
另一个问题是我从可信的证书生成公司得到了三个文件。那么如何区分主、根、中间crt文件呢?
您必须看一下证书的内容,特别是它们的专有名称(DNs)。
- 根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>