Сертификат PayPal API - PullRequest
       25

Сертификат PayPal API

3 голосов
/ 19 января 2010

Хорошо, я никогда не сталкивался с этим при повторном кодировании и отправке сторонних вызовов SOAP API, но похоже, что PayPal требует, чтобы их крупные клиенты использовали сертификат X509 для отправки вызовов API, а не просто для отправки через стандартную сигнатуру APIкак большинство API требуют от вас.

Я единственный, кто считает это странным или нет, Стаднард?

http://en.wikipedia.org/wiki/X.509

Не понимаю, какэто относится к вызову API.Я вижу пример кода, который мне дали в C #, реализующего интерфейс ICertificatePolicy в .NET ... но он мне просто чужд и как это связано с тем фактом, что они все равно дают подпись API в изолированной программной среде PayPal.Так зачем мне читать физический файл сертификата И использовать подпись API?Наверное, я не вижу связи между сертификатом и API-интерфейсом PayPal SOAP.

Ответы [ 2 ]

1 голос
/ 20 января 2010

Это обычное явление среди больших имен, когда имеешь дело с соединениями, которые требуют более безопасного «рукопожатия», и это все, для чего он используется.

Этот файл сделан из корневого сертификата и обычно .pem, .p12, .pfx вот пример с использованием python и cURL, это очень просто сделать, и если у вас возникнут какие-либо проблемы с файлом X.509, я бы связался с тем, у кого вы покупаете корневой сертификат или просто ищетеGoogle о том, как экспортировать нужный файл (лично я всегда получаю файл .p12).

Вот код Python

        c = pycurl.Curl()
        c.setopt(pycurl.URL, FirstDataAPI_URL)
        c.setopt(pycurl.HTTPHEADER, ["Accept:"])
        c.setopt(pycurl.POST, 1)
        c.setopt(pycurl.POSTFIELDS, urllib.urlencode(FirstDataAPI_PostData))
        b = StringIO.StringIO()
        c.setopt(pycurl.WRITEFUNCTION, b.write)
        c.setopt(pycurl.FOLLOWLOCATION, 1)
        c.setopt(pycurl.MAXREDIRS, 5)
        #c.setopt(pycurl.SSLCERT, '/home/***/***/***/ssl/digitalID.p12')
        c.setopt(pycurl.SSLCERT, '/home/***/***/***/ssl/productionDigitalId.p12')
        c.setopt(pycurl.SSLCERTTYPE, 'p12')
        c.setopt(pycurl.SSLCERTPASSWD, '******')
        c.perform()

Для использования с SOAP я бы искалпараметр, который позволяет вам установить файл сертификата, и вы будете установлены.

В качестве дополнительного примечания это говорит о том, что Paypal не обновлял свой API в течение нескольких лет ... большинство APIЯ работаю над тем, что сертификат X509 чрезвычайно устарел, и я не видел, чтобы это использовалось в API, который писал в последние 2 года.

0 голосов
/ 20 января 2010

Вы имеете дело с деньгами людей, и хотя я не знаю особенностей работы сертификата, в основном он обеспечивает более безопасные платежи, отправленные из вашего приложения.Я полагаю, проще подделать, а мошенничеству проще.

...