导入没有密码的PFX会引发异常

时间:2016-06-10 08:47:40

标签: c# .net ssl

我想使用start_date导入end_date。当我使用这个过程时:

PFX certificate

一切都很好。 (在这种情况下,证书是使用密码创建的)。但是,如果我创建一个没有密码的证书,并尝试像这样导入:

certutil.exe

然后我收到错误说:Process.Start( new ProcessStartInfo() { CreateNoWindow = true, WindowStyle = ProcessWindowStyle.Hidden, FileName = "certutil", Arguments = string.Format("-f -p {0} -importPFX \"{1}\"", passwordPFX, _pathServerCerPFX) } ).WaitForExit(); 我能错过什么?

2 个答案:

答案 0 :(得分:0)

在您使用的Arguments = string.Format("-f -p -importPFX \"{0}\"", _pathServerCerPFX)代码行中-p基本上代表password参数。删除该部分代码可以解决您的问题。您的代码应如下所示:

Process.Start(
                new ProcessStartInfo()
                {
                    CreateNoWindow = true,
                    WindowStyle = ProcessWindowStyle.Hidden,
                    FileName = "certutil",
                    Arguments = string.Format("-f -importPFX \"{0}\"", _pathServerCerPFX)
                }
            ).WaitForExit();

希望这能解决您的问题。

答案 1 :(得分:0)

尝试:(请注意-p ""

Process.Start(
                new ProcessStartInfo()
                {
                    CreateNoWindow = true,
                    WindowStyle = ProcessWindowStyle.Hidden,
                    FileName = "certutil",
                    Arguments = string.Format("-f -p "" -importPFX \"{0}\"", _pathServerCerPFX)
                }
            ).WaitForExit();