首页 新闻 会员 周边

C#中如何使用openssl的公钥进行加密

0
悬赏园豆:30 [已解决问题] 解决于 2015-06-17 18:38

C#代码是这么写的:

private string enctrypt(string text)
{
    var rsa = new RSACryptoServiceProvider();
    rsa.ImportCspBlob(Convert.FromBase64String(PUBLIC_KEY));
    return Convert.ToBase64String(rsa.Encrypt(Encoding.UTF8.GetBytes(text), false));
}

但运行时却出现下面的错误:

System.Security.Cryptography.CryptographicException : Bad Version of provider.

at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr)
at System.Security.Cryptography.Utils._ImportCspBlob(Byte[] keyBlob, 
  SafeProvHandle hProv, CspProviderFlags flags, SafeKeyHandle& hKey)
at System.Security.Cryptography.Utils.ImportCspBlobHelper(CspAlgorithmType keyType, Byte[] keyBlob, 
  Boolean publicOnly, CspParameters& parameters, Boolean randomKeyContainer, SafeProvHandle& safeProvHandle, SafeKeyHandle& safeKeyHandle)
at System.Security.Cryptography.RSACryptoServiceProvider.ImportCspBlob(Byte[] keyBlob)
C#
dudu的主页 dudu | 高人七级 | 园豆:31048
提问于:2015-06-17 16:42
< >
分享
最佳答案
0

我们最终使用的解决方法:C#中使用OpenSSL的公钥加密/私钥解密

dudu | 高人七级 |园豆:31048 | 2015-06-17 18:37
其他回答(1)
0

使用 openssl 生成的证书吧,有个 C# 的解析方式,我回答过。

http://q.cnblogs.com/q/63278/

收获园豆:30
Launcher | 园豆:45045 (高人七级) | 2015-06-17 16:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册