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  

        

          

  • 相关阅读:
    P1440 求m区间内的最小值
    P1569 Generic Cow Protests
    P3252 [JLOI2012]树
    P3009 [USACO11JAN]Profits S
    <二分查找+双指针+前缀和>解决子数组和排序后的区间和
    常见算法技巧之——双指针思想
    设计模式——单例模式
    操作系统实验——读者写者模型(写优先)
    操作系统——内存管理学习笔记
    Altium Designer 16下载与安装教程
  • 原文地址:https://www.cnblogs.com/dreamer-One/p/5621134.html
Copyright © 2011-2022 走看看