zoukankan      html  css  js  c++  java
  • 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  

        

          

  • 相关阅读:
    Centos命令参数自动补全
    使用pigz快速压缩TB级别文件
    yum使用http代理,wget使用http代理
    "Non Zero Exit Status” R 3.0.1 'XML' and 'RCurl' " in bioconductor while installing packages
    centos 6.5 编译 segemehl 出错的解决方法
    centos下raid详解
    CentOS6.5环境安装VMware虚拟机----解决启动虚拟机时could not open /dev/vmmon: No such file or directory的问题
    CentOS 6.5升级Firefox浏览器
    EditPlus正则表达式替换字符串详解
    makefile完毕,编译链接通过
  • 原文地址:https://www.cnblogs.com/dreamer-One/p/5621134.html
Copyright © 2011-2022 走看看