• web开发中使用证书中的密钥进行加密与签名


    一. 首先说一下几种常见证书的存放形式:

          证书格式      存放形式        

      .p12        用于存放公钥/私钥。    

          .pem        用于存放公钥/私钥

          .pfx          用于存放公钥/私钥

          .cer/.crt      用于存放公钥/证书序列号还有证书的信息等等

    二.  提取证书中的内容(仅限linux命令方式)

      1.  .p12证书

        openssl pkcs12 -in 700000000000001.p12 -out 700000000000001.pem     --将.p12证书转化为.pem证书(如果pfx证书已加密,会提示输入密码)

        openssl rsa -in 700000000000001.pem -text -out private.key          --提取证书的私钥

        openssl rsa -in private.key -pubout -out public.key               --提取证书的公钥

          2.  .pem证书

        openssl rsa -in 700000000000001.pem -text -out private.key          --提取证书的私钥(如果pfx证书已加密,会提示输入密码)

        openssl rsa -in private.key -pubout -out public.key               --提取证书的公钥

      3.  .pfx证书

                openssl pkcs12 -in 700000000000001.pfx -nocerts -nodes -out pri_pub.key  --提取证书中的密钥对(如果pfx证书已加密,会提示输入密码)

         openssl rsa -in  pri_pu.key -out private.key                       --提取密钥对中的私钥  

              openssl rsa -in private.key -pubout -out public.key                  --提取密钥对中的公钥

      4.  .cer/.crt证书

         openssl x509 -in 700000000000001.cer -text -out info.text          --提取证书中的序列号等信息

     三.   用命令进行加密/解密/签名/验签等等

        加密--公钥  解密--私钥  签名--私钥  验证--公钥

      1.  对文件签名

        openssl rsautl -sign -inkey prikey.pem -in a.txt  -hexdump            --文件a.txt的内容不能太长

        openssl rsautl -sign -inkey prikey.pem -in a.txt  -out sig.dat  

      2.  验证签名

        openssl rsautl -verify -inkey prikey.pem -in  sig.dat                --验证成功后打印出a.txt的内容

      3.  公钥加密

        openssl rsautl -encrypt -pubin -inkey pubkey.pem -in a.txt -out b.txt 

      4.  私钥解密

        openssl rsautl -decrypt -inkey prikey.pem -in b.txt  

        

          

  • 相关阅读:
    ELF和a.out文件格式的比较
    vim常用命令
    安装linux各种桌面环境
    使用virt-manager创建和管理虚拟机
    第一天 纪念一下
    i节点,容易被人遗忘的节点
    【Linux】服务器之间的免密登录脚本
    【python】python调用shell方法
    【ansible】ansible部署方式以及部署包
    【AWS】亚马逊云常用服务解释
  • 原文地址:https://www.cnblogs.com/dreamer-One/p/5621134.html
Copyright © 2020-2023  润新知