I'm working through implementing the algorithm outlined by apple here for authenticating a player given a public key and signature, and I don't quite understand what they mean by
Verify with the appropriate signing authority that Apple signed the public key.
Once I've downloaded the .cer file, with NodeJS I can do something like this:
const publicKey = new X509Certificate(response.data)
console.log(publicKey.subject)
which will indeed show that the organization is Apple. If you look at some other implementations of this algorithm, it seems people are just checking "hey, is this a valid cert?", but not actually confirming with the signing authority.
In this case, the issuer of the certificate (I assume that a certificate authority is this is analogous with signing authority, but please correct me if I'm wrong) is DigiCert, Inc., so it seems like we'd almost have to somehow make some API call to them and ask "Hey, did you guys grant Apple this specific public key?"
Is this what apple means by "verify with the appropriate signing authority that Apple signed the public key."? Or am I getting signing authority confused and certificate authority confused?
Thanks!