2008-11-28 7 views
3

J'ai besoin de générer un CTL pour une utilisation avec IIS7.Listes de confiance de certificat et IIS7

I généré un fichier CTL en utilisant MakeCTL (SDK sur Win2k3) et mis seulement mon propre certificat RootCA dans le CTL.

Cependant, quand je puis utiliser Adsutil.vbs pour mettre mon site à utiliser cette CTL, je reçois:

ErrNumber: -2147023584 (0x80070520) erreur Essayer de définir la propriété: SslCtlIdentifier

I « utilise adsutil.vbs comme ceci:

cscript adsutil.vbs set w3svc/2/SslCtlIdentifier où est le nom convivial du CTL

le problème est, je ne suis pas en mesure de mettre un nom familier. À la fin de l'assistant, il est indiqué "Nom convivial:". Dans IIS6, je peux créer un CTL avec un nom convivial (affiché dans Certificats MMC) mais si je l'exporte à partir de là, quand je l'ai importé, il n'a plus de nom convivial.

Quelqu'un peut-il me montrer comment le faire s'il vous plaît?

Répondre

2

Je rencontre exactement le même problème et je suis de même du mal à trouver une réponse.

Il semble y avoir aucun moyen documenté pour créer un nom pour certificats de confiance listes à l'aide MakeCTL. Et la seule façon documentée d'ajouter un CTL à IIS7 utilise le script adsutil de Neil, mais nécessite un nom convivial. Je suppose que nous pourrions creuser dans une manière programmatique pour faire ceci mais je ne cherche pas à obtenir cette profondeur.

Le noyau de ce problème est que IIS7 semble avoir perdu la faveur des CTL, sinon il aurait un certain soutien de l'assurance-chômage pour eux. Les gens utilisent-ils une alternative aux CTL en combinaison avec les certificats côté client?

Je trouve bizarre ce n'est pas un plus gros problème pour IIS7. Je suis finalement revenu à ceci et ai compris dehors le problème de nom amical.

Mise à jour: Pour obtenir un nom convivial, vous devez stocker le CTL dans le magasin de certificats plutôt que dans un fichier (j'avais déjà utilisé l'approche de fichier auparavant). Donc, en utilisant MakeCTL en mode assistant (sans arguments) et en choisissant 'Certificate Store' sur la page 'Certificate Trust List Storage', vous obtenez une nouvelle page qui vous permet de spécifier un nom convivial.

J'ai donc maintenant un CTL dans le magasin de certificats «Autorités de certification intermédiaires de de LocalMachine. Maintenant, j'essaie d'utiliser 'netsh http add sslcert' pour assigner le CTL à mon site. Avant de pouvoir utiliser cette commande, j'ai dû supprimer le certificat SSL existant affecté à mon site pour l'authentification du serveur. Puis, dans ma commande netsh, je spécifie l'empreinte de ce même cert SSL que j'ai retiré, plus un appid composé, plus 'sslctlidentifier = MyCTL sslctlstorename = CA'. La commande résultante est:

netsh http ajouter sslcert ipport = 10.10.10.10: 443 certhash = adfdffa988bb50736b8e58a54c1eac26ed005050 appid = {ffc3e181-E14B-4a21-b022-59fc669b09ff} sslctlidentifier = MyCtl sslctlstorename = CA

(l'adr IP est munged), mais je reçois cette erreur:

Échec de l'ajout du certificat SSL, Erreur: 1312 Une session d'ouverture de session spécifiée n'existe pas. Il peut déjà avoir été terminé.

Je suis sûr que l'erreur est liée aux options CTL parce que si je les supprime, cela fonctionne (bien qu'aucune CTL ne soit bien sûr assignée).

Quelqu'un peut-il m'aider à franchir cette dernière étape et à faire en sorte que cela fonctionne?

MISE À JOUR 01-07-2010: Je ne résolu ce avec IIS 7.0 et ont depuis migré notre application à IIS 7.5 et je donne cette autre essai. J'ai installé IIS6 Compatibility sur mon serveur de test et j'ai essayé les étapes documentées here en utilisant adsutil.vbs. Je me suis immédiatement tombé sur cette même erreur que Niel a fait ci-dessus:

ErrNumber: -2147023584 erreur en essayant de définir la propriété: SslCtlIdentifier

lors de l'exécution de cette commande:

adsutil.vbs set w3svc/1/SslCtlIdentifier MyFriendlyName

J'ai ensuite essayé la prochaine commande adsutil.vbs documentée et elle a échoué avec la même erreur.

J'ai vérifié que le CTL que j'ai créé a un nom amical de MyFriendlyName et qu'il existe dans le magasin «Intermediate Certification Authorities \ Certificate Trust List» de LocalComputer.

Encore une fois je suis à l'arrêt. Je ne sais pas quoi d'autre essayer. Est-ce que quelqu'un a déjà eu des CTL pour travailler avec IIS7 ou 7.5? Déjà? Suis-je en train de battre un cheval MORT? Google ne montre rien mais mes propres messages et d'autres histoires similaires.

Mise à jour du 6/08/10 - Je peux maintenant confirmer que KB981506 résout ce problème. Un correctif associé à cette base de connaissances doit être appliqué aux machines Server 2008 R2 pour activer cette fonctionnalité. Une fois que cela est installé tout fonctionne parfaitement pour moi.

3

Cela devrait fonctionner sur IIS 7.0 mais probablement pas sur IIS 7.5.
Laissez-nous savoir si cette page est utile s'il vous plaît - http://www.rethinker.net/Blog/Post/14/How-to-Create-and-Use-a-CTL-for-IIS-7-0

+0

Ah, enfin quelqu'un a documenté les étapes correctes. J'ai travaillé avec Microsoft ces dernières semaines sur ce problème et il s'avère que c'est un bogue avec IIS 7.5 mais semble fonctionner avec IIS 7.0. Bien que je n'ai pas confirmé chaque étape de ces instructions, après les avoir examinées rapidement, tout semble correct. Merci viisual. – BrettRobi

+0

+1 Merci. Ces instructions ont fonctionné pour moi dans IIS 7. – Kimberly

+5

Si seulement cette page était encore en ligne ... Ou archivé dans waybackmachine. –

0

La question est de IIS7, mais pour ceux qui cherchent ces informations - de IIS8 vous n'avez plus besoin d'utiliser CTLs, mais utiliser plutôt les « émetteurs d'authentification des clients "dans le magasin de certificats.

Ceci est documenté plus en détail: http://technet.microsoft.com/en-us/library/hh831771.aspx

Questions connexes