配置Apache服务器时出现SSLv3错误证书警报问题求助
自签名证书SSL警报(alert number 42)解决方案
问题描述
我使用simpleSAMLphp,按照Apache服务器安全配置步骤生成自签名证书后,执行命令:
openssl s_server -cert server.pem -www access
将证书添加至浏览器,通过4433端口访问自定义域名时,终端弹出错误:
800B28E2297F0000:error:0A000412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate: ../ssl/record/rec_layer_s3.c:1584:SSL alert number 42
修复步骤
- 核对证书与域名匹配度:自签名证书的
CN(通用名称)或SAN(主题备用名称)必须和访问的自定义域名完全一致。重新生成证书时,务必确保填写的域名准确,比如访问域名是test.local,就要将该域名设为CN或添加到SAN列表中。 - 检查证书文件与命令参数:
- 确认
server.pem是否同时包含证书和私钥,若证书与私钥分开存储,需在命令中添加-key参数指定私钥文件,比如:openssl s_server -cert server.crt -key server.key -www -accept 4433 - 原命令中的
access可能是多余参数,建议替换为-accept 4433明确指定监听端口,避免命令解析异常。
- 确认
- 重新信任浏览器证书:删除已导入的证书,重新导入
server.pem,并在浏览器证书管理中标记该证书为「受信任的根证书颁发机构」。 - 验证证书内容:执行以下命令检查证书信息,确认域名和有效期是否符合要求:
重点查看openssl x509 -in server.pem -text -nooutSubject字段的CN值,以及X509v3 Subject Alternative Name扩展字段中的域名列表。
内容的提问来源于stack exchange,提问作者mrshiam
相关产品推荐
相关产品推荐

