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

Oracle自治云数据库HTTPS请求报ORA-29024证书验证失败问题咨询

Oracle自治云数据库HTTPS请求ORA-29024报错解决方案

你的解决思路是正确的,ORA-29024报错是因为目标站点的SSL证书不在自治数据库(ADB)默认信任的证书列表中,需要手动将证书链添加到ADB的信任钱包中,具体操作步骤如下:

  • 步骤1:导出目标站点的完整证书链
    用Chrome/Edge浏览器访问目标地址https://myappname.scm.azurewebsites.net,点击地址栏左侧的安全锁标识→选择「证书」→切换到「证书路径」标签页,依次选中根证书、中级证书、终端站点证书,每个证书点击「查看证书」→「详细信息」→「复制到文件」,导出格式选择Base64编码的X.509(.CER),分别保存到本地。
  • 步骤2:上传证书到ADB可访问目录
    用ADMIN用户登录ADB,通过DBMS_CLOUD.PUT_OBJECT存储过程将本地证书文件上传到ADB预定义的DATA_PUMP_DIR目录,示例代码如下:
    begin
      DBMS_CLOUD.PUT_OBJECT(
        directory_name => 'DATA_PUMP_DIR',
        file_name => 'azure_root.cer',
        contents => UTL_RAW.CAST_TO_RAW('-----BEGIN CERTIFICATE-----
    

你导出的根证书内容
-----END CERTIFICATE-----')
);
-- 中级证书、站点证书按照同样逻辑上传,修改file_name和contents即可
end;
/

- 步骤3:将证书添加到ADB信任钱包
执行`DBMS_NETWORK_ACL_ADMIN.APPEND_WALLET_ENTRY`存储过程,将上传的证书添加到系统默认钱包中:
```sql
begin
  DBMS_NETWORK_ACL_ADMIN.APPEND_WALLET_ENTRY(
    p12_file => 'system:',
    p12_password => NULL,
    pem_content => BFILE('DATA_PUMP_DIR', 'azure_root.cer'),
    pem_password => NULL
  );
  -- 依次添加中级证书、站点证书,修改pem_content对应的文件名即可
  commit;
end;
/
  • 步骤4:验证请求
    重新执行你的HTTPS请求语句验证是否正常返回结果:
    select utl_http.request('https://myappname.scm.azurewebsites.net') from dual;
    

仅用于测试场景时,可临时关闭证书校验来规避报错,该操作存在安全风险不建议生产环境使用:

begin
  utl_http.set_wallet(
    wallet_path => 'system:',
    no_cert_check => TRUE
  );
end;
/

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:15:03