美文网首页
一级CA自签名证书

一级CA自签名证书

作者: _瑾_ | 来源:发表于2018-08-02 20:17 被阅读0次

    概述

    数字证书,是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。

    相关术语

    pkcs : 公钥加密标准(Public Key Cryptography Standards, PKCS),该标注描述了一组公钥密码学标准。

    jks : java 中支持的数字证书格式。
    bks: android 上数字证书格式。
    X509: 一种非常通用的证书格式,所有的证书都符合ITU-T X.509国际标准,因此(理论上)为一种应用创建的证书可以用于任何其他符合X.509标准的应用。


    预期效果:


    image.png

    安装工具

    安装openSSL

    创建自签名证书

    第一步: 生成CA

    
    ### 生成CA
    openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout ca.key -out ca.crt -subj /C=CN/ST=ShanXi/L=TaiYuan/O=XXX/OU=XXX/CN=XXX-Client -config openssl.cnf
    ### 恭喜你获得  ca.key  ca.crt 宝物 !
    
    

    第二步: 创建自签名证书

    
    ### 创建自签名证书
    openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout root.key -out root.crt -subj /C=CN/ST=ShanXi/L=TaiYuan/O=XXX/OU=XXX/CN=XXX-Client -config openssl.cnf
    ### 恭喜你获得  root.key  root.crt 宝物 !
    
    

    第三步: 生成证书请求

    
    ### 生成证书请求
    openssl req -new -key root.key -subj "/C=CN/ST=ShanXi/L=TaiYuan/O=XXX/OU=XXX/CN=XXX-Client" -out root.csr
    ### 恭喜你获得 root.csr 宝物 !
    
    

    第三步: 使用CA对证书进行签名

    
    ### CA签名
    openssl x509 -req -in root.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out root.crt -days 1825 -extensions SAN -extfile san.cnf
    
    ###  san.cnf
    [SAN]
    subjectAltName=@alt_name
    [alt_name]
    #DNS/IP config
    IP.1=127.0.0.1
    DNS.1=127.0.0.1
    ### 恭喜你获得 root.crt证书一枚 宝物 !
    

    第四步:将crt 转换成p12格式

    
    ### crt 转 p12
    openssl pkcs12 -export -CAfile ca.crt  -in root.crt -inkey st.key -out server.p12 -name "server"
    
    

    第四步:p12导入jks (keystore)

    
    ### 导入证书
    keytool -importkeystore -srckeystore server.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore st-client.keystore -deststorepass st-client.password
    
    ### 恭喜你获得 st-client.keystore  宝物 !
    

    配置tomcat

    <Connector port="8444" protocol="org.apache.coyote.http11.Http11Protocol"
                   maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
                   clientAuth="false" setProtocol="TLS" keystoreFile="conf/st-client.keystore"
                   keystorePass="st-client.password" />
    
    

    如要将上面生成的ca.crt导入到系统证书库中,“受信任的根证书”

    这次有点绕,即用openssl ,又使用了keytool ,下次再讲下keytool下如何生成自签名CA证书。

    赶紧试试吧!

    相关文章

      网友评论

          本文标题:一级CA自签名证书

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