公钥和私钥
公钥和私钥可理解为两个有关系的数字密码。经公钥加密的数据只可以被私钥解密。经私钥加密的数据也只可以被公钥解密。通常情况下公钥是对外公开的,私钥是保密的。
例:A与B通信,通信内容不想被他人知道,可以采用如下方式进行通信
1) A与B互相交换公钥(A与B各自有自己的公钥和私钥)。
2) A使用B的公钥加密通信内容后发给B(这样只有B手上的私钥才能解密)。
3) B收到A发的信后,使用自己的私钥解密,再用A的公钥对回信内容进行加密后发给A。
4) A收到B的回信,使用自己的私钥进行解密。
数字证书
一个数字证书包含的内容有:
1、一个公钥(证书使用者的公钥)
2、证书的基本信息,主要包括使用者的名字(通常是IP或域名)、证书有效期、加密算法等公开信息 3、签发该数字证书的颁发者(称为CA)的信息和签名(使用颁发者的私钥加密的一段数据,只有使用颁发者的公钥才能解密)。
正式的数字证书的颁发者必须是权威机构,权威机构的证书(包含权威机构的公钥的数字证书,也就是权威机构的CA证书)是公开的,所以只要拿到权威机构的CA证书,我们就能对其签发数字证书的签名进行解密,解密成功证明该数字证书是权威机构所签发的。
于是,A与B之间的通信就变成这样:
1) A与B互相交换数字证书
2) A收到的证书为“某权威机构C签发给B的证书”
3) A拿到权威机构C的CA证书,对B证书上的签名(权威机构C的签名)进行解密,解密成功,证明这个证书是权威机构C签发给B的证书。如果A信任权威机构C,则也信任权威机构C签发给B的证书,再使用B证书中的公钥对通信内容进行加密发给B。
4) B收到A的证书也做类似处理。
说明:
自签名的证书是由开发者自己签发的证书。一般情况下,先制作根证书(CA证书,开发者持有对应的私钥),再用根证书的私钥签发子证书。当然,由于开发者持有自签名根证书的私钥,也可以直接使用自签名根证书作为通信过程中的数字证书。
订阅推送成功了!!!!!!!!
接下来就是写接口了!!
学习GO语言
本文详细解释了公钥和私钥的概念及其在安全通信中的应用,并介绍了数字证书的构成及验证流程,帮助读者理解信息安全的基础。
973

被折叠的 条评论
为什么被折叠?



