C# 使用signtool.exe扫描基于windows的应用程序中的文件

C# 使用signtool.exe扫描基于windows的应用程序中的文件,c#,C#,我被指派执行一个基于windows的C#程序来拾取文件夹并使用signtool.exe扫描/签署所有文档 我可以得到该文件夹中的文件列表。现在如何使用signtool.exe对其进行签名?客户端计算机没有在任何位置安装signtool.exe 编辑:我可以使用x509Certificates直接进行检查,而不是使用外部工具进行签名检查。下面是我的解决方案,供将来需要的人使用 您将启动signtool.exe,其代码类似于: var info = new ProcessStartInfo("<

我被指派执行一个基于windows的C#程序来拾取文件夹并使用signtool.exe扫描/签署所有文档

我可以得到该文件夹中的文件列表。现在如何使用signtool.exe对其进行签名?客户端计算机没有在任何位置安装signtool.exe


编辑:我可以使用x509Certificates直接进行检查,而不是使用外部工具进行签名检查。下面是我的解决方案,供将来需要的人使用

您将启动signtool.exe,其代码类似于:

var info = new ProcessStartInfo("<path.to>\signtool.exe", "<command line arguments>");
var p = Process.Start(info);
p.WaitForExit();
var info=newprocessstartinfo(“\signtool.exe”,”);
var p=进程启动(信息);
p、 WaitForExit();

对不起,已经有一段时间了。我找到了一个简单的解决办法。只是希望在未来,人们会寻找它:

        public static string CheckSignature(string FileName)
    {
        //X509Certificate2 cert;
        try
        {
            var signer = X509Certificate.CreateFromSignedFile(FileName);
            var cert = new X509Certificate2(signer);
            return "Digitally signed by: " + cert.SubjectName.Name;
        }
        catch (Exception)
        {
            return "NOT digitally signed.";
        }
    }
不要忘记包括:
使用System.Security.Cryptography.x509证书


JPL

对不起,我的问题写得不够清楚。如何将signtool.exe嵌入到应用程序中?一旦我的应用程序部署到客户机,signtool.exe也应该在那里。我该怎么做呢?你可以分发一个包含你的应用程序和signtool的zip文件。您可以创建一个简单的安装程序,安装您的应用程序和signtool。或者你也可以。