Можно ли сохранить файл.PEM в хранилище Windows Server и читать его программно

Обычно мы храним файл.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 ответ

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

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

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

Другие вопросы по тегам