OpenSSL 证书功能

作者: Real_man | 来源:发表于2019-11-24 12:30 被阅读0次

    OpenSSL是一个功能非常强大的安全工具箱,安全相关的内容只要想到的都可以使用OpenSSL来实现。有时候需要在生成PKCS12格式的证书文件,使用openssl要怎么做呢?

    步骤

    1. 找到openssl所在的目录,查看其配置文件指向的相关内容目录。
    which openssl
    vim openssl.conf
    
    image-20191124121118466
    # 创建配置文件中需要的目录及内容
    sudo mkdir -p {certs,private,tls,crl,newcerts}
    sudo echo 00 > serial
    sudo touch index.txt
    
    1. 生成自签名的证书,因为它在使用命令的时候自己已经生成了。注意填写的内容
    # openssl genrsa -des  使用DES加密生成的key,记得要输入密码
    sudo openssl genrsa -out private/cakey.pem -des 1024
    # 根据加密的key生成证书文件,首先要填写上一步生成key的密码,然后添加证书相关信息。
    sudo openssl req -new -x509 -key private/cakey.pem -days 3650 -out cacert.pem
    
    image.png
    1. 生成证书请求,然后给请求颁发证书。注意证书请求填写的内容要与上一步保持一致,否则会出现

    The stateOrProvinceName field needed to be the same in the
    CA certificate (ZHEJIANG) and the request (HANGZHOU)
    或者其它错误

    # 第一步要生成一对rsa的密钥
    sudo openssl genrsa -out private/jmxdemo.key
    
    # 生成颁发证书请求,指定私钥为刚才生成的私钥
    sudo openssl req -new -key private/jmxdemo.key -days 365 -out jmxdemo.csr
    
    # 颁发证书
    sudo openssl ca  -in jmxdemo.csr -out certs/jmxdemo.crt -days 365
    
    image-20191124122106640
    1. 可以看到openssl的数据库有更新,如果后续颁发新的证书,记得要写不同的Common Name
    # 在openssl配置中database的文件位置
    cat index.txt
    
    1. 将生成的证书导出为pkcs12格式的文件。
    keytool -list -v  -storetype pkcs12 -storepass 123456 -keystore jmxdemo-openssl.p12
    
    1. 查看生成的filename.p12内容,其中的别名是我们在spring boot应用中配置需要的。
    keytool -list -v  -storetype pkcs12 -storepass 123456 -keystore filename.p12
    
    image-20191124122910368

    最后

    本篇主要演示了openssl如何生成自签名证书,如果创建pkcs12格式的证书。

    相关文章

      网友评论

        本文标题:OpenSSL 证书功能

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