openssl/gmssl 常用命令

windows平台下,openssl的安装,我很早之前也是查资料去安装的,需要openssl源码和perl,以及VS开发工具(具体步骤,大家百度一下吧)。现在已经有现成的安装包了,安装完之后,配置bin目录的环境变量就可以了。

今天用到了一些转换命令,记录一下。

WARNING: can't open config file: /usr/local/ssl/openssl.cnf

   set OPENSSL_CONF=C:\openssl-1.0.1c\openssl-1.0.1c\apps\openssl.cnf

生成rsa2048密钥证书和key文件

    req -newkey rsa:2048 -nodes -keyout 1.key -x509 -days 365 -out 1.cer

合成pfx

    pkcs12 -export -in 1.cer -inkey 1.key -out 1.pfx

将pfx(pfx在openssl命令里只支持der)转为PEM格式(包含私钥和证书)

    pkcs12  -in 1.pfx -out key2.pem

证书格式转换(DER--->PEM)

    x509 -inform PEM -in 1.cer -outform DER -out 2.cer

生成RSA2048密钥对

   genrsa -out rsa.pri 2048

生成SM2密钥对

   sm2 genkey -out sm2.pri

从私钥中提取公钥打印或者输出到文件

   rsa -in rsa.pri -pubout

   rsa -in rsa.pri -pubout -out rsa.pub

生成rsa pkcs10请求

   req -new -key rsa.pri

   req -new -key sm2.pri

从证书(cer)中获取公钥

   x509 -in rsa.cer -pubkey -out rsa.pub

从pkcs10(csr)中获取公钥

   x509 -req -in rsa.csr -signkey rsa.pri -pubkey -out rsa.pub

   x509 -req -in sm2.csr -signkey sm2.pri -pubkey -out sm2.pub

从pkcs10(csr)生成证书

   x509 -req -in rsa.csr -signkey rsa.pri -out rsa.cer

   x509 -req -in sm2.csr -signkey sm2.pri -out sm2.cer   

SM2证书和RSA证书签发流程:

生成根证书私钥(pem文件)

        gmssl ecparam -genkey -name sm2p256v1 -text -out cakey.pem

        gmssl genrsa -out cakey.pem 2048

生成根证书签发申请文件(csr文件)

        gmssl  req -new -key  cakey.pem -out ca.csr 

自签发根证书(pem文件)

       gmssl x509 -req -days 3650 -sm3 -in ca.csr -signkey cakey.pem -out cacert.pem

       gmssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey cakey.pem -in ca.csr -out  cacert.pem

使用根证书签发服务端证书

        gmssl x509 -req -sm3 -days 3650 -CA cacert.pem -CAkey cakey.pem -CAcreateserial -in server.csr -out servercert.pem

        gmssl x509 -req -days 3650 -sha1 -extensions v3_req -CA cacert.pem -CAkey cakey.pem -CAserial ca.srl -CAcreateserial -in server.csr -out servercert.pem

使用CA证书验证server端证书,显示“OK”则成功

        gmssl verify -CAfile cacert.pem servercert.pem

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值