【发布时间】:2021-09-22 22:34:37
【问题描述】:
我有一个私钥文件$formatPrivateKey 需要用作变量
$privateKey = file_get_contents('27660275_website.com.key');
$signature = hash_hmac('sha256', $base64UrlHeader . "." . $base64UrlPayload, $privateKey, true);
我需要这个来生成客户端断言 JWT。
但是,我收到以下错误 - {"error":"invalid_request","error_description":"The Token's Signature resulted invalid when verified using the Algorithm: SHA256withRSA"}
我想我没有正确阅读file_get_contents('27660275_website.com.key')。
我的$privateKey 文件以以下-----BEGIN RSA PRIVATE KEY----- 开头并以-----END RSA PRIVATE KEY---- 结尾。我试图删除它们,但仍然得到相同的输出。
我尝试按照 Stackoverflow 中问题的另一个答案中的建议连接字母数字序列。但是,它没有用。
因此我假设我没有正确阅读file_get_contents('27660275_website.com.key')。
【问题讨论】:
-
您遗漏了哪些信息,这样您就不会再猜测而是知道了?您在文件上使用 file_get_contens() 以从中读取密钥的理由是什么?反复敲打,直到它不再移动?
-
.key 文件中的“字母数字序列”不是实际的密钥,而是二进制数据的文本(base64 编码)表示形式。