• ssl证书生成:cer&jks文件生成摘录


    一.生成.jks文件

    1、keystore的生成: 

    分阶段生成:
         keytool -genkey -alias yushan(别名) -keypass yushan(别名密码) -keyalg RSA(算法) -keysize 1024(密钥长度) -validity 365(有效期,天单位) -keystore         

    e:/yushan.keystore(指定生成证书的位置和证书名称) -storepass 123456(获取keystore信息的密码);回车输入相关信息即可;
         
    一次性生成:
         keytool -genkey -alias yushan -keypass yushan -keyalg RSA -keysize 1024 -validity 365 -keystore  e:/yushan.keystore -storepass 123456 -dname "CN=(名字与

    姓氏), OU=(组织单位名称), O=(组织名称), L=(城市或区域名称), ST=(州或省份名称), C=(单位的两字母国家代码)";(中英文即可)

    2、keystore信息的查看: 
       keytool -list  -v -keystore e:/keytool /yushan.keystore -storepass 123456
       显示内容:
    ---------------------------------------------------------------------
       Keystore 类型: JKS
    Keystore 提供者: SUN

    您的 keystore 包含 1 输入

    别名名称: yushan
    创建日期: 2009-7-29
    项类型: PrivateKeyEntry
    认证链长度: 1
    认证 [1]:
    所有者:CN=yushan, OU=xx公司, O=xx协会, L=湘潭, ST=湖南, C=中国
    签发人:CN=yushan, OU=xx公司, O=xx协会, L=湘潭, ST=湖南, C=中国
    序列号:4a6f29ed
    有效期: Wed Jul 29 00:40:13 CST 2009 至Thu Jul 29 00:40:13 CST 2010
    证书指纹:
             MD5:A3:D7:D9:74:C3:50:7D:10:C9:C2:47:B0:33:90:45:C3
             SHA1:2B:FC:9E:3A:DF:C6:C4:FB:87:B8:A0:C6:99:43:E9:4C:4A:E1:18:E8
             签名算法名称:SHA1withRSA
             版本: 3
    --------------------------------------------------------------------

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

    keytool -list  -rfc -keystore e:/yushan.keystore -storepass 123456

    显示:

    -------------------------------------------------------------------------------------------------------

    Keystore 类型: JKS
    Keystore 提供者: SUN

    您的 keystore 包含 1 输入

    别名名称: yushan
    创建日期: 2009-7-29
    项类型: PrivateKeyEntry
    认证链长度: 1
    认证 [1]:
    -----BEGIN CERTIFICATE-----
    MIICSzCCAbSgAwIBAgIESm8p7TANBgkqhkiG9w0BAQUFADBqMQ8wDQYDVQQGDAbkuK3lm70xDzAN
    BgNVBAgMBua5luWNlzEPMA0GA1UEBwwG5rmY5r2tMREwDwYDVQQKDAh4eOWNj+S8mjERMA8GA1UE
    CwwIeHjlhazlj7gxDzANBgNVBAMTBnl1c2hhbjAeFw0wOTA3MjgxNjQwMTNaFw0xMDA3MjgxNjQw
    MTNaMGoxDzANBgNVBAYMBuS4reWbvTEPMA0GA1UECAwG5rmW5Y2XMQ8wDQYDVQQHDAbmuZjmva0x
    ETAPBgNVBAoMCHh45Y2P5LyaMREwDwYDVQQLDAh4eOWFrOWPuDEPMA0GA1UEAxMGeXVzaGFuMIGf
    MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCJoru1RQczRzTnBWxefVNspQBykS220rS8Y/oX3mZa
    hjL4wLfOURzUuxxuVQR2jx7QI+XKME+DHQj9r6aAcLBCi/T1jwF8mVYxtpRuTzE/6KEZdhowEe70
    liWLVE+hytLBHZ03Zhwcd6q5HUMu27du3MPQvqiwzTY7MrwIvQQ8iQIDAQABMA0GCSqGSIb3DQEB
    BQUAA4GBAGoQQ1/FnTfkpQh+Ni6h3fZdn3sR8ZzDMbOAIYVLAhBb85XDJ8QZTarHbZMJcIdHxAl1
    i08ct3E8U87V9t8GZFWVC4BFg/+zeFEv76SFpVE56iX7P1jpsu78z0m69hHlds77VJTdyfMSvtXv
    sYHP3fxfzx9WyhipBwd8VPK/NgEP
    -----END CERTIFICATE-----

    -------------------------------------------------------------------------------------------------------

    二. 生成.cer文件

    生成服务器密钥库和证书,客户端导入服务器证书:

    1、生成密钥库(自签名的证书和私钥)
    keytool -genkey -alias sksalias -keyalg RSA -keystore skeystore.jks  
    密钥库和密钥库别名都需要密码,用时也需要     
    Enter keystore password:
    Enter key password for <ksalias>
    查看密钥库
    keytool -list -v -keystore skeystore.jks
    2、导出密钥库公钥、信息等到证书中
    keytool -export -alias sksalias -keystore skeystore.jks -storepass 123456 -file scert.cer
    3、建立信任密钥库(将服务端证书,导入到客户端的信任密钥库中)
    keytool -import -alias  sksalias  -file scert.cer -keystore ctruststore
    信任密钥库truststore也需要密码,但别名不需要密码
    //truststore也是密钥库,只是少了私钥
    Enter keystore password:
    查看信任密钥库       
    keytool -list -v -keystore truststore
    keytool,可以转换,pem,直接导入pem的。ie,firefox也可以转换。
    同理,生成客户端的密钥库和证书,服务器端导入客户端证书。
    keytool -genkey -alias cksalias -keyalg RSA -keystore ckeystore.jks
    keytool -export -alias cksalias -keystore ckeystore.jks -storepass 123456 -file ccert.cer
    keytool -import -alias  cksalias  -file ccert.cer -keystore struststore
  • 相关阅读:
    Mybatis异常--java.lang.IllegalArgumentException: NO ENUM const class org.apache.ibatis.type.JdbcType.int
    JAVA(IO流)文件复制
    JAVA继承与覆写
    收藏一些是实用的小技巧
    利用JS生成01010101……长度可控的序列
    JS脚本收藏(一些实用的函数)
    利用JavaScript生成随机数字!
    JavaScript自学之数组排序
    前端开发自学之JavaScript——显示当前时间
    Spring Boot Sample 016之spring-boot-error-exception
  • 原文地址:https://www.cnblogs.com/Alex80/p/7942381.html
Copyright © 2020-2023  润新知