0

我正在探索一个虚拟样本的身份服务器,并且我正在努力进行加密令牌签名。

我首选的方法是从环境变量(或appsettings.json所有重要的)中获取一些秘密字符串,我可以使用它们来签署令牌并稍后在 API 上验证签名。

我正在阅读我不能使用对称密钥,我需要一个非对称密钥对。

有没有关于如何为此目的使用字符串机密的示例?我对 .NET 中的密码学不是很熟悉

就像是

var rsaProvider = new RSACryptoServiceProvider(2048);
var key = new RsaSecurityKey(rsaProvider); // Can I use any custom string as private and public key or similar?

services
  .AddIdentityServer(
     options =>
     {
          options.EmitStaticAudienceClaim = true;
          options.KeyManagement.Enabled = false;
     })
  .AddSigningCredential(new SigningCredentials(key, SecurityAlgorithms.RsaSha256))
  // other identity server builder options

但是使用自定义值,我可以在设置或环境变量中硬编码或存储为字符串。

4

0 回答 0