Steve Dower | 0cd6391 | 2018-12-10 18:52:57 -0800 | [diff] [blame] | 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, |
Steve Dower | 21a92f8 | 2019-06-14 08:29:20 -0700 | [diff] [blame] | 19 | [string[]]$patterns=@("*.exe", "*.dll", "*.pyd", "*.cat"), |
Steve Dower | 0cd6391 | 2018-12-10 18:52:57 -0800 | [diff] [blame] | 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 | } |