Назад | Перейти на главную страницу

Ошибка HTTP-запроса Adobe ExtendScript: нет общего шифра

Для меня Проект Adobe CEP Я пытаюсь вызвать REST API через https со стороны Javascript:

var xmlhttp = new XMLHttpRequest();
xmlhttp.open('GET', 'https://***/api/books', true);
xmlhttp.setRequestHeader('Authorization', 'Basic NDI5MDk...');
xmlhttp.send(null);
if(xmlhttp.status == 200) {
  alert(xmlhttp.responseText);
}

Код запускает следующий вывод в консоли:

net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH

Глядя на журнал сервера nginx с другой стороны, можно увидеть только одно сообщение об ошибке:

2016/09/29 11:25:34 [info] 7048#7048: *4396957 SSL_do_handshake() failed (SSL: error:1408A0C1:SSL routines:ssl3_get_client_hello:no shared cipher) while SSL handshaking, client: **.**.**.**, server: 0.0.0.0:443

У других клиентов проблем с подключением к серверу нет. Веб-сервер очень стабилен и хорошо обслуживается, работает под управлением TSL 1.2 и поддерживает все безопасные шифры:

443/tcp open  https
| ssl-enum-ciphers:
|   TLSv1.2:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A
|       TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 4096) - A
|       TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 4096) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 4096) - A
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 4096) - A
|       TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A
|     compressors:
|       NULL
|     cipher preference: server
|_  least strength: A

Что здесь происходит? Что было бы подходящим способом исследовать, а еще лучше решить эту проблему?

Оказывается, сторона Javascript InDesign не может установить соединение с использованием TLS 1.2. После включения TLS 1 и 1.1 на нашем сервере (при сохранении нашего рейтинга A +) все заработало.