Мне нужно обеспечить безопасную связь между различными процессами, использующими сокеты TCP/IP для связи. Я хочу как аутентификацию, так и шифрование. Вместо того, чтобы изобретать колесо, я бы очень хотел использовать SSL и класс SslStream и самозаверяющие сертификаты. Я хочу, чтобы проверить сертификат удаленного процесса на известную копию в моем локальном приложении. (Вам не обязательно должен быть орган сертификации, потому что я намерен копировать сертификаты вручную).
Чтобы сделать это, я хочу, чтобы приложение могло автоматически генерировать новый сертификат при первом запуске. В дополнение к makecert.exe это выглядит как эта ссылка показывает способ автоматического создания самозаверяющих сертификатов, чтобы начать.
Я просмотрел методы AuthenticateAsServer и AuthenticateAsClient для SslStream. Вы можете предоставить обратные вызовы для проверки, поэтому, похоже, это возможно. Но теперь, когда я расскажу об этом, я действительно не думаю, что это возможно.
Я иду в правильном направлении? Есть ли лучшая альтернатива? Кто-нибудь сделал что-нибудь подобное раньше (в основном одноранговый SSL, а не клиент-сервер)?