我想使用一个密钥对进行加密,并使用一个单独的密钥对进行签名。如何使用RSACryptoServiceProvider将它们存储在同一密钥容器中?
答案 0 :(得分:1)
最好的答案是:不要-仅创建不同的密钥容器。
RSACryptoServiceProvider
是基于Windows CAPI构建的,Windows CAPI是两个Windows加密库中的较早版本(现在被视为不推荐使用)。 Windows CNG(并排)替换不再具有“签名密钥”和“交换密钥”的区别……每个“命名密钥”仅是一个密钥。 CNG可以使用CAPI,但是它只能使用两个密钥之一(我相信交换是成功的),因为它无法询问您关心哪个密钥。
.NET的某些部分现在仅优先使用RSACng
,如果这些位置之一碰到了您的两键密钥容器中,您可能会遇到问题。