gpt4 book ai didi

c# - 如何使用C#验证Powershell .ps1脚本的签名?

转载 作者:行者123 更新时间:2023-12-03 01:23:51 28 4
gpt4 key购买 nike

我有一些签名的.ps1脚本,我需要验证它们是否已从C#项目正确签名,是否有任何算法或库可以执行此操作?

谢谢!

最佳答案

您可以托管PowerShell引擎以使用Get-AuthenticodeSignature cmdlet对此进行检查,例如:

using System.Collections.ObjectModel;
using System.Management.Automation;
using System.Management.Automation.Runspaces;

private bool VerifyPowerShellScriptSignature()
{
using (var runspaceInvoke = new RunspaceInvoke())
{
string path = "C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\" +
"Modules\\PSDiagnostics\\PSDiagnostics.psm1";
Collection<PSObject> results =
runspaceInvoke.Invoke("Get-AuthenticodeSignature " + path);
Signature signature = results[0].BaseObject as Signature;
return signature == null ? false :
(signature.Status == SignatureStatus.Valid);
}
}

关于c# - 如何使用C#验证Powershell .ps1脚本的签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3142001/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com