1.概念

数字证书

HTTPS请求时,Server发给浏览器的认证数据,用私钥签名,并且告诉浏览器公钥,利用公钥解密签名,确认Server身份。

证书还会指明相应的CA,CA能确认证书是否真的是CA颁发的。

可以用PEM、等编码

SSL/TLS

SSL是上世纪由Netscape设计的web安全协议,并获得了广泛应用,SSLv2.0, v3.0,目前主要是v3

TLS是ITEF将SSL协议标准化了,TLSv1.0,v1.1,v1.2。

其实TLSv1.0跟SSLv3.0差异很小,几乎一样。

openSSL: 一个开源的实现了SSL/TLS协议的库,包括3部分内容。

a. SSL_xxx带头的API,支持SSL/TLS协议

其中SSL* 这个结构最重要,调用openSSL API都会拿这个handle

最后类似socket一样提供 SSL_read(SSL* buf,bufsize), SSL_write(SSL* buf,bufsize)

b. X509_xxx, AES_xxx, RSA_xxx MD5_xxx等API, 支持业界通用的证书认证、加解密等功能。

c. 提供一些二进制工具,用来生成证书、签名、加解密等功能。

2.数字证书认证流程

2.1跟服务器TCP连接

2.2服务器传送证书给浏览器

a. signedCertificate

版本、序列号(CA据次确定证书)、签名的算法

颁发者(CA)的可识别名称: countryName, stateName, localityName,

OrganizationUnit, OrganizationName, commonName(有效的 DNS 名称)

有效期、

证书名称: OrganizationUnit, OrganizationName, commonName

证书的算法及公钥

扩展

b. algorithmId: 证书的签名算法

c. encryptedData: 证书签名值,CA对证书签名后的值,结合CA的私钥,使用algorithmID对应的算法生成。

2.3浏览器如何验证

浏览器根据证书的CA的公钥,对证书签名部分解密,解密成功则证书是CA颁发的。

3.使用代理时,如何处理证书认证

代理可以有很多种,http代理,socket代理等。

socket的代理,可以代理就不需要处理证书了,仅仅作为一个bridge。

4.补充

openSSH: 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制,用来加密远程控件和文件传输过程中的数据。

FreeBSD: 是一种自由的类Unix操作系统

数字证书认证这点事, SSL/TLS,OpenSSL的更多相关文章

  1. k8s基于CA签名的双向数字证书认证(三)

    1.设置kube-apiserver的CA证书相关的文件和启动参数   1)创建CA证书和私钥相关的文件 openssl genrsa -out ca.key openssl req -x509 -n ...

  2. 转: https 单向双向认证说明_数字证书, 数字签名, SSL(TLS) , SASL

    转自: http://www.cnblogs.com/mailingfeng/archive/2012/07/18/2597392.html 因为项目中要用到TLS + SASL 来做安全认证层. 所 ...

  3. https 单向双向认证说明_数字证书, 数字签名, SSL(TLS) , SASL_转

    转自:https 单向双向认证说明_数字证书, 数字签名, SSL(TLS) , SASL 因为项目中要用到TLS + SASL 来做安全认证层. 所以看了一些网上的资料, 这里做一个总结. 1. 首 ...

  4. 数字证书, 数字签名, SSL(TLS) , SASL .

    因为项目中要用到TLS + SASL 来做安全认证层. 所以看了一些网上的资料, 这里做一个总结. 1. 首先推荐几个文章: 数字证书: http://www.cnblogs.com/hyddd/ar ...

  5. (转)数字证书, 数字签名, SSL(TLS) , SASL

    转:http://blog.csdn.net/xueshanfeihu0/article/details/9154219 因为项目中要用到TLS + SASL 来做安全认证层. 所以看了一些网上的资料 ...

  6. SSL身份认证原理 - 目标: 搞清楚数字证书和数字签名的关系

    1  概述 1.1  产生背景 基于万维网的电子商务和网上银行等新兴应用,极大地方便了人们的日常生活,受到人们的青睐.由于这些应用都需要在网络上进行在线交易,它们对网络通信的安全性提出了更高的要求.传 ...

  7. 理解 HTTPS 工作原理(公钥、私钥、签名、数字证书、加密、认证)(转)

    本文摘录参考: 细说 CA 和证书(主要讲解 CA 的使用) 数字签名是什么?(简单理解原理) 深入浅出 HTTPS 工作原理(深入理解原理) HTTP 协议由于是明文传送,所以存在三大风险: 1.被 ...

  8. SSL/TLS算法流程解析

    SSL/TLS 早已不是陌生的词汇,然而其原理及细则却不是太容易记住.本文将试图通过一些简单图示呈现其流程原理,希望读者有所收获. 一.相关版本 Version Source Description ...

  9. SSL/TLS 原理详解

    本文大部分整理自网络,相关文章请见文后参考. SSL/TLS作为一种互联网安全加密技术,原理较为复杂,枯燥而无味,我也是试图理解之后重新整理,尽量做到层次清晰.正文开始. 1. SSL/TLS概览 1 ...

随机推荐

  1. for循环练习题(1 ,判断任意一个数是91的多少倍 2,编写程序实现给定一个整数判断它从0到这个整数中间出现多少次9的次数)

    1 //判断任意一个数是9的多少倍 #include <stdio.h> #include <stdlib.h> int main() { printf("请输入任意 ...

  2. Redis 常用数据结构命令

    1. 字符串(string) 增加元素 set key value [EX seconds] [PX milliseconds] [NX|XX] EX seconds:为键设置秒级过期时间 PX mi ...

  3. ld: i386 架构于输入文件 bar.o 与 i386:x86-64 输出不兼容

    报错:ld: i386 架构于输入文件 foo.o 与 i386:x86-64 输出不兼容 或者:ld: i386 architecture of input file `foo.o' is inco ...

  4. microbiom github reference

    https://github.com/SchlossLab https://github.com/crazyhottommy

  5. 深圳Uber优步司机奖励政策(12月28日到1月3日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  6. 宁波Uber优步司机奖励政策(12月14日到12月20日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  7. LeetCode: 31. Next Permutation (Medium)

    1. 原题链接 https://leetcode.com/problems/next-permutation/description/ 2. 题目要求 给出一个整型数组,让我们给出下一个排序情况.注意 ...

  8. pg mysql 比较

    PostgreSQL 与 MySQL比较: 一.pg优势: MySQL 不支持 OVER 子句, 而 Pg 支持 它可以存储 array 和 json, 可以在 array 和 json 上建索引, ...

  9. hdu1058Humble Numbers(动态规划)

    Humble Numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  10. 在nginx环境下,直接用域名访问(首页)

    ①: server { listen 80; server_name www.njm1.com; location = / { #=/规则可以直接访问域名.如:www.njm1.com.跳转到http ...