Hendrik Vis Ответов: 0

Как создать объект x509certificate2 с помощью сертификата, закрытого ключа и файла цепочки?


Я пытаюсь подключиться к серверу, закодированному с помощью C++ и оболочки openssl. Я использую C#. Сервер предоставил мне:
1. Сертификат (.ЭЛТ - заголовок "-----начните доверенный сертификат-----")
2. Собственный, зашифрованный ключ (.ключ - заголовка "-----зашифрованные закрытым ключом-----"). Этот ключ, как сообщается, является зашифрованным ключом AES 256 CBC.
3. ЦС-цепь.PEM-файл, содержащий два "-----начните доверенный сертификат-----" заголовки.

Я ни за что на свете не могу понять, как сгенерировать объект X509Certificate2 для предоставления в SslStream.Вызов BeginAuthenticateAsClient. Будучи новичком в secure sockets, я не знаком с тем, как использовать файл цепочки или сертификат, и не могу найти ничего об использовании зашифрованного закрытого ключа AES.

Может ли кто-нибудь привести пример или объяснение того, как эти три файла играют вместе при аутентификации в качестве клиента?

Следует отметить, что соединение openssl s_client работает с использованием трех файлов. Репликация команды в C# - это то, что я пытаюсь сделать.

Что я уже пробовал:

1. Я пробовал с помощью OpenSSL, чтобы создать pfx-файл (сообщается комбинация ЭЛТ, ключ, и PEM-файлы) и использовать это, чтобы загрузить сертификат x509. Удаленная сторона (сервер) немедленно закрывает транспортный поток.
2. я использовал openssl для создания pfx-файла из crt-файла сервера и ключевого файла, использовал его в процессе аутентификации TcpListener, и он жалуется на то, что клиент и сервер не обладают общим алгоритмом. Это не имеет смысла, если я могу соединить две стороны с помощью команд командной строки openssl.

0 Ответов