Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# X509Certificate2导入路径工具OngException:指定的路径、文件名或两者都太长_C#_X509certificate2 - Fatal编程技术网

C# X509Certificate2导入路径工具OngException:指定的路径、文件名或两者都太长

C# X509Certificate2导入路径工具OngException:指定的路径、文件名或两者都太长,c#,x509certificate2,C#,X509certificate2,我试图从Base64字符串导入X509Certificate2,但出现异常“指定的路径或文件名太长。完全限定的文件名必须少于260个字符,目录名必须少于248个字符”。你能帮忙解释一下这个例外是什么意思吗 var pfx = certficatestring; var bytes = Encoding.UTF32.GetBytes(pfx); var certdata = Convert.ToBase64String(bytes); X509Certificate

我试图从Base64字符串导入X509Certificate2,但出现异常“指定的路径或文件名太长。完全限定的文件名必须少于260个字符,目录名必须少于248个字符”。你能帮忙解释一下这个例外是什么意思吗

 var pfx = certficatestring;          

 var bytes = Encoding.UTF32.GetBytes(pfx);
 var certdata = Convert.ToBase64String(bytes);

 X509Certificate2 x509 = new X509Certificate2();
 x509.Import(certdata,password,X509KeyStorageFlags.Exportable);
 return x509;
用于从文件路径加载证书。由于base64表示太长,无法作为路径,因此它会引发您遇到的异常

相反,您可以使用,它将原始数据作为字节数组接收

var pfx = certficatestring;          

var bytes = Encoding.UTF32.GetBytes(pfx);

X509Certificate2 x509 = new X509Certificate2();
x509.Import(bytes,password,X509KeyStorageFlags.Exportable);
return x509;