Question

Je lisais Que se produit quand un certificat de signature de code expire - Stack débordement et je me demandais sur une réponse plus solide. La réponse fournie était plus sur la configuration de votre propre autorité de certification Même avec votre CA vous devrez toujours faire face à expiration des certificats de code.

Si vous avez signé le code sans utiliser un service d'horodatage, après l'expiration du certificat de votre code ne sera plus digne de confiance, et en fonction des paramètres de sécurité, il ne peut pas être autorisé à courir. Vous aurez besoin de re-signer tous votre code avec un nouveau certificat ou un certificat renouvelé, tous les 1 ou 2 ans.

Trusted (numérique) permet timestamping la signature numérique soit valide même après que le certificat lui-même est arrivé à expiration. Vous auriez besoin de re-signer le code avec le nouveau certificat que si vous avez modifié.

Est-ce son tout correct? Si oui, j'ai besoin des recommandations sur les services Horodatage à utiliser, de préférence de quelqu'un qui a réellement utilisé un. Je voudrais aussi savoir s'il y a des solutions en interne, semblable à être votre propre CA.

En ce moment, cela s'applique à des scripts PowerShell, mais je vais finalement avoir le même problème avec d'autres codes.

Mise à jour : Exemple de la façon de signer un script PS avec un horodatage (vous pouvez faire un script pour cela):

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"

Alors, pour voir le certificat et Signataire TimeStamper certificat, vous pouvez faire ceci:

Get-AuthenticodeSignature MyFile.ps1 | fl *

Il vous donne le sujet (CN, OU, etc.), l'émetteur, avant / après les dates et Thumbprints fois pour votre cert et cert du TimeStamper. Vous obtenez également un message indiquant l'état de la signature.

Était-ce utile?

La solution

Vous êtes mieux sélectionner l'un des fournisseurs de certificats de confiance (Verisign, Thawte, Comodo, etc.). Cela vous permet de signer votre logiciel sans que l'utilisateur confiant explicitement votre autorité de certification racine privée Nous avons utilisé les deux Verisign et Thawte, Comodo même GoDaddy avec timestamping sans aucun problème avec le logiciel deviennent invalides années même après l'expiration du certificat.

Autres conseils

L'horodatage est un service gratuit - il est vraiment seulement un fournisseur de confiance de vérifier que vous avez signé le fichier à un moment donné. service d'horodatage de Verisign est le standard. Le dernier exemple dans l'aide pour Set-AuthenticodeSignature montre comment l'utiliser.

Lee Holmes [MSFT] Développement Windows PowerShell Microsoft Corporation

Vous ne pouvez pas vraiment échapper à avoir à démissionner le code éventuellement. L'avantage de gérer votre propre CA est que vous pouvez choisir de publier vos certs une plus grande longévité de signature de code que la valeur par défaut, vous permettant ainsi d'attendre plus longtemps avant de devoir démissionner quoi que ce soit. L'inconvénient est bien sûr d'avoir un autre service ou un serveur (votre CA) à traiter.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top