¿Usa SSL y SslStream para la autenticación de igual a igual?

Necesito proporcionar una comunicación segura entre varios procesos que utilizan sockets TCP / IP para la comunicación. Quiero autenticación y encriptación. En lugar de reinventar la rueda, realmente me gustaría usar SSL y la clase SslStream y certificados autofirmados. Lo que quiero hacer es validar el certificado del proceso remoto con una copia conocida en mi aplicación local. (No es necesario que haya una autoridad de certificación porque tengo la intención de que los certificados se copien manualmente).

Para hacer esto, quiero que la aplicación pueda generar automáticamente un nuevo certificado la primera vez que se ejecute. Además de makecert.exe, parece queeste enlac muestra una forma de generar automáticamente certificados autofirmados, así que eso es un comienzo.

He examinado los métodos AuthenticateAsServer y AuthenticateAsClient de SslStream. Puede proporcionar devoluciones de llamadas para la verificación, por lo que parece posible. Pero ahora que estoy en los detalles, realmente no creo que sea posible hacer esto.

¿Voy en la dirección correcta? ¿Hay una mejor alternativa? ¿Alguien ha hecho algo como esto antes (básicamente SSL de igual a igual en lugar de cliente-servidor)?

Respuestas a la pregunta(3)

Su respuesta a la pregunta