Можно ли сохранить файл .PEM в хранилище Windows Server и читать его программно - PullRequest
0 голосов
/ 14 января 2019

Обычно мы храним файл .P12 (сертификат) в хранилище сервера Windows. Сертификаты можно сохранить, используя эту ссылку . Кажется, только следующие расширения могут быть сохранены.

  1. .P12 - Обмен личной информацией
  2. .PFX - Обмен личной информацией
  3. .P7B - Стандарт синтаксиса криптографических сообщений
  4. .SST - Microsoft Serialized Certificate Store

Я использовал OpenSSL и сгенерировал два файла .PEM (закрытый ключ и сертификат) из моего сертификата .P12. Можно ли хранить эти файлы в хранилище Windows Server?

Мы можем прочитать сертификаты по:

     X509Store store = new X509Store(StoreLocation.CurrentUser);
     store.Open(OpenFlags.ReadOnly);

        X509Certificate2Collection cers = store.Certificates.Find(X509FindType.FindBySubjectName, "My Cert's Subject Name", false);
        if (cers.Count>0)
        {
            cer = cers[0];
        };
        store.Close();

1 Ответ

0 голосов
/ 14 января 2019

Можно ли хранить эти файлы в хранилище Windows Server?

Нет, вы не можете, потому что Microsoft использует концепцию CSP (провайдер криптографических услуг), когда ключи загружаются в провайдера, а провайдер обрабатывает все операции с закрытым ключом. Исторически CSP использовали пользовательский формат ключей, который не был обратно совместим с форматами ключей PKCS # 1 или PKCS # 8.

Ваша душа проста: используйте пару файлов .pem и .key для конкретного приложения. Для других приложений Windows используйте PFX или сертификат в хранилище сертификатов, импортированном из PFX.

...