美文网首页
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