Apple公開鍵エラー、error:090909064:PEM routines:PEM_を作成できませんread_bio_ex:bad base64 decode
9886 ワード
問題はsign in with Appleで、公式の説明に従って、インタフェースに行って公開鍵をもらってtokenを検証しているところ、この持ってきた公開鍵はまったく間違っていることが分かった.どうしても読まない.公開鍵ドキュメント
戻るJSON
問題この公開鍵はまったく解けず、生成もできずstring(61)「error:0909064:PEM routines:PEM_read_bio_ex:bad base 64 decode」
すべてのコード
output
文字列回転キー
今は復号できません.エラーはずっとこれを提示しています.
解決策があれば、私に連絡してください[email protected].
GET https://appleid.apple.com/auth/keys
戻るJSON
{
"keys": [
{
"kty": "RSA",
"kid": "AIDOPK1",
"use": "sig",
"alg": "RS256",
"n": "lxrwmuYSAsTfn-lUu4goZSXBD9ackM9OJuwUVQHmbZo6GW4Fu_auUdN5zI7Y1dEDfgt7m7QXWbHuMD01HLnD4eRtY-RNwCWdjNfEaY_esUPY3OVMrNDI15Ns13xspWS3q-13kdGv9jHI28P87RvMpjz_JCpQ5IM44oSyRnYtVJO-320SB8E2Bw92pmrenbp67KRUzTEVfGU4-obP5RZ09OxvCr1io4KJvEOjDJuuoClF66AT72WymtoMdwzUmhINjR0XSqK6H0MdWsjw7ysyd_JhmqX5CAaT9Pgi0J8lU_pcl215oANqjy7Ob-VMhug9eGyxAWVfu_1u6QJKePlE-w",
"e": "AQAB"
}
]
}
問題この公開鍵はまったく解けず、生成もできずstring(61)「error:0909064:PEM routines:PEM_read_bio_ex:bad base 64 decode」
すべてのコード
$keys = [
"apple" => "lxrwmuYSAsTfn-lUu4goZSXBD9ackM9OJuwUVQHmbZo6GW4Fu_auUdN5zI7Y1dEDfgt7m7QXWbHuMD01HLnD4eRtY-RNwCWdjNfEaY_esUPY3OVMrNDI15Ns13xspWS3q-13kdGv9jHI28P87RvMpjz_JCpQ5IM44oSyRnYtVJO-320SB8E2Bw92pmrenbp67KRUzTEVfGU4-obP5RZ09OxvCr1io4KJvEOjDJuuoClF66AT72WymtoMdwzUmhINjR0XSqK6H0MdWsjw7ysyd_JhmqX5CAaT9Pgi0J8lU_pcl215oANqjy7Ob-VMhug9eGyxAWVfu_1u6QJKePlE-w",
"google" => "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt+zLT00kiP/8iHZrvBwbAOIibC6qhGW9Mt6FHFHh+uJN5+wIYWKfsWS8cU9383iJ6Q0zL2Gk7UQtZvp9ug3yCzWkTADWzepO8rm0+gBuv7OcrIq5TF5qIS4qXrmTg1VkloJb0C4OP9IPqRpa9VKa1nWIa1VbLY2U4U7vgQIcLBIGL+5d2/qhjj4UeK3seWvY8XxHh9CElxMAmaOWU6aNUSon0G7r68gwx15hMOoVy4ICeKrGyn8XibTiruYwXHwBJ6JQNYzWRtJPEF1DL1TLev/DneVVoFgrc6ZnZMZGwlnYLKn0AolCTfq2c1GRUj/FI/wd3Rcm6lHeN3pbkmb1GwIDAQAB"
];
foreach ($keys as $name => $key) {
$key = JwtDecoder::str2pubicKey($key);
$result = openssl_pkey_get_public($key);
printf("%s
%s
%s
", $name, $key, $result);
if ($result === false) {
var_dump(openssl_error_string());
}
}
output
apple
-----BEGIN PUBLIC KEY-----
lxrwmuYSAsTfn+lUu4goZSXBD9ackM9OJuwUVQHmbZo6GW4Fu/auUdN5zI7Y1dED
fgt7m7QXWbHuMD01HLnD4eRtY+RNwCWdjNfEaY/esUPY3OVMrNDI15Ns13xspWS3
q+13kdGv9jHI28P87RvMpjz/JCpQ5IM44oSyRnYtVJO+320SB8E2Bw92pmrenbp6
7KRUzTEVfGU4+obP5RZ09OxvCr1io4KJvEOjDJuuoClF66AT72WymtoMdwzUmhIN
jR0XSqK6H0MdWsjw7ysyd/JhmqX5CAaT9Pgi0J8lU/pcl215oANqjy7Ob+VMhug9
eGyxAWVfu/1u6QJKePlE+w
-----END PUBLIC KEY-----
string(61) "error:09091064:PEM routines:PEM_read_bio_ex:bad base64 decode"
google
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt+zLT00kiP/8iHZrvBwb
AOIibC6qhGW9Mt6FHFHh+uJN5+wIYWKfsWS8cU9383iJ6Q0zL2Gk7UQtZvp9ug3y
CzWkTADWzepO8rm0+gBuv7OcrIq5TF5qIS4qXrmTg1VkloJb0C4OP9IPqRpa9VKa
1nWIa1VbLY2U4U7vgQIcLBIGL+5d2/qhjj4UeK3seWvY8XxHh9CElxMAmaOWU6aN
USon0G7r68gwx15hMOoVy4ICeKrGyn8XibTiruYwXHwBJ6JQNYzWRtJPEF1DL1TL
ev/DneVVoFgrc6ZnZMZGwlnYLKn0AolCTfq2c1GRUj/FI/wd3Rcm6lHeN3pbkmb1
GwIDAQAB
-----END PUBLIC KEY-----
Resource id #13
文字列回転キー
/**
* @param $key
* @return string
*/
public static function str2pubicKey($key)
{
$key = str_replace(['-', '_'], ['+', '/'], trim($key));
$key = trim(chunk_split(trim($key), 64, "
"), "
");
return sprintf("-----BEGIN PUBLIC KEY-----
%s
-----END PUBLIC KEY-----
", $key);
}
今は復号できません.エラーはずっとこれを提示しています.
error:09091064:PEM routines:PEM_read_bio_ex:bad base64 decode
解決策があれば、私に連絡してください[email protected].