zoukankan      html  css  js  c++  java
  • 使用 GPG 对数据进行加密解密签名

    一:使用 GPG 对数据进行加密解密签名 基本的工具使用  

    1. GPG 是GNUPG 免费开源的gpg加密工具,和同pgp兼容,pgp收费。

    2. 在mac上使用 https://gpgtools.org/

       下载安装之后,打开GPG Keychain mac程序,

       可以点击新建创建一份自己的公钥和私钥,并把公钥上传到开源服务器上,各服务器间数据同步;

      

      创建完成之后!我们对一个文件加密,解密,签名验证签名就可以了!

       选中文件,右键,服务里面即可看到支持的工具

       

    3. 在 windows 上使用 https://www.gpg4win.org/

       下载安装之后 File  new 同样新建立一份 公钥密钥对,也可以上传到开源公钥服务器,查询时以邮件为标识!

       

        同样,选中要加密或解密的文件 右键即可看到提供的服务

      

    4. linux上直接安装 Gnupg源码,编译安装

       http://www.jianshu.com/p/268064e67719 

    二:加密解密,签名使用的流程

    大致流程:

    用户A用户名B,分别生成各自的解密对,公钥A,公钥B,私钥A,私钥B;

    数据uA.txt,uB.txt

    签名:用户A用 私钥A签名uA.txt并把公钥A 发给用户B,用户B 用以上工具,先导入公钥A,然后验证签名;

    加密:用户A 先导入用户B的,公钥B;然后用 公钥B加密uA.txt, 发送用户B,用户B收到后,用私钥B解密数据即可;

    利用签名和RSA加密的机制,不仅可以确保数据安全,还可以确保数据未串改以及不可否认性

    当然这里尤其重要的一点就是私钥,,为保证绝对安全,私钥是不能网络传输的;

    以下演示在 mac上签名加密以 win上验证签名和解密

     mac 和win的密钥对交换需要提前导入,并设置互相信任对方的公钥

    mac 上在列表中选中公钥,右键,细节--密钥---Ownertrust---选择信任程度

    win上 在列表中选中公钥,右键,Change ownertrust---选择信任程序

    1. 签名文件 以及加密文件  mac.txt (签名用的是mac的私钥,加密用的是win的 公钥)

     签名得到 mac.txt.sig

     加密得到 mac.txt.gpg

    2. 在 win上 验证签名和解密 (验证签名用的是mac的公钥,解密用的是win 的私钥)

    参考:其他基础请参考,RSA, 数字证书,签名,公钥密钥,非对称加密等知识

    RSA

    GPG

  • 相关阅读:
    PAIRING WORKFLOW MANAGER 1.0 WITH SHAREPOINT 2013
    Education resources from Microsoft
    upgrade to sql server 2012
    ULSViewer sharepoint 2013 log viewer
    Top 10 Most Valuable Microsoft SharePoint 2010 Books
    讨论 Setsockopt选项
    使用 Alchemy 技术编译 C 语言程序为 Flex 可调用的 SWC
    Nagle's algorithm
    Nagle算法 TCP_NODELAY和TCP_CORK
    Design issues Sending small data segments over TCP with Winsock
  • 原文地址:https://www.cnblogs.com/cocoajin/p/5969069.html
Copyright © 2011-2022 走看看