使用Powershell对具有证书的文件进行签名

使用Powershell对具有证书的文件进行签名,powershell,certificate,Powershell,Certificate,我有一个问题,基本上我有一个文件,一个是txt,另一个是xml,我想使用Powershell用自签名证书对这些文件进行签名 有办法吗 我的脚步会是这样吗 首先使用powershell创建自签名证书 然后在Powershell中使用该证书签署文档 对吗? 你知道怎么做吗 文件签署后,我是否必须向另一方提供此自我签名证书才能正确打开文件?或者它将如何工作? 意外情况下,我的所有脚本都使用已颁发的证书进行了签名,要签名的是我的cmdlet: $cert = Get-ChildItem Cert:\

我有一个问题,基本上我有一个文件,一个是txt,另一个是xml,我想使用Powershell用自签名证书对这些文件进行签名

有办法吗

我的脚步会是这样吗

  • 首先使用powershell创建自签名证书
  • 然后在Powershell中使用该证书签署文档
对吗? 你知道怎么做吗

文件签署后,我是否必须向另一方提供此自我签名证书才能正确打开文件?或者它将如何工作?


意外情况下,我的所有脚本都使用已颁发的证书进行了签名,要签名的是我的cmdlet:

$cert = Get-ChildItem Cert:\CurrentUser\My -CodeSigningCert
Set-AuthenticodeSignature _path_to_my_script_ $cert -HashAlgorithm `
sha256 -TimestampServer "http://timestamp.digicert.com"
至于证书,建议使用已颁发的证书,而不是自签名的证书,它不太昂贵

 如果要使用自签名证书,我认为此cmdlet可以帮助您:

New-SelfSignedCertificate -FriendlyName "My Cert" -KeyUsage DigitalSignature -KeyUsageProperty Sign -KeyLength 2018 -KeyAlgorithm sha256 -Type CodeSigningCert -Subject "CN=System Error,e=mymail@mail.com"
我从未在个人计算机上创建过自签名证书,因此未验证此cmdlet:(

如果您还有其他问题,请告诉我。:)

术语“New SelfSignedCertificate”不被识别为cmdlet的名称,是否可以使用它对XML文件进行签名?1。对于无法识别的cmdlet,请检查您的PowerShell版本,并尝试手动导入模块
PKI
。2.对于第二个,我只是以脚本文件为例,实际上您可以对任何类型的文件进行签名。