【问题标题】:Creating Oracle Wallet from existing PKCS#12 keystore从现有 PKCS#12 密钥库创建 Oracle Wallet
【发布时间】:2014-05-01 16:08:23
【问题描述】:

我有一个 .p12 密钥库文件,由我想通过 Oracle 11g2 数据库中的 PL/SQL 过程与之通信 (SOAP) 的 Web 服务提供商发布。

创建了一个钱包:

$ orapki wallet create –wallet [walletdirectory] -pwd [password] -auto_login

随后生成的“ewallet.p12”文件被替换为(重命名为“ewallet.p12”)密钥库文件。

但是,无法授权 SOAP 请求。服务提供商的日志显示(我无法获得完整的日志):

Error log Apache httpd 
[<timestamp>] [error] [client <IP>] access to <URL> failed, reason: SSL requirement expression not fulfilled (see SSL logfile for more details)

ACL 设置已经过彻底审核。我现在正在探索 Oracle Wallet 没有正确设置的可能性(因为可能无法简单地替换密钥库文件)。我无法从提供的 .p12 中提取私钥以添加到新生成的“ewallet.p12”中。

因此,我想使用 Oracle Wallet Manager 创建钱包。我遇到的一些问题。

  • 我无法在 OWM 中将提供的 .p12 文件作为钱包打开
  • 将提供的密钥库重命名为“ewallet.p12”允许我在 OWM 中打开钱包,但在输入密钥库密码后,显示“密码错误”

精简的问题是:如何从现有的 PKCS#12 文件创建 Oracle 钱包?是作为一个完整的产品还是通过生成所需的 .SSO 文件?关于可能导致此问题的任何其他建议?

注意:使用 SOAPUI,我能够使用提供的密钥库成功地与 Web 服务通信。

【问题讨论】:

    标签: oracle plsql https ssl-certificate


    【解决方案1】:

    无法授权 Web 服务,因为 Oracle Wallet 中的 cwallet.sso 文件不正确。从现有 PKCS#12 密钥库生成正确 Oracle Wallet 的完整过程是:

    $ orapki wallet create -wallet /path/to/wallet -auto_login
    

    其中 [path/to/wallet] 以已包含 PKCS#12 密钥库的现有目录为目标。这会生成正确的cwallet.sso 文件。密钥库中包含的证书现在可以显示为:

    $ orapki wallet display -wallet /path/to/wallet
    

    现在可以将 Oracle Wallet 与 ACL 关联:

    SQLPlus: EXEC DBMS_NETWORK_ACL_ADMIN.ASSIGN_WALLET_ACL('[acl_file.xml]','file:/path/to/wallet');
    

    但是,由于我不知道的原因,以这种方式创建的 Oracle Wallet 无法使用 Oracle Wallet Manager 工具打开。

    【讨论】:

      猜你喜欢
      • 2011-05-02
      • 2020-09-16
      • 2012-09-07
      • 1970-01-01
      • 2011-03-15
      • 1970-01-01
      • 1970-01-01
      • 2016-11-17
      • 2011-02-05
      相关资源
      最近更新 更多