一次 https ssl证书事故

https ssl 证书过期 导致整个项目访问不了

项目场景:

项目相关背景:
我们的服务是前后端分离,前端放在nginx上,后台springboot项目,前端移动端号h5页面是钉钉手机端工作台打开


问题描述:

目中遇到的问题:
刷新首页 ,页面无法加载,ios端 浏览器显示ssl 无效 ,安卓端显示 网络异常。
ios 如下图
在这里插入图片描述


原因分析:

当我看到页面加载不出来,所以第一时间想到了前端服务nginx服务器ssl证书问题 当我修改ngixn 证书后发现 安卓可以正常使用了, 而ios只能加载页面 后台没法请求 报错
在这里插入图片描述
后台没有错误日子,经过讨论发现 后台接口https 访问的时候会出现 如下图:
在这里插入图片描述
点击发现证书也过期了,这种不安全连接,ios安全较高,不能直接访问。所以我们替换了后台服务的jks证书


解决方案:

提示:这里填写该问题的具体解决方案:
解决ssl证书无效的问题 ,直接使用新的证书,把所有的无效的,不安全的服务节点的ssl证书替换 (nginx、tomcat等等),重启服务
至于怎么生成证书 我不在详述。可以加我v yca909090 讨论

HTTPS SSL证书本身并不直接用于数据的加解密操作,而是主要用于身份验证以及交换对称加密所需的会话密钥。具体来说,在建立安全连接的过程中,客户端(通常是浏览器)和服务器之间通过SSL/TLS握手协议完成一系列交互: 1. 客户端发起请求到支持HTTPS的服务端; 2. 服务端返回其公钥证书给客户端; 3. 客户端检查该证书是否有效,这涉及到验证签发者的真实性、有效期等多个方面[^3]; 4. 如果证书被认为可信,则客户端生成随机数作为预主秘钥,并利用从证书中获取的服务端公钥对其进行非对称加密后传回给服务端;此时即使第三方截获了这个消息也无法得知原始的预主秘钥因为缺少对应的私钥来进行解码; 5. 接收到已加密的预主秘钥之后,服务端使用自己的私钥将其解开得到真实的预主秘钥; 6. 双方基于相同的预主秘钥计算出会话密钥,此后的通信都将采用高效的对称加密方式。 因此,“解密HTTPS SSL证书”的说法实际上是一个误解。真正发生的是,当一次新的TLS/SSL会话开始时,双方共同决定一个临时性的秘密——即上述提到的预主秘钥或称为“握手的秘密”,它仅在这次对话期间内起作用。对于已经结束的会话而言,即便拥有合法的私钥也不可能还原出之前使用的任何一对会话密钥。 至于.pem格式或其他形式存储下来的SSL证书文件(.crt),这些通常只包含了公开部分的信息比如域名绑定关系等,而不涉及敏感资料如私钥等内容。如果确实有需求查看某个特定证书内的具体内容,可以借助OpenSSL工具读取解析: ```bash openssl x509 -in certificate.crt -text -noout ``` 这条命令能够展示指定X.509标准下的数字证书中的所有字段及其含义,但请注意这样做并不会暴露也不应该尝试去恢复任何形式上的私人信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值