0

我正在寻找创建一个 Web 服务来签署 Powershell 脚本,以便在 Intranet 中使用。是否可以在 set-authenticodesignature 创建的脚本末尾复制编码文本块?

MSDN 文档 似乎说不。

4

3 回答 3

2

但是您可以从 c#调用powershell 。使用此功能,您可以轻松地从您的代码中调用 Set-AuthenticodeSignature

于 2013-06-21T04:30:47.937 回答
2

.NET 不是你的朋友。没有我能够找到的支持 - 我已经搜索过多次

  1. 这是一个使用 Win32 API 的 VB 示例。可以适应Powershell。http://blogs.msdn.com/b/alejacma/archive/2008/02/20/how-to-sign-exe-files-with-an-authenticode-certificate-vb-net.aspx

  2. 该博客提到了 CAPICOM.SignedCode。如果您已经安装了 CAPICOM 或者这是一个选项,我会选择它。我个人更喜欢在 PS 中使用 COM 而不是 Win32。

  3. 怀疑您不想这样做,但是 FWIW,Mono 确实支持内置的 Authenticode 签名。不久前,我能够剪切、粘贴和编辑一大块 Mono C# 代码并让它在 Powershell 上工作.

于 2013-06-21T18:37:21.497 回答
1

这是他们如何做到的https://github.com/PowerShell/PowerShell/blob/d8f8f0a8bcbadb357f9eaafbb797278ebe07d7cc/src/System.Management.Automation/security/Authenticode.cs

在此文件中,您可以找到具有以下功能的 signaturehelper 类:

internal static Signature SignFile(SigningOption option,
                                           string fileName,
                                           X509Certificate2 certificate,
                                           string timeStampServerUrl,
                                           string hashAlgorithm)

好的,我现在有点晚了;-)

此致

于 2020-08-14T07:16:21.193 回答