1

我似乎遗漏了一些关于 Jwt 的东西。我遵循了这个SO answer,它有效。

但是,我的数据仍然没有加密。

我生成一个私钥:

 `openssl genrsa -out privateKey.pem 512`

然后我(尝试)将其加密为 Jwt 令牌,使用以下命令:

string privateKey = File.ReadAllText(@"privateKey.pem");
RSAParameters rsaParams;
using (var tr = new StringReader(privateKey))
{
    var pemReader = new PemReader(tr);
    var keyPair = pemReader.ReadObject() as AsymmetricCipherKeyPair;
    if (keyPair == null)
    {
        throw new Exception("Could not read RSA private key");
    }
    var privateRsaParams = keyPair.Private as RsaPrivateCrtKeyParameters;
    rsaParams = DotNetUtilities.ToRSAParameters(privateRsaParams);
}
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
    rsa.ImportParameters(rsaParams);
    //Dictionary<string, object> payload = claims.ToDictionary(k => k.Type, v => ect)v.Value);
    return Jose.JWT.Encode(payload, rsa, Jose.JwsAlgorithm.RS256);
}

这会产生一个 Jwt。当我将该令牌带到 jwt.io 时,我得到了这个: 在此处输入图像描述

如您所见,有效负载是可见的,无需我提供解码它的密钥。

我做错了什么,不理解?

4

0 回答 0