You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用UTL_HTTP访问HTTPS站点遇证书验证失败问题求助

问题:Oracle UTL_HTTPS请求遇证书验证失败(ORA-29024)

执行HTTPS请求时触发以下错误:

ORA-29273: HTTP request failed
ORA-29024: Certificate validation failure
ORA-06512: at "SYS.UTL_HTTP"

已将目标站点证书导入钱包,Oracle PKI工具输出如下:

Oracle PKI Tool Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved.

Requested Certificates:
Subject:        C=UA,ST=ua,L=kyiv,O=test,OU=test,CN=test
User Certificates:
Trusted Certificates:
Subject:        CN=extremstyle.ua

执行的PL/SQL代码块:

declare
 req utl_http.req;
 resp utl_http.resp;
begin
 utl_http.set_wallet('file:C:\OracleSoftware\admin\db1\dpdump', '*******');  -- 此处为真实密码
 req := utl_http.begin_request('https://extremstyle.ua/');
 utl_http.set_header(req, 'User-Agent', 'Mozilla/4.0');
 resp := utl_http.get_response(req);
 utl_http.end_response(resp);
end;
/

请问还需检查哪些内容或执行什么操作?


排查与解决建议

  • 检查证书链完整性:仅导入站点证书可能不够,需确认是否导入了完整的证书链(包括中间CA证书)。多数HTTPS站点证书由中间CA签发,Oracle钱包需信任整个链上的证书才能完成验证。可通过浏览器访问目标站点,导出完整证书链后导入钱包。
  • 验证钱包路径权限:确保Oracle数据库进程对file:C:\OracleSoftware\admin\db1\dpdump路径有读取权限。Windows环境下需检查该文件夹的NTFS权限,给Oracle服务账号分配读权限。
  • 确认证书有效期:检查导入的CN=extremstyle.ua证书是否过期,同时确保数据库服务器系统时间在证书有效期范围内。
  • 核对主机名匹配:查看证书的Subject Alternative Name(SAN)字段,确认是否包含extremstyle.ua。部分证书可能仅包含www子域名,访问裸域名会触发主机名验证失败。
  • 测试钱包可用性:使用utl_http.test_wallet函数测试钱包能否正常加载信任证书:
    declare
      v_result boolean;
    begin
      v_result := utl_http.test_wallet('file:C:\OracleSoftware\admin\db1\dpdump', '你的钱包密码');
      dbms_output.put_line('Wallet test result: ' || case when v_result then 'SUCCESS' else 'FAILED' end);
    end;
    /
    
  • 调整UTL_HTTP验证参数:可临时关闭主机名验证用于排查(生产环境不建议长期使用),添加以下代码到PL/SQL块中:
    utl_http.set_hostname_check(false);
    
  • 确认钱包类型:确保创建的是标准PKCS#12钱包,而非仅包含用户证书的钱包。可通过Oracle Wallet Manager打开钱包,确认信任证书列表完整。

内容的提问来源于stack exchange,提问作者Dmytro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 18:17:50