首页 > 解决方案 > 如何在 Apple Pay PKPayment 对象数据中获取 ephemeralPublicKey 而不是 WrappedKey 和 EC_v1 而不是 RSA_v1

问题描述

在此处输入图像描述如何获取 ephemeralPublicKey 而不是 WrappedKey 和版本 EC_v1 而不是 RSA_v1

["header": {
              publicKeyHash = "wjjJ53GAdAQ2l=";
              transactionId = 9ceae2a745f4b071e47553fa45;
              wrappedKey = "oEGOwx6fIy+Lmu8k6XgT3WExyDwFg1dOqis9y4B+99BGmrMx1W0M9athPvv9DQoKn0H9g==";
            },   "data": zFATMVYnHDeLrN8nQXPeBjQFxAn8lADEAX+DB3it6Fokh4J9L2QftQ2S408sA==,   "version": RSA_v1,   "signature": MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEACgYIKA ]

标签: iosswiftiphoneapplepay

解决方案


这是因为您的证书基于 RSA 而不是 ECC。

来自苹果的信息:

ephemeralPublicKey :X.509 编码的密钥字节。Base64 编码为字符串,临时公钥字节。仅限 RSA_v1。

WrappedKey : Base64 编码的字符串。使用您的 RSA 公钥包装的对称密钥。仅限 EC_v1。

来源:https ://developer.apple.com/library/archive/documentation/PassKit/Reference/PaymentTokenJSON/PaymentTokenJSON.html#//apple_ref/doc/uid/TP40014929-CH8-SW3


推荐阅读