https 证书的生成及C语言实现

 

 

 2、C语言实现SSL认证

      SSL认证支持单向认证与双向认证,

    单向认证是指客户端验证服务器证书是否可靠, 双向认证是客户端与服务器端双向验证

2.1 单向认证

 

 2.2 双向认证

 

 

 3、证书类型

     1、自签名证书方式 , 不经过第三方认证

     2、Ca证书

4、公私钥存放位置

      公钥是存放在服务器上,由服务器上返回给客户端

      私钥也是存放在服务器,由服务器个人使用

5、https不一定可靠,有可能会遇到中间人攻击

 

单向认证:

 

 

 

 

 

 

fd0d5fa5a2deafd819505a9281bd05d6_197faa979872bc28d5bfdfa996688581

 双向认证:

 

81d48f97cb84863c9281ab13a325565b_444877f526addc35c6257339b79b6566

 

握手阶段(核心)

1. 验证身份:客户端用 CA 公钥解密服务器证书签名

2. 传递密钥:客户端用服务器公钥加密预主密钥

 

 数据传输阶段(核心)

仅在 OCSP 验证、重校验等特殊场景辅助使用,不加密业务数据

 

 

参考链接:

https://cloud.tencent.com/developer/article/1548350

https://breezetemple.github.io/2019/04/11/one-way-vs-two-way-ssl-authentication/

https://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html

https://www.jianshu.com/p/1f426385ba53

https://mp.weixin.qq.com/s?__biz=MzUxODAzNDg4NQ==&mid=2247518909&idx=1&sn=a97a218899abf5310385d84e01d30851&chksm=f98dce17cefa4701bc1a7d98fb3084a1de9c25c28cad5003f80a78a07c2a29ba5e74e04937ce&scene=21#wechat_redirect

posted @ 2022-06-09 10:31  cogitoergosum  阅读(784)  评论(0)    收藏  举报