Utilisation de makecert pour le développement SSL

voici ma situation:

j'essaie de créer un certificat SSL qui sera installé sur toutes les machines du développeur, avec deux serveurs internes (tout n'est pas en production).

Que dois-je faire pour créer un certificat qui peut être installé dans tous ces endroits?

en ce moment j'ai quelque chose dans ce sens, en utilisant l'application makecert dans Microsoft Visual Studio 8SDKv2.0 Bin:

makecert -r -pe -n "CN=MySite.com Dev" -b 01/01/2000 -e 01/01/2033 -eku 1.3.6.1.5.5.7.3.1 -ss Root -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 mycert.cer

cependant, je ne suis pas sûr de savoir comment placer ceci .fichier cer sur les autres ordinateurs, et lorsque je l'installe sur ma machine locale IIS, chaque fois que je visite une page via https:, j'obtiens l'invite de sécurité (même après avoir installé le certificat). Quelqu'un a fait cela avant?

55
demandé sur John 2009-01-30 21:40:04

2 réponses

Voici mes scripts pour faire ceci:

Créer L'Autorité De Certification

créer un certificat auto-signé (- r), avec une clé privée exportable (- pe), en utilisant SHA1 (- r), pour la signature (- sky signature). La clé privée est écrite dans un fichier (-sv).

makecert -r -pe -n "CN=My Root Authority" -ss CA -sr CurrentUser ^
         -a sha1 -sky signature -cy authority -sv CA.pvk CA.cer

(^= autoriser lot de la ligne de commande pour envelopper ligne)

Créer Un Certificat De Serveur

Créer un certificat de serveur, avec une clé privée exportable (- pe), en utilisant SHA1 (-a) pour l'échange de clés (-sky exchange). Il peut être utilisé comme certificat de serveur SSL (-eku 1.3.6.1.5.5.7.3.1). Le certificat de délivrance se trouve dans un fichier (-ic), tout comme la clé (-iv). Utilisez un fournisseur de crypto particulier (- sp, - sy).

makecert -pe -n "CN=fqdn.of.server" -a sha1 -sky Exchange ^
         -eku 1.3.6.1.5.5.7.3.1 -ic CA.cer -iv CA.pvk ^
         -sp "Microsoft RSA SChannel Cryptographic Provider" ^
         -sy 12 -sv server.pvk server.cer

pvk2pfx -pvk server.pvk -spc server.cer -pfx server.pfx

vous utilisez alors le .Le fichier PFX dans votre application de serveur (ou l'installer dans IIS). Notez que, par défaut, pvk2pfx n'applique pas de mot de passe au fichier de sortie PFX . Vous besoin d'utiliser le commutateur -po pour cela.

pour faire confiance à toutes les machines de vos clients, installez ca.cer dans leurs magasins de certificats (dans le magasin Trusted Root Authorities). Si vous êtes sur un domaine, vous pouvez utiliser la Politique Windows Group pour le faire globalement. Sinon, vous pouvez utiliser le certmgr.msc MMC snapin, ou le certutil utilitaire de ligne de commande:

certutil -user -addstore Root CA.cer

à par programme installer le certificat dans IIS 6.0, regardez de Microsoft à l'article KB . Pour IIS 7.0, Je ne sais pas.

138
répondu Roger Lipscombe 2013-03-18 11:43:30

vous devez ajouter -cy authority aux interrupteurs lors de la création de l'autorité du cert, sinon certains magasins du cert ne le considéreront pas comme une AC appropriée.

11
répondu masty 2010-03-24 20:49:49