-1

ここで説明されているように、PuttyGen を使用して を生成しpaypal.pem ます (ただし、.ossh として保存します)。

OK、最後に次のように 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最後の行にan をスローします。

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
4

1 に答える 1

2

エラー メッセージに対する Google の最初のヒットは、悪名高い非協力的な Java Crypto API ではキー ファイルが PKCS12 形式である必要があり、次のように OpenSSL を使用してファイルを PKCS12 に変換できることを示しています。

openssl pkcs12 -export -in paypal.pem -out paypal.pkcs12
于 2013-09-19T10:23:06.557 に答える