Конвертировать asn1 в base64 в C # - PullRequest
4 голосов
/ 23 октября 2011

Есть ли способ конвертировать закрытый ключ в кодировке ASN.1 сертификата X509 в формат Base64, используя код C #?

Ответы [ 2 ]

2 голосов
/ 26 октября 2011

При второй мысли - возможно, я не понял ваш вопрос при первом ответе.Если вы хотите преобразовать данные ключа в формат, аналогичный файлам .pem, вам нужно сделать что-то похожее, как в этой статье о создании файлов .pem

2 голосов
/ 26 октября 2011

Вы должны попытаться объединить X509Certificate2.PrivateKey Свойство и Метод RSA.FromXmlString .

Я думаю, что вы можете загрузить данные из ASN.1 с RSA.FromXmlString и затем установите свойство X509Certificate2.PrivateKey для результирующего объекта RSA.После этого вы можете использовать один из методов X509Certificate2 Export () для экспорта вашего ключа.

Если вам просто нужно преобразовать кодированный ключ ASN.1 DER в формат Base64 (.pem), вам просто нужно закодировать двоичный байтмассив в Base64 (с System.Convert.ToBase64String ()) и добавьте верхний / нижний колонтитул для результата:

-----BEGIN RSA PRIVATE KEY-----
encoded key data goes here
-----END RSA PRIVATE KEY-----
...