誰かが私が間違っていることに気づくことができたらうれしいです。12cでutl_httpとwalletsを使用する:証明書の検証に失敗しました
私はutl_http &ウォレットを使用して11gR1でhttpsを問題なく呼び出すことができましたが、新しい12cインストールでは悲しみが増えています。
oracle wallet managerとコマンドラインの両方を使用して信頼できる証明書をインポートしようとしましたが、成功しませんでした。 私は、オラクルが財布をキャッシュするのは難しいかもしれないことを知っているので、私は運がなくても複数の新しいセッションを試しました。
* .presstogo.com、Geotrust SSL CAの3つの必要証明書をダウンロードしました。& Geotrust Global CA。
次のように財布がある私の建物のコマンドラインバージョン:
orapki wallet create -wallet /oracle/product/12.0.1/owm/wallets/test1237 -pwd test=1237 -auto_login
orapki wallet add -wallet /oracle/product/12.0.1/owm/wallets/test1237 -trusted_cert -cert "*.presstogo.com" -pwd test=1237
orapki wallet add -wallet /oracle/product/12.0.1/owm/wallets/test1237 -trusted_cert -cert "GeoTrust SSL CA" -pwd test=1237
orapki wallet add -wallet /oracle/product/12.0.1/owm/wallets/test1237 -trusted_cert -cert "Geotrust Global CA" -pwd test=1237
orapki wallet display -wallet /oracle/product/12.0.1/owm/wallets/test1237
Oracle PKI Tool : Version 12.1.0.1
Copyright (c) 2004, 2012, Oracle and/or its affiliates. All rights reserved.
Requested Certificates:
User Certificates:
Trusted Certificates:
Subject: OU=Class 3 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US
Subject: CN=GTE CyberTrust Global Root,OU=GTE CyberTrust Solutions\, Inc.,O=GTE Corporation,C=US
Subject: CN=GeoTrust SSL CA,O=GeoTrust\, Inc.,C=US
Subject: OU=Class 2 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US
Subject: OU=Class 1 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US
Subject: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US
Subject: CN=*.presstogo.com,OU=IT,O=Press to go AS,L=Oslo,ST=Norway,C=NO,SERIAL_NUM=SJYpOHrRdCDHE8KZ6dRFGMJthOjs7-v3
OK]をクリックして、テストにこれをすることができます。以下のSQLPLUSし、実行するためにはログイン:
declare
lo_req utl_http.req;
lo_resp utl_http.resp;
begin
utl_http.set_detailed_excp_support (true);
utl_http.set_wallet ('file:/oracle/product/12.0.1/owm/wallets/test1237', 'test=1237');
lo_req := utl_http.begin_request ('https://production.presstogo.com/mars/hello');
lo_resp := utl_http.get_response (lo_req);
-- A successfull request would have the status code "200".
dbms_output.put_line (lo_resp.status_code);
utl_http.end_response (lo_resp);
exception
when others then
utl_http.end_response (lo_resp);
raise;
end;
行1でDECLARE
*
ERROR:
はORA-29273:HTTPリクエストが
ORA-06512を失敗しました:で"SYS.UTL_HTTP"、行1130
ORA-29024:証明書の検証に失敗しましたURE
ORA-06512:
declare
lo_req utl_http.req;
lo_resp utl_http.resp;
begin
utl_http.set_wallet ('file:/oracle/product/12.0.1/owm/wallets/test1237', 'test=1237');
lo_req := utl_http.begin_request ('https://www.google.be');
lo_resp := utl_http.get_response (lo_req);
dbms_output.put_line (lo_resp.status_code);
utl_http.end_response (lo_resp);
end;
/
ヘルプ私はオビ=ワン、あなたが私の唯一の希望だ:レコードの行6
で、それは次のように仕事がないことは注目に値します。