https认证是怎样的

发布时间:2021-11-12 17:37:20 作者:柒染
来源:亿速云 阅读:151

https认证是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。


使用https过程中有三个角色:

  1. CA认证机构: 证书颁发机构(CA, Certificate Authority)即颁发数字证书的机构。是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任

  2. 客户端(client), 以下用 browser 代替

  3. 服务端(server), 以下用 nginx 代替

CA:

证书颁发机构, 他也有自己的公钥和私钥 CA.pub, CA.rsa

服务端, 以nginx为例:

nginx的配置如下

server {
    listen 443 ssl default_server;
    server_name _;
    ssl_certificate /data/ssl_keys/aa.pem;
    ssl_certificate_key /data/ssl_keys/aa.key;
    return 403
}
  1. 服务器也有自己的公私钥, S.rsa和S.pub

  2. ssl_certificate是证书, 其中包含info(公钥S.pub, 及站点信息, 站点信息包括颁发机构, 有效期, 域名等)通过hash算法生成消息摘要发给 CA , CA用其私钥CA.rsa 消息摘要加密得到一个签名, 在加上info组成证书

  3. ssl_certificate_key是服务器的私钥(S.rsa)

客户端访问流程, 客户端系统或浏览器会有内置的信任的CA, 也可以安装自己的CA(自制证书)

  1. client请求到以上nginx, , nginx 把ssl_certificate配的证书(包含签名和info)发个client,,client用CA.pub 解密证书里的签名(用CA.rsa加密info hash得到的), 与info hash之后的摘要对比, 确认CA是否合法(非对称加密)

  2. 验证通过后, client会生成随机对称密钥, 把这个对称密钥用info中的服务器公钥S.pub加密, 发给nginx,

  3. nginx 用私钥(S.rsa, ssl_certificate_key)解密

  4. client和nginx就用对称密钥加密进行http通信, 完成

关于https认证是怎样的问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

推荐阅读:
  1. 关于https证书自签名和https双向认证的简介
  2. 怎么解决https认证书存在的错误

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

https

上一篇:如何快速了解Https

下一篇:Django中的unittest应用是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》