web-dev-qa-db-fra.com

Ce certificat a une signature numérique non valide

J'essaie d'apprendre à sécuriser le service wcf en utilisant ssl. J'ai trouvé ce site Web et je suis les étapes. http://robbincremers.me/2011/12/27/wcf-transport-security-and-client-certificate-authentication-with-self-signed-certificates/ . Mais pour créer l'étape du certificat, j'ai eu un problème. Utilisation ci-dessous pour créer un certificat.

makecert –pe –n “CN=localhost” –sr localmachine –ss my –sky exchange

Par défaut, l'utilitaire makecert crée des certificats dont l'autorité racine est "Root Agency". Pour une raison quelconque, mon certificat Root Agency est corrompu (signature numérique non valide). Comment puis-je restaurer un certificat Root Agency valide?

Le site dit que lorsque je crée un certificat en utilisant la déclaration ci-dessus et double-cliquez dessus, je devrais voir ceci

enter image description here

Mais je vois ceci:

enter image description here

Donc, même si j'ajoute Root Agency à une autorité de certification racine de confiance, cela n'a aucun sens.

Autre capture d'écran de mon site de guide: enter image description here

Et j'ai

enter image description here

Comment puis-je résoudre le problème "Ce certificat a une signature numérique non valide"?

6
osman

Cela peut être dû aux restrictions de longueur sur les clés de certificat.

Microsoft a imposé une limite de longueur de clé minimale de 1024 bits en août 2012. Vérifiez que votre certificat auto-signé est créé avec une longueur de clé d'au moins 1024 bits.

Pour plus d'informations, vous pouvez consulter cet article de blog Que signifie réellement le message "Ce certificat a une signature numérique non valide."?

Vous pouvez spécifier la longueur de clé lors de la création du certificat avec en utilisant le -len paramètre comme ceci:

makecert -pe -ss MY -$ individual -n "CN=your name here" -len 2048 -r
5
ilikebeets

vous pouvez exécuter la commande suivante dans une invite de commande (avec des droits administratifs):

certutil -setreg chain\minRSAPubKeyBitLength 512

cela réduira la longueur de clé requise (moins sécurisée!)

voir https://morgansimonsen.wordpress.com/2013/05/30/what-does-the-this-certificate-has-an-invalid-digital-signature-message-actually-mean/ pour plus d'informations.

citation de ce site:

La raison se trouve dans le champ Longueur de la clé publique. Dans ce certificat, la clé publique n'est que de 512 octets. En août 2012, Microsoft a publié une mise à jour qui bloquera tous les certificats avec des clés RSA de moins de 1024 bits. Cela a été fait pour s'assurer qu'une clé privée ne peut pas être découverte à l'aide de méthodes de force brute et ainsi exposer des informations privées. Après la mise à jour, CryptoAPI, qui crée une chaîne d'approbation de certificat et valide cette chaîne à l'aide de la validité temporelle, de la révocation de certificat et des stratégies de certificat (telles que les finalités prévues), implémente une vérification supplémentaire pour s'assurer qu'aucun certificat de la chaîne n'a de RSA longueur de clé inférieure à 1024 bits. Ces certificats ne seront pas approuvés. En fait, l'erreur affichée par Internet Explorer; "Le certificat de sécurité présenté par ce site Web n'est pas sécurisé" a plus de sens que les messages dans les propriétés du certificat ("Ce certificat a une signature numérique non valide"). Parce que c'est en fait ce qui se passe; le certificat n'est pas assez bon pour protéger les données que vous transmettez entre le client et le serveur. Alors pourquoi, selon l'extension CryptoAPI, la signature numérique n'est pas valide? Dans la cryptographie à clé publique, la clé privée est générée à partir des clés publiques, ou plutôt, des très grands nombres premiers sélectionnés pour être la clé publique. Cela signifie que si la clé publique est faible, c'est-à-dire inférieure à 512 octets, la clé privée résultante le sera également. Étant donné que c'est la clé privée de l'autorité émettrice qui est utilisée pour signer le certificat délivré, la signature elle-même serait également faible. Et c'est pourquoi le CryptoAPI affiche le message "Ce certificat a une signature numérique non valide". Ce qu'il aurait dû afficher, c'est quelque chose comme "ce certificat a été signé avec une clé privée faible, etc.". Si vous souhaitez à tout prix utiliser des certificats dont la longueur de clé est inférieure à 1024 bits, vous pouvez remplacer les restrictions imposées par la mise à jour Microsoft. La procédure à suivre est décrite dans l'article de la base de connaissances accompagnant la mise à jour. Voici la commande que j'ai exécutée pour tester que j'étais sur la bonne voie et forcer IE pour me laisser utiliser le certificat.

3
gicalle