2

我想生成一个自签名的可信证书和一个csr,并使用创建的可信证书对csr进行签名。我正在用keytool来尝试它。在使用以下命令创建一个信任的证书的第一步骤使用keytool生成密钥和证书

密钥工具-genkey -alias mytrustCA -keyalg RSA -keystore keystore.jks -keysize 1024

其中它把证书到密钥库中。我如何将它存储到一个文件?当我列出使用

的keytool -list -v -keystore CERT/test.keystore

证书上面“genkey”创建命令条目类型为“PrivateKeyEntry”造成的,如何创造一个可信的证书内容入口?

回答

7

在您的第一个命令中,您使用了-genkey选项来生成名为keystore.jks的密钥库。

要以.CER格式文件导出证书,您需要使用keytool的-export选项。

一个例子是:

keytool -v -export -file mytrustCA.cer -keystore keystore.jks -alias mytrustCA 

这将生成一个名为mytrustCA.cer

生成证书请求发送到获得一个签名证书CA文件,您将需要使用-certreq选项的keytool。

一个例子是:

keytool -v -certreq -keystore keystore.jks -alias mytrustCA 

这将询问密钥存储密码和认证成功时,将显示如下面给出的证书请求(的样品)。

-----BEGIN NEW CERTIFICATE REQUEST----- 
MIIBtDCCAR0CAQAwdDELMAkGA1UEBhMCSU4xFDASBgNVBAgTC01haGFyYXNodHJhMQ8wDQYDVQQH 
EwZNdW1iYWkxEjAQBgNVBAoTCU1pbmRzdG9ybTEUMBIGA1UECxMLRW5naW5lZXJpbmcxFDASBgNV 
BAMTC1JvbWluIElyYW5pMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqOLEumwLHlzIUAPD6 
Ab1pVp84mhSNCCcUKInZbSdiDYnKSr46EjEw0PtZOVPJbM4ZG3bZsOboYr0YfViJi41o4yJICFAZ 
8wCQQxPK/4N8MPV7C5WDH28kRKGH/Pc2e7CxV+as573I34QmkINk7fEyERMDwP/WgmrcKZgL0sfy 
ewIDAQABoAAwDQYJKoZIhvcNAQEFBQADgYEAlcpjOUZFP9ixskXSA7HNlioWwjbL9f9rQskJ9rK8 
kGLJ1td+mqqm20yo/JrKCzZjOMqr/aL6Zw2dkoyU34T9HnR2Bs3SgKn6wlYsYEVvVBk71Ec6PeTi 
e+fhfNQEHsj4wuB4qixO3s1jtsLDy+DpTzYguszczwxXGFVNuk+y2VY= 
-----END NEW CERTIFICATE REQUEST----- 

您需要发送此证书请求或将其粘贴到数字证书签名者网页中。或者,如下你甚至可以将此输出重定向到文件而不是控制台:

keytool -v -certreq -keystore keystore.jks -alias mytrustCA > mycertreq.txt 
0

如果你有兴趣在一步一步的命令......结账this post和接受的答案使用的脚本。

相关问题