数字证书、签名到底是什么?这篇文章讲得太好了

密码学:一文读懂数字证书 消息摘要算法用于验证数据完整性服务,对称加密算法和非对称加密算法用于保证数据保密性服务,数字签名算法用于抗否认性服务。数字证书集合了多种密码学算法:自身带有公钥信息,可完成相应的加密/解密操作;同时,还带有数字签名,可鉴别消息来源;且自身带有消息摘要信息,可验证证书的完整性;由于证书本身含有用户身份信息,因而具有认证性。 阅读详情
AI摘要

本文深入解析HTTPS协议的工作原理,涵盖对称加密与非对称加密的区别、数字签名和数字证书的作用,以及SSL/TLS握手过程等内容。通过实例展示如何生成CSR文件,并探讨TLS/SSL如何确保信息传输的安全。

前段时间整理了关于数字证书和数字签名的一些内容,今天整理一下发出来。

我们都知道 HTTP 协议都是明文传输内容,为了保证数据传输的安全,HTTPS 协议就应运而生了,但它其实并不是一个全新的协议,而是HTTP 协议基本之上 再加上SSL/TLS 协议。

因此当你访问一个支持 https 的网站时,是需要先进行 SSL/TLS 握手建立连接的。

SSL/TLS 握手的目的是为了 安全 地协商出一份对称加密的密钥,有了这个密钥之后,后续的数据全部使用这个密钥进行加密。

这个过程其实挺有趣的,涉及到的知识点,专业名词也很多,比如对称加密,非对称加密,信息摘要,数字签名,数字证书,公钥和私钥。本篇文章,会详细地介绍这些极易混淆的专业名词。

在讲解之前,我先给你提出几个摸底问题,如果你已经还不能够熟练回答,那么本篇文章会给你答案:

1、 对称加密和非对称加密,各有什么优缺点?

2、对称加密和非对称加密,是排他关系吗?是否可以搭配使用?

3、摘要和加密有什么区别?有了摘要算法为什么还要有加密算法?

4、如何在通信时同时做到保密性、高效性?

5、如何申请数字证书?证书分为哪几种?SSL 证书如何部署?

6、完整说下证书申请、证书签发、证书下发客户端、客户端验证证书、数据加密传输的整个流程?

1. 对称加密与非对称加密

对称加密

对称加密是通信双方共同拥有一把密钥。

这把密钥可以把明文加密(encryption)成密文,也可以把密文解密(decryption)成明文。

常见的对称加密算法有AES、DES、RC4,其中最常用的是AES。

对称加密的优点是:速度快。

同时也有一个缺点,就是不那么安全,一旦你的密钥被别人窃取了,所有的数据就会在网络的世界里裸奔。

非对称加密

与 对称加密相对的是 非对称加密。

通信双方持有不同的密钥。

服务端的密钥,称之为 私钥(private key),客户端的密钥,称之为 公钥 (public key)。

他们二者的区别是:

1、私钥应仅在服务端保存,绝不可泄露。而公钥可以存在于任何的客户端,即使黑客拿到了也没有关系。

2、公钥加密的密文只有相对应的私钥才能解密

3、私钥加密的内容,所有与之相对应的公钥都能解密。

4、私钥通常用来生成签名,公钥用来验证签名。

5、公钥和私钥是相对的,两者本身并没有规定哪一个必须是公钥或私钥。这意味着,公钥只要不对外公开,那就可以做为私钥,私钥公开后也可以做为公钥。

典型的非对称加密算法有 RSA 。

非对称加密的优点,就是安全系数特别高。缺点就是速度会慢一些。

对称与非对称加密结合

当客户端收到的公钥是准确的时候,通信就是安全的。

因为用正确公钥加密过的密文,只有服务端的私钥能解。

那么如何保证,客户端收到正确的公钥呢?

答案是:通过非对称加密来协商对称加密的密钥,服务端一旦把正确的公钥安全地送达到客户端后,后续的通信,为了保证高效通信,再采用对称加密来加密数据。

具体的过程,后面会更加详细的阐述这一过程。

2. 摘要、签名、证书是啥?

信息摘要

一段信息,经过摘要算法得到一串哈希值,就是摘要(dijest)。

常见的摘要算法有MD5、SHA1、SHA256、SHA512等。

关于摘要,有几点需要你明白的:

1、摘要算法,是把任意长度的信息,映射成一个定长的字符串。

2、摘要算法,两个不同的信息,是有可能算出同一个摘要值的。

3、摘要算法与加密算法不同,不存在解密的过程。

4、摘要算法不用于数据的保密,而是用于数据的完整性校验。

数字签名

摘要经过私钥的加密后,便有了一个新的名字 -- 数字签名。

签名 是在发送方,这是一个加密的过程。

验签 是在接收方,这是一个解密的过程。

那搞懂数字签名的意义是什么?只要回答下面两个问题即可。

第一个问题,有了信息摘要,为何还要有数字签名?

答:信息摘要,虽然也不可逆,但却容易却被伪造。所以信息摘要只用于校验完整性,而要保证信息摘要的正确性,就要依靠数字签名啦。

数字签名的签名和验签是非对称加密,其他人除非拿到私钥,不然没法伪造。

第二个问题,为什么不对内容直接加密,而是对摘要进行加密。

答:由上面我们知道了非对称加密的速度非常慢,如果传输的数据量非常大,那这个加密再解密的时间要远比网络传输的时间来得长,这样反而会得不偿失。

如果我们对传输的内容只有完整性要求,而安全性没有要求(意思是传输的内容被人知道了也没关系)。那就可以对摘要进行加密,到客户端这里解密后得到摘要明文,再用这个摘要明文与传输的数据二次计算的摘要进行比较,若一致,则说明传输的内容是完整的,没有被篡改。

数字证书

在数字签名那里,不知道你有没有发现一个问题?

数字签名是非对称加密,服务端有一个私钥,客户端一个公钥,只有这两个对上了验签。

那假如说你(客户端)拿到的公钥并不是服务端给的呢,而是黑客塞给你的呢?而你却把这个假公钥当成真的,那么当你使用这个假公钥加密一些敏感信息时,黑客就可以截取你的这段信息,由于这信息是用黑客自己的公钥加密的,这样一来,黑客拿自己的私钥就能解密得到你的敏感信息。

这就是问题所在。

要解决这个问题,其实只要保证『公钥』是可信的。只有服务端发给你的公钥你才能拿,而坏人给你的公钥,你要懂得识别并丢弃它。

数字证书就应运而生了。

要理解数字证书,同样只要搞懂两个问题即可。

  1. 数字证书是什么东西?其实它就是一个 .crt 文件

  2. 数字证书是谁颁发的?由权威证书认证机构颁发,一般我们简称为 CA 机构

  3. 数字证书如何申请的?或者说如何颁发的?

为了让你理解这一过程,我画了下面这张图:

1、在自己的服务器上生成一对公钥和私钥。然后将域名、申请者、公钥(注意不是私钥,私钥是无论如何也不能泄露的)等其他信息整合在一起,生成.csr 文件。

2、将这个 .csr 文件发给 CA 机构,CA 机构收到申请后,会通过各种手段验证申请者的组织信息和个人信息,如无异常(组织存在,企业合法,确实是域名的拥有者),CA 就会使用散列算法对.csr里的明文信息先做一个HASH,得到一个信息摘要,再用 CA 自己的私钥对这个信息摘要进行加密,生成一串密文,密文即是所说的 签名。签名 + .csr 明文信息,即是 证书。CA 把这个证书返回给申请人。

3. 数字证书(Certificate)

在HTTPS的传输过程中,有一个非常关键的角色--数字证书,那什么是数字证书?又有什么作用呢?

所谓数字证书,是一种用于电脑的身份识别机制。由数字证书颁发机构(CA)对使用私钥创建的签名请求文件做的签名(盖章),表示CA结构对证书持有者的认可。

3.1 数字证书拥有以下几个优点

  • 使用数字证书能够提高用户的可信度;

  • 数字证书中的公钥,能够与服务端的私钥配对使用,实现数据传输过程中的加密和解密;

  • 在认证使用者身份期间,使用者的敏感个人数据并不会被传输至证书持有者的网络系统上;

2.2. 证书类型

x509的证书编码格式有两种:

  1. PEM(Privacy-enhanced Electronic Mail)是明文格式的,以 -----BEGIN CERTIFICATE-----开头,以-----END CERTIFICATE-----结尾。中间是经过base64编码的内容,apache需要的证书就是这类编码的证书.查看这类证书的信息的命令为: openssl x509 -noout -text -in server.pem。其实PEM就是把DER的内容进行了一次base64编码

  2. DER是二进制格式的证书,查看这类证书的信息的命令为: openssl x509 -noout -text -inform der -in server.der

2.3. 扩展名

  • .crt证书文件,可以是DER(二进制)编码的,也可以是PEM(ASCII (Base64))编码的),在类unix系统中比较常见;

  • .cer也是证书,常见于Windows系统。编码类型同样可以是DER或者PEM的,windows下有工具可以转换crt到cer;

  • .csr证书签名请求文件,一般是生成请求以后发送给CA,然后CA会给您签名并发回证书

  • .key一般公钥或者密钥都会用这种扩展名,可以是DER编码的或者是PEM编码的。查看DER编码的(公钥或者密钥)的文件的命令为: openssl rsa -inform DER -noout -text -in xxx.key。查看PEM编码的(公钥或者密钥)的文件的命令为: openssl rsa -inform PEM -noout -text -in xxx.key;

  • .p12证书文件,包含一个X509证书和一个被密码保护的私钥

2.4 证书的种类

安全证书主要分为DV、OV和EV三个种类,对应的安全等级为一般、较好和最高三个等级。三者的审核过程、审核标准和对应的域名数量也不同,所以价格在一两百元到几万元不等。

DV SSL

DV SSL证书是只验证网站域名所有权的简易型(Class 1级)SSL证书,可10分钟快速颁发,能起到加密传输的作用,但无法向用户证明网站的真实身份。

目前市面上的免费证书都是这个类型的,只是提供了对数据的加密,但是对提供证书的个人和机构的身份不做验证。

OV SSL

OV SSL,提供加密功能,对申请者做严格的身份审核验证,提供可信×××明。

和DV SSL的区别在于,OV SSL 提供了对个人或者机构的审核,能确认对方的身份,安全性更高。

所以这部分的证书申请是收费的~

EV SSL

超安=EV=最安全、最严格 超安EV SSL证书遵循全球统一的严格身份验证标准,是目前业界安全级别最高的顶级 (Class 4级)SSL证书。

金融证券、银行、第三方支付、网上商城等,重点强调网站安全、企业可信形象的网站,涉及交易支付、客户隐私信息和账号密码的传输。

这部分的验证要求最高,申请费用也是最贵的。

选择签发机构时,最好选择行业认可的全球范围内都可以使用的ca机构签发的证书。目前我们国内的证书能够符合标准的还不是特别多,主要原因是有一些证书不能够被国外的浏览器所认可,在使用的时候需要进行一定的额外操作。

根据保护域名的数量,SSL证书又分为:

单域名版:只保护一个域名,例如 www.abc.com 或者 login.abc.com 之类的单个域名

多域名版:一张证书可以保护多个域名,例如同时保护 www.abc.com , www.bcd.com, pay.efg.com 等

通配符版:一张证书保护同一个主域名下同一级的所有子域名,不限个数,形如 *.abc.com 。注意,通配符版只有 DVSSL 和 OVSSL 具有, EVSSL 不具有通配符版本。

2.5 证书在哪里

当你在下载并安装浏览器时,浏览器内部其实已经内嵌了全世界公认的根证书颁发机构的证书。

若一个网站的数字证书的证书颁发机构在浏览器中没有,则需要引导用户自行导入。

如果你想在 Chrome 中查看有哪些受信任的证书颁发机构,可以点击 设置 -> 隐私设置与安全性 -> 安全 -> 管理证书

2.6 证书里的信息

在上图的位置里,随便双击点开一个证书,就可以查看证书里的内容。

内容非常多,最主要的有

  • 证书是哪个机构的?

  • 证书里的公钥是什么?

  • 证书有效期是什么时候?

  • 采用的哪种加解密的算法?

2.7 证书吊销

证书是有生命周期的,如果证书的私钥泄漏了那这个证书就得吊销,一般有两种吊销方式:CRL和OCSP。

CRL( Certificate Revocation List)是CA机构维护的一个已经被吊销的证书序列号列表,浏览器需要定时更新这个列表,浏览器在验证证书合法性的时候也会在证书吊销列表中查询是否已经被吊销,如果被吊销了那这个证书也是不可信的。可以看出,这个列表随着被吊销证书的增加而增加,列表会越来越大,浏览器还需要定时更新,实时性也比较差。

所以,后来就有了 OCSP (Online Certificate Status Protocol)在线证书状态协议,这个协议就是解决了 CRL 列表越来越大和实时性差的问题而生的。有了这个协议,浏览器就可以不用定期更新CRL了,在验证证书的时候直接去CA服务器实时校验一下证书有没有被吊销就可以,是解决了CRL的问题,但是每次都要去CA服务器上校验也会很慢,在网络环境较差的时候或者跨国访问的时候,体验就非常差了,OCSP虽然解决了CRL的问题但是性能却很差。

如果你想了解更多关于证书的内容,可以前往华为云的公开文档进行学习:https://support.huaweicloud.com/scm_faq/scm_01_0020.html

4. 如何生成 CSR 文件

CSR是Certificate Signing Request的英文缩写,即证书签名请求文件。

当申请者申请数字证书时,CSP(加密服务提供者)生成私钥,同时也生成了CSR文件。申请者将CSR文件提交至Certificate Authority (CA)机构后,CA机构使用其根证书私钥签名,从而就生成了数字证书。

申请者通过CSR文件,向CA机构申请数字证书。获取证书后,就能证明申请者的网站是可信的,数据传输是加密的。

接下来来了解一下,CSR 文件是如何生成的?

使用 OpenSSL 生成

假设申请的域名为 python.iswbm.com,公司名称为派森时光科技,部门是IT部,公司在中国广东省深圳市。可通过运行下方命令行生成CSR文件:

$ openssl req -new –SHA256 -newkey rsa:2048 -nodes -keyout python.iswbm.com.key -out python.iswbm.com.csr -subj "/C=CN/ST=Guangdong/L=Shenzhen/O=派森时光科技/OU=IT/CN=python.iswbm.com"

此命令行表示:

  • req参数:表示证书请求request,用于生成CSR文件。

  • SHA256参数:表示CSR签名时用的摘要算法。

  • newkey参数:表示指定证书的算法。参数 2048:表示密钥对的长度。

  • nodes参数:表示不对私钥加密。

  • keyout参数:表示生成的私钥文件。名为iswbm.key的私钥文件,需自行保管,用于获取证书后的部署过程。

  • out参数:表示生成的 CSR 文件。名为iswbm.com.csr的CSR文件,用于提交至CA机构验证信息,从而获取证书。

  • subj参数:表示CSR信息,具体有哪些参数,可以继续往下看。

subj参数说明:

  • C:Country,表示国家,申请者或申请企业所在国家的英文或两位大写国家代码。如:CN

  • ST:State/Province,表示省份,申请者或申请企业所在地的省/市/自治区英文或拼音全称。如:Guangdong

  • L:Locality,表示城市,申请者或申请企业所在城市的英文或拼音全称。如:Shenzhen

  • O:Organization,表示申请者的姓名或申请企业的名称。

  • OU:Organizational Unit,表示申请人所在部门的英文或拼音全称。如:IT

  • CN:Common Name,表示你要为哪个域名申请证书,可是单域名(比如 python.iswbm.com),也可以是泛域名(*.iswbm.com),也可以是为多个域名申请一个证书(具体我没操作过)。

上一条命令执行完后,会在你的本地目录下生成两文件

  • python.iswbm.com.csr:用于向CA机构申请证书

$ cat python.iswbm.com.csr
-----BEGIN CERTIFICATE REQUEST-----
MIIC0TCCAbkCAQAwgYsxCzAJBgNVBAYTAkNOMRIwEAYDVQQIDAlHdWFuZ2Rvbmcx
ETAPBgNVBAcMCFNoZW56aGVuMS0wKwYDVQQKDCTDpsK0wr7DpsKjwq7DpsKXwrbD
...
7lgB4QC1aIFz8gi9TGMJU2LqTDJCj+tgM68LDBdMLeQ8XZ33C95Nl0qt7yG+zjlZ
01jBh+T882r8x9gKdwb7nZSWFQY4/YTq+sY++YW/QuCNRcJ2vbM18U/HlIRsZ3su
x6Neh08=
-----END CERTIFICATE REQUEST-----
  • python.iswbm.com.key:私钥,自行保存,不要外泄

$ cat python.iswbm.com.key
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC4OrcM9hTs9Hao
SzjsVJFX2Mmd+mToMG3u++o2Fd5yrPYq4COkT33lnL9kJNrDWqGp5TRkWqNwLaPl
...
a/lKBWLcvxE+IQ+mxNbN058kEJ3l8WAcAFCebLm5czUqmIVa3JR+cBDLvGFZVn6z
72AP5D/Evds4BOO+VzAiVLU6Ai78qhACuVExZNQCxdvJy4LxpeckUpCem9hAPiIY
LQfiTStBBU6t/+mnDyij+XreGQ==
-----END PRIVATE KEY-----

使用在线生成工具

使用 OpenSSL 工具生成 CSR 文件的方法固然简单,但使用时,需要你的了解代码中参数的意思。

如果你不想花心思去记这些,推荐你使用  CSR在线生成工具(https://myssl.com/csr_create.html)

你只需简单地输入如下信息,再点击 OpenSSL生成,你就可以获得一条 OpenSSL 命令,这下你再也不用自己拼凑参数啦,真的太方便了。为什么不点击 生成 让其直接生成 私钥文件 和 CSR文件 呢?当然是为了安全起见啦。

5. TLS/SSL 保证信息的安全

在信息安全性问题中,我们常常要做到三点才能保证信息的安全:

  1. 信息的保密性

  2. 信息的完整性

  3. 身份识别

将这三者结合起来,就是 TLS/SSL 做的事情

1、客户端(浏览器)向服务端发出请求,服务端返回证书给客户端。

2、客户端拿到证书后,把证书里的签名与及明文信息分别取出来,然后会用自身携带的CA机构的公钥去解密签名,然后信息摘要1,然后再对明文信息进行HASH,得到一个信息摘要2,对比信息摘要1 和信息摘要2,如果一样,说明证书是合法的,也就是证书里的公钥是正确的。

以上采用的是非对称加密(CA的公钥和私钥),保证了客户端接收到服务端正确的公钥,有了服务端的公钥后,后面的信息加密都可以使用这个公钥,而用这个公钥加密过后的密文,只有服务端的私钥能解,就算黑客拿到了也没法解开。

好了,以上就是本次分享的全部内容了,希望对你会有帮助。

CODESYS EtherCAT通讯断了怎么办?手把手教你用ST语言写状态监测程序(附完整代码) 本文详细解析了CODESYS平台下EtherCAT通讯中断的故障排查与恢复方法,通过ST语言编写状态监测程序实现链路监测、故障隔离和伺服恢复。文章包含完整代码示例,帮助工程师快速诊断EtherCAT网络问题,提升工业自动化设备的运行稳定性。 阅读详情

相关推荐

FPGA 上的 YOLOv8 实时目标检测:从模型优化到硬件加速全解析

本文全面解析了将YOLOv8目标检测模型部署到FPGA进行硬件加速的完整流程。通过模型裁剪、混合精度量化等优化手段,结合HLS设计专用计算引擎与数据流,实现了高能效比的实时推理。文章深入探讨了软硬协同部署、性能调试与优化技巧,为追求极致实时性与低功耗的边缘AI应用提供了从算法到硬件的实战指南。

weixin_29031161的博客 609

什么是数字证书和数字证书认证机构和数字根证书,HTTPS认证流程和对称加密

什么是数字证书和数字证书认证机构和数字根证书,HTTPS认证流程和对称加密 是用于公开密钥基础建设的电子文件,用来证明公开密钥拥有者的身份。HTTPS进行认证就是用数字证书自签证书(相对于个人证书)服务器证书(用于通过安全套接字层 [SSL] 技术在服务器和客户机之间建立安全会话)证书的内容包括:电子签证机关的信息、公钥用户信息、公钥、权威机构的签字和有效期等等。目前,证书的格式和验证方法普遍遵循X.509国际标准。从ca获取的数字证书。

一个后端菜鸟的博客 7635

WorkBuddy入门到 多Agent团队协作完全指南(附实操代码与配图)

WorkBuddy的Agent Teams功能支持多智能体协作,通过创建AI团队提升复杂任务处理效率。该功能支持自然语言创建团队、任务分配与依赖管理、成员间消息通信(包括直接消息和广播),并提供任务审批机制。典型应用场景包括软件开发、内容创作等协作任务。环境要求WorkBuddy 2026年3月及以上版本,支持Windows和macOS系统。用户可快速创建包含不同角色的AI团队,通过共享任务列表和信箱系统实现协作。高级功能包括委派模式、任务依赖管理和成员自主认领等,适合各类协作场景。

三棱球的专栏 6492

数字证书简介

数字证书,一种集合了多种加密方式的安全标准,数字证书通常由受到人们广泛信赖的组织向第三方颁发,表明这个第三方也是一个值得信赖的对象。

ThinkStu的博客 9万+

FPGA防抄板实战:如何利用Xilinx芯片的“身份证”(DNA)实现你的加密锁?

本文深入探讨了如何利用Xilinx FPGA芯片的DNA(Device Native Authentication)功能实现硬件级加密保护,防止设计被抄袭。文章详细解析了DNA的物理实现、获取方式,并提供了从DNA到加密密钥的转换方法,以及构建商业级加密防护系统的实战方案。通过JTAG和原语两种读取方式的对比,帮助开发者选择最适合的方案。

weixin_42548829的博客 384

OrCAD Capture CIS 17.4 原理图绘制

OrCAD Capture CIS 17.4 原理图绘制

qq_38960013的博客 7638

数字证书详解

数字证书,X.509,CA,TLS

无线网络系统研究 6268

【学习系列】SAP RAP 1:关于RAP的一些基本介绍

摘要:SAP RAP和CAP是两种不同的开发模型。RAP(RESTful ABAP)用于在S/4HANA等ABAP平台上构建现代业务应用,基于CDS+OData,适合ABAP开发者扩展核心业务。CAP(云应用编程模型)是BTP上的云原生框架,支持Node.js/Java,适合构建跨系统集成应用。RAP优势在于与S/4HANA深度集成,CAP则更灵活,支持多云环境。选择依据主要取决于开发平台(S/4HANA或BTP)、技术栈(ABAP或Node.js/Java)及应用场景(核心扩展或云原生开发)。

DeveloperMrMeng的博客 1168

数字证书是什么

数字证书是保证网络安全、验证身份和加密通信的重要工具。它通过公钥加密技术提供数据安全性,确保通信过程中的信息传输不被篡改或泄露,同时确认参与者的身份。

qq_60535125的博客 1437

【Android性能优化】Android App 冻结与内存压缩:CachedAppOptimizer 源码级解析

本文基于 AOSP Android 16 源码,以 `CachedAppOptimizer` 为核心,深度解析 Android 对"后台缓存应用"的两大治理手段——**进程冻结(Freezer)**与**内存压缩(Compaction)**。文中完整还原冻结的 debounce 去抖动机制、`mEarliestFreezableTime` 的最早可冻结时刻算法、粘性冻结(Sticky Freeze)的语义,以及解冻时必须"先解 binder 再解进程"的顺序奥义。

weixin_44081096的博客 200

【YOLOv11多模态融合改进】| CVPR2025 LCA轻量交叉注意力 双向模态交叉引导 + 双支路噪点抑制,兼顾纹理与热目标特征融合

可见光模态富含纹理、色彩、边缘细节,但夜间/低照度场景信噪比极低,暗区噪声泛滥;红外模态依靠热辐射凸显弱小目标、暗区物体轮廓,但缺失真实色彩与精细纹理。简单拼接/逐加融合仅做浅层特征叠加,无法建立可见光纹理、红外热特征的双向引导关联,两类模态互补信息无法精准互通;普通自注意力仅单模态内部建模,跨模态交互匮乏,红外热目标易被可见光暗噪声淹没,可见光有效纹理易被红外灰度信息覆盖;

Limiiiing的博客 121

一文彻底搞懂加密、数字签名和数字证书,看不懂你打我!

前言 这本是 2020 年一个平平无奇的周末,小北在家里刷着 B 站,看着喜欢的 up 主视频。 在一旁玩手机的女朋友突然问”你知道数字证书是来干啥的不,为啥浏览器提示证书不可信?” 你要说这个,那我可来劲了,于是乎从加密、数字签名一直讲到了数字证书。。。终于把女朋友讲睡着了,独自写下这篇文章。 正文 如果你能非常清晰的回答出以下问题,可以直接拉到最下面帮我点个赞~,把时间用去陪陪女朋友: 非对称加密中公私钥都可以加密,那么什么时候用公钥加密,什么时候用私钥“加密” ? 什么是数字签名,数字签名的作

编程指北 5万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

数字签名,数字证书解释

前言 这本是 2020 年一个平平无奇的周末,小北在家里刷着 B 站,看着喜欢的 up 主视频。 在一旁玩手机的女朋友突然问”你知道数字证书是来干啥的不,为啥浏览器提示证书不可信?” 你要说这个,那我可来劲了,于是乎从加密、数字签名一直讲到了数字证书。。。终于把女朋友讲睡着了,独自写下这篇文章。 正文 如果你能非常清晰的回答出以下问题,可以直接拉到最下面帮我点个赞~,把时间用去陪陪女朋友: 非对称加密中公私钥都可以加密,那么什么时候用公钥加密,什么时候用私钥“加密” ? 什么是数字签名,数字签名的作用是什

weixin_46075832的博客 4615

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

数字签名和数字证书

到底什么是“数字签名”(digital signature)和“数字证书”digital certificate)?对这些问题的理解,一直模模糊糊,很多细节搞不清楚。今天,读完一篇通俗易懂的文章后,思路豁然开朗。为了加深记忆,这篇文章的翻译版记录如下。原理1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥。 2. 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。...

diekanjing2679的博客 4235

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

数字签名和数字证书的区别与联系

前言 最近在开发关于PDF合同文档电子签章的功能,大概意思就是在一份PDF合同上签名,盖章,使其具有法律效应。签章有法律效应必须满足两个条件: 能够证明签名,盖章者是谁,无法抵赖 PDF合同在签章后不能被更改 在纸质合同中,由于签名字迹的不可复制性,盖章的唯一性以及纸质合同对涂改的防范措施(比如金额用大写)可以保证上述两点,从而具备法律效应,那么PDF合同如何保障呢?两个重要的概念就是数字签...

zhaisharap的专栏 1万+

数字证书与数字签名(图文并茂)详解

今天,我读到一篇好文章。 它用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。 我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发现思路一下子就理清了。为了加深记忆,我把文字和图片都翻译出来了。 文中涉及的密码学基本知识,可以参见我以前的笔记。 ===============...

HY845638534的博客 8593

一文彻底搞懂加密、数字签名和数字证书

对,就是 Bob 自己的私钥,Bob 用自己的私钥对邮件内容计算一个「签名」,将「签名」和邮件内容一起发送出去,接受者 Alice 可以使用 Bob 的公钥验证这个签名是否正确,这就叫「验签」。因为内容发生改变时,对应的签名也需要重新计算,而签名的生成依赖于私钥,只要 Bob 的私钥不泄露,签名就不会被冒充。你把钱存在银行,你会担心吗?所以我们最好对数据的「摘要」进行签名,这样,Eve 就算解开签名,拿到的也是「摘要」,如果摘要是不可逆转的,也就是无法从摘要反推出原文,也就达到了保密的作用。

weixin_52493208的博客 1856

数字签名和数字证书的学习总结

本文主要是对网上资源的一些列举和总结,主要涉及的内容有以下几点: 非对称加密,对称加密,摘要算法数字签名数字证书SSL/TLSiOS中的证书以及签名过程 非对称加密,对称加密,摘要算法 非对称加密 参考百度百科-非对称加密算法,总结如下: 需要一对公钥和私钥,对于一个私钥,只有一个对应的公钥公钥可以公开,但是通过公钥几乎不可能推算出私钥通过公钥加密的内容只有私钥才可以

u010675120的博客 4058

关于私钥、公钥、数字签名、数字证书、https、RSA原理解释

根据非对称密码学的原理,每个证书持有人都有一对公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由证书持人自己持有,并且必须妥善保管和注意保密。数字证书则是由证书认证机构(CA)对证书申请者真实身份验证之后,用CA的根证书对申请人的一些基本信息以及申请人的公钥进行签名(相当于加盖发证书机构的公章)后形成的一个数字文件。 首先要搞清楚三个概念,即加密,签名和认证。 一、公钥...

alimingh的博客 4391

[Android Studio] Android Studio生成数字证书,为应用签名

Android Studio生成数字证书,为应用签名 Android 系统要求所有 APK 必须先使用证书进行数字签名,然后才能安装到设备上或进行更新。当准备发布应用时,你需要为你的应用签名并将其上传到应用商店。生成签名的方式有很多种,本篇演示的是如何通过Android Studio创建签名流程。在很多的第三方应用的使用上都需要提供Android 项目的证书获得授权后才能正常使用其功能。

陈丹宇的博客 4653

什么是数字签名、数字证书?

数字签名是什么? 今天,我读到一篇好文章。 它用图片通俗易懂地解释了,“数字签名”(digital signature)和"数字证书"(digital certificate)到底是什么。 我对这些问题的理解,一直是模模糊糊的,很多细节搞不清楚。读完这篇文章后,发现思路一下子就理清了。为了加深记忆,我把文字和图片都翻译出来了。 ==================================================== 数字签名是什么? 原文网址:http://www.youdzone.co

qq_37691909的博客 303

快速理解数字签名及数字证书

最近在开发关于PDF合同文档电子签章的功能,大概意思就是在一份PDF合同上签名,盖章,使其具有法律效应。签章有法律效应必须满足两个条件: 能够证明签名,盖章者是谁,无法抵赖 PDF合同在签章后不能被更改 在纸质合同中,由于签名字迹的不可复制性,盖章的唯一性以及纸质合同对涂改的防范措施(比如金额用大写)可以保证上述两点,从而具备法律效应,那么PDF合同如何保障呢?两个重要的概念就是数字签名和数字证书。这项技术广泛运用于文件认证,数据传输等。 为了弄懂这些,我花了2天时间从加密算法开始,到数字签名和CA证书

lqycwy的博客 635

数字签名与数字证书入门级解读

算法基础 这篇文章不解释具体的概念定义而是以通俗易懂的语言来解读数字签名与数字证书,我们先来理一理需要用到的知识点。 摘要算法 摘要算法是单向算法,明文只能转换成密文,密文却无法转换成明文,这种算法也叫HASH算法,如SHA1,MD5,CRC等。可以这样理解,几乎很难找到两个不同的明文能生成同一个摘要。所以摘要算法能够用于验证数据的完整性,防篡改。 一般在软件发布时会同时公布软件的摘要信息,用户下...

lbcwnu的博客 851

数字证书应用综合揭秘(包括证书生成、加密、解密、签名、验签)

数字证书应用综合揭秘(包括证书生成、加密、解密、签名、验签) 引言 数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。为现实网络安全化标准,如今大部分的 B2B、B2C、P2P、O2O 等商业网站,含有重要企业资料个人资料的信息资信网站,政府机构金融机构等服务网站大部分都使用了数字证书来加强网络的安全性。 数字证书一般由经过国家认证的权威机构颁发,即CA(例如中国...

qq_15045205的博客 2034

数字签名 及 数字证书 原理笔记

如果对一些加密算法不懂可以参考这篇文章我认为的数字签名通过公钥和私钥实现,通过对文件进行hash算法生成唯一hash值(摘要),再通过私钥进行加密得到自己的数字签名,由公钥来验证数字签名验证。

qq_56313338的博客 569
上一篇: 下个10年,Go能取代Python成为开发者的首选语言吗?
下一篇: 去了一趟字节跳动,被怼了!
Wang_AI
博客等级 码龄12年 996粉丝 162原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值