【Java】keytool制作CA根证书以及颁发二级证书
keytool制作CA根证书以及颁发二级证书
1 | [xinchen@localhost ~]# keytool -help |
keytool
是jdk提供的工具,该工具名为”keytool“- alias www.mydomain.com 此处”www.mydomain.com“为别名,可以是任意字符,只要不提示错误即可。因一个证书库中可以存放多个证书,通过别名标识证书。
keyalg
RSA 此处”RSA“为密钥的算法。可以选择的密钥算法有:RSA、DSA、EC。
– keysize 4096 此处”4096“为密钥长度。keysize与keyalg默认对应关系:- 2048 (when using -genkeypair and -keyalg is “RSA”)
- 1024 (when using -genkeypair and -keyalg is “DSA”)
- 256 (when using -genkeypair and -keyalg is “EC”)
keypass
mypassword 此处”mypassword “为本条目的密码(私钥的密码)。最好与storepass一致。sigalg
SHA256withRSA 此处”SHA256withRSA“为签名算法。keyalg=RSA时,签名算法有:MD5withRSA、SHA1withRSA、SHA256withRSA、SHA384withRSA、SHA512withRSA。keyalg=DSA时,签名算法有:SHA1withDSA、SHA256withDSA。此处需要注意:MD5和SHA1的签名算法已经不安全。dname
“cn=www.mydomain.com,ou=xxx,o=xxx,l=Beijing,st=Beijing,c=CN” 在此填写证书信息。”CN=名字与姓氏/域名,OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代码”validity
3650 此处”3650“为证书有效期天数。keystore
www.xinchen.com_keystore.jks
此处www.xinchen.com_keystore.jks
为密钥库的名称。此处也给出绝对路径。默认在当前目录创建证书库。storetype
JKS 此处”JKS “为证书库类型。可用的证书库类型为:JKS、PKCS12等。jdk9以前,默认为JKS。自jdk9开始,默认为PKCS12。- storepass mypassword 此处”mypassword “为证书库密码(私钥的密码)。最好与keypass 一致。
制作CAS证书
1 | # 密钥生成 |