Куда ушел магазин сертификатов "Мой"?

Из-за того, что я крут, я пытаюсь запустить последнее демо-приложение WIF, используя VS2k10 B2, на своих 7 боксах... Конечно, 64 бита (у меня сильная шея), у меня проблемы с запуском.

Часть демо-версии требует установки некоторых сертификатов на локальный компьютер. Проблема в том, что они просят меня установить некоторые сертификаты веб-сайта в хранилище сертификатов под названием LocalMachine / My. Ну, похоже, больше нет / My. Появляется подозрительно похожее хранилище под названием Personal, но приложение не работает, если я устанавливаю там сертификаты и изменяю конфигурации для просмотра в LocalMachine / Personal.

Если я устанавливаю сертификаты в TrustedPeople (оно упоминается как допустимое местоположение из-за исключения, которое было выброшено при попытке использовать Personal), достаточно ли этого? Будет ли это считаться дурным тоном на производственной машине?


Тестовый проект Windows Identity Foundation можно найти по адресу: http://claimsbasedwpf.codeplex.com/

Исключение:

Имя свойства: CertificateReference. Ошибка: ID1025: Не удается найти уникальный сертификат, который соответствует критериям. StoreName: 'My' StoreLocation: 'LocalMachine' X509FindType: 'FindBySubjectDistinguishedName' FindValue: 'CN=busta-rpsts.com''

2 ответа

Решение

.NET относится к магазинам иначе, чем Windows. Что является правильной болью в заднице. Когда.NET говорит о "Моем магазине", Windows называет его "Личным хранилищем".

Где вы ставите сертификаты, зависит от их назначения. Личный магазин предназначен для сертификатов, которые вы будете использовать, где у вас есть как открытый, так и закрытый ключ. Хранилище доверенных лиц предназначено для сертификатов, в которых (обычно) у вас есть только открытый ключ и вы хотите добавить явное доверие к этим сертификатам.

Также помните, если вы используете сертификат для шифрования, ваша учетная запись пользователя должна иметь доступ к закрытому ключу. Для сертификатов, установленных в LocalMachine/My, администраторы будут, но, например, NETWORK SERVICE - нет. Вам нужно будет специально предоставить доступ к закрытому ключу.

Вам необходимо установить сертификаты в хранилище локального компьютера, а не в хранилище текущего пользователя. Если вы дважды щелкните по ним, чтобы установить, они перейдут в текущий пользователь. Используйте оснастку mmc, чтобы установить их на локальном компьютере. Также, если у вас есть права доступа, запустите VS от имени администратора.

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