Сертификат Экспорта C# в pfx формате

Я соглашаюсь с John Saunders, это не действительно конкретный C#. Однако отвечать на Ваш вопрос: в основном необходимо переписать файл. Существует два способа, которыми можно сделать это.

  • Read целый файл в память (например, с File.ReadAllLines)
  • Удаляет незаконную строку (в этом случае, является, вероятно, самым легким преобразовать массив строк в List<string>, тогда удаляют строку)
  • Запись, которую вся остальная часть строк назад (например, с File.WriteAllLines) - потенциально преобразовывает List<string> в массив строк снова с помощью ToArray

, Который означает, что необходимо знать, что у Вас есть достаточно памяти все же. Альтернатива:

  • Открытый и входной файл и новый выходной файл (как TextReader / TextWriter, например, с File.OpenText и File.CreateText)
  • Read строка (TextReader.ReadLine) - если Вы не хотите удалять его, пишут это в выходной файл (TextWriter.WriteLine)
  • при чтении всех строк закрывают и средство чтения и устройство записи (если Вы будете использовать using операторы для обоих, то это произойдет автоматически)
  • , Если Вы захотите заменить вход выводом, удалить входной файл и затем переместить выходной файл в место.
14
задан Callum Watkins 6 September 2016 в 16:36
поделиться

1 ответ

Судя по дате, вы, возможно, уже догадались об этом, но все, что вам нужно сделать, это записать возвращенный массив байтов непосредственно в файл:

byte[] certData = cert.Export(X509ContentType.Pfx, "MyPassword");
File.WriteAllBytes(@"C:\MyCert.pfx", certData);
30
ответ дан 1 December 2019 в 09:02
поделиться