gpt4 book ai didi

.net - 我可以使用 RSACryptoServiceProvider 公钥/私钥与 Crypto++ 互操作吗?

转载 作者:行者123 更新时间:2023-12-01 16:09:23 24 4
gpt4 key购买 nike

我使用 RSACryptoServiceProvider 创建了公钥/私钥并将其保存为 XML。我可以使用它来加密/解密/签名和验证 .NET 中的数据。

我有另一个应用程序要在 Linux 服务器上运行。我正在用 C++ 开发它,并使用 Crypto++ 来满足我的密码学需求。

我想在这两个应用程序之间共享数据,但为此我需要将 RSAParameters 转换为 Crypto++ 可以理解的公钥/私钥。

如果更容易,我也愿意使用将 Crypto++ 生成的公钥/私钥转换为 RSAParameters。

有什么想法吗?

最佳答案

最简单的方法可能是直接使用 RSAParameters 而不是通过 XML。

只需使用您自己选择的格式将 RSAParameters 中包含的字节数组存储在一个文件中。在 C++ 程序中读回字节数组并创建 CryptoPP::Integer来自他们。使用这些整数来初始化 RSAFunction (公钥)或 InvertibleRSAFunction (私钥)。

相反的方法是类似的:即

RSAFunction publicKey = ...;

size_t modulusLength = publicKey.getModulus().ByteCount();
unsigned char * modulus = new unsigned char[modulusLength];
publicKey.getModulus().Encode(modulus, modulusLength);

// similarly with PublicExponent and remember to clean up the arrays.

并将数组传输到您的 .NET 应用程序,您可以在其中使用它们来初始化 RSAParameters。

关于.net - 我可以使用 RSACryptoServiceProvider 公钥/私钥与 Crypto++ 互操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/919733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com