美文网首页
keytool工具安全证书

keytool工具安全证书

作者: 宇宙小神特别萌 | 来源:发表于2019-08-05 16:44 被阅读0次

keytool工具安全证书

目录.png

命令格式参考:

创建证书库(keystore)及证书(Certificate)

keytool -genkeypair \
        -alias www.mydomain.com \
        -keyalg RSA \
        –keysize 4096 \
        -keypass mypassword \
        -sigalg SHA256withRSA \
        -dname "cn=www.mydomain.com,ou=xxx,o=xxx,l=Beijing,st=Beijing,c=CN" \ 
        -validity 3650 \
        -keystore www.mydomain.com_keystore.jks \
        -storetype JKS \
        -storepass mypassword

解释:

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.mydomain.com_keystore.jks 此处”www.mydomain.com_keystore.jks“为密钥库的名称。此处也给出绝对路径。默认在当前目录创建证书库。
-storetype JKS 此处”JKS “为证书库类型。可用的证书库类型为:JKS、PKCS12等。jdk9以前,默认为JKS。自jdk9开始,默认为PKCS12。
-storepass mypassword 此处”mypassword “为证书库密码(私钥的密码)。最好与keypass 一致。

上述命令,需要将 -dname 参数替换(尤其时域名要写对)、密码更改即可,其它可保持不变。

一、生成证书(创建证书密码:michaelpw)

按win键+R,弹出运行窗口,输入 cmd 回车,打开命令行窗户,输入如下命令:

keytool -genkey -alias ssodemo -keyalg RSA -keysize 1024 -keypass michaelpwd -validity 365 -keystore H:\keytool\ssodemo.keystore -storepass michaelpwd

命令说明:

  keytool 是jdk提供的工具,该工具名为"keytool"
  -alias ssodemo 此处"ssodemo"为别名,可以是任意字符,只要不提示错误即可。因一个证书库中可以存放多个证书,通过别名标识证书
  -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 michaelpwd此处"michaelpwd"为本条目的密码(私钥的密码)。最好与storepass一致。
   -validity 365 此处"365"为证书有效期天数。
   -keystore H:\keytool\ssodemo.keystore 此处"H:\keytool\ssodemo.keystore"为密钥库的名称。此处也给出绝对路径。默认在当前目录创建证书库
  -storetype JKS 此处"JKS"为证书库类型。可用的证书库类型为:JKS、PKCS12等。jdk9以前,默认为JKS。自jdk9开始,默认为PKCS12
  -storepass michaelpwd此处"michaelpwd"为证书库密码(私钥的密码)。最好与keypass 一致
  -sigalg SHA256withRSA 此处”SHA256withRSA“为签名算法。keyalg=RSA时,签名算法有:MD5withRSA、SHA1withRSA、SHA256withRSA、SHA384withRSA、SHA512withRSA。keyalg=DSA时,签名算法有:SHA1withDSA、SHA256withDSA。此处需要注意:MD5和SHA1的签名算法已经不安全

二、查看证书

缺省情况下,-list 命令打印证书的 MD5 指纹。而如果指定了 -v 选项,将以可读格式打印证书,如果指定了 -rfc 选项,将以可打印的编码格式输出证书。

-v 命令如下:

keytool -list  -v -keystore H:\keytool\ssodemo.keystore -storepass michaelpwd

-rfc 命令如下:

keytool -list -rfc -keystore H:\keytool\ssodemo.keystore -storepass michaelpwd

三、证书的导出和查看:

导出证书命令:

keytool -export -alias ssodemo -keystore H:\keytool\ssodemo.keystore -file H:\keytool\ssodemo.crt -storepass michaelpwd

查看导出的证书信息:

keytool -printcert -file H:\keytool\ssodemo.crt 

四、客户端导入证书:

keytool -import -keystore %JAVA_HOME%\jre\lib\security\cacerts -file H:\keytool\ssodemo.crt -alias michaelkey

相关文章

网友评论

      本文标题:keytool工具安全证书

      本文链接:https://www.haomeiwen.com/subject/tigmdctx.html