使用RSACryptoServiceProvider,如何将密钥交换密钥和签名密钥存储在同一密钥容器中?

时间:2019-10-24 23:06:54

标签: encryption rsacryptoserviceprovider

我想使用一个密钥对进行加密,并使用一个单独的密钥对进行签名。如何使用RSACryptoServiceProvider将它们存储在同一密钥容器中?

1 个答案:

答案 0 :(得分:1)

最好的答案是:不要-仅创建不同的密钥容器。

RSACryptoServiceProvider是基于Windows CAPI构建的,Windows CAPI是两个Windows加密库中的较早版本(现在被视为不推荐使用)。 Windows CNG(并排)替换不再具有“签名密钥”和“交换密钥”的区别……每个“命名密钥”仅是一个密钥。 CNG可以使用CAPI,但是它只能使用两个密钥之一(我相信交换是成功的),因为它无法询问您关心哪个密钥。

.NET的某些部分现在仅优先使用RSACng,如果这些位置之一碰到了您的两键密钥容器中,您可能会遇到问题。