Я работаю над некоторым кодом, который в настоящее время использует OpenSSL.net для создания пары открытых/закрытых ключей для запроса подписи сертификата. Запрос снабжен открытым ключом и отправляется в ЦС, который возвращает подписанный сертификат. Затем ранее созданный секретный ключ добавляется к сертификату:Добавить закрытый ключ в X509Certificate
myCert.PrivateKey = CryptoKey.FromPrivateKey(rsa.PrivateKeyAsPEM, null);
Проблема в том, мне нужен .net X509Certificate, потому что остальная часть программного обеспечения использует SslStream и других классов .NET для TLS.
Мне удалось создать сертификат из ответа CA, но я не нашел способ добавить к нему закрытый ключ. Я также попытался создать сертификат OpenSSL из ответа CA, экспортируя его как DER или PEM и создав сертификат .net, но он всегда игнорирует закрытый ключ.
Любые идеи о том, как я могу решить эту проблему?
Неужели это когда-нибудь разрешилось? У меня такая же проблема. –
Да, я сделал: http://stackoverflow.com/questions/18462064/associate-a-private-key-with-the-x509certificate2-class-in-net – PogoMips
Nice. После публикации здесь я в конечном итоге смог разобраться. Мой подход был немного более ручным. Но вот оно. http://stackoverflow.com/questions/243646/how-to-read-a-pem-rsa-private-key-from-net/19579157#19579157 –