Почему X509Certificate2.Import (имя файла) не может загрузить сертификат Symlink - PullRequest
0 голосов
/ 28 декабря 2018

Я пытаюсь импортировать сертификат (используя символическую ссылку действующего сертификата).

Однако я получаю следующее исключение.

Unspecified error
   at System.Security.Cryptography.CryptographicException.ThrowCryptographicException(Int32 hr)
   at System.Security.Cryptography.X509Certificates.X509Utils._QueryCertFileType(String fileName)
   at System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(String fileName, Object password, X509KeyStorageFlags keyStorageFlags)
   at System.Security.Cryptography.X509Certificates.X509Certificate2.Import(String fileName)

Работая делаю, чтобы загрузить содержимое файла и вызвать импорт с помощью байта [].

publicCertificate = new X509Certificate2();

// If the File is a Symbolic Link, then read the byte[]
if (new FileInfo(publicFilePath).Attributes.HasFlag(FileAttributes.ReparsePoint))
{
    publicCertificate.Import(File.ReadAllBytes(publicFilePath));
}
else
{
    publicCertificate.Import(publicFilePath); // This Throws Error without the above Condition
}

Я посмотрел документацию этого API и, кажется, нетупоминание о том, что он не работает с файлами Symlink.

Есть ли какая-либо конфигурация, которую я могу передать сертификатам X509 и напрямую импортировать сертификат вместо того, чтобы вручную читать его содержимое?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...