Oracle 19c-ORA-292024(证书验证失败)



我正在尝试使用UTL_HTTP包向远程web服务器发送请求。它使用普通的HTTP工作得很好,但当我尝试使用HTTPS时,我总是得到ORA-292024。

到目前为止我做了什么:

  • 创建钱包:mkdir /oracle/admin/mydb/my_walletorapki wallet create -wallet /oracle/admin/valdb/my_walled -pwd mypwd -auto_login

  • 使用Chrome浏览到https网站,并将证书下载到p7b文件

  • 将p7b文件存储在/tmp/mycert.p7b中的数据库机器上

  • 将证书导入钱包:orapki wallet add -wallet /oracle/admin/mydeb/my_wallet/ -trusted_cert cert "/tmp/mycert.p7b" -pwd mypwd

  • 检查钱包状态:orapki wallet display -wallet /oracle/admin/mydb/my_wallet=>

    Requested Certificates:
    User Certificates:
    Trusted Certificates:
    Subject:        CN=*.remote.server.com
    Subject:        CN=ISRG Root X1,O=Internet Security Research Group,C=US
    Subject:        CN=R3,O=Let's Encrypt,C=US
    
  • 尝试发送请求:

    EXEC UTL_HTTP.set_wallet('file:/oracle/admin/mydb/my_wallet', 'mypwd');
    select UTL_HTTP.REQUEST('https://mes.customer.remove.server.com',NULL,'file:/oracle/admin/mydb/my_wallet','mypwd') from dual;
    

但不幸的是,返回的是:

ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1530
ORA-29024: Certificate validation failure
ORA-06512: at "SYS.UTL_HTTP", line 380
ORA-06512: at "SYS.UTL_HTTP", line 1470
ORA-06512: at line 1

你知道我还能尝试什么吗?

是否会因为证书是通配符(*(证书而导致此问题?

我有同样的错误,是的,这是因为它是一个通配符证书。我在19c上所做的是只从钱包中删除通配符证书,但让所有其他证书从证书路径中删除,这就奏效了。然而,同样的行为不适用于12.2.0。告诉我,它在19c也适用于你。

相关内容

  • 没有找到相关文章

最新更新