Microsoft IIS
Información general
Esta guía de uso integrado con MS IIS (Microsoft Internet Information Services) se ha elaborado utilizando las versiones de software y firmware que se indican a continuación:
- SO: Windows Server 2019 (español)
- IIS: 10
- Firmware HSM: 5.0.26.0 (o superior)
- Cliente HSM: 4.7.30 (o superior)
- Utilidad hsmutil: 4.7.30 (o superior)
Requisitos
- Conectividad con el HSM (puerto TCP 4433).
- Software cliente HSM instalado (consulte el tema de Windows).
- Utilidad
hsmutil.exe
descargado, (comprobar aquí). - Servicio HSM iniciado.
- Cuenta Windows con permisos de administración local.
- Credenciales de la partición HSM donde se creará o importará la clave privada.
- Es posible que tenga que reiniciar Windows (para cargar la configuración de la máquina local).
Clave generada en HSM
Clave y CSR generados en HSM a través de IIS Manager.
-
Dinamo Cree unCrypto Provider de tipo RSA Channel (tipo 12) utilizando la siguiente entrada de registro.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\Dinamo SChannel Cryptographic Provider] "Image Path"="tacndcsp.dll" "type"=dword:0000000c
-
Configure los parámetros MS CAPI con las credenciales de la partición HSM en la consola GUI (Dinamocon).
Configure la dirección IP, el nombre y la contraseña de una partición en el HSM; y active CNG. La clave privada se generará en esta partición.
Nota
Mantenga desmarcada la opción Configuración de máquina local.
-
Abra la pantalladel Administrador de IIS
-
En la pantalla de inicio del Administrador de IIS, abra la opción Certificados de servidor.
-
Utilice la opción Crear solicitud de certificado... para generar una CSR(Certificate Signing Request).
-
Rellene la información de los campos que compondrán el certificado.
-
Dinamo Elija el Crypto Provider de y el tamaño de la clave privada
-
Escriba la ruta y el nombre del archivo con el CSR generado.
Archivo CSR-----BEGIN NEW CERTIFICATE REQUEST----- MIIEbzCCA1cCAQAwZTELMAkGA1UEBhMCQlIxCzAJBgNVBAgMAmRmMREwDwYDVQQH DAhicmFzaWxpYTEPMA0GA1UECgwGZGluYW1vMRcwFQYDVQQLDA5lbmctY3NwLWRp bmFtbzEMMAoGA1UEAwwDbGFiMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEAwENg32Rg9IzuD6wN78syqPLx+OTr9WDWdoaCdKzHGv4ZowZn7svsKc0/HKq6 5m/AyvpUlkDuXF9PJ0TihCcgcTSBDGS5tzdK7b+e+gBC8Jgb1TjE1JnGSbunbKh4 ApPLUCY42tp88fkabvz3Iqp+dHHIDsjG2MDqKrZBX8YXKNPJzJTBihn5glH6unWv 9SrwXZn7AwKqnNQ8NLf1xwQBDQ4b5hzDovmtKhwC39ekhx5Yrtlo8LJ/WM/Lphgk 9UbHpCz4w+L+nZ1FuiS2Fqbi80d1U/YvJuC4X5A5lWxiVLevwH+zmqm+bfKqlOmB 5g68dtxBBh9rvRp6aYOCHxn+sQIDAQABoIIBwzAcBgorBgEEAYI3DQIDMQ4WDDEw LjAuMTc3NjMuMjBPBgkrBgEEAYI3FRQxQjBAAgEFDA9XSU4tUlZEUDJSUTdISkoM HVdJTi1SVkRQMlJRN0hKSlxBZG1pbmlzdHJhdG9yDAtpbmV0bWdyLmV4ZTBkBgor BgEEAYI3DQICMVYwVAIBAR5MAEQAaQBuAGEAbQBvACAAUwBDAGgAYQBuAG4AZQBs ACAAQwByAHkAcAB0AG8AZwByAGEAcABoAGkAYwAgAFAAcgBvAHYAaQBkAGUAcgMB ADCB6wYJKoZIhvcNAQkOMYHdMIHaMA4GA1UdDwEB/wQEAwIE8DATBgNVHSUEDDAK BggrBgEFBQcDATCBkwYJKoZIhvcNAQkPBIGFMIGCMAcGBSsOAwIHMAoGCCqGSIb3 DQMHMA4GCCqGSIb3DQMEAgIAgDALBglghkgBZQMEASowCwYJYIZIAWUDBAEtMAsG CWCGSAFlAwQBFjALBglghkgBZQMEARkwCwYJYIZIAWUDBAECMAsGCWCGSAFlAwQB BTANBggqhkiG9w0DAgIBcDAdBgNVHQ4EFgQUjLWAfxVSmthFnKb2sIIIryIwDgcw DQYJKoZIhvcNAQEFBQADggEBAHruyMBExrnqh8m70dr2CPcIA3Tz23TIYjgaGT+p PirrYJA9vzf5xaBYD/ghvRHk1LFzw/20CKETFb9qGIH9iUpEH8LVXz3CkuztFxBN 7kcRzW5GO7Xs0C5PhIxPq6ktMsJsWext46LsyNdWD1UOQAPvA5/wPHYe8CvJSmTv vzUsEkomeGkcR/Y6yX/JeSXXP7qC74D5UWsoY6rWJ67TV9Ox+H+T17iG1n9V/1Z3 GKouUAWFTRddYvbX/jqrfIQVpdSOR04xCkIgn9p9Kqd+pbgFG0SpMirIpAkR+j9a GT1ckY65z0yvARxdwkFjvCdePvMuyVdlaucjbb2//m61Fc0= -----END NEW CERTIFICATE REQUEST-----
Se generará una clave privada RSA en el HSM. El nombre (id) de esta clave viene definido por la directiva Administrador de IIS. Identifique y anote el nombre de la clave generada, se utilizará más tarde. Puede ser útil dejar el CLI
hsmcon.exe
(línea de comandos) que muestra en tiempo real la actividad del HSM (opciónRegistros/Seguimiento
) para identificar el nombre/id de la clave privada generada.Registro HSM2021/02/16 17:45:21 00003CE8 00039289 000A3309 session thread up [3] 2021/02/16 17:45:21 00003CE8 0003928A 678CC86D e-conn: 208.115.199.22|208.115.199.22 10.61.53. 60:443 - 2021/02/16 17:45:21 00003CE8 0003928B 000A3309 session thread down [2]|208.115.199.22 10.61.53. 60:443 - 2021/02/16 17:45:24 00003CE7 0003928C DCED7818 new key iispart/CSP0670045F, t: 6, a: 00000001, c: 31|10.61.53.163 10.61.53.60:4433 iispart 2021/02/16 17:45:24 00003CE7 0003928D DCED7818 R_COOR trying to setup 12EAD6FB1E46ABCB 04|10.61. 53.163 10.61.53.60:4433 iispart 2021/02/16 17:45:24 00003CE7 0003928E DCED7818 R_COOR prepared 12EAD6FB1E46ABCB 04|10.61.53.163 10.61.53.60:4433 iispart 2021/02/16 17:45:24 00003CE7 0003928F DCED7818 iispart/CSP0670045F created|10.61.53.163 10.61. 53.60:4433 iispart ^^^^^^^ ^^^^^^^^^^^ ^^^^^^^ # (1)! 2021/02/16 17:45:24 00003CE7 00039290 DCED7818 pk iispart/CSP0670045F!F7md3iGOTL34+gRTEo/4okX +CR719IPywZ2+yqVpegc=, c: 31|10.61.53.163 10.61.53.60:4433 iispart
- Generación de claves en HSM
-
Lleve la CSR a una Autoridad de Certificación (CA) para que emita el certificado.
Este paso es externo y depende completamente del procedimiento de la CA elegida. Anote la ruta y el nombre del certificado (archivo *.cer) recibido de la CA.
-
En IIS Manager utilice la opción Complete Certificate Request....
-
Informar al archivo del certificado emitido por la CA.
-
Al final del proceso, el certificado debe figurar en la lista Administrador de IIS que se utilizará en
Páginas web
gestionado por IIS.Nota
El Administrador de IIS asociará la clave privada y el certificado con el Proveedor CSP en la cuenta del usuario. En el siguiente paso, esta asociación se volverá a realizar para el Proveedor CNG y en la cuenta de la máquinalocal.
-
(Re)asociar la clave con el certificado en el Proveedor de GNC Dinamo en el equipo local mediante
hsmutil.exe
. Esta reasociación es necesaria para la Servicio Subsistema de Autoridad de Seguridad Local puede utilizar la clave generada en el HSM.Ejecutar la utilidad
hsmutil.exe
con los parámetros que se indican a continuación. Los valores de<id da chave no HSM>
e<hash/fingerprint do certificado>
debe sustituirse como se explica a continuación.hsmutil -j certassignkey -csp "Dinamo HSM Cryptographic Provider" -store local_machine -repo My -container <id da chave no HSM> -keyspec cng -certhash <hash/fingerprint do certificado>
O
<id da chave no HSM>
es el nombre de la clave privada generada en el paso anterior e identificada. También se muestra en la lista de claves de la partición elegida del HSM.Clave RSA en HSMDinamo - Remote Management Console v. 4.7.29.0 2018 (c) Dinamo Networks HSM 10.61.53.60 e - Engine 5.0.27.0 (DCD) - TCA0000000 - ID iispart ^^^^^^^ Keys/Objects - List Name Type T E Label ================================================================================ CSP0670045F rsa2048 n y ^^^^^^^^^^^ # (1)! Total of objects: 1 Press ENTER key to continue...
- Clave RSA en HSM
O
<hash/fingerprint do certificado>
puede comprobarse directamente en el certificado emitido por la CA, utilizando la utilidad de Windowscertutil
(línea de comandos) o abriendo el archivo del certificado en el visor de Windows.Verificación del hash del certificadoPS > certutil <arquivo do certificado> | Select-String 'Cert Hash\(sha1\):' Cert Hash(sha1): fe8c1b7e672edbc7004a177bc4fad5244c91f4b9
Ejemplo de utilización del comando de asociaciónhsmutil -j certassignkey -csp "Dinamo HSM Cryptographic Provider" -store local_computer -repo My -container CSP0670045F -keyspec cng -certhash fe8c1b7e672edbc7004a177bc4fad5244c91f4b9
-
Cambiar la configuración de MS CAPI para la cuenta de la máquina local.
En la consola del cliente HSM (Dinamocon), active la opción de configuración Máquina local.
Nota
La prueba de conexión dejará de funcionar porque la configuración se transfiere de la cuenta del usuario conectado a la cuenta de la máquina local.
-
En el Administrador de IIS vaya al sitio (en la rama Sitios) donde el protocolo HTTPS estará vinculado con el certificado. Por ejemplo, el Sitio Web Predeterminado.
-
En la opción Vinculaciones..., haga clic en Añadir para crear una nueva vinculación
-
En la pantalla Add Site Binding, en Type seleccione https y en SSL Certificate seleccione el certificado emitido por la CA e importado anteriormente.
-
Pruebe la configuración accediendo con el navegador a la dirección del sitio web configurado.
Desde un navegador, compruebe que se puede acceder a la dirección del sitio web configurado a través del protocolo https. Compruebe que el certificado utilizado es el configurado anteriormente.
Para esta comprobación, puede ser útil dejar la consola CLI
hsmcon.exe
(línea de comandos) que muestra en tiempo real la actividad del HSM (opciónRegistros/Seguimiento
) y comprobando que se activa la clave privada para cerrar el túnel SSL.Registros en HSM2021/02/16 19:45:05 00003F80 00039C37 13D1B59C iispart auth init, c: 41|10.61.53.163 10.61.53. 60:4433 - 2021/02/16 19:45:05 00003F80 00039C38 13D1B59C iispart auth ok, 10.61.53.163, 6|10.61.53.163 10. 61.53.60:4433 - ^^^^^^^ # (1)! 2021/02/16 19:45:05 00003F80 00039C39 13D1B59C rsa CSP0670045F!F7md3iGOTL34+gRTEo/4okX +CR719IPywZ2+yqVpegc=, c: 41|10.61.53.163 10.61.53.60:4433 iispart ^^^ ^^^^^^^^^^^ # (2)! 2021/02/16 19:45:05 00003F80 00039C3A 13D1B59C e-conn: 10.61.53.163|10.61.53.163 10.61.53. 60:4433 iispart 2021/02/16 19:45:05 00003F80 00039C3B 000A3309 session thread down [5]|10.61.53.163 10.61.53. 60:4433 iispart
- Autenticación HSM
- Uso de la llave en el HSM
Clave generada fuera del HSM
-
Configure los parámetros MS CAPI con las credenciales de la partición HSM en la consola GUI (Dinamocon).
Configure la dirección IP, el nombre y la contraseña de una partición en el HSM; y active CNG. La clave privada se generará en esta partición.
Nota
Mantenga desmarcada la opción Configuración de máquina local.
-
Importe el archivo .pfx en HSM con la consola
hsmcon.exe
(línea de comandos).Anote el nombre de la clave privada y el certificado importados en el HSM.
Importación de un archivo .pfx a HSMDinamo - Remote Management Console v. 4.7.30.0 2018 (c) Dinamo Networks HSM 10.61.53.60 e - Engine 5.0.27.0 (DCD) - TCA0000000 - ID iispart Keys/Objects - Import - Asymmetric Keys - PKCS#12 File (local) : iispart.pfx Private key password : ******** Exportable (y/[n]): Define an Usage Profile (y/[n]): Private key name : sslkey X.509 certificate name (HSM) : sslcert Public key name (ENTER for none) : File loaded successfully. Press ENTER key to continue...
-
Exportar el HSM (.cer) con la consola
hsmcon.exe
(línea de comandos).Exportar el certificadoDinamo - Remote Management Console v. 4.7.30.0 2018 (c) Dinamo Networks HSM 10.61.53.60 e - Engine 5.0.27.0 (DCD) - TCA0000000 - ID iispart Keys/Objects - Export - Certificate / PKCS#7 / File Name (HSM) : sslcert Output File (local) (ENTER to dump on screen) : ssliss.cer File exported successfully. Press ENTER key to continue...
-
Importe el certificado (.cer) al repositorio del equipo local utilizando el complemento para certificados (equipo local) desde la Consola de administración de Microsoft (MMC) de Windows en el equipo local.
Nota
Importe el archivo .cer (certificado), no el archivo .pfx (clave privada).
Nota
El icono del certificado en la lista no muestra una clave, ya que sólo se ha importado el certificado.
-
(Re)asociar la clave con el certificado en el Proveedor de GNC Dinamo en el equipo local mediante
hsmutil.exe
. Esta reasociación es necesaria para la Servicio Subsistema de Autoridad de Seguridad Local puede utilizar la clave generada en el HSM.Ejecutar la utilidad
hsmutil.exe
con los parámetros que se indican a continuación.hsmutil -j certassignkey -csp "Dinamo HSM Cryptographic Provider" -store local_computer -repo My -container <id da chave no HSM> -keyspec cng -certhash <hash/fingerprint do certificado>
O
<id da chave no HSM>
es el nombre de la clave privada importada en el paso anterior e identificada.O
<hash/fingerprint do certificado>
puede comprobarse directamente en el certificado emitido por la CA, utilizando la utilidad de Windowscertutil
(línea de comandos) o abriendo el archivo del certificado en el visor de Windows.PS > certutil <arquivo do certificado> | Select-String 'Cert Hash\(sha1\):' Cert Hash(sha1): fe8c1b7e672edbc7004a177bc4fad5244c91f4b9
Ejemplo de utilización del comando de asociación:
hsmutil -j certassignkey -csp "Dinamo HSM Cryptographic Provider" -store local_computer -repo My -container sslkey -keyspec cng -certhash fe8c1b7e672edbc7004a177bc4fad5244c91f4b9
Una vez que el certificado y la clave privada se hayan asociado correctamente, el icono del certificado de la lista de la ventana gráfica MMC debería mostrar una clave.
-
Cambiar la configuración de MS CAPI para la cuenta de la máquina local.
En la consola del cliente HSM (Dinamocon), active la opción de configuración Máquina local.
Nota
La prueba de conexión dejará de funcionar porque la configuración se transfiere de la cuenta del usuario conectado a la cuenta de la máquina local.
-
En el Administrador de IIS vaya al sitio (en la rama Sitios) donde el protocolo HTTPS estará vinculado con el certificado. Por ejemplo, el Sitio Web Predeterminado.
-
En la opción Vinculaciones..., haga clic en Añadir para crear una nueva vinculación
-
En la pantalla Add Site Binding, en Type seleccione https y en SSL Certificate seleccione el certificado emitido por la CA e importado anteriormente.
-
Pruebe la configuración accediendo con el navegador a la dirección del sitio web configurado.
Desde un navegador, compruebe que se puede acceder a la dirección del sitio web configurado a través del protocolo https. Compruebe que el certificado utilizado es el configurado anteriormente.
Para esta comprobación, puede ser útil dejar la consola CLI
hsmcon.exe
(línea de comandos) que muestra en tiempo real la actividad del HSM (opciónRegistros/Seguimiento
) y comprobando que se activa la clave privada para cerrar el túnel SSL.Registros en HSN2021/02/16 19:45:05 00003F80 00039C37 13D1B59C iispart auth init, c: 41|10.61.53.163 10.61.53. 60:4433 - 2021/02/16 19:45:05 00003F80 00039C38 13D1B59C iispart auth ok, 10.61.53.163, 6|10.61.53.163 10. 61.53.60:4433 - ^^^^^^^ # (1)! 2021/02/16 19:45:05 00003F80 00039C39 13D1B59C rsa CSP0670045F!F7md3iGOTL34+gRTEo/4okX +CR719IPywZ2+yqVpegc=, c: 41|10.61.53.163 10.61.53.60:4433 iispart ^^^ ^^^^^^^^^^^ # (2)! 2021/02/16 19:45:05 00003F80 00039C3A 13D1B59C e-conn: 10.61.53.163|10.61.53.163 10.61.53. 60:4433 iispart 2021/02/16 19:45:05 00003F80 00039C3B 000A3309 session thread down [5]|10.61.53.163 10.61.53. 60:4433 iispart
- Autenticación HSM
- Uso de la llave en el HSM