直接用openssl命令即可查看apache证书内容,无需启动服务:①先通过grep查sslcertificatefile路径;②用openssl x509 -in /path/to/cert.crt -text -noout查看完整信息;③可用-dates、-issuer、-subject等参数快速核验有效期、ca、域名等关键字段;④用公钥比对验证证书与私钥是否匹配。

直接用 OpenSSL 命令就能查看 Apache 使用的证书内容,不需要启动服务或修改配置。关键是要拿到证书文件(通常是 .crt 或 .pem 格式),然后运行对应命令。
确认证书文件位置
Apache 的证书一般放在配置中指定的路径,常见位置包括:
-
/etc/ssl/certs/(如
server.crt) - /etc/httpd/conf/ssl.crt/(CentOS/RHEL)
- /usr/local/apache2/conf/ssl.crt/(源码安装)
- Windows 下可能在
C:\Apache24\conf\ssl.crt\
先查 Apache 配置里 SSLCertificateFile 指向的路径,例如:
grep "SSLCertificateFile" /etc/httpd/conf/httpd.conf
查看完整证书信息
这是最常用的操作,显示版本、序列号、颁发者、有效期、公钥、扩展字段等全部内容:
openssl x509 -in /path/to/server.crt -text -noout
注意:-noout 防止输出原始 Base64 编码,只显示可读信息。
快速核对关键字段
日常排查时,常需单独验证几项:
- 有效期(起止时间):
openssl x509 -in server.crt -dates -noout - 颁发者(CA):
openssl x509 -in server.crt -issuer -noout - 域名(Subject CN 或 SAN):
openssl x509 -in server.crt -subject -noout - 公钥算法和长度:
openssl x509 -in server.crt -text -noout | grep -A1 "Public Key Algorithm\|RSA\|ECDSA" - SHA-256 指纹(用于比对):
openssl x509 -in server.crt -fingerprint -sha256 -noout
验证证书与私钥是否匹配
仅看证书不够,还需确认它和 Apache 配置中 SSLCertificateKeyFile 指向的私钥配对:
- 提取证书公钥:
openssl x509 -in server.crt -pubkey -noout > cert_pubkey.pem - 提取私钥公钥:
openssl rsa -in server.key -pubout > key_pubkey.pem - 对比两者是否一致:
diff cert_pubkey.pem key_pubkey.pem(无输出即匹配)
如果私钥有密码,执行 rsa 命令时会提示输入。










