场景引入
"小李正忙着处理公司核心数据库的证书更新,突然系统弹出一条红色错误:ORA-28175: incorrect certificate type,他心头一紧——这证书明明是按规范生成的,怎么Oracle就不认了呢?更麻烦的是,这套系统还连着远程办公的几十号人,现在连不上数据库,同事们的电话已经快打爆了……"
如果你也遇到过类似情况,别慌!这种报错通常和证书格式或配置有关,下面我们就来一步步拆解问题原因和解决方案。
ORA-28175的本质是Oracle数据库无法识别或接受当前提供的证书类型,常见诱因包括:
证书格式不符
密钥用法不匹配
证书的"Key Usage"未包含"Digital Signature"或"Key Encipherment"等Oracle必需的权限。
算法或强度问题
配置错误
sqlnet.ora
或listener.ora
中指定的证书路径错误。 用OpenSSL检查证书类型和内容(假设证书文件为server.pem
):
openssl x509 -in server.pem -text -noout
重点关注:
-----BEGIN CERTIFICATE-----
开头)或PKCS#12(.p12
后缀)。 Digital Signature
。 如果证书是DER或其他格式,转换为PEM:
openssl x509 -inform DER -in certificate.der -out certificate.pem
修改$ORACLE_HOME/network/admin/sqlnet.ora
,确保以下参数正确:
SSL_VERSION = 1.2 SSL_CLIENT_AUTHENTICATION = FALSE # 若非双向认证 WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /path/to/wallet)))
lsnrctl stop lsnrctl start sqlplus / as sysdba > shutdown immediate; > startup;
若问题发生在远程环境,且无法立即登录服务器,可尝试:
临时降级SSL(仅限测试环境)
在sqlnet.ora
中降低SSL版本要求(不推荐生产环境):
SSL_VERSION = 1.0
替换为兼容证书
oracle:oinstall
)。 orapki
工具更新钱包: orapki wallet add -wallet /path/to/wallet -cert /path/to/cert.pem -pwd wallet_password
日志收集
远程获取日志协助排查:
cat $ORACLE_BASE/diag/rdbms/$ORACLE_SID/trace/alert_$ORACLE_SID.log | grep -i "ORA-28175"
证书生成规范
-sha256
和-extendedKeyUsage serverAuth
。 openssl req -x509 -newkey rsa:2048 -sha256 -nodes -keyout key.pem -out cert.pem -days 365
Oracle版本适配
定期检查
orapki wallet display
验证钱包内容。
ORA-28175虽令人头疼,但解决思路清晰:查格式→验配置→调权限→看日志,遇到远程紧急情况时,优先通过替换证书和调整SSL版本恢复服务,事后再彻底排查根因。
注:本文基于2025年8月前的Oracle技术文档及社区实践整理,具体操作请结合自身环境调整。
本文由 步蕴秀 于2025-08-04发表在【云服务器提供商】,文中图片由(步蕴秀)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/531432.html
发表评论