Можно ли сохранить файл.PEM в хранилище Windows Server и читать его программно
Обычно мы храним файл.P12 (сертификат) в хранилище сервера Windows. Сертификаты можно хранить по этой ссылке. Кажется, только следующие расширения могут быть сохранены.
- .P12 - Обмен личной информацией
- .PFX - Обмен личной информацией
- .P7B - Стандарт синтаксиса криптографических сообщений
- .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.