首页 > 解决方案 > 在 oracle 钱包中添加证书后面临未知 SSL 错误 oracle 11g

问题描述

我想调用 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 请求。

请帮忙!

标签: sslplsqloracle-wallet

解决方案


推荐阅读