У меня есть сервер Apache (xampp/wamp), который обеспечивает соединение SSL на порту 443. Он использует два файла сертификата: server.cert и server.key, когда последний имеет закрытый ключ.Как получить закрытый ключ из отдельного файла?
У меня есть другой сервер, настроенный на прослушивание запросов на порт 843 (флеш-файл) и ответ на определенный запрос с некоторым текстовым ответом, написанным на C#, который выполняется отдельно.
Для обеспечения соединения SSL я использую объект flex, называемый SecureSocket, который позволяет, однако, использовать сертификат исходных серверов для шифрования запроса.
Моя цель - научить мой 843 C# -сервер расшифровать отправленные данные и зашифровать ответ, и для этого я использую объект X509Certificate в C#.
Однако, так как паб и собств ключи находятся на разных файлах, я получаю FALSE на следующее:
string text = System.IO.File.ReadAllText(@"C:\xampp\apache\conf\ssl.crt\server.crt");
UTF8Encoding encoding = new System.Text.UTF8Encoding();
byte[] byteCert = encoding.GetBytes(text);
X509Certificate2 uberCert = new X509Certificate2();
uberCert.Import(byteCert);
Console.WriteLine("Has privateKey:" + uberCert.HasPrivateKey.ToString());
Console.WriteLine("PrivateKey: \n" + uberCert.PrivateKey);
Очевидно, что Ложное на uberCert.HasPrivateKey исходит из того, что закрытый ключ в другом файле, так что мои вопросы:
1. Как я могу прочитать закрытый ключ с помощью объекта X509CErtificate2? 2. Как я могу использовать открытый ключ, чтобы расшифровать полученное сообщение и как его зашифровать с помощью закрытого ключа (чтобы отправить зашифрованный ответ)?
Заранее благодарен,
Mike.
Привет @Joe, Я сделал следующее: 'X509Certificate2 uberCert = новый X509Certificate2 (@ "C: \ XAMPP \ Apache \ конф \ server.pfx", "qwe123", X509KeyStorageFlags.MachineKeySet);' после объединения оба ключа в один файл pfx с помощью openssl. Он отвечает истинным, если я проверяю, существует ли закрытый ключ, но я не знаю, как его использовать, чтобы расшифровать мои запросы, не закодированные Base64. При использовании ссылки, которую вы предоставили, все, что я получаю, являются исключениями. какие-нибудь советы? – silicakes