Usted me puede aconsejar si es posible o no para asignar un Certificado SSL para un sitio web en IIS7 el uso de la APPCMD aplicación?

Estoy familiarizado con el comando para establecer el Enlace HTTPS

appcmd set site /site.name:"A Site" /+bindings.[protocol='https',bindingInformation='*:443:www.mysite.com']

y cómo obtener las asignaciones de

%windir%\system32\inetsrv\Appcmd

pero parece que no puede encontrar cualquier forma de mapa de un sitio a un certificado (dicen los certificados de hash, por ejemplo)

5 Comentarios

  1. 52

    La respuesta es utilizar el comando NETSH.
    Por ejemplo

    netsh http add sslcert ipport=0.0.0.0:443 certhash='baf9926b466e8565217b5e6287c97973dcd54874' appid='{ab3c58f7-8316-42e3-bc6e-771d4ce4b201}'
    
    • De donde sacas el appid?
    • Yo simplemente uso un GUID aleatorio para el appID
    • No me funciona Certificado SSL: añadir Error, Error: 183 No se puede crear un archivo que ya existe.
    • Trate de buscar aquí, usted puede ser que necesite un nombre no predeterminado: msdn.microsoft.com/en-us/library/windows/desktop/…
    • escribir netsh http show sslcert dará appid y certhash de los certificados instalados en la máquina.
    • netsh http show sslcert no mostrar nada para mí, y yo estaba esperando que al menos el certificado autofirmado que viene por defecto con IIS llamado TenantEncryptionCert
    • Saludos, powershellers desde el futuro. Recuerde agregar comillas simples en appid='{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}’
    • Alguien puede elaborar uno cómo obtener el id de la aplicación para un sitio específico? Traté de Conseguir-StartApps pero no parece ser de cualquiera de los sitios que figuran en eso.
    • En caso de que alguien está tratando de automatizar este con el chef, parece que es una rutina en windows/resources/certificate_binding.rb
    • ¿de Dónde sacas el appid? yo uso {4dc3e181-e14b-4a21-b022-59fc669b0914}, que es el appid para IIS, y se utiliza cuando se puede hacer esto en el Administrador de IIS interfaz de usuario. no funciona para mí Certificado SSL: añadir Error, Error: 183 No se puede crear un archivo que ya existe. Usted está tratando de configurar un puerto que ya está configurado, ver netsh http show sslcert y netsh http delete sslcert para el control y la eliminación de configuraciones. Recuerde agregar comillas simples … comillas simples se muestran a continuación, usted necesita para eliminar de ellos si se utiliza un símbolo del sistema de Windows.

  2. 17

    Esto me ayudó mucho: una guía sencilla, por Sukesh Ashok Kumar, para la configuración de SSL para IIS desde la línea de comandos. Incluye la importación/de generar el certificado con certutil /makecert.

    http://www.awesomeideas.net/post/How-to-configure-SSL-on-IIS7-under-Windows-2008-Server-Core.aspx

    EDIT: si la dirección URL original es hacia abajo, todavía está disponible a través de la Wayback Machine.

    • Esa URL me da un ASP.NET Amarillo de la Pantalla De la Muerte…
    • mierda. Añadido un wayback machine enlace.
  3. 9

    Con PowerShell y el módulo Deusuario, puede hacer lo siguiente para asignar un certificado SSL para un sitio de IIS:

    # ensure you have the IIS module imported
    Import-Module WebAdministration
    
    cd IIS:\SslBindings
    Get-Item cert:\LocalMachine\MyABF581E134280162AFFFC81E62011787B3B19B5 | New-Item 0.0.0.0!443
    

    Cosas a tener en cuenta… el valor, «7ABF581E134280162AFFFC81E62011787B3B19B5» es la huella digital del certificado que desea importar. Por lo que necesita para ser importados en el almacén de certificados de la primera. El New-Item cmdlet lleva en la dirección IP (0.0.0.0 para todos los ip) y el puerto.

    Ver http://learn.iis.net/page.aspx/491/powershell-snap-in-configuring-ssl-with-the-iis-powershell-snap-in/ para obtener más detalles.

    He probado esto en Windows Server 2008 R2 y Windows Server 2012 pre-lanzamiento.

    • Me gusta la forma en que usted puede usar Get-Elemento cert:\LocalMachine\Mi* tomar ventaja de AD aprovisionar los certificados SSL.
    • Este comando se ha ejecutado correctamente, pero el certificado ssl no está seleccionada para mí en pantalla de iis, ¿qué la verdad hacer?
  4. 4

    @David y @orip de tener derecho.

    Sin embargo, yo quería mencionar que el ipport parámetro especificado en el ejemplo (0.0.0.0:443) es lo que el MSDN llama el «no especificado dirección (IPv4: 0.0.0.0 o IPv6: [::])».

    Me fui en busca de ella, así que me imaginé que el documento aquí para salvar a alguien más el tiempo. Este artículo se centra en SQL Server, pero la información sigue siendo relevante:

    http://msdn.microsoft.com/en-us/library/ms186362.aspx

  5. 1

    Usando las respuestas de este post, he creado un script único que hizo el truco para mí. Se inicia desde el archivo pfx, pero se puede saltar ese paso.

    Aquí es:

    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:']
    
    • ¿Por qué utilizar netsh y appcmd? Estoy tratando de entender el proceso, pero a mí me parece que están haciendo la misma cosa (crear el enlace para todas las ips). Siento que he perdido algo?

Dejar respuesta

Please enter your comment!
Please enter your name here