openssl

Lsetea8 天前
linux·https·shell·ssl证书·openssl
OpenSSL的checkhost显示不匹配却退出0:名称检查与证书验收openssl x509 -checkhost已经打印does NOT match certificate,脚本却继续部署,难道Shell没看见错误?这里有个容易踩的边界:命令成功执行了名称诊断,不等于名称匹配。本轮在OpenSSL 1.1.1k上重现了“不匹配但退出0”,下面把诊断输出、证书验证和线上握手分开,不让一张错误证书混过流水线。
Lsetea9 天前
https·ssl证书·openssl·tls·证书链
OpenSSL的showcerts没有根证书正常吗:服务端发链与show_chain构链排查s_client -showcerts只看到两张证书,verify -show_chain却显示三层,是服务器漏发了根证书吗?先别往fullchain里不断追加文件。这两个选项看的不是同一件事:一个列出对端发来的材料,一个展示本地验证构建出的路径。本文用隔离三层证书链,把“收到”“构链”“信任”拆开。
Lsetea10 天前
运维·https·ssl证书·openssl·证书链
SSL证书指纹相同但文件哈希不同:PEM、DER与公钥摘要怎么比收到两份SSL证书文件,文件SHA-256不同,OpenSSL显示的证书指纹却相同:到底是传输损坏,还是比较方式错了?先别急着重签。我会先问一句:你比的是文件、证书,还是公钥?三者都能算摘要,但不是同一张身份证。
Lsetea11 天前
运维·https·ssl证书·openssl·tls
OpenSSL指定-cipher仍协商TLS1.3:证书排查中的套件与协议边界用OpenSSL排查HTTPS证书,明明指定了ECDSA套件,结果却协商TLS1.3、拿到RSA证书。先别判定Nginx配置没生效:-cipher只管TLS1.2及以下,不能拿它给TLS1.3划范围。下面把协议、套件、认证和验证拆开,避免拿错尺子量证书。
Lsetea13 天前
linux·https·ssl证书·openssl·curl
curl设置SSL_CERT_FILE仍报60:CURL_CA_BUNDLE与CA路径优先级排查明明设置了 SSL_CERT_FILE,curl 却继续报“SSL certificate problem: unable to get local issuer certificate”。先别急着换服务器证书:文件放对了,不代表这次进程选中了它。本文把 CA 文件、环境变量和默认配置拆开,用回环 HTTPS 对照定位“配置没生效”,不靠 -k 把报警灯摘掉。
Lsetea14 天前
linux·https·ssl证书·openssl·证书链
OpenSSL报certificate rejected:error 28与CA辅助信任属性排查根证书已经放进CAfile,证书没过期,OpenSSL却报certificate rejected。先别急着下载另一份fullchain:这里的rejected不等于revoked。前者可能是本地信任材料明确拒绝某种用途,后者才是吊销检查的结果。本文用隔离证书区分error 28、辅助信任属性和证书本体。
Lsetea15 天前
linux·https·ssl证书·openssl·crl
OpenSSL报certificate revoked:error 23与CRL吊销层级排查证书还没过期,域名也对,OpenSSL却报certificate revoked。先别急着补fullchain:error 23指向吊销检查,不是普通的缺链。本文用隔离根CA、中间CA和叶证书,复现叶子与中间证书被吊销的差异,再把序列号、CRL来源和部署验收串起来。
Lsetea15 天前
linux·https·ssl证书·openssl·证书链
OpenSSL报certificate chain too long:error 22与verify_depth深度排查证书没过期,根也配对了,OpenSSL却报certificate chain too long。别急着从fullchain里删一张证书:可能不是文件太大,而是验证端允许的中间CA层数不够。本文用隔离证书链复现error 22,说明verify_depth怎样计数,以及它和CA证书里的pathlen为什么不能互相代替。
Lsetea17 天前
linux·https·ssl证书·openssl·私钥
OpenSSL读取加密私钥报bad decrypt:passin与口令来源排查证书文件能打开,加密私钥却报bad decrypt;手工运行会询问口令,放进定时任务又失败。先别急着重签证书:问题可能发生在私钥解密之前,还没走到TLS握手。本文用隔离RSA样本拆开文件读取、口令来源、密钥检查和证书配对,不输出私钥,也不把口令塞进命令行。
Lsetea17 天前
https·ssl证书·openssl·签名算法·证书链
OpenSSL报CA signature digest algorithm too weak:error 68与签名摘要排查证书没过期,RSA公钥也有2048位,OpenSSL却报CA signature digest algorithm too weak。先别继续加长密钥:这个错误盯的是证书签名摘要,不是单看公钥位数。本文用隔离证书复现error 68,区分签名算法、证书指纹与安全等级,再给出重新签发和验收路径。
Lsetea17 天前
https·ssl证书·openssl·curl·ocsp
curl报91 No OCSP response received:cert-status与OCSP装订排查普通curl请求成功,一加--cert-status就报91,错误写着No OCSP response received。这不等于证书过期,也不能直接认定证书已被吊销。本文用回环TLS实验拆开常规证书验证与OCSP装订检查,比较缺失、good和revoked响应,最后给出不会把诊断结果当验收的命令。
Lsetea17 天前
https·ssl证书·openssl·curl·证书链
OpenSSL报self-signed certificate in certificate chain:error 19与信任根排查服务器明明把根证书也发出来了,OpenSSL却报self-signed certificate in certificate chain,curl仍然不信任。这里容易把“链里有根”与“客户端信任根”混成一件事。本文用临时私有CA和回环HTTPS对照,定位error 19,并解释为什么删掉服务端根证书后,错误文字变了,问题却没修好。
Lsetea19 天前
运维·https·ssl证书·openssl·curl
curl报58 unable to set private key file:客户端证书与私钥加载排查curl访问双向TLS接口,刚加上客户端证书就报58,错误里还写着unable to set private key file。先别去换服务器的fullchain:这次出问题的可能是curl本机的身份材料。本文用回环mTLS实验,把文件读取、格式解析、密钥配对与请求验收拆开;不把“证书能打开”当作“接口能调用”。
Lsetea19 天前
linux·运维·https·ssl证书·openssl
OpenSSL报certificate is not yet valid:error 9与notBefore时间排查刚换的新证书,notAfter明明还很远,却提示“证书尚未生效”。先别把它当“过期”处理:这次要查的是生效起点notBefore,以及验证端用来比较的时间。本文用离线证书链复现error 9,分清叶证书、中间CA和客户端时钟,不修改系统时间,也不关闭有效期校验。
Lsetea20 天前
linux·https·ssl证书·openssl·curl
curl用IP测试HTTPS报证书不匹配:--resolve与Host头别混用切换DNS前用IP测试HTTPS,补Host头仍报证书不匹配?命令可能换掉了“要验证谁”。本文用回环实验拆开连接地址、TLS身份和HTTP路由,验证--resolve与--connect-to。
Lsetea22 天前
linux·https·ssl证书·openssl·证书链
OpenSSL verify报unable to get issuer certificate:error 2与partial_chain排查中间证书明明放进了CA文件,OpenSSL却报unable to get issuer certificate。补了链还不行,是证书坏了,还是信任放错了位置?本文以error 2为入口,区分“提供建链材料”和“指定信任锚”,再判断是否真的应该使用-partial_chain。
Lsetea22 天前
运维·https·ssl证书·openssl·证书链
OpenSSL verify报unhandled critical extension:error 34与关键扩展排查HTTPS证书域名没错、链也补齐了,OpenSSL verify却报unhandled critical extension。先别继续下载根证书:这次要查的是某层证书里的关键扩展,验证程序能不能理解并执行它。本文从error 34和depth入手,定位扩展、核对签发模板,再保持正常验证策略验收。
Lsetea23 天前
运维·https·ssl证书·openssl·证书链
OpenSSL verify报CA certificate key too weak:auth_level与弱密钥链排查证书链齐全、域名也对,OpenSSL verify却报CA certificate key too weak。问题可能不是缺链,而是某层公钥强度达不到验证策略。本文用auth_level固定门槛,分清叶子与CA弱密钥,再换对应材料,不把安全等级往下拧。
Lsetea25 天前
运维·https·ssl证书·openssl·证书链
OpenSSL verify报invalid CA certificate:basicConstraints与keyCertSign排查中间证书文件明明在,OpenSSL verify却报invalid CA certificate,有时紧跟着key usage does not include certificate signing。先别忙着再拼一份fullchain:找到签发者,不等于它有资格签证书。这里从basicConstraints和keyUsage入手,区分缺链、CA资格和用途限制,最后给出可留档的验证方式。