2008-12-03 5 views
0

У меня проблема с загрузкой определенного сертификата X509 в приложении ASP.NET (т. Е. Не через IIS для https). Я загрузил его в свои «личные» и «надежные корневые» хранилища на моем локальном компьютере (через оснастку MMC), но не могу загрузить его из любого хранилища.Открытый сертификат и разрешения X509

Кажется, у учетной записи NETWORK SERVICE нет разрешений на чтение/загрузку, потому что, когда я меняю идентификатор пулов приложений на пользователя с правами администратора, я могу найти, загрузить и использовать сертификат.

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

Это странно, потому что раньше у меня не было этой проблемы с публичными сертификатами в этом приложении. Единственное различие, которое я могу видеть в этом публичном сертификате и предыдущих публичных сертификатах (которые загружаются штрафом), заключается в том, что этот конкретный публичный сертификат подписывается Verisign и поэтому имеет цепочку сертификации с несколькими другими сертификатами verisign.

Спасибо заранее,
Чарльз

FYI, моя DEV окружающая среда просто моя Vista Business машина с IIS7.

+0

http://stackoverflow.com/questions/338429/x509-public-cert-and-permissions дублируют – Tim 2008-12-03 19:33:22

+1

Это один имеет больше информации, поэтому я закрыл другой. – EBGreen 2008-12-03 19:37:25

+0

Я не знаю, как другой был опубликован. По другому вопросу я нажал кнопку «Назад» на экране «Да, я человек», а затем разместил этот вопрос. Ошибка? * Утки для обложки * – Charlino 2008-12-03 19:39:01

ответ

1

Прошло некоторое время, но я, похоже, помню, что у меня были проблемы с сертификатами, которые я разрешил, импортировав сертификат в физическое (при установке сертификата) установите флажок «Показать физические магазины»).

В качестве альтернативы, вы можете взглянуть на FileMon или ProcMon и проверить наличие доступа для NETWORK SERVICE. На этой странице MSDN перечислены locations of the stores on disk.

Тем не менее, остается расплывчатым ответом, но, надеюсь, это в конечном итоге приводит к решению ...

0

Пара разные мысли. Я немного смущен тем, как вы используете термин «сертификат с закрытым ключом» и что вы подразумеваете под «использованием сертификата» после того, как вы попытались получить к нему доступ с правами администратора. Я предполагаю, что вы пытаетесь сделать одно из следующих действий:

  • получить копию сертификата и сделать что-то вроде проверить его, или использовать его для шифрования что-то.

  • получите копию сертификата и секретный ключ и используйте его, чтобы сделать что-то вроде знака.

Итак ... если это # ​​1, моя первая ставка является то, что параметры сертификата испортили что-то в протоколах ASP.NET. Verisign настроил бы профиль, используемый для генерации и подписания сертификата определенным образом. Это даст настройки сертификата, которые вы не можете изменить, которые могут помешать загрузке сертификата. Я бы проверить сертификат, который дает вам проблемы с сертификатами, которые не имеют никаких проблем, и посмотреть, как расширения в сертификатах меняются. Вы можете сделать это через панель предварительного просмотра сертификата IE в клиенте. Ознакомьтесь с любыми другими настройками, которые вы найдете в Интернете - обычно публикуются отчеты о проблемах интеграции с Microsoft.

К сожалению, если вы обнаружили проблему, вам нужно вернуться к Versign и получить новый сертификат, подписанный с правильными расширениями.Если у вас есть корпоративная учетная запись, попросите поговорить с их поддержкой верхнего уровня, они должны быть достаточно сложными, чтобы помочь вам найти профиль сертификата, который будет работать на ваши инструменты.

Если это # ​​2 - вы можете сделать закрытый ключ для сертификата не подлежащим экспорту. Я предполагаю, что вы используете сертификат программного обеспечения, и вы загрузили PKCS12 или другой файл хранилища сертификатов в браузер. В то время он бы спросил, хотите ли вы экспортировать закрытый ключ. Если вы сказали «нет» (этот флажок не установлен), то закрытый ключ не покинет браузер.

Если у вас есть исходный файл хранилища сертификатов/закрытого ключа, ответ безболезнен - ​​удалите сертификат из своего личного хранилища сертификатов и перезагрузите его. Обязательно проверьте экспортируемый флажок.

Смежные вопросы