使用RSA算法对令牌有效负载进行签名

问题描述 投票:0回答:1

注:我的计算机上安装了自签名证书。

我有一个JWT令牌,我试图使用RSA算法签名,我找到了一个库“JOSE”,用于实现与下面的方法相同。

Jose.JWT.Encode(payload, certificate.GetRSAPrivateKey(), JwsAlgorithm.RS256);

在深入研究它的“编码”方法后,我发现它正在使用Hashing SHA-256算法。

我正在寻找一种方法,其中散列被排除并使用RSA直接签名。

任何帮助将不胜感激 !

c# cryptography jwt rsa encode
1个回答
1
投票

对于大多数(如果不是全部)签名算法,散列是安全要求。所以你不能排除它。

但是,您可以使用签名来提供(部分)消息恢复(如ISO / IEC 9796-2中所规定的)签名,该签名可以返回(已部分)已签名的消息。它们通常被认为已被弃用;如果您需要较少的签名开销,那么您将使用Elliptic Curve加密技术。

但是,您选择这两个中的哪一个并不重要,因为任何一个都会破坏您尝试实现的JOSE / JS Web Token协议。

© www.soinside.com 2019 - 2024. All rights reserved.