У меня проблема с загрузкой определенного сертификата X509 в приложении ASP.NET (т. Е. Не через IIS для https). Я загрузил его в свои хранилища «Personal» и «Trusted Root» на моем локальном компьютере (через оснастку MMC), но не могу загрузить его ни из одного хранилища.
Кажется, что у учетной записи NETWORK SERVICE нет разрешений на ее чтение / загрузку, потому что, когда я меняю идентификатор пула приложений на пользователя с правами администратора, я могу найти, загрузить и использовать сертификат.
Это всего лишь общедоступный сертификат, поэтому, в отличие от сертификата с закрытым ключом, я не вижу нигде, где можно было бы установить для него разрешения.
Это странно, потому что раньше у меня не было этой проблемы с общедоступными сертификатами в этом приложении. Единственная разница, которую я вижу между этим общедоступным сертификатом и предыдущими общедоступными сертификатами (которые загружались нормально), заключается в том, что этот конкретный открытый сертификат был подписан Verisign и, следовательно, имеет цепочку сертификации с парой других сертификатов Verisign.
Заранее спасибо,
Чарльз
К вашему сведению, моя среда разработки - это просто моя машина Vista Business с IIS7.
У этого есть больше информации, поэтому я закрыл другой.
Я не знаю, как был опубликован другой. Что касается другого вопроса, я нажал кнопку «Назад» на экране «Да, я человек», а затем разместил этот вопрос. Ошибка? утки для укрытия





Прошло некоторое время, но я, кажется, припоминаю, что у меня были проблемы с сертификатами, связанные с разрешениями, которые я решил, импортировав сертификат в хранилище физический (установите флажок «Показать физические хранилища» при установке сертификата).
В качестве альтернативы вы можете взглянуть с помощью FileMon или ProcMon и проверить наличие отказа в доступе для СЕТЕВОЙ СЛУЖБЫ. Эта страница MSDN содержит список расположение магазинов на диске.
Все еще остается расплывчатым ответом, но, надеюсь, это в конечном итоге приведет к решению ...
Хорошо ... Итак, теперь я щелкнул "показать физические магазины", там есть папка "Реестр" в "Личные", а в "Доверенные корневые центры сертификации" есть "Реестр", "Локальный компьютер" и "Смарт-карта". папки. Есть идеи, что делать дальше?
Извините, как я уже сказал, прошло какое-то время ... Тем не менее, я добавил к своему "ответу" альтернативный подход к устранению неполадок.
Пара разных мыслей. Меня немного смущает, как вы используете термин «сертификат с закрытым ключом» и что вы подразумеваете под «использовать сертификат» после того, как попытались получить к нему доступ с правами администратора. Я предполагаю, что вы пытаетесь сделать одно из следующего:
получите копию сертификата и сделайте что-нибудь вроде проверки или используйте ее для шифрования чего-либо.
получить копию сертификата и закрытого ключа и использовать его для чего-то вроде подписи.
Итак ... если это №1, моя первая ставка заключается в том, что настройки сертификата что-то испортили в протоколах ASP.NET. Verisign определенным образом настроила бы профиль, используемый для создания и подписи сертификата. Это даст настройки сертификата, которые вы не можете изменить, которые могут помешать загрузке сертификата. Я бы проверил сертификат, который вызывает проблемы, по сравнению с сертификатами, у которых нет никаких проблем, и посмотрел, как меняются расширения сертификатов. Вы можете сделать это через панель предварительного просмотра сертификата IE в клиенте. Проверьте любые другие настройки, которые вы найдете в Интернете - обычно там публикуются отчеты о проблемах интеграции с Microsoft.
К сожалению, если вы обнаружите проблему, вам придется вернуться в Versign и получить новый сертификат, подписанный с правильными расширениями. Если у вас есть корпоративная учетная запись, попросите поговорить с их службой поддержки верхнего уровня, они должны быть достаточно осведомлены, чтобы помочь вам найти профиль сертификата, который будет работать для ваших инструментов.
Если это # 2 - возможно, вы сделали закрытый ключ сертификата неэкспортируемым. Я предполагаю, что вы используете сертификат программного обеспечения и загрузили PKCS12 или другой файл хранилища сертификатов в браузер. В то время он бы спросил, хотите ли вы экспортировать закрытый ключ. Если вы сказали «нет» (не отметили поле), то закрытый ключ не покинет браузер.
Если у вас есть исходный файл хранилища сертификата / закрытого ключа, ответ будет безболезненным - удалите сертификат из личного хранилища сертификатов и повторно загрузите его. Обязательно установите флажок экспортируемый.
Немного поздно, но ... Я пытался использовать сертификат, чтобы проверить что-то, что было подписано. Это была реализация SAML2, в которой публичный сертификат, который я мне дал, ранее отлично работал у ряда различных поставщиков. Я закончил чтение / загрузку сертификата из метаданных поставщиков удостоверений.