Я выполняю JBoss с SSL, сертификат сгенерирован с openssl:
<Connector protocol="HTTP/1.1" SSLEnabled="true"
port="8443" address="${jboss.bind.address}"
scheme="https" secure="true" clientAuth="false"
keystoreFile="${jboss.server.home.dir}/conf/chap8.keystore"
keystorePass="password" sslProtocol = "TLS" />
Мой клиент является приложением AIR, которое взаимодействует с Java Сервер EE через GraniteDS. На стороне Flex/AIR я обновил канал к SecureAMFChannel на services-config.xml:
<channel-definition id="myApp-graniteamf" class="mx.messaging.channels.SecureAMFChannel">
<endpoint uri="https://localhost:8443/myApp/graniteamf/amf"
class="flex.messaging.endpoints.SecureAMFEndpoint" />
</channel-definition>
Теперь, когда я соединяюсь от своего клиента, AIR спрашивает меня, если я хочу продолжить соединение (сертификат представления, и т.д.).
Я плохо знаком с целым понятием SSL/HTTPS, но я прочитал некоторые документы. То, что я пытаюсь выяснить теперь, то, как заставить мое Приложение знать, что сервер безопасен (localhost в этом случае). Из того, что я добрался до сих пор, клиентское приложение должно "доверять серверу как CA" или просто доверять сертификатам с определенного сервера.
Можно ли дать мне некоторый ключ к разгадке как, туда, где начать реализовывать это на моем клиентском приложении AIR?
Если я правильно понимаю, вы используете самоподписанный сертификат. Исходя из этого предположения, вы не можете заставить пользователя принять сертификат через ваше приложение AIR, это будет дырой в безопасности. Чтобы получить вызов из вашего приложения AIR, которому можно доверять, пользователю потребуется импортировать ваш сертификат (или ненадежный ЦС, с помощью которого вы подписали свой сертификат) в свое собственное хранилище ключей.
То, как вы это делаете, различается для каждой ОС, но пример того, как это сделать в Windows, - это просмотреть ваш сервер в IE, получить предупреждение о сертификате, просмотреть сведения о сертификате и затем экспортировать сертификат в файл (X509 iirc). Затем вы можете щелкнуть правой кнопкой мыши файл сертификата и выбрать установку сертификата.
Все последующие вызовы этого защищенного сервера должны быть доверенными.