gpt4 book ai didi

google-apps-script - computeRsaSha256Signature() 返回无效参数 : key error when key is public key or rsa private key

转载 作者:行者123 更新时间:2023-12-05 03:11:37 32 4
gpt4 key购买 nike

我需要在我的 Google Apps 脚本中使用 RSA-SHA256 和公钥签署消息。

我正在尝试使用 Utilities.computeRsaSha256Signature(value, key)为此,我得到了一个 Invalid argument: key 错误。

为了这个问题的目的,我生成了一个这样的 key 对:

openssl genrsa -out private.pem 32
openssl rsa -in private.pem -out public.pem -outform PEM -pubout

我的脚本是这样的:

function test() {
var privKey = "-----BEGIN RSA PRIVATE KEY-----\nMCwCAQACBQC6fs8xAgMBAAECBQCxyL35AgMA3ecCAwDXJwICKLcCAnF9AgIbnA==\n-----END RSA PRIVATE KEY-----\n";
var pubKey = "-----BEGIN PUBLIC KEY-----\nMCAwDQYJKoZIhvcNAQEBBQADDwAwDAIFALp+zzECAwEAAQ==\n-----END PUBLIC KEY-----\n";
Utilities.computeRsaSha256Signature("value", pubKey);
Utilities.computeRsaSha256Signature("value", privKey);
}

当我运行它时,我在第一次调用 computeRsaSha256Signature 时收到一个 Invalid argument: key 错误。

错误表明他们的 key 有问题,但我无法弄清楚问题是什么。我尝试过使用公钥和私钥,并尝试去除换行符,但一切都失败了,并显示相同的消息。

我的代码看起来与文档中的示例非常相似,所以我不确定我做错了什么。

Utilities.computeRsaSha256Signature()如何使用成功?

最佳答案

以 BEGIN PRIVATE KEY 开头的 key 与以 BEGIN RSA PRIVATE KEY 开头的 key 格式不同。

我从“RSA”格式的 key 开始,但 computeRsaSha256Signature 需要非 RSA 格式的 key 。

您可以通过以下方式将后者转换为前者:

openssl pkcs8 -topk8 -inform pem -in private.pem -outform pem -nocrypt -out newPrivate.pem

来源: https://plus.google.com/106009755685055488206/posts/bYuPM6MGwsU

关于google-apps-script - computeRsaSha256Signature() 返回无效参数 : key error when key is public key or rsa private key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36614051/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com