【问题标题】:Handling AppStoreConnect certificate处理 AppStoreConnect 证书
【发布时间】:2020-11-27 14:54:29
【问题描述】:

我正在尝试在我的 Java 应用中实现 AppStoreConnect 身份验证,但我无法正确解析提供的证书。

在签署 JWT 以进行登录时,我使用以下代码:

fun parseApplePrivateKey(keyFile: String): PrivateKey {
    // https://stackoverflow.com/questions/58252089/sign-in-with-apple-java-user-verification
    val reader: Reader = InputStreamReader(AppleOAuth::class.java.classLoader.getResourceAsStream(keyFile)!!)
    val pemParser = PEMParser(reader)
    val converter = JcaPEMKeyConverter()
    val keyInfo: PrivateKeyInfo = pemParser.readObject() as PrivateKeyInfo
    return converter.getPrivateKey(keyInfo)
}

这行得通,而且,我可以使用以下命令 openId 登录 p8:

openssl ec -in apple-open-id-private-key.p8 -text

但这不适用于 appstoreconnect 私钥 p8 并且pemParser.readObject() 返回null

我无法使用 openssl 读取 p8 文件,我什至无法找到它提供的格式。

【问题讨论】:

    标签: openssl app-store-connect


    【解决方案1】:

    苹果提供的私钥是未加密的,必须用openssl进行预处理,如下:

    # openssl pkcs8 -nocrypt -in AuthKey_123456789.p8 > apple-appstoreconnect-private-key.p8
    

    【讨论】:

      猜你喜欢
      • 2019-08-08
      • 1970-01-01
      • 2011-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-15
      • 1970-01-01
      • 2014-08-21
      相关资源
      最近更新 更多