Set-AuthenticodeSignature 帮助信息

 
如下说明是翻译 : help Set-AuthenticodeSignature 产生的帮助信息 .
译者 : Edengundam( 马涛 )
 
Set-AuthenticodeSignature
 
大纲
使用验证码签名对 Windows PowerShell 脚本或其他文件进行签名 .
 
语法
Set-AuthenticodeSignature [-filePath] <string[]> [-certificate] <X509Certificate2> [-includeChain <string>] [-timeStampServer <string>] [-force] [-whatIf] [-confirm] [<CommonParameters>]
 
详细描述
Set-AuthenticodeSignature cmdlet 向任何支持会话初始化协议 (SIP) 文件添加验证码签名 Windows PowerShell 脚本文件中 , 签名采用一段指出脚本中最后运行的命令位置的文本信息 . 当时用此 cmdlet , 如果已经有签名信息存在于脚本中 , 该旧签名将会被删除 .
 
参数
 
-filePath <string[]>
指定被签名的文件路径 .
 
强制参数 ?
true
参数位置 ?
1
默认值
Null
允许从管道绑定输入 ?
true ( 根据值 , 根据属性名 )
允许通配符扩展 ?
true
 
-certificate <X509Certificate2>
指定被用来给脚本签名的证书 . 输入一个包含表示证书的对象的变量或一个取得证书的表达式 .
 
查找证书使用 Get-PfxCertificate Get-ChildItem. 如果证书不可用 , 或没有代码签名授权 , 命令将会失败 .
 
强制参数 ?
true
参数位置 ?
2
默认值
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-includeChain <string>
确定证书信任链中哪些证书被包含在数字签名中 . "NotRoot" 为默认值 .
 
合法取值如下 :
 
·          "Signer": 只包含签名者的证书 .
·          "NotRoot": 除了根颁发机构外 , 证书链中的所有证书 .
·          "All": 证书链中的所有证书 .
 
强制参数 ?
false
参数位置 ?
named
默认值
notroot
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-timeStampServer <string>
使用指定的时间戳服务器来保证向证书添加到文件中的准确时间 . 以字符串形式输入时间戳服务器的 URL.
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-force <SwitchParameter>
在不破坏安全前提下 , 能够避免影响命令成功执行的限制条件 . 例如 : Force 参数能够覆盖具有只读属性的文件或创建路径中的必要成分 , 但是不会改变人和文件的权限 .
 
强制参数 ?
false
参数位置 ?
named
默认值
False
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-whatIf
描述执行此命令将会发生的现象 , 不会真正执行此命令 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-confirm
执行命令前提示你进行确认 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
< 公共参数 >
此命令支持公共参数 : -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. 更多信息 , 输入 , "get-help about_commonparameters".
 
返回类型
PsSignatureObject
 
注意
 
更多信息 , 输入 "Get-Help Set-AuthenticodeSignature -detailed". 需要技术信息 , 输入 "Get-Help Set-AuthenticodeSignature -full".
 
在将签名信息写入文件之前或在证书验证之后 , PowerShell 中的布尔类型的变量 "SigningApproved" 都会被检查 如果该变量没有设置或设置为不是 true 值时 , 方法 ShouldProcess 将会提示用户来确认脚本的签名 .
 
如果提供了参数 TimeStampServer, 将会为签名使用通过指定 URL 获得的时间戳 .
 
参数 "IncludeChain" 指出信任链的哪些证书嵌入到签名块中 . 此命令允许的三个参数 :
 
·          None -- 只有签名者的证书将会被编码并嵌入到脚本中 .
·          Notroot -- 除了根证书外 , 签名者信任链上的所有证书将会被编码并嵌入到脚本中 .
·          Fullchain -- 包括根证书 , 签名者信任链上的所有证书将会被编码并嵌入到脚本中 .
 
如果需要为该命令提供多个参数 , 请使用逗号进行分隔 . 例如 , "<parameter-name> <value1>, <value2>".
 
1
 
C:/PS>$cert=Get-ChildItem -FilePath cert:/CurrentUser/my -CodeSigningCert
 
C:/PS>Set-AuthenticodeSignature PsTestInternet2.ps1 -cert $cert
 
这些命令从 Windows PowerShell 证书 provider 中取得代码签名的证书 , 并使用它对 Windows PowerShell 脚本进行签名 .
 
第一个命令使用 Get-Childitem cmdlet Windows PowerShell 证书 provider 来获得证书仓库子目录 Cert:/CurrentUser/My 中的证书 . ( 驱动器 Cert: 是证书 provider 的使用接口 .) 参数 CodeSigningCert 是只有证书 provider 才支持的 , 限制只取得代码签名颁发机构的证书 . 命令将结果保存在变量 $cert .
 
第二个命令使用了 Set-AuthenticodeSignature cmdlet 来签名叫 PSTestInternet2.ps1 的脚本 . 它使用了参数 FilePath 来指定脚本的名称 , 以及参数 Cert 指示使用存储在变量 $cert 中的证书 .
 
2
 
C:/PS>$cert = Get-PfxCertificate C:/Test/Mysign.pfx
 
C:/PS>Set-AuthenticodeSignature -Filepath ServerProps.ps1 -Cert $cert
 
此命令使用 Get-PfxCertificate cmdlet 来查找一个代码签名证书并使用它对 Windows PowerShell 脚本进行签名 .
 
第一个命令使用 Get-PfxCertificate cmdlet 查找 C:/Test/MySign.pfx 证书并将其存储在变量 $cert .
 
第二个命令 Set-AuthenticodeSignature 用来签名脚本 . Set-AuthenticodeSignature 的参数 FilePath 指出被签名脚本的路径 , 参数 Cert 将包含证书的变量 $cert 传递给 Set-AuthenticodeSignature.
 
如果证书文件受到密码保护 , Windows PowerShell 将会提示您输入密码 .
 
3
 
C:/PS>Set-AuthenticodeSignature -filepath c:/scripts/Remodel.ps1 -cert $cert -IncludeChain All -TimeStampServer "http://www.fabrikam.com/TimeManager"
 
此命令使用第三方时间戳服务器将信任链上包括根颁发机构的证书一起添加到数字签名中 .
 
命令使用参数 FilePath 指定被签名的脚本位置 , 参数 Cert 指定证书保存在变量 $cert . 通过使用参数 IncludeChain 指定信任链中的所有证书证书 ( 包含根颁发机构 ), 参数 TimeStampServer 指定了用于验证脚本签名时间的时间戳服务器的 URL.
 
相关链接
Get-AuthenticodeSignature
Get-PfxCertificate
Get-ExecutionPolicy
Set-ExecutionPolicy
about_signing 
 
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值