我可以跳过证书验证oracle utl_http吗?

时间:2018-06-27 17:09:46

标签: oracle curl plsql

我正在用pl / SQL开发一些应用程序,这些应用程序可以连接到多个外部服务,

示例:

declare
 utl_req         utl_http.req;
 utl_resp        utl_http.resp;
begin
-- This line in production for security, but takes forever to get authorized by oracle host provider :@
-- utl_http.set_wallet('file:/path/wallet', 'password');

-- In test env i would like something like
-- utl_http.set_option('CURLOPT_SSL_VERIFYHOST', false);
-- utl_http.set_option('CURLOPT_SSL_VERIFYPEER', false);
 utl_req := utl_http.begin_request('https://login.microsoftonline.com/...
/oauth2/token', 'POST', 'HTTP/1.1');-- Die
--...more code
end;

输出:

ORA-29024: Certificate validation failure

是否有一种方法可以命令Oracle出于测试目的而忽略证书验证,而没有auth等待将证书添加到钱包中。

类似于php

$curl_request = curl_init();
    curl_setopt($curl_request, CURLOPT_URL, 'https://login.microsoftonline.com/...
/oauth2/token');
    curl_setopt($curl_request, CURLOPT_POST, 1);
    // No thankyou i don't care about security in testing :P
    curl_setopt($curl_request, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($curl_request, CURLOPT_SSL_VERIFYHOST, 0);
    ... more code

2 个答案:

答案 0 :(得分:2)

否,不能通过命令行选项为<input type="text" pattern="^[^\=]" required> 跳过证书验证。为此,需要创建一个utl_http.begin_requestOracle Wallet Manager GUI Tool 可用于创建它。

在创建两个证书文件Oracle Walletewallet.p12之后,将它们移至操作系统中的wallet文件夹,并将 file权限更改为 770

就在cwallet.sso行发布之前

utl_http.begin_request

指向 OS钱包路径

答案 1 :(得分:1)

我还没有找到实现此目的的方法,我要做的是构建一个简单的PHP中间人应用程序,该应用程序可以使用SSL进行访问,并通过该应用程序传递我的请求。