读取cer证书报错

openssl x509 -in test.cer -noout -text

1、
报错:
unable to load certificate
139858531157832:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE

原因:
头尾没有加标识
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----

2、加上头尾标识
报错:
unable to load certificate
139867649996616:error:0906D064:PEM routines:PEM_read_bio:bad base64 decode:pem_lib.c:812:

原因:
证书内容需要每64个字节换行

3、csr文件解析出公钥
http://web.chacuo.net/netcsrdecoder

### 如何排查和解决 SSL 证书问题 #### 理解 SSL 证书的作用及其常见问题 SSL 证书作为加密协议,保障用户与网站间的数据传输安全。当浏览器访问受 SSL 保护的站点时,会验证此证书的有效性。一旦发现证书存在问题,比如过期或不匹配等情况,就会触发诸如“[There was a problem confirming the ssl certificate]”这样的警告信息[^1]。 #### 浏览器端 SSL 错误处理方法 对于遇到上述错误提示的情况,建议采取如下措施来诊断并修复潜在的问题: - **更新浏览器版本**:有时特定版本可能存在已知漏洞或是对某些类型的 SSL/TLS 协议支持不佳。 - **清除缓存及Cookie**:旧有的连接记录可能干扰新请求的成功建立。 - **手动添加例外情况**:针对自签名或其他不受信任源签发的证书,在充分了解风险的前提下可考虑临时接受这些异常状况继续浏览。 #### Nginx 配置中的 SSL 设置调整 在 Ubuntu 上通过 Nginx 提供 HTTPS 访问服务的过程中,若遭遇 `SSL handshake failed` 的报错现象,应着重审查配置文件内的 SSL 参数设定是否恰当。具体来说就是确认 `ssl_certificate` 和 `ssl_certificate_key` 指向的是实际存在的、有效的公钥/私钥配对文件位置,并且权限设置允许 Web Server 进程读取它们的内容[^2]。 ```nginx server { listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/certificates/example_com.crt; ssl_certificate_key /etc/nginx/certificates/example_com.key; } ``` #### Java 应用程序环境下的 SSL 证书管理 为了使基于 JVM 构建的应用能够顺利发起带有客户端身份验证需求的安全 HTTP 请求,需确保目标主机所提供的 CA 或者直接颁发给对方的服务端实体所持有的 X.509 数字凭证已被加入到本地的信任库中去。这通常涉及到从远程获取 .cer 文件再利用 keytool 工具将其安装至 JRE 安装目录下 cacerts keystore 中的操作过程[^3]。 ```bash keytool -importcert -file Root.cer -alias rootca -keystore $JAVA_HOME/jre/lib/security/cacerts ```
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值