【问题标题】:PayPal rejects OpenSSHPayPal 拒绝 OpenSSH
【发布时间】:2013-09-24 09:11:03
【问题描述】:

我使用 PuttyGen 生成一个paypal.pemas described here (but save as .ossh).

好的,最后我像这样配置 Paypal:

PayRequest request = new PayRequest();
   ...
HashMap<String, String> configurationMap = new HashMap<String, String>();
configurationMap.put("acct1.UserName", "XXX");
configurationMap.put("acct1.Password", "XXX");
configurationMap.put("acct1.CertKey", "XXX");
configurationMap.put("acct1.CertPath", "src/test/resources/PayPal09-2013.ossh");
AdaptivePaymentsService s = new AdaptivePaymentsService(configurationMap);
s.pay(request);

在最后一行抛出SSLConfigurationException。

com.paypal.exception.SSLConfigurationException: toDerInputStream rejects tag type 45
    at com.paypal.core.DefaultHttpConnection.setupClientSSL(DefaultHttpConnection.java:42)
    at com.paypal.core.APIService.makeRequestUsing(APIService.java:165)
    at com.paypal.core.BaseService.call(BaseService.java:258)
    at com.paypal.svcs.services.AdaptivePaymentsService.pay(AdaptivePaymentsService.java:589)
    at com.paypal.svcs.services.AdaptivePaymentsService.pay(AdaptivePaymentsService.java:552)
          ...
Caused by: com.paypal.exception.SSLConfigurationException: toDerInputStream rejects tag type 45
    at com.paypal.core.SSLUtil.setupClientSSL(SSLUtil.java:129)
    at com.paypal.core.DefaultHttpConnection.setupClientSSL(DefaultHttpConnection.java:40)
    ... 30 more
Caused by: java.io.IOException: toDerInputStream rejects tag type 45
    at sun.security.util.DerValue.toDerInputStream(DerValue.java:847)
    at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1221)
    at java.security.KeyStore.load(KeyStore.java:1214)
    at com.paypal.core.SSLUtil.p12ToKeyStore(SSLUtil.java:92)
    at com.paypal.core.SSLUtil.setupClientSSL(SSLUtil.java:115)
    ... 31 more

【问题讨论】:

  • SSH 密钥 != SSL 证书。
  • SSH的整个PKI系统与X.509不同。

标签: java paypal certificate


【解决方案1】:

The first Google hit for the error message 表示众所周知的不合作的 Java Crypto API 要求密钥文件为 PKCS12 格式,您可以使用 OpenSSL 将文件转换为 PKCS12,如下所示:

openssl pkcs12 -export -in paypal.pem -out paypal.pkcs12

【讨论】:

  • 太棒了! ...我需要将证书(我从 paypal.com 下载的证书)附加到paypal.pem。最后 openssl 不会让我创建一个带有错误“没有证书匹配私钥”的paypal.pkcs12-file。
  • 现在,我严格遵守待办事项:cms.paypal.com/us/cgi-bin/…
  • 就是这样。还是谢谢你。
猜你喜欢
  • 1970-01-01
  • 2019-03-25
  • 2016-08-21
  • 2014-07-11
  • 2011-12-12
  • 2016-11-02
  • 2021-09-08
  • 2013-05-13
  • 2020-05-28
相关资源
最近更新 更多