CryptographicException: доступ запрещен – как предоставить доступ к хранилищу пользователей?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 CryptographicException: доступ запрещен – как предоставить доступ к хранилищу пользователей?

Сообщение Anonymous »

Я пытаюсь загрузить сертификат из файла PFX в приложении WPF, но выдает ошибку «Отказано в доступе».

Код: Выделить всё

using (FileStream stream = System.IO.File.OpenRead(certificatePath))
{
using (BinaryReader reader = new BinaryReader(stream))
{
buffer = reader.ReadBytes((int)stream.Length);
}
}

X509Certificate2 certificate = new X509Certificate2(buffer, password);

System.Security.Cryptography.CryptographicException: доступ запрещен.

в
System.Security. Cryptography.CryptographicException.ThrowCryptographicException(Int32
hr) at
System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromBlob(Byte[]
rawData, пароль IntPtr, UInt32 dwFlags, логическое значение persistKeySet,
SafeCertContexThandle & PCERTCTX) at
System.security.cryptography.x509Certificates.x509Certificate.loadCertificateFromBlob (byte []
rawdata, объектный пароль, x509keystrageflags keyStorageflags) at
system.cry.crypry.crypry.xry.xry.crypress.crypress.crypryftrageflags. X509Certificate2..ctor(Byte[]
rawData, строковый пароль) в
HelloWorld.HelloClient.Models.Infrastructure.ReadCertificateFromPfxFile(String
certificatePath, строковый пароль)


Последняя строка фрагмента вызывает исключение, и если я запускаю его от имени администратора, все работает нормально. Похоже, проблема заключается в том, что конструктор X509Certificate2 по умолчанию пытается поместить закрытый ключ в хранилище пользователя. Я не использую веб-приложение. этот пост не решает мою проблему. Я думаю, что текущий пользователь может не иметь доступа к своему собственному хранилищу закрытых ключей. Но как я могу предоставить этот доступ?

Подробнее здесь: https://stackoverflow.com/questions/379 ... user-store
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»