【发布时间】: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 文件,我什至无法找到它提供的格式。
【问题讨论】: