HTTPS是在HTTP基础上实现的一种更安全的身份认证及数据传输协议.百度百科的解释是这样的:
HTTPS (全称:Hyper Text Transfer Protocol over Secure Socket Layer)是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL
上面的定义说明了HTTPS的实现基础是ssl,但在整个认证过程中还有一个重要的权威机构CA(Certificate Authority),先来看看这个CA.
电子商务认证授权机构(CA, Certificate Authority),也称为电子商务认证中心,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任.
这个机构主要就是为网络服务器颁发证书,使网络服务器在互联网中可信.建立这种信任关系的是各个机构的根证书,根证书可以对他们签名的所有服务器进行验证.要得到这种证书需要到对应的机提交申请.对于要求不高的情况下可以使用 Let’s encrypt.
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持.SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装,压缩,加密等基本功能的支持.SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等.
SSL Handshake Protocol握手过程中身份认证和秘钥协商步骤
上面几个步骤成功后之后,就建立了一个双向的认证(单向认证没有上面4和5)的安全的数据传输通道,接下来看一下如何使用openssl来建立自签名的双向认证
获取CA证书
#生成ca私钥文件,长度为1024加密方式为rsaopenssl genrsa -out ca.key 1024#采用x509标准生成自签名证书openssl req -new -x509 -days 36500 -key ca.key - -subj "/C=CN/ST=SX/L=XA/O=Team/OU=sun"
获取server端证书
#生成server秘钥文件openssl genrsa -out server.key 1024#生成证书请求文件openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=SX/L=XA/O=Team/OU=test/CN=aa"#生成server CA自签名证书openssl ca -in server.csr - - -keyfile ca.key#验证server端证书docker@myvm2:~$ openssl verify -
: OK
获取client端证书
#阿道夫openssl genrsa -out client.key 1024#阿道夫openssl req -new -key client.key -out client.csr -subj "/C=CN/ST=SX/L=XA/O=Team/OU=test/CN=aa"#openssl ca -in client.csr - - -keyfile ca.key这步会出错:unable to access the ./demoCA/newcerts directory ./demoCA/newcerts: No such file or directory解决办法:mkdir -p ./demoCA/newcertstouch uch demoCA/serialecho 01 > demoCA/serial#验证
docker@myvm2:~$ openssl verify -
: OK
使用openssl 验证
#开启server端证书验证功能docker@myvm2:~$ openssl s_server -accept 10086 -key server.key - -Verify 5verify depth is 5, must return a certificateUsing default temp DH parametersACCEPT#新开一个窗口执行客户端链接命令,带上客户端的证书,否则server会自动断掉链接docker@myvm2:~$ openssl s_client -connect localhost:10086 - - -key client_key
本文发布于:2024-01-30 18:01:46,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170660891021830.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |