RSACryptoServiceProvider <-> CryptImportKey 等效性

Posted

技术标签:

【中文标题】RSACryptoServiceProvider <-> CryptImportKey 等效性【英文标题】:RSACryptoServiceProvider <-> CryptImportKey Equivalency 【发布时间】:2009-03-25 14:35:15 【问题描述】:

如果我有一个从非托管应用程序创建的密钥,并且我想在托管应用程序中导入此密钥并生成另一个密钥或对其进行加密。基本上相同的密钥将从托管代码和非托管代码来回导入/导出。

所以什么等价于

CryptExportKey(hKey, hPublicKey, SIMPLEBLOB, 0, lpData, &nSize);

CryptImportKey(hProv, lpData, nSize, NULL, 0, &hPublicKey);

在托管世界中使用 RSACryptoServiceProvider?

RSACryptoServiceProvider 类中有哪些方法与上述 Crypto API 等效

【问题讨论】:

【参考方案1】:

你试过RSACryptoServiceProvider.ExportCspBlobRSACryptoServiceProvider.ImportCspBlob吗?

【讨论】:

【参考方案2】:

如果您有兴趣,我写了一篇关于 C++C# 中的 RSA 的文章。 它包含 代码 以及让 RSA 在两种语言中工作、在它们之间交换密钥和消息所需知道的一切:)。 我希望它能回答你所有的问题。

您可以在这里找到它:Crypt in C++ and Decrypt in C# (and C++)

【讨论】:

以上是关于RSACryptoServiceProvider <-> CryptImportKey 等效性的主要内容,如果未能解决你的问题,请参考以下文章

RSACryptoServiceProvider 工作正常吗?

如何使用先前使用 RSACryptoServiceProvider 加密的 RSACng 解密数据

如何提取 RSACryptoServiceProvider 生成的素数?

C# - RSACryptoServiceProvider - 错误:错误数据

从公钥正确创建 RSACryptoServiceProvider

这个 C# RSACryptoServiceProvider 方法的红宝石等价物是啥