私はWhat happens when a code signing certificate expires - Stack Overflowを読んでいました。提供された答えは、あなた自身のCAの設定に関するものでした。自分のCAであっても、期限切れのコード証明書に対処する必要があります。1年または2年ごとに自分のコードに再署名する必要はありませんか?
タイムスタンピングサービスを使用せずにコードに署名した場合、証明書が期限切れになった後もコードは信頼されなくなり、セキュリティ設定によっては実行できなくなる可能性があります。新しい証明書ですべてのコードを再署名するか、更新された証明書で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"
は、あなたが行うことができますこの:
それはあなたの件名(CN、OU、など)を与えるGet-AuthenticodeSignature MyFile.ps1 | fl *
、発行者、前/後の日付、およびサムプリントあなたの証明書とタイムスタンパーの証明書の両方のために。また、署名の状態を示すメッセージも表示されます。
+1:一般的な考え方:グローバルに信頼できるプロバイダを使用します。 –
VerisignとThawteではタイムスタンプもありますか?タイムスタンプがなければ、一部のシステムが期限切れになっていることをクレームし、コードを実行しないでしょうか? – Bratch
@Bratch:はい、タイムスタンプサーバーを使用する必要があります。私たちはそれがなくては公開しなかったので、タイムスタンプのないアプリケーションについてはコメントできません。 –