Почему X509Certificate2 иногда не удается создать из блоба?

Используйте NgClass

отл.

[ngClass]="{'color-1': message.length > 0, 'color-2': message.length === 0}"
10
задан sebenalern 16 June 2016 в 22:41
поделиться

2 ответа

Я просто нашел решение этого сам:

X509KeyStorageFlags flags = X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.MachineKeySet;

X509Certificate2 cert = new X509Certificate2(pkcs12_buf, password, flags);

Прием здесь должен использовать локальную базу ключей MachineKeySet флаг вместо базы ключей профиля пользователя, которая является значением по умолчанию, если Вы не указываете альтернативное местоположение. Поскольку идентификационные данные процесса ASP.NET не загружают хранилище профиля пользователя, Вы не можете получить доступ к хранилищу при импорте сертификата программно, но можно получить доступ к хранилищу машины.

Я думаю PersistKeySet просто сохраняет закрытый ключ загруженным, но я не уверен точно, что он делает - требуется, необходимо ли получить доступ к закрытому ключу по некоторым причинам все же.

9
ответ дан 4 December 2019 в 01:03
поделиться

Попытайтесь дать разрешения учетной записи ASP.NET к следующей папке: C:\Documents And Settings\All Users\Microsoft\Crypto\RSA\MachineKeys\ (может варьироваться согласно Вашей среде),

2
ответ дан 4 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: