Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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
Asp.net mvc 3 从MVC应用程序中使用Pgp.exe_Asp.net Mvc 3_C# 4.0_Console Application_Pgp - Fatal编程技术网

Asp.net mvc 3 从MVC应用程序中使用Pgp.exe

Asp.net mvc 3 从MVC应用程序中使用Pgp.exe,asp.net-mvc-3,c#-4.0,console-application,pgp,Asp.net Mvc 3,C# 4.0,Console Application,Pgp,我的任务是将遗留应用程序转换为mvc。应用程序使用pgp.exe对用户输入进行pgp签名并将其作为电子邮件发送。该应用程序在本地和测试服务器上工作,但不会在实时服务器上运行。我不得不跳过一些难题,比如在应用程序池中运行一个指定的用户,这样我们就可以在用户配置文件中设置密钥,但它确实起了作用 由于某些原因,在与测试服务器相同的windows 2003 IIS 6实时服务器上,它会失败。问题是pgp.exe似乎不会签署和创建文件,而我从控制台收到的消息是out。“签名错误”??当我将该命令放入以应用

我的任务是将遗留应用程序转换为mvc。应用程序使用pgp.exe对用户输入进行pgp签名并将其作为电子邮件发送。该应用程序在本地和测试服务器上工作,但不会在实时服务器上运行。我不得不跳过一些难题,比如在应用程序池中运行一个指定的用户,这样我们就可以在用户配置文件中设置密钥,但它确实起了作用

由于某些原因,在与测试服务器相同的windows 2003 IIS 6实时服务器上,它会失败。问题是pgp.exe似乎不会签署和创建文件,而我从控制台收到的消息是out。“签名错误”??当我将该命令放入以应用程序池用户身份登录的shell窗口时,它运行没有问题(在与某些权限发生冲突后),但在mvc应用程序/IIS服务器上运行时失败。下面是用于调用流程的代码

        var startInfo = new ProcessStartInfo();
        startInfo.FileName = _pgpexeLocation;

        //startInfo.FileName = "pgp.exe";
        startInfo.Arguments = string.Format("-sta \"{0}\" -u keyuser-z keypass +COMPATIBLE +FORCE", _tempFilePath);

        startInfo.UseShellExecute = false;
        startInfo.RedirectStandardOutput = true;
        startInfo.LoadUserProfile = true;

        using (Process exeProcess = Process.Start(startInfo))
        {
            // TODO: set limit to wait for and deal with exit
            exeProcess.WaitForExit();

            //var stringItem = exeProcess.StandardOutput.ReadToEnd();
            //Logger.Info(stringItem);
        }

我在这里抓救命稻草,希望有人以前也做过类似的事情,能帮上忙。我猜它的密钥位置或文件位置没有在某处被拾取,但不确定还可以尝试什么?

结果表明,即使应用程序池使用的是特定用户,并且我在检查底层进程调用时在该用户的appdata文件夹中设置了密钥,但它实际上是在尝试从默认用户拾取密钥轮廓不确定这是IIS配置还是类似的配置,但将keys和pgp文件夹移动到此appdata是否有效