Я пытаюсь изменить созданную пару ключей в формате xml на формат PEM.
Вот мой код
CspParameters cspParams = new CspParameters();
cspParams.ProviderType = 1;
cspParams.Flags = CspProviderFlags.UseArchivableKey;
cspParams.KeyNumber = (int)KeyNumber.Exchange;
rsaProvider = new RSACryptoServiceProvider(1024,cspParams);
RSAParameters rsa_params = rsaProvider.ExportParameters(true);
byte[] rsa_export = rsaProvider.ExportCspBlob(true);
//here I've try to get private key data
string data__ = Convert.ToBase64String(rsa_export);
FileStream fs = new FileStream(privateKeyFileName, FileMode.CreateNew);
string type = "RSA PRIVATE KEY";
string header = String.Format("-----BEGIN {0}-----\n", type);
string footer = String.Format("\n-----END {0}-----", type);
data__ = header+data__+footer;
byte[] d_ = Encoding.Default.GetBytes(data__);
//write to file
fs.Write(d_, 0, d_.Length);
fs.Close();
После его запуска у меня есть закрытый ключ, но когда я тестирую его с помощью ключа, создаю сертификат с помощью команды:
openssl req -new -x509 -key privatekey.pvk -config
"C:\AppServ\php5\extras\openssl\openssl.cnf" -out myCert.cer -days 365
произошла ошибка
unable to load Private Key
3004:error:0906D064:PEM routines:PEM_read_bio:bad base64 decode:.\crypto\pem\pem_lib.c:756: