2013-09-19 2 views
-1

Я использую PuTTYgen для генерации paypal.pemas described here (but save as .ossh).PayPal отвергает OpenSSH

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.

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 
+0

ключи SSH = SSL-сертификаты. – EJP

+0

есть .pem! = .pem? –

+2

Вся система PKI SSH отличается от X.509. – EJP

ответ

2

The first Google hit for the error message указывает на то, что известно, отказывающихся от сотрудничества Java Crypto API требует ключевых файлов в формате PKCS12, и что вы можете использовать OpenSSL для преобразования файлов в PKCS12, как это:

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

Отлично! ... мне нужно добавить сертификат (cert i, загруженный с paypal.com) в 'paypal.pem'. Наконец openssl не позволит мне создать файл 'paypal.pkcs12' с ошибкой« Нет сертификата соответствует закрытому ключу ». –

+0

сейчас я строго следую todos: https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/apicertificates –

+0

Thats it. В любом случае, спасибо. –

Смежные вопросы