После ответа на вопрос zakjan у меня возникла проблема, когда я пытался использовать jquery для выполнения запроса AJAX на моем новом защищенном сервере в веб-представлении Android. Это работало в браузере, но не в моем приложении.
Я использовал этот сайт: https://certificatechain.io/
Я вставил текст моего подписанного файла .crt, который я получил от Comodo (positiveSSL), и он вернул мне объединение всего, что мне было нужно. Я сохранил его как мой домен + "chain.crt" (см. Ниже)
Затем в своих конфигурациях apache я ввел что-то подобное для этого конкретного виртуального хоста:
SSLEngine On
SSLCertificateFile /etc/ssl/localcerts/example_com.crt
SSLCertificateKeyFile /etc/ssl/localcerts/example.com.key
SSLCACertificateFile /etc/ssl/localcerts/example.com.chain.crt
После этого у моего веб-приложения для Android не было проблем с использованием ajax для POST на моем сервере. Я попробовал это на 2 реальных устройствах, одно работает под управлением 2.3.4, другое работает под управлением чего-то. И на эмуляторе работает 2.3. Все сработало.
Надеюсь, это поможет.
SSLCACertificateFile
директивы и указание ее в CA-файле, который мне дали мои полномочия. Это не сработает, если я просто соединю другие сертификаты с моим файлом сертификатов.SSLCACertificateFile
была линия, которую я пропустил. Первоначально я предполагал, что мой CA был слишком новым, потому что SSL работал при запросе от некоторых браузеров / ОС, но не от других. Использование decoder.link/sslchecker помогло уточнить, что мой конфиг был неверным, и этот ответ был исправлен. Спасибо!!Цепочка была в файле crt, что оригинальный SSL работал.
Для GoDaddy есть 2-й сертификат - gd_bundle.crt
Скопируйте эту информацию и добавьте ее в crt, установленный на сервере.
Таким образом, исходный crt на сервере имел 1 сертификат, а после него будет 3 на тот же файл. Это цепь.
У меня все еще есть якорь в цепях на ssllabs.com, но это не проблема, просто возможность оставить или выйти - согласно - /security/24561/ssltest-chain-issues -contains якорь / 24566 # 24566
источник
Вы можете решить проблему неполной цепочки сертификатов вручную, объединив все сертификаты от сертификата до доверенного корневого сертификата (исключительно в этом порядке), чтобы предотвратить такие проблемы. Обратите внимание, что доверенный корневой сертификат не должен быть там, поскольку он уже включен в хранилище корневых сертификатов системы.
Вы должны быть в состоянии получить промежуточные сертификаты от эмитента и объединить их вместе самостоятельно. Кстати, я написал скрипт для автоматизации процедуры, он требует сертификат для выдачи правильно цепочечных сертификатов. https://github.com/zakjan/cert-chain-resolver
источник