58 votes

Ce qui se passe quand un certificat de signature de code expire?

J'envisage l'achat d'un certificat de signature de code de VeriSign ou Thawte à signer un XBAP avec. Ma question est la suivante: Qu'advient-il lorsque ce certificat expire? De 299 $et $599 sont assez salée prix pour 1 an/2 ans cerificates, et si je dois livrer un vient d'être signé à construire à mes clients, toutes les fois que mon certificat expire, alors, je vais simplement de traiter avec les tracas de la création de mon propre certificat pour l'instant.

Ce que je n'aime pas à propos de la création de mon propre certificat est la difficulté à le distribuer à toutes les machines clientes qui sera à l'aide de mon XBAP. Mon inscription ne pourra jamais être utilisé sur un réseau local, donc je suppose que je pourrais toujours utiliser le programme d'installation de Windows pour installer ma maison brassée certificat (bien que je n'en suis pas sûr comment faire ce - que quelqu'un a des idées?).

Ce ne serait pas vraiment un problème si je livrais une application de confiance partielle - mais mon application a besoin des autorisations Web, car il sera de parler à des services WCF, c'est donc dans cette zone grise entre la confiance partielle et pleine de confiance, et sans un certificat, je reçois le plaisir ole de la Confiance Accordée Pas de message quand j'essaye de charger mon XBAP.

Des idées?

93voto

Martin Vobr Points 3443

Si vous timestamp votre code alors que le certificat est valide, l'effet est que votre certificat est expiré sont bonnes.

De Thawte Certificat De Signature De Code Faq:

Combien de temps puis-je utiliser un Certificat de Signature de Code?

  • Certificats de Signature de Code, valable pour 1 ou 2 ans selon le cycle de vie que vous choisissez lorsque vous achetez le certificat.Cliquez ici pour connaître les prix. Veuillez noter: Pour Microsoft® Authenticode® (Multi-Usage), vous devez également timestamp votre code signé afin d'éviter que votre code expirant lors de l'échéance de votre certificat.

Est horodaté code valide après un Certificat de Signature de Code expire?

  • Microsoft® Authenticode® (Multi-Usage) permet d'horodater vos code signé. L'horodatage garantit que le code ne prendra fin lors de l'expiration du certificat, car le navigateur valide le timestamp. L'horodatage service est fourni par VeriSign. Si vous utilisez l'horodatage service lors de la signature de code, un hash de votre code est envoyé à VeriSign serveur pour enregistrer un horodatage de votre code. Un utilisateur du logiciel peut faire la distinction entre code signé avec un certificat arrivé à expiration, qui ne doit pas être digne de confiance et le code qui a été signé avec un Certificat qui était en vigueur au moment où le code a été signé, mais qui a par la suite expiré.

31voto

James Newton Points 111

Watch out pour les certificats avec WTD_LIFETIME_SIGNING_FLAG ensemble: Cela signifie (en dépit de ce que vous l'esprit de penser que par le nom) qu'un programme signé avec le certificat n'est pas valide après l'expiration du certificat, même si le programme n'a pas changé, et que le certificat est valide lorsqu'il a été signé.

Cela affecte aussi les mises à jour, même si le client coche la case de faire confiance à tous les programmes de votre entreprise, si votre programme de mise à jour n'est pas signé avec le même cert (ou cert expire), puis la confiance échoue.

De: http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/Authenticode_PE.docx


Horodatage de Traitement avec la durée de Vie de la Signature de la Sémantique

Des Applications ou des autorités de certification qui ne veulent pas horodaté des signatures afin de vérifier avec succès pour une période de temps indéterminée avez deux options:

• Définir la durée de vie du signataire OID dans l'éditeur du certificat de signature.

Si l'éditeur de signature de certificat contient la durée de vie du signataire OID en plus de la PKIX de signature de code OID, la signature devient non valide lors de l'éditeur de l'expiration du certificat de signature, même si la signature est horodaté. La durée de vie du signataire OID est définie comme suit:

szOID_KP_LIFETIME_SIGNING 1.3.6.1.4.1.311.10.3.13

• Définir la WTD_LIFETIME_SIGNING_FLAG dans le WINTRUST_DATA de la structure lors de l'appel de WinVerifyTrust.

Si un WinVerifyTrust appelant ensembles WTD_LIFETIME_SIGNING_FLAG dans le WINTRUST_DATA de la structure et de l'éditeur de signature de certificat a expiré, WinVerifyTrust rapports de la signature non valide même si la signature est horodaté.

Si un éditeur révoque un certificat de signature de code qui contient la durée de vie du signataire OID ou un WinVerifyTrust appelant ensembles WTD_LIFETIME_SIGNING_FLAG dans le WINTRUST_DATA structure, WinVerifyTrust rapports de la signature valable que si les deux conditions suivantes sont remplies:

• La signature a été datées avant la date de révocation.

• Le certificat de signature est encore dans sa période de validité. Après la période de validité expire, la signature devient invalide.


Par Exemple: https://forum.startcom.org/viewtopic.php?f=15&t=2215&p=6827&hilit=lifetime+dédicaces p6827

C'est un problème grave avec StartSSL certificats. Ça ne m'étonne pas qu'il existe des limites dans un certificat qui a coûté si peu, mais enterrer cette limitation dans la copie fine ou dans un vieux post sur le forum au lieu de la rendre plus claire dans la description du produit est faible. Ils peuvent corriger dans le futur, et d'autres peuvent ou peuvent ne pas avoir la même limite alors un e-mail à vérifier avant de passer peut-être sage.

Devinez qui ne savent pas à demander? LOL... eh bien, vivre et apprendre.

13voto

BruceCran Points 1164

Si vous assurez-vous d'ajouter un horodatage lors de la signature des fichiers binaires, vous n'aurez pas à re-signer lors de l'expiration du certificat. Juste ajouter "/t http://timestamp.verisign.com/scripts/timstamp.dll" à la ligne de commande de signtool et la signature numérique sera toujours marquée comme valide, à moins que le certificat est révoqué et l'autorité de certification de confiance.

La raison certificats de signature de code sont si chers, c'est que quelqu'un doit vérifier que vous êtes qui vous dites que vous êtes. Dans mon cas, ils ont vérifié l'adresse et le numéro de téléphone, et il m'a appelé. Comodo certificats semblent être légèrement moins cher que.

7voto

Fernando Miguélez Points 7532

Ce que vous devez faire si vous prévoyez de l'utiliser dans un endroit fermé (LAN) de l'environnement est l'installation de votre propre autorité de certification. Windows Server versions incluent facile à utiliser de l'Autorité de Certification, mais encore plus facile est d'installer un minimum de CA par le biais de la demoCA fournis par openssl, qui se compose de plusieurs scripts. Vous pouvez exécuter openssl demoCA dans Cygwin sous Windows ou en mode natif. Cette demoCA se compose de plusieurs perl/bash scripts d'appel de commandes pour générer des demandes, de signer les certificats et les listes de révocation de certificats, etc.

Lorsque vous avez votre propre autorité de certification ce dont vous avez besoin pour installer votre CA certificat racine donc il n'y aura plus de soucis de mise à jour des certificats d'utilisateur depuis le certificat de la CA restera le même. Généralement, un certificat d'autorité de certification devrait durer de 5 à 10 ans, mais vous pouvez configurer autant que vous le souhaitez (n'oubliez pas qu'il est de votre propre autorité de certification).

Le certificat de la CA sera installé sur chaque ordinateur client. Si votre application fiducies de Windows Système de sécurité, il doit être installé sur IExplorer Autorités de certification de magasin de clés. Si vous utilisez une Application Java, alors vous devez distribuer le certificat d'autorité de certification à l'intérieur de la keystore Java que vous utilisez.

-2voto

static Points 21

Les certificats de signature de Code ne sont pas "gérée", ce qui signifie qu'ils ne mettent pas à jour eux-mêmes... les chances sont que vous avez à acheter un nouveau une fois qu'il expire.

Vous pouvez configurer l'Autorité de Certification (CA) - bâton avec une autorité de certification windows si vous êtes un windows uniquement dans le magasin, mais sinon je le recommande Linux avec quelque chose comme DogTag Système de Certificats.

Notez que si vous créez votre propre autorité de certification, vous devez exporter le public CA cert et l'installer (il est donc de confiance comme une autorité de certification racine) sur n'importe quel serveur qui exécutera le code/scripts signés par un code-signature cert a été délivré par l'autorité de certification. C'est beaucoup, beaucoup moins cher (gratuit?) par rapport à payer pour un cert tous les X ans - pour ne pas mentionner les autres certs vous pourriez problème pour diverses raisons/utilise!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X