IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 数字签名概述 -> 正文阅读

[网络协议]数字签名概述

1. 公钥私钥

  • 公钥其实是用来加密/验章用的;私钥是用来解密/签章 (信息通讯&数字签名两大应用)
  • 公开的密钥公钥,只有自己知道的叫私钥;公钥和私钥成对出现
  • 如果用公钥解密,则必然是对应的私钥加的密;如果用私钥解密,则必然是对应的公钥加的密

2. 签名功能

  • ?保证信息自签发后到收到为止未曾作过任何修改(防篡改)

  • 保证信息是由签名者自己签名发送的,签名者不能否认或难以否认(认证,防抵赖)

?3. 签名算法与CA

  • 签名算法:RSA、DSA、ECDSA
  • 加解密算法:(1)对称加密(私钥加密解密);(2)?非对称加密(公开密钥加密/验章;私钥解密/签秘)

  • ?CA的作用

????????CA是证书的签发机构,它是公钥基础设施核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。CA 拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。证书实际是由证书签证机关(CA)签发的对用户的公钥的认证。

?参考:1)数字签名及数字证书2)数字证书及CA详解3)国内网站都用哪几家CA的SSL证书4)一篇文章让你搞懂 SSL 证书5)数字签名是什么? - 阮一峰的网络日志

4. 制作签名

4.1 工具下载&准备? 数据标签制作所需要的软件文件-其它文档类资源-CSDN下载

  • makecert.exe、cert2spc.exe、pvk2pfx.exe、signtool.exe

    • makecert.exe:证书创建工具,生成仅用于测试目的的X509证书;pvk存私,cer存公钥
    • cert2spc.exe :公钥证书格式转换成SPC(软件发行者证书)
    • pvk2pfx.exe :将公钥证书和私钥合并成一个PFX格式的证书文件
    • signtool.exe :二进制文件数字签名工具

?参考文献:MakeCert - Windows driverswindows下如何制作和应用数字签名证书 全流程

?4.2 实施过程

  • 步骤1:生成一个自签名的根证书(issuer,签发者

makecert.exe -n "CN=Kaspersky Lab" -r -sv ./output/mykey.pvk ./output/mycert.cer
-n: 指定证书的名称,必须符合 X.500 标准
-r: 创建自签署证书
-sv:指定主题的 .pvk私钥文件。 如果该文件不存在,系统将创建1个。 
  • 步骤2:输入口令用私钥(.pvk文件中)来给公钥(.cer文件中)加密,公钥证书格式转换成SPC

cert2spc.exe ./output/mycert.cer ./output/mycert.spc
  • 步骤3:将公钥证书和私钥合并成一个PFX格式的证书文件

pvk2pfx.exe -pvk ./output/mykey.pvk -spc ./output/mycert.spc -pfx ./output/mycert.pfx
  • 步骤4:签名文件

#SignTool 对文件进行数字签名并加盖时间戳
signtool.exe sign /f ./output/mycert.pfx /t http://timestamp.digicert.com /fd SHA256 MyFile.exe

#signcode进行代码签名
双击运行signcode.exe,弹出图形界面,按提示选择

详细操作过程如下所示:

(1)双击signcode.exe,打开代码签名工具,并点击next

(2)选择要签名的文件,点击next

?

?(3)选择签名类型,推荐使用自定义,然后点击next

?(4)选择数字证书,然后点击next

?

?

?(5)添加时间戳,点击next

?

?

  • ?步骤5:首次自签名,需要进行证书信任设置

?????????(1)打开签名文件属性,找到数字签名项,安装证书? ? ? ?

(2)设置完成后,重新打开签名文档属性,可以看到数字签名显示为正常

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:59:55  更:2022-02-28 16:03:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:47:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码