处理 AppStoreConnect 证书
Handling AppStoreConnect certificate
我正在尝试在我的 Java 应用程序中实施 AppStoreConnect 身份验证,但我无法正确解析所提供的证书。
在为登录签署 JWT 时,我使用以下代码:
fun parseApplePrivateKey(keyFile: String): PrivateKey {
//
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)
}
这行得通,而且我可以使用以下方式打开 Id 登录 p8:
openssl ec -in apple-open-id-private-key.p8 -text
然而,这不适用于 appstoreconnect 私钥 p8 和 pemParser.readObject()
returns null
.
我无法使用 openssl 读取 p8 文件,我什至无法找到提供它的格式。
Apple提供的私钥是未加密的,必须用openssl
预处理如下:
# openssl pkcs8 -nocrypt -in AuthKey_123456789.p8 > apple-appstoreconnect-private-key.p8
我正在尝试在我的 Java 应用程序中实施 AppStoreConnect 身份验证,但我无法正确解析所提供的证书。
在为登录签署 JWT 时,我使用以下代码:
fun parseApplePrivateKey(keyFile: String): PrivateKey {
//
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)
}
这行得通,而且我可以使用以下方式打开 Id 登录 p8:
openssl ec -in apple-open-id-private-key.p8 -text
然而,这不适用于 appstoreconnect 私钥 p8 和 pemParser.readObject()
returns null
.
我无法使用 openssl 读取 p8 文件,我什至无法找到提供它的格式。
Apple提供的私钥是未加密的,必须用openssl
预处理如下:
# openssl pkcs8 -nocrypt -in AuthKey_123456789.p8 > apple-appstoreconnect-private-key.p8