gpt4 book ai didi

facebook - 使用通配符证书从 oracle utl_http 调用 https ://www. facebook.com

转载 作者:行者123 更新时间:2023-11-30 05:19:22 26 4
gpt4 key购买 nike

我们使用的是 oracle 12.1.0.1.0。

我们一直在通过 utl_http 向许多服务发出 https 调用,没有任何问题。我们多年来一直这样做,我们也一直将其用于 facebook 授权。

最近,我们遇到了无法解决的在 https 中调用 facebook.com url 的问题。它似乎与 facebook 转向使用 *.facebook.com 上的证书相吻合。虽然我不敢说这是原因,但它可能是相关的。为了节省您的时间,我们擅长网络 acl 授权,并且没有证书验证错误。

我们得到的错误代码是:

    ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1130
ORA-28750: unknown error
ORA-06512: at "SYS.UTL_HTTP", line 1130

错误发生在发出 utl_http.begin_request 的 pl/sql 行上。

我的问题是:任何人都可以复制这个问题吗?有没有人去过那里并找到了解决方案?欢迎任何意见。

我包括两个示例:一个是对 redhat.com 域的调用,效果很好。另一个是调用存在上述问题的 facebook.com 域。两种情况下使用的代码是相同的。两个域都使用 *.domain 上的证书。

目标页面:https://www.redhat.com/en/about

-- redhat 页面的证书链

    GTE CyberTrus Global Root
Baltimore CyberTrust Root <=== rh_01.crt
Cybertrust Public SureServer SV CA <=== rh_02.crt
*.redhat.com

-- 钱包包含箭头标记的证书。我们不包括 *.redhat.com 证书,因为只有受信任的证书才应该进入钱包。

-- 这是 redhat.com 钱包的创建方式。

    orapki wallet create -wallet /dir1/rh -pwd walletpassword -auto_login
orapki wallet add -wallet /dir1/rh -trusted_cert -cert "/dir1/rh/rh_01.crt" -pwd walletpassword
orapki wallet add -wallet /dir1/rh -trusted_cert -cert "/dir1/rh/rh_02.crt" -pwd walletpassword

-- 这是进行 https 调用的代码。

    declare
wrequest utl_http.req;
wwallet_location varchar2(400) := 'file:/dir1/rh';
wwallet_password varchar2(400) := 'walletpassword';
wurl varchar2(400) := 'https://www.redhat.com/en/about';
begin
utl_http.set_wallet(wwallet_location, wwallet_password);
wrequest := utl_http.begin_request(wurl, 'GET', utl_http.http_version_1_1);
end;

-- 这很好用

=============================================这是无法调用 Facebook 页面的相同设置。

目标页面:https://www.facebook.com/login/identify?ctx=recover

-- facebook 页面的证书链

    GTE CyberTrus Global Root
Baltimore CyberTrust Root <=== fc01_.crt
Digicert High Assurance EV Root CA <=== fc02_.crt
Digicert High Assurance CA-3 <=== fc03_.crt
*.facebook.com

-- 钱包中包含箭头标记的证书

-- 这是 facebook 钱包的创建方式。

    orapki wallet create -wallet /dir1/fc -pwd walletpassword -auto_login
orapki wallet add -wallet /dir1/fc -trusted_cert -cert "/dir1/fc/fc_01.crt" -pwd walletpassword
orapki wallet add -wallet /dir1/fc -trusted_cert -cert "/dir1/fc/fc_02.crt" -pwd walletpassword
orapki wallet add -wallet /dir1/fc -trusted_cert -cert "/dir1/fc/fc_03.crt" -pwd walletpassword

-- 这是进行 https 调用的代码。

    declare
wrequest utl_http.req;
wwallet_location varchar2(400) := 'file:/dir1/fc';
wwallet_password varchar2(400) := 'walletpassword';
wurl varchar2(400) := 'https://www.facebook.com/login/identify?ctx=recover';
begin
utl_http.set_wallet(wwallet_location, wwallet_password);
wrequest := utl_http.begin_request(wurl, 'GET', utl_http.http_version_1_1);

end;

-- 这段代码给出了错误

    ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1130
ORA-28750: unknown error
ORA-06512: at "SYS.UTL_HTTP", line 1130

你能重现这个错误吗?或者只是我?提前致谢。

最佳答案

我们遇到了同样的问题,oracle 确认他们不支持通配符 SSL。

关于facebook - 使用通配符证书从 oracle utl_http 调用 https ://www. facebook.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25620086/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com