证书和HTTPS

HTTPS协议在访问网站时确保安全,通过公私钥和数字证书实现加密通信。服务器和客户端通过验证证书有效性建立安全连接。在Linux环境中,可以自签发证书,用于测试或本地环境的https服务。证书的有效性依赖于操作系统内置的根证书。

证书和HTTPS

http:应用层协议,标准协议

https:不是标准协议,http +ssl(security socket layer)

例如访问百度

访问百度时,如何认证百度,需要CA机构帮忙认证

  1. 百度在本地生成公私钥
  2. 将公钥发给CA机构
  3. CA对百度的公钥进行处理,生成百度数字证书,返回给百度。
  4. 客户访问百度,百度发送给客户证书。
  5. 客户认证证书是否有效
  6. 如果证书有效,生成对称密钥,使用服务器的公钥加密传送
  7. 服务器得到对称密钥,双方使用对称密钥通信

根证书是集成在操作系统中的。

linux创建证书

  1. 创建私钥openssl genrsa -out s.key 1024
  2. csr用于给ca,让ca颁发证书openssl req -new -key s.key -out s.csr
  3. 这里用自己的私钥给自己颁发证书openssl x509 -req -days 365 -in s.csr -signkey s.key -out s.crt
  4. 查看自签名证书openssl x509 -in s.crt -text

https服务

服务器

func main () {
	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request){
		w.Write([]byte("hello world"))
	})

	e
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值