Могу ли я пропустить проверку сертификата oracle utl_http? - PullRequest
0 голосов
/ 27 июня 2018

Я разрабатываю некоторые приложения на 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 игнорировать проверку сертификата в целях тестирования, без авторизации для добавления сертификата в кошелек.

Что-то вроде в 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 голосов
/ 08 марта 2019

Я не нашел способа сделать это, я создал простое PHP-приложение среднего уровня, к которому можно получить доступ через SSL, и направил мой запрос через него.

0 голосов
/ 28 июня 2018

Нет, проверка сертификата не может быть пропущена для utl_http.begin_request через параметры командной строки. Для этой цели необходимо создать Oracle Wallet. Средство графического интерфейса Oracle Wallet Manager можно использовать для его создания.

После создания двух файлов сертификатов ewallet.p12 и cwallet.sso, переместите их в папки кошелька в вашей ОС и измените права доступа к файлу на 770 .

Непосредственно перед utl_http.begin_request выпуском линии

utl_http.set_wallet('file:/etc/oracle/owm');

для указания пути к кошельку OS .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...