Registrar certificado en puerto SSL

Tengo un servicio de Windows (que se ejecuta como LocalSystem) que aloja un servicio OWIN (SignalR) y necesita acceso a través de SSL.

Puedo configurar el enlace SSL en mi máquina de desarrollo local muy bien, y puedo acceder a mi servicio a través de SSL en esa misma máquina. Sin embargo, cuando voy a otra máquina e intento ejecutar el siguiente comando, recibo un error:

Mando:

netsh http add sslcert ipport=0.0.0.0:9389 appid={...guid here...} certhash=...cert hash here...

Error:

Error al agregar certificado SSL, Error: 1312

No existe una sesión de inicio de sesión especificada. Puede que ya haya sido terminado.

El certificado que estoy usando es un certificado totalmente firmado (no un certificado de desarrollo) y funciona en mi caja de desarrollo local. Esto es lo que estoy haciendo:

El servicio de Windows se inicia y registra mi certificado con el siguiente código:

var store = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
var path = AppDomain.CurrentDomain.BaseDirectory;
var cert = new X509Certificate2(path + @"\mycert.cer");
var existingCert = store.Certificates.Find(X509FindType.FindByThumbprint, cert.Thumbprint, false);
if (existingCert.Count == 0)
    store.Add(cert);
store.Close();

Luego intento vincular el certificado al puerto 9389 usando netsh y el siguiente código:

var process = new Process {
    StartInfo = new ProcessStartInfo {
        WindowStyle = ProcessWindowStyle.Hidden,
        FileName = "cmd.exe",
        Arguments = "/c netsh http add sslcert ipport=0.0.0.0:9389 appid={12345678-db90-4b66-8b01-88f7af2e36bf} certhash=" + cert.thumbprint
    }
};
process.Start();

El código anterior instala con éxito el certificado en la carpeta del certificado "Máquina local - Certificados \ Autoridades de certificación raíz de confianza \ Certificados" - pero el comando netsh no se ejecuta con el error que describí anteriormente. Si tomo el comando netsh y lo ejecuto en un símbolo del sistema como administrador en ese cuadro, también arroja el mismo error, por lo que no creo que sea un problema relacionado con el código ...

Tengo que imaginar que esto es posible: muchas otras aplicaciones crean servicios autohospedados y los alojan a través de SSL, pero parece que no puedo hacer que esto funcione ... ¿alguien tiene alguna sugerencia? ¿Quizás alternativas programáticas a netsh?

Respuestas a la pregunta(2)

Su respuesta a la pregunta