Обнаружена неизвестная ошибка SSL oracle 11g после добавления сертификатов в oracle кошелек - PullRequest
0 голосов
/ 01 апреля 2020

Я хочу вызвать API, чтобы я мог интегрировать SMS-шлюз в свое приложение для этой цели. Шаги будут

  1. Получить сертификаты
  2. Создать кошелек
  3. Добавление сертификатов в кошелек
  4. Создание ACL.

Сертификаты добавлены в кошелек. Ниже команда проверяет сохраненные сертификаты.

  F:\cert>orapki wallet display -wallet F:/cert
        Oracle PKI Tool : Version 12.1.0.2
        Copyright (c) 2004, 2014, Oracle and/or its affiliates. All rights reserved.

        Requested Certificates:
        User Certificates:
        Trusted Certificates:
        Subject:        CN=Let's Encrypt Authority X3,O=Let's Encrypt,C=US
        Subject:        CN=DST Root CA X3,O=Digital Signature Trust Co.

Создан ACL.

BEGIN
        DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('www.xml', 'WWW ACL', 'SCOTT', TRUE, 'connect');
        DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE('www.xml', 'SCOTT', TRUE, 'resolve');

        -- All
        DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('www.xml', '*');
    END;

    commit;

Процедура, которую я использую для HTTP-соединения вместе с кошельком

CREATE OR REPLACE PROCEDURE GET_SESSION_ID (url VARCHAR2) AS 

request UTL_HTTP.REQ;
response UTL_HTTP.RESP;

    BEGIN
    UTL_HTTP.set_wallet('file:F:/cert', 'mypassword');

      DBMS_OUTPUT.PUT_LINE(url);
       UTL_HTTP.SET_RESPONSE_ERROR_CHECK(FALSE);
        request := UTL_HTTP.BEGIN_REQUEST(url, 'GET');
        UTL_HTTP.SET_HEADER(request, 'User-Agent', 'Mozilla/4.0');
        response := UTL_HTTP.GET_RESPONSE(request);
        DBMS_OUTPUT.PUT_LINE('HTTP response status code: ' || response.status_code);
    END GET_SESSION_ID;

, но получаю ошибку

Отчет об ошибке - ORA-29273: HTTP Сбой запроса ORA-06512: в «SYS.UTL_HTTP», строка 1130 ORA-28857: неизвестная ошибка SSL ORA-06512: в «SCOTT.GET_SESSION_ID», строка 11 ORA-06512: в строке 9 29273. 00000 - «HTTP-запрос не выполнен "* Причина: пакет UTL_HTTP не смог выполнить запрос HTTP. * Действие: используйте get_detailed_sqlerrm, чтобы проверить подробное сообщение об ошибке. Исправьте ошибку и повторите запрос HTTP.

Пожалуйста, помогите!

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