将SSL证书转换为字节数组,然后再次返回到证书

时间:2018-07-06 19:25:39

标签: c#

我有很多自签名证书,这些证书将分配给连接。与其将它们存储在文件共享中,不如将它们存储在SQL Server中。我当然可以将证书从文件加载到X509Certificate2中,但是将其保存到数据库中会引起问题。

这是我正在使用的测试代码:

        byte[] bytes = File.ReadAllBytes("idp.pfx");

        var convertedCert = new X509Certificate2( bytes,"password");
        string test = convertedCert.ToString();

        byte[] test2 = Encoding.UTF8.GetBytes(test);
        var newCert = new X509Certificate2(test2);

我要做的是读取一个.PFX文件并将其保存到SQL Server数据库中。我需要能够将.pfx文件写入数据库,并在以后调用它以对该特定连接进行加密/解密。

但是现在,我只是试图来回切换格式以证明这是可行的,然后再将存储添加到数据库中。

运行上面的代码时,我在代码的最后一行得到错误:

  An unhandled exception of type 'System.Security.Cryptography.CryptographicException' occurred in mscorlib.dll

找不到请求的对象。

因此,X509Certificate2(byte [])将其视为方法X509Certificate2(string fileName)的字符串版本,并尝试加载文件。

我认为发生的是字节数组转换未将其转换为正确的格式...但是什么是正确的格式?

0 个答案:

没有答案