2010-02-02 3 views
3

Я пытаюсь использовать веб-службу RESTful в Adobe AIR. Служба использует сертификаты на стороне клиента для проверки подлинности, поэтому мне нужно установить сертификат и закрытый ключ, используемые AIRпри подключении к этой службе RESTful.Проверка подлинности сертификата на стороне клиента SSL в Adobe AIR

Возможно ли установить сертификат/частный ключ в Adobe AIR?

Я нашел some documentation от Adobe, связанный с добавлением в хранилище сертификатов SSL для AIR 1.5 на Linux, но я надеялся на независимое от платформы решение.

ответ

4

Я не мог найти способ сделать это (ну, еще нет).

Adobe использует хранилище сертификатов ОС. В Windows это означает то же, что и IE (и Google Chrome).

только Решение, с которым я столкнулся, находится под Linux, следуя инструкциям в указанной вами ссылке, а для Windows - загрузить/установить клиентский сертификат через IE (и корень сервера CA, так как у нас есть самозаверяющий сертификат для организации), то Air использует эти сертификаты.

Это приходит с некоторыми неприятностями -

  1. Если пользователь не установит корневой ЦС, они просят подтвердить сертификат безопасности сервера.
  2. Пользователю будет предложено подтвердить, что сертификат клиента используется на каждый запрос на сервер (и в бизнес-приложении, которое выполняет множество запросов данных, это делает его непригодным). Чтобы обойти это, единственный способ, которым я нашел, - заставить пользователя войти в IE, пойти и включить Tools -> Internet Options -> Security -> Custom Level -> Miscellaneous -> "Don't prompt for client certificate selection when no certificate or only one certificate exists". Это останавливает постоянные запросы (хотя, конечно, не работает, если имеется более одного сертификата.
  3. Adobe Air по-прежнему терпит неудачу, но все же, если пользователь также не отправится в IE, до Tools -> Internet Options -> Advanced -> Security -> "Check for service certificate revocation*" и не снимает это. вероятно, это нужно только с самоподписанным сервером сертификатами для серверов, которые не поддерживают отмену, но я не уверен.

Во всяком случае, как вы можете видеть, это все ужасное.

0

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

http://github.com/digitalbazaar/forge/blob/master/README

В настоящее время демонстрация WebID использует Forge для предоставления сертификата на стороне клиента в качестве механизма аутентификации. Это просто демо, поэтому SSL сертификаты самозаверяющие:

https://webid.digitalbazaar.com/manage/

https://payswarm.com/webid-demo/