La guía paso a paso o código que encontrarás en este artículo es la solución más rápida y efectiva que encontramos a esta inquietud o dilema.
Solución:
Con la función de certificado autofirmado de IIS, no puede establecer el nombre común (CN) para el certificado y, por lo tanto, no puede crear un certificado vinculado a su elección de subdominio.
Una forma de solucionar el problema es usar makecert.exe, que se incluye con el SDK de .Net 2.0. En mi servidor está en:
C:Program FilesMicrosoft.NetSDKv2.0 64bitBinmakecert.exe
Puede crear una autoridad de firma y almacenarla en el repositorio de certificados de LocalMachine de la siguiente manera (estos comandos deben ejecutarse desde una cuenta de administrador o dentro de un símbolo del sistema elevado):
makecert.exe -n "CN=My Company Development Root CA,O=My Company,
OU=Development,L=Wallkill,S=NY,C=US" -pe -ss Root -sr LocalMachine
-sky exchange -m 120 -a sha1 -len 2048 -r
A continuación, puede crear un certificado vinculado a su subdominio y firmado por su nueva autoridad:
(Tenga en cuenta que el valor del parámetro -in debe ser el mismo que el valor CN utilizado para generar su autorización anterior).
makecert.exe -n "CN=subdomain.example.com" -pe -ss My -sr LocalMachine
-sky exchange -m 120 -in "My Company Development Root CA" -is Root
-ir LocalMachine -a sha1 -eku 1.3.6.1.5.5.7.3.1
Su certificado debería aparecer en el Administrador de IIS para vincularse a su sitio, como se explica en la publicación de Tom Hall.
Todas las felicitaciones por esta solución a Mike O’Brien por su excelente entrada de blog en http://www.mikeobrien.net/blog/creating-self-signed-wildcard
Uso de PowerShell
Desde Windows 8.1 y Windows Server 2012 R2 (Windows PowerShell 4.0) y versiones posteriores, puede crear un certificado autofirmado con el nuevo New-SelfSignedCertificate
cmdlet:
Ejemplos:
New-SelfSignedCertificate -DnsName www.mydomain.com -CertStoreLocation cert:LocalMachineMy
New-SelfSignedCertificate -DnsName subdomain.mydomain.com -CertStoreLocation cert:LocalMachineMy
New-SelfSignedCertificate -DnsName *.mydomain.com -CertStoreLocation cert:LocalMachineMy
Uso del Administrador de IIS
- Inicie el Administrador de IIS
- En el nivel del servidor, en IIS, seleccione Certificados de servidor
- En el lado derecho, en Acciones, seleccione Crear certificado autofirmado
- Donde dice “Especifique un nombre descriptivo para el certificado”, escriba un nombre apropiado como referencia.
- Ejemplos:
www.domain.com
osubdomain.domain.com
- Ejemplos:
- Luego, seleccione su sitio web de la lista en el lado izquierdo
- En el lado derecho, debajo de Acciones, seleccione Enlaces
- Agregue un nuevo enlace HTTPS y seleccione el certificado que acaba de crear (si su certificado es un certificado comodín, deberá especificar un nombre de host)
- Haga clic en Aceptar y pruébelo.
Para crear el nuevo certificado para su dominio específico:
Abra Powershell ISE como administrador, ejecute el comando:
New-SelfSignedCertificate -DnsName *.mydomain.com, localhost -CertStoreLocation cert:LocalMachineMy
Para confiar en el nuevo certificado:
- Abra mmc.exe
- Vaya a Consola raíz -> Certificados (computadora local) -> Personal
- Seleccione el certificado que ha creado, haga clic derecho -> Todas las tareas -> Exportar y siga el asistente de exportación para crear un archivo .pfx
- Vaya a Consola raíz -> Certificados -> Autoridades de certificación raíz de confianza e importe el nuevo archivo .pfx
Para vincular el certificado a su sitio:
- Administrador de IIS abierto
- Seleccione su sitio y elija Editar sitio -> Enlaces en el panel derecho
- Agregue un nuevo enlace https con el nombre de host correcto y el nuevo certificado
Aquí puedes ver las comentarios y valoraciones de los lectores
Si te ha resultado de ayuda nuestro artículo, sería de mucha ayuda si lo compartieras con más programadores de esta manera nos ayudas a extender este contenido.