Httplistener con soporte https
Parece ser mucha información confusa, a veces conflictiva, con respecto a hacer que un .net HTTPListener https sea compatible. Mi entendimiento es el siguiente:
El código c # de uno necesita unahttps
prefijo (ej.https://*:8443
) para que el oyente entienda que necesita atender las solicitudes SSL en este puerto.
El actual protocolo de enlace SSL ocurre bajo las coberturas y es manejado porhttp.sys
(enterrado en algún lugar de la máquina de Windows); El código de C # no tiene que administrar explícitamente el protocolo de enlace ssl, ya que ocurre debajo de las cubiertas.
Uno debe tener un "certificado de confianza x509" en elhttpListener
máquina, y de alguna manera ese certificado debe estar vinculado al puerto 8443 (en este ejemplo)
¿Mi comprensión anterior es correcta? Si no, por favor educame
Con respecto a los certificados x509, mi entendimiento es:
Utilizarmakecert
para crear un certificado x509. Este certificado se almacena en el almacén personal y debe trasladarse al Almacén de confianza (aquí es donde se verá el oyente de http). Parece que puedo usarcertMgr
para realizar el movimiento, o puedo usarmmc
para efectuar el movimiento. Parece que hay más de 1 x509 formato de certificado (DER
,Base64
,pks
, pswd protegidopks
privado, etc.). ¿Hay algún formato preferido que deba usar?Una vez que obtenga el certificado en la tienda de confianza, debo vincularlo al puerto tcp. Estoy en Win7: debería estar usandohttpcfg
onetsh
?
Cualquier consejo / consejo sería apreciado.