我在读当代码签名证书过期,会发生什么 - 堆栈溢出并想了解更坚实的答案。所提供的答案是更多关于建立自己的CA.即使自己的CA,你仍然需要应对即将到期的代码证书。

如果您不使用时间戳服务,证书到期后,您的代码将不再被信任,并根据安全设置,可能不会被允许运行签署的代码。您将需要一个新的证书重新签署所有代码,或用更新的证书,每1年或2年。

可信的(数字)时戳允许数字签名是证书本身甚至到期之后有效。您需要时如果你更改了新的证书重新签名的代码。

这是否听起来都正确吗?如果是这样,我需要使用什么时间戳服务的建议,最好是人谁实际使用的一个。我也想知道,如果有任何内部解决方案,类似于为自己的CA。

现在适用于PowerShell脚本,但我最终将不得不与其他代码相同的问题。

更新:如何签订PS脚本时间戳样品(你可以做一个脚本这一点):

Set-AuthenticodeSignature -filepath "D:\Projects\A Sample\MyFile.ps1" 
  -cert gci cert:\CurrentUser\My -codesigning 
  | where -Filter {$_.FriendlyName -eq "Thawte Code Signing"}
  -IncludeChain All 
  -TimeStampServer "http://timestamp.verisign.com/scripts/timstamp.dll"

然后,看到签名者证书和证书戳器,你可以这样做:

Get-AuthenticodeSignature MyFile.ps1 | fl *

它给你的主题(CN,OU等),发行人,前/后的日期,以及拇指指模为您的证书和戳器的证书。您还得到一个消息,说明该签名的状态。

有帮助吗?

解决方案

您已经开选择所述受信任的证书提供商(威瑞,Thawte的,魔岛,等等)中的一个更好。这可以让你无需用户明确地信任你的私人根CA签名的软件我们使用VeriSign和Thawte的,即使魔岛与GoDaddy的时间戳不与软件变得无效甚至几年证书到期后的任何问题。

其他提示

时间标记是一个免费的服务 - 它真的只是一个值得信赖的供应商验证你在给定时间签署的文件。威瑞信的时间戳服务标准之一。在帮助的Set-AuthenticodeSignature最后一个例子演示了如何使用它。

利浏览量[MSFT] Windows PowerShell中发展 微软公司

您真的不能逃脱其最终辞职的代码。在运行自己的CA的好处是,你可以选择一个具有默认更长的寿命发出您的代码签名证书,从而使您不必辞职前等待更长的时间。其缺点是具有另一种服务或服务器(您的CA)来处理当然。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top