gpt4 book ai didi

c# - Paypal API 证书

转载 作者:行者123 更新时间:2023-11-30 18:09:56 25 4
gpt4 key购买 nike

好的,我在再次编码和发送第 3 方 SOAP API 调用时从未见过这种情况,但看起来 PayPal 要求他们的大客户使用 X509 证书来发送 API 调用,而不是仅仅通过标准 API 签名发送就像大多数 API 要求您做的那样。

只有我觉得这有点奇怪或不标准吗?

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

我不明白这与 API 调用有什么关系。我看到他们在 C# 中给我的一个示例代码,在 .NET 中实现了 ICertificatePolicy 接口(interface)……但这对我来说很陌生,这与他们仍然在 PayPal 沙箱中为您提供 API 签名这一事实有何关系。那么为什么我需要读取物理文件证书并使用 API 签名呢?我想我没有看到证书和 PayPal SOAP API 之间的链接。

最佳答案

在处理需要更安全的“握手”的连接时,这在大公司中很常见,这就是它的全部用途。

此文件由根证书生成,通常为 .pem、.p12、.pfx,这里是使用 python 和 cURL 的示例,操作起来非常简单,如果您对 X.509 文件有任何疑问,无论您从谁那里购买根证书,我都会与您联系,或者只是在谷歌上搜索如何导出您需要的文件(我个人总是以 .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 了……我使用的大多数需要 X509 证书的 API 都非常过时,我还没有看到它被使用在过去 2 年编写的 API 中。

关于c# - Paypal API 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2096980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com