openssl

作者: 策马踏清风 | 来源:发表于2021-02-04 15:35 被阅读0次

    openssl是目前最流行的SSL密码库工具,提供了一组通用、健壮、完备的工具。

    构成

    • 密码算法库
    • 秘钥和证书封装管理
    • SSL通讯API接口

    秘钥操作

    1. 生成不加密的RSA私钥
    openssl genrsa -out rsa_private.key 2048
    
    1. 使用不加密的RSA私钥生成公钥
    openssl rsa -in rsa_private.key -pubout -out rsa_public.key
    
    1. 生成加密RSA私钥(使用AES256加密)
    openssl genrsa -aes256 -passout pass:123456 -out rsa_aes_private.key 2048
    
    1. 使用加密的RSA私钥生成公钥
    openssl rsa -in rsa_aes_private.key -passin pass:123456 -pubout -out rsa_public.key
    

    转换相关

    1. 加密私钥转非加密
    openssl rsa -in rsa_aes_private.key -passin pass:123456 -out rsa_private.key
    
    1. 非加密私钥转加密
    openssl rsa -in rsa_private.key -aes256 -passout pass:123456 -out rsa_aes_private.key
    
    1. 私钥PEMDER
    • -inform-outform参数制定输入输出格式,由derpem格式同理
    openssl rsa -in rsa_private.key -outform der-out rsa_aes_private.der
    
    1. 私钥PKCS1PKCS8(加密算法填充模式)
    openssl pkcs8 -topk8 -in rsa_private.key -passout pass:123456 -out pkcs8_private.key
    
    1. 查看私钥明细
    openssl rsa -in rsa_private.key -noout -text
    

    生成自签证书

    1. 生成RSA私钥和自签名证书
    openssl req -newkey rsa:2048 -nodes -keyout rsa_private.key -x509 -days 365 -out cert.crt
    
    • req证书请求的子命令
    • newkey rsa:2048 -keyout private_key.pem生成私钥(PKCS8格式)
    • -nodes秘钥不加密,无此参数则提示输入密码
    • -x509输出证书
    • -days365有效期
    • subj证书拥有者信息,如果没有此参数,也可以根据提示输入
    1. 使用已有RSA私钥生成自签名证书
    openssl req -new -x509 -days 365 -key rsa_private.key -out cert.crt
    
    • -new生成证书请求
    • -x509直接输出证书
    • -key指定私钥

    生成签名请求文件及CA签名

    1. 生成RSA秘钥
    openssl genrsa -aes256 -passout pass:123456 -out server.key 2048
    
    1. 生成CSR签名请求(把秘钥生成向CA发起签发证书请求的文件)
    openssl req -new -key server.key -out server.csr
    
    1. 使用CA证书及CA秘钥,对请求签发证书进行签发,生成x509证书
    openssl x509 -req -day 3650 -in server.csr -CA ca.cert -CAkey ca.key -passin pass:123456 -CAcreateserial -out server.crt
    

    原文,未完待续...

    相关文章

      网友评论

          本文标题:openssl

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