Как установить SSL-сертификат клиента с веб-сервера для FF и IE? - PullRequest
10 голосов
/ 03 апреля 2011

После входа в систему я хочу, чтобы веб-страница могла предоставлять как клиентам Firefox, так и клиентам MSIE-8 + возможность загрузки и установки уникального сертификата клиента SSL для веб-сайта, чтобы им больше никогда не приходилось входить с этого сайта. машина.

Бэкэнд прост и сделан - у меня есть каталог на моем веб-сервере linux где ввод "make USER = $ username $ {username} .crt.pkcs12" создаст новый ключ клиента и действительный, подписанный файл сертификата клиента PKCS-12 SSL.

Но как лучше всего обеспечить один метод, при котором оба входа (с паролем) Пользователи MSIE и Firefox могут загрузить эти сертификаты и вызвать Диалоговое окно браузера браузера «Установить сертификат клиента»?

Просто выдвинуть сертификат как файл mime-типа ? сказать 'application / x-pkcs7-certreqresp' ?? поэтому пользователю предлагается сохранить файл; но я хочу, чтобы им предложили добавить сертификат для этого сайта клиенту менеджера сертификатов SSL Сертифицированный магазин. Тогда я нашел это для firefox .

Так что это довольно просто
но все, что я могу найти для MSIE, это .

Так что просто вызвать API менеджера безопасности Firefox'x из JavaScript, но я не могу найти способ сделать это из JavaScript MSIE - нужно будет вызывать код .NET C # для доступа к API .NET, и API X509Store кажутся не должен быть экспортирован в MSIE javascript.

На мой взгляд, есть варианты предоставить моно .NET веб-сервис на моем Linux. веб-сервер и перенаправить запросы от клиентов MSIE на сертификаты в этот сервис, который может затем загрузить .NET код, который запускает клиент установить сертификат?

Или я могу заставить клиентов MSIE загрузить скрипт Visual Basic "Install_Cert.VB" что будет запускать "WinHttpCertCfg.exe"?

Или есть какой-то магический API-интерфейс администратора безопасности MSIE, который я просто не могу найти?

Извините, я был отказником Windows с 1992 года; Я использую только Linux / Solaris / BSD / MacOS и не имею доступа к машине с Windows.

Кто-нибудь был здесь раньше / есть совет? Если это так, это будет высоко ценится! Заранее спасибо, Jason

Ответы [ 3 ]

1 голос
/ 05 июля 2013

Вот некоторая документация о способах установки клиентских SSL-сертификатов.

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

1 голос
/ 03 апреля 2011

Вероятно, это не тот ответ, который вы ожидаете получить, но самое простое, что вы можете сделать, это создать ActiveX, который поместит сертификат в нужное хранилище сертификатов в IE. Поскольку ActiveX обрабатывается только IE, у вас будет решение для конкретного IE, и вам потребуется всего одна версия элемента управления ActiveX. Для Firefox (и Chrome и Opera) вам нужно будет найти другие решения.

0 голосов
/ 04 апреля 2011

То, что вы делаете, радикально небезопасно. Закрытые ключи должны быть закрытыми. Таким образом, создание закрытого ключа для кого-то другого является противоречием в терминах. Соответствующий сертификат также должен однозначно идентифицировать клиента. В этом случае он может идентифицировать либо генерирующий код, либо любого клиента (клиентов), которому он выдал ключ и сертификат.

Вам нужно другое решение.

...