Pouvez-vous me dire s'il est possible ou non d'attribuer un certificat SSL à un site Web dans IIS7 à l'aide de l'application APPCMD?
Je connais bien la commande permettant de définir la liaison HTTPS
appcmd set site /site.name:"A Site" /+bindings.[protocol='https',bindingInformation='*:443:www.mysite.com']
et comment obtenir les correspondances actuelles
%windir%\system32\inetsrv\Appcmd
mais n'arrive pas à trouver le moyen de mapper un site sur un certificat (par exemple, le hash des certificats, par exemple)
La réponse est d'utiliser NETSH . Par exemple
netsh http add sslcert ipport=0.0.0.0:443 certhash='baf9926b466e8565217b5e6287c97973dcd54874' appid='{ab3c58f7-8316-42e3-bc6e-771d4ce4b201}'
Cela m'a beaucoup aidé: un guide simple, de Sukesh Ashok Kumar, sur la configuration de SSL pour IIS à partir de la ligne de commande. Inclut l’importation/la génération du certificat avec certutil
/makecert
.
http://www.awesomeideas.net/post/How-to-configure-SSL-on-IIS7-under-Windows-2008-Server-Core.aspx
EDIT: si l'URL d'origine est en panne, elle est toujours disponible via la Wayback Machine .
Avec PowerShell et le module WebAdministration, vous pouvez procéder comme suit pour affecter un certificat SSL à un site IIS:
# ensure you have the IIS module imported
Import-Module WebAdministration
cd IIS:\SslBindings
Get-Item cert:\LocalMachine\My\7ABF581E134280162AFFFC81E62011787B3B19B5 | New-Item 0.0.0.0!443
Ce qu'il faut noter ... La valeur "7ABF581E134280162AFFFC81E62011787B3B19B5" est l'empreinte du certificat que vous souhaitez importer. Il doit donc d'abord être importé dans le magasin de certificats. La cmdlet New-Item
prend l'adresse IP (0.0.0.0 pour toutes les IP) et le port.
Voir http://learn.iis.net/page.aspx/491/powershell-snap-in-configuring-ssl-with-the-iis-powershell-snap-in/ pour plus de détails.
J'ai testé cela dans Windows Server 2008 R2 ainsi que dans la pré-version de Windows Server 2012.
@David et @orip ont raison.
Cependant, je voulais mentionner que le paramètre ipport spécifié dans l'exemple (0.0.0.0:443) est ce que MSDN appelle l'adresse "non spécifiée (IPv4: 0.0.0.0 ou IPv6: [::])" .
Je suis allé le chercher, alors je me suis dit que je documenterais ici pour sauver du temps à quelqu'un d'autre. Cet article porte sur SQL Server, mais les informations sont toujours pertinentes:
En utilisant les réponses de ce post, j'ai créé un script unique qui a fait le tour pour moi. Cela commence par le fichier pfx, mais vous pouvez sauter cette étape.
C'est ici:
cd C:\Windows\System32\inetsrv
certutil -f -p "pa$$Word" -importpfx "C:\temp\mycert.pfx"
REM The thumbprint is gained by installing the certificate, going to cert manager > personal, clicking on it, then getting the Thumbprint.
REM Be careful copying the thumbprint. It can add hidden characters, esp at the front.
REM appid can be any valid guid
netsh http add sslcert ipport=0.0.0.0:443 certhash=5de934dc39cme0234098234098dd111111111115 appid={75B2A5EC-5FD8-4B89-A29F-E5D038D5E289}
REM bind to all ip's with no domain. There are plenty of examples with domain binding on the web
appcmd set site "Default Web Site" /+bindings.[protocol='https',bindingInformation='*:443:']