gpt4 book ai didi

c# - 如何使用 PEM key 在 C# 中对 JWT 进行签名/加密?

转载 作者:行者123 更新时间:2023-11-30 14:46:03 25 4
gpt4 key购买 nike

我需要创建需要使用 Google 提供的 key 进行签名的自定义 token 。 key 以文本形式提供,例如 -----BEGIN PRIVATE KEY-----\nMIIE...

我通过使用 BouncyCaSTLe 读取 PEM key 并获取 RSA key 来完成这项工作,但现在我需要这个项目在 Linux 下运行,所以我不能使用 BouncyCaSTLe,因为它只能在 Windows 下工作(它使用 RSACryptoServiceProvider ).

那么,有没有一种方法可以实现相同的结果,但只使用 .NET Standard 代码?

我已经尝试将 PEM 文件转换为 PFX 文件,但我没有任何证书。试图从 here 获取证书或 here无效(OpenSSL 表示证书不属于所提供的 key )。

最佳答案

您可以将您的 PEM 文件转换为 p12 文件并使用该 p12 为您的 JWT 签名

var payload = new Dictionary<string, object>()
{
{ "sub", "mr.x@contoso.com" },
{ "exp", 1300819380 }
};

var privateKey=new X509Certificate2("my-key.p12", "password").GetRSAPrivateKey();

string token=Jose.JWT.Encode(payload, privateKey, JwsAlgorithm.RS256);

这是详细信息链接https://github.com/dvsekhvalnov/jose-jwt#rs--and-ps--family

关于c# - 如何使用 PEM key 在 C# 中对 JWT 进行签名/加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50799516/

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