Расшифровать строку с помощью * .Pem файла в C # - PullRequest
1 голос
/ 23 декабря 2011

Хорошо, у меня есть строка текста, закодированная в Base64.

Я хочу декодировать это из Base64 в байтовый массив, а затем расшифровать это с помощью моего закрытого ключа.Мой закрытый ключ - это файл * .pem.Я потерян!

Я думаю, мне нужно объявить байтовый массив, взять текст между --- BEGIN --- и --- END --- частью моего * .pem и преобразовать этоиз строки 64 в качестве результата моего байтового массива.

Затем мне нужно объявить X509Certificate2 и использовать конструктор, который принимает байтовый массив и строку текста, причем байтовый массив является моим закрытым ключом,строка текста является моей парольной фразой, как показано ниже:

byte[] myprivateKey = Convert.FromBase64String("BASE 64 ENCODED PRIVATE KEY GOES HERE");
X509Certificate2 myPem = new X509Certificate2(myprivateKey, "MY PASSPHRASE");

Однако в этот момент я получаю следующую ошибку:

Не удается найти запрошенный объект.

Я направляюсь в правильном направлении, по крайней мере, или я далеко?Что мне здесь делать?

1 Ответ

1 голос
/ 23 декабря 2011

X509Certificate2 не будет читать закрытый ключ из файла PEM base64. Вам необходимо прочитать секретный ключ отдельно от сертификата, а затем присвоить ему свойство PrivateKey.

См. как получить закрытый ключ из файла PEM? для получения более подробной информации.

...