- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 PL/SQL 中编写了以下代码,用于从 Oracle 11g 调用第 3 方 API。
Begin
-- preparing Request...
l_http_request := UTL_HTTP.begin_request ('https://www..........'
, 'GET'
, 'HTTP/1.1');
-- set header's attributes...
UTL_HTTP.set_header(l_http_request, 'Content-Type', 'application/json');
UTL_HTTP.set_header(l_http_request, 'Content-Length', LENGTH(t_request_body));
UTL_HTTP.set_header(l_http_request, 'Api-Key','..............');
-- get Response and obtain received value
l_http_response := UTL_HTTP.get_response(l_http_request);
UTL_HTTP.read_text(l_http_response, l_response_text);
end;
当我运行这段代码时出现以下错误
Error report:
ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1130
ORA-29024: Certificate validation failure
ORA-06512: at line 13
29273. 00000 - "HTTP request failed"
*Cause: The UTL_HTTP package failed to execute the HTTP request.
*Action: Use get_detailed_sqlerrm to check the detailed error message.
Fix the error and retry the HTTP request.
我发现这是由“https”协议(protocol)引起的。所以我下载了所有相关证书,然后交给了我们的数据库团队。尽管他们已经使用这些证书配置了 Oracle wallet,但我们仍然收到相同的错误报告。
有什么想法吗?
更新:我添加了以下代码作为开始 block 中的第一行...
UTL_HTTP.SET_DETAILED_EXCP_SUPPORT(TRUE);
UTL_HTTP.SET_WALLET('file:/../wallet','pwd.....' );
但现在它给出了以下异常“证书无效”,尽管证书发件人确认其有效性。也可以通过查看这个外部 ssl 检查器来确认有效性:https://www.sslshopper.com .
Error report:
ORA-29024: Certificate validation failure
ORA-06512: at "SYS.UTL_HTTP", line 1128
ORA-06512: at line 16
29024. 00000 - "Certificate validation failure"
*Cause: The certificate sent by the other side could not be validated. This may occur if
the certificate has expired, has been revoked, or is invalid for another reason.
*Action: Check the certificate to determine whether it is valid. Obtain a new certificate,
alert the sender that there certificate has failed, or resend.
请注意,我已经厌倦了所有格式的证书文件(Base-64 编码/PKCS#7 等),如 http://oracle-base.com/articles/misc/utl_http-and-ssl.php 中所述。
有什么想法吗?
最佳答案
就个人而言,我发现在 Oracle Wallet 中加载您想要访问的每个网站的证书很痛苦(这可能是您遇到错误的原因——您需要安装您尝试访问电子钱包的网站)。
最简单的事情就是安装 stunnel https://www.stunnel.org/index.html
配置 stunnel 以监听本地端口(例如 8800)上的传入连接,然后与 somesite.com:443 建立出站连接。
像这样:
1. oracle issues a get as: http://localhost:8080/index.html
2. stunnel intercepts the request and gets https://somesite.com/index.html
3. stunnel gives results to oracle
这允许 Oracle 通过 http 与 stunnel 通信,然后 stunnel 与 https://somesite.com 通信并将数据传送回 80 端口上的 oracle。
这完全绕过了 Oracle 钱包。
由于这不是您问题的直接答案,它确实解决了 Oracle Wallet 的许多很多问题,并且在我看来是最好的解决方案。
关于sql - 无法验证对方发送的证书 - Oracle Wallet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28824365/
首先,我什至不知道从哪里开始。我试过通读 Apple 和 Google 的文档,但仍然没有正确的答案。 我的客户已经在他们的网站上展示了优惠券,他们的客户可以打印或在手机上截图,带进商店扫描要应用的折
我看到 % 的 Google 电子钱包交易失败。我得到的错误信息是 You cancelled this order. Reason: Other. Message sent to the custo
我是新的 Android 设备,并且对支付部分更加陌生,我正在通过此链接将 Gpay 实现到我的应用程序中 https://developers.google.com/pay/api/android/
基本知识 公钥加密算法使用的是成对的密钥:公钥和私钥,公钥可以公开,私钥不能被公开。比特币钱包实际上是一个密钥对,当你安装 一个钱包应用,或者是使用一个比特币客户端来生成一个新地址是,他就会为你生
本文整理了Java中org.bitcoinj.wallet.WalletProtobufSerializer类的一些代码示例,展示了WalletProtobufSerializer类的具体用法。这些代
我的任务是将银行卡添加到苹果钱包,我知道我需要获得苹果的许可。告诉我, map 需要什么数据才能添加到苹果钱包?编号,cvc,持有人姓名......? 我正在尝试创建一个 PKAddPaymentPa
我正在开发一款手机银行应用程序,只想将一张卡添加到 Apple Wallet。这是我的代码: Card *card = ...; BOOL mayAddCard = [PKAddPaymentPass
我已经在苹果设备上创建了优惠券的静态版本。现在我想直接在我的优惠券卡上更新我的新值,当通过 API 调用更新我的数据库中的值时。 我知道这是可能的,就像登机牌一样,座位号更改时直接在电子登机牌上更改。
我在我的 Windows 环境中安装了 Oracle XE,我创建了一个程序来发送 SMS(调用 WS)问题是我有带 HTTPS 的 url(带 ssl 加密)所以我需要添加证书,基于 reasear
我在 PL/SQL 中编写了以下代码,用于从 Oracle 11g 调用第 3 方 API。 Begin -- preparing Request... l_http_request := U
我希望在我的移动网站上有一个链接,一旦从 iOS 设备单击该链接,就会打开 Apple 钱包应用程序。 我知道有一些questions about this subject当谈到我构建的应用程序时,但
我一直将钱包存储在项目的资源文件夹中,并且能够在 eclipse 中使用以下字符串访问它 final static String DB_URL = "jdbc:oracle:thin:@db_high
我是比特币世界的新手,我很难理解基本比特币服务的钱包实现的基础知识。 基本上,我想要: 用户有一个个人钱包(“现场”钱包,跟踪他们的余额) 用户可以在该地址/钱包中存款/取款 Web 服务能够代表用户
我使用 Oracle 钱包存储我连接的数据库的密码。我们的密码政策要求我们经常更改密码,以至于我想编写更改脚本。我有一个可以自己更改数据库密码的批处理文件,但我也想编写钱包更改脚本。问题是调用 mks
我正在尝试使用 Android Studio 将 Stripe 集成到我的 Android 应用程序中。这是我的付款布局: 因此,在上面的代码中,我收到错误 wallet:enviroment="
我是 iOS 开发新手,希望使用 PassKit 库开发一个小项目。 经过大量搜索(Apple 文档、stackoverflow)后,我似乎无法清楚地了解我的问题的可能答案: “是否可以访问不是我创建
兑换钱包通行证后是否可以自动下载第二个钱包通行证。我们已经看到这是可能的,但找不到任何解决方案。据我所知,无论您更新还是续订通行证,我们的 API 只能向我们的服务器返回一种通行证。我们附上了一个视频
在我的网站上,我使用的是 Java Tomcat,我有一个应用程序大战,其中包含我的产品的网页和用于购买与 Google 电子钱包集成的产品的代码。 我现在添加了一个新产品,其相关网页部署在另一个 w
我如何使用 Apple Wallet 和 iOS API 为咖啡店创建(是否可能)折扣卡? 我想要得到的效果如下:iOS 用户应该在 Apple Wallet 中有一张个人卡,他们会把它带到咖啡店。在
是否可以获取连接到 Apple Wallet 的卡列表?或者检查卡是否连接到 AppleWallet? Stripes API 具有此功能。但是有没有一种原生的方式来实现这个任务? 我找到了 deve
我是一名优秀的程序员,十分优秀!