• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 <#
2 .Synopsis
3     Recursively signs the contents of a directory.
4 .Description
5     Given the file patterns, code signs the contents.
6 .Parameter root
7     The root directory to sign.
8 .Parameter patterns
9     The file patterns to sign
10 .Parameter description
11     The description to add to the signature (optional).
12 .Parameter certname
13     The name of the certificate to sign with (optional).
14 .Parameter certsha1
15     The SHA1 hash of the certificate to sign with (optional).
16 #>
17 param(
18     [Parameter(Mandatory=$true)][string]$root,
19     [string[]]$patterns=@("*.exe", "*.dll", "*.pyd", "*.cat"),
20     [string]$description,
21     [string]$certname,
22     [string]$certsha1,
23     [string]$certfile
24 )
25 
26 $tools = $script:MyInvocation.MyCommand.Path | Split-Path -parent;
27 Import-Module $tools\sdktools.psm1 -WarningAction SilentlyContinue -Force
28 
29 pushd $root
30 try {
31     Sign-File -certname $certname -certsha1 $certsha1 -certfile $certfile -description $description -files (gci -r $patterns)
32 } finally {
33     popd
34 }