web-dev-qa-db-fra.com

IIS 7.5 Création de certificats auto-signés avec la date de validation de plus d'un an

Je crée des certificats SSL auto-signés dans IIS 7.5 pour une utilisation interne. Le problème que j'ai est que je souhaite les créer afin qu'ils durent pendant 10 ans, car ce n'est qu'un environnement de développement.

Je ne peux pas voir une option dans IIS 7.5 où vous pouvez spécifier la durée du certificat valide. Par défaut, il crée des certificats qui expirent en 1 an.

Y a-t-il une façon de changer cela afin que cela les crée afin qu'ils soient valables 10 ans?

15
user1153199

Vous pouvez faire cela en utilisant le SelfSSL.exe outil fourni avec le kit de ressources IIS6. Vous pouvez obtenir le kit de ressources d'ici:

http://www.microsoft.com/download/fr/details.asaspx?displaylang=fr&id=17275

L'installateur découle simplement les outils dans un dossier et n'interfère pas avec aucun de vos paramètres de la machine. L'option d'installation personnalisée vous permet également de choisir les outils que vous souhaitez installer et dans un dossier de votre propre choix.

Ouvrez une ligne de commande d'administrateur et modifiez le répertoire dans l'endroit où vous l'outil de ligne de commande SelfSSL a été installé.

Pour générer un nouveau certificat SSL auto-signé qui expire dans 10 ans exécuter ce qui suit:

 SelfsSl /n:cn=www.mydomaine.com/V: 3650/S: 8 /k:2048[.____]

Cela générera un SSL où:

  • /n:cn=www.mydomain.com - Le SSL est pour www.mydomain.com. Les cn= (nom commun) est important alors ne vous manquez pas.

  • /v:3650 - Nombre de jours Le certificat est valable, dans ce cas dix ans

  • /s:8 - Installez le certificat dans le site ID 8

  • /k:2048 - Utilisez une longueur keylique de 2048 bits.

Malheureusement, il n'ya aucun moyen de générer directement le SSL dans un fichier, vous devez l'installer sur un site. La bonne nouvelle est cependant que le certificat est exportable.

Si vous souhaitez que l'avertissement sur la SSL ne soit pas approuvé lors de la navigation sur des sites à l'aide de votre SSL auto-signé pour partir, vous pouvez également résoudre ce problème:

  1. Exporter le SSL auto-signé sur un .pfx Fichier (vous devez définir un mot de passe, assurez-vous de vous en souvenir)
  2. Lancement (à partir de la ligne de commande ou de démarrage -> Run) mmc certmgr.msc
  3. Parcourir Trusted Root Certificate Authorities -> Certificates Et cliquez avec le bouton droit de la souris pour vous rendre au Import... Option:

    enter image description here

  4. Suivez l'assistant et spécifiez le .pfx Pour importer, puis cliquez sur Suivant (vous aurez besoin du mot de passe que vous avez défini à l'étape 1):

    enter image description here

  5. Lors de la prochaine étape de l'assistant, nous devons choisir le magasin à utiliser. Clique le Browse... bouton qui ouvrira le Select Certificate Store la fenêtre. Nous devons voir les magasins physiques alors assurez-vous qu'il y a une tique en Show physical stores:

    enter image description here

    Développer Trusted Root Certificate Authorities et choisissez Local Computer Selon la capture de l'écran ci-dessus, cliquez sur OK, puis Next >

  6. Cliquez sur le bouton Finish sur l'étape finale de l'assistant et si tout est bon, vous devriez voir:

    enter image description here

CAVEZIERS ET GOTCHAS :

  • SelfsSL Mai Besoin de la compatibilité de la gestion IIS6 installée. Je ne peux pas dire parce que mes propres machines ont déjà cela installé et n'ont pas de VM Handy pour tester cette théorie en les supprimant.

  • Émettre le SSL sur cn=www.mydomain.com et pas cn=mydomain.com Si vous souhaitez pouvoir ajouter le SSL au magasin des autorités de certificat de racine de confiance.

13
Kev

Pour autant que je sache, le problème avec IIS 7.X est que vous ne pouvez pas définir l'en-tête d'hôte pour la liaison SSL.

Utilisation de l'utilitaire de ligne de commande AppCMD, vous devriez pouvoir le faire. Les sites peuvent utiliser le même certificat mais auront des en-têtes d'hôte différents.

Si vous exécutez les 2 commandes suivantes avec vos données, il doit configurer les en-têtes d'accueil.

c:\Windows\System32\inetsrv>appcmd set site /site.name:"local.yourdomain.com" /+bindings.[protocol='https',bindingInformation='*:443:local.yourdomain.com']

c:\Windows\System32\inetsrv>appcmd set site /site.name:"local.dev.yourdomain.com" /+bindings.[protocol='https',bindingInformation='*:443:local.dev.yourdomain.com']

Malheureusement, il y a quelque chose d'autre que vous devez faire pour que cela fonctionne, mais je ne sais pas exactement quoi. Je sais que je l'ai fait IIS réinitialise et j'ai ré-sélectionné les certs SSL, mais je ne suis pas sûr de l'ordre dans lequel faire cela. Mais je sais que je n'ai pas fait quelque chose de "fantaisiste" comme utiliser un autre outil.

0
John Bubriski

OpenSSL peut également être utilisé pour créer un certificat auto-signé comme décrit dans cette réponse de la pile Réponse:

https://stackoverflow.com/a/30517344/537961

0
richk