我正在尝试为Apple Connect生成JWT token ,但是“验证签名”字段中似乎缺少某些内容。

  • 从API Apple Store Connect仪表板,我只能下载“私钥”名称AuthKey_ {kid} .p8。
  • https://jwt.io/中,选择“ALGORITHM”作为“ES256”,然后在“SIGNATURE”部分中出现两个字段:
    a)公钥或证书
    b)私钥或证书(AuthKey_ {kid} .p8)

  • 问题 :
    -我确实显示了“无效签名”消息...
    -我不知道在哪里可以找到“公钥或证书”

    我正在关注这些文档:
    -https://developer.apple.com/documentation/appstoreconnectapi/generating_tokens_for_api_requests
    -https://medium.com/xcblog/generating-jwt-tokens-for-app-store-connect-api-2b2693812a35

    您是否知道如何解决找到“公钥”的问题?

    谢谢您的帮助,

    最佳答案

    .p8文件包含私钥和公钥。您需要使用OpenSSL提取这些文件。
    要获取私钥:

    $ openssl ec -in AuthKey.p8 -out AuthKey_private.p8
    
    获取公钥:
    $ openssl ec -in AuthKey.p8 -pubout -out AuthKey_public.p8
    
    使用通过这些命令生成的密钥,可以在jwt.io上验证签名。

    10-06 14:43