Httplistener com suporte para https

Parece ser um monte de informações confusas, às vezes conflitantes, no que diz respeito a tornar um .net HTTPListener https capaz. Meu entendimento é o seguinte:

O código c # precisa de umhttps prefixo (ex.https://*:8443) para que o ouvinte entenda que precisa atender às solicitações SSL nessa porta.

O handshake SSL real acontece sob as capas e é tratado porhttp.sys (enterrado em algum lugar na máquina Windows); O código C # não precisa gerenciar explicitamente o handshake SSL, porque isso acontece embaixo das capas.

É necessário ter um "certificado confiável x509" nohttpListener máquina, e de alguma forma esse certificado precisa ser ligado à porta 8443 (neste exemplo)

Meu entendimento acima está correto? Se não, por favor me instrua.

Em relação aos certificados x509, meu entendimento é:

Usarmakecert para criar um certificado x509. Esse certificado é armazenado no armazenamento pessoal e precisa ser movido para o Trusted Store (é onde o ouvinte http ficará). Parece que eu posso usarcertMgr para executar o movimento, ou eu posso usarmmc para efetuar o movimento. Parece que há mais de 1 formato de certificado x509 (DER,Base64,pksprotegido pswdpks particular etc) .. Existe um formato preferido que eu deveria usar?

Depois que eu obtenho o certificado no repositório confiável, preciso vinculá-lo à porta tcp. Eu estou no Win7: devo estar usandohttpcfg ounetsh?

Quaisquer dicas / conselhos seriam apreciados.

questionAnswers(3)

yourAnswerToTheQuestion