Сертификат SSL для моего сайта, https://www.snipsalonsoftware.com/, не работает на Android. При устранении этой проблемы я подключил свой сайт к инструменту тестирования Qualys SSL Labs:
https://www.ssllabs.com/ssltest/analyze.html?d=www.snipsalonsoftware.com&s=50.57.181.104
Этот отчет, кажется, говорит мне, что у меня есть «проблемы с цепочкой». Что-то «неполное». Но мне трудно понять, что именно неполно.
В следующем разделе, в разделе «Пути сертификации», я вижу оранжевым цветом (и я предполагаю, что оранжевый означает «довольно плохо») «Дополнительная загрузка». Я понятия не имею, что это значит и как это исправить. я нашел эта тема, но я не могу сказать, как преобразовать то, что они говорят, в решение для меня.
Что я должен делать?
Вы настроили свой сервер только на отправку сертификата браузерам. Для большинства настольных браузеров это нормально, потому что они уже содержат множество деталей промежуточного и корневого ЦС, поэтому они могут легко построить цепочку доверия. Для большинства мобильных браузеров вам, как правило, необходимо предоставить всю цепочку сертификатов, то есть ваш собственный сертификат, сертификат выдающего ЦС и любые промежуточные звенья, которые могут существовать между этим и конечным корневым ЦС. Мобильное устройство, скорее всего, будет иметь сведения о корневом ЦС только в этом сценарии.
Для вашего конкретного сертификата вы можете прочитать эту статью службы поддержки Comodo: База знаний: Центр сертификации Comodo> Сертификаты> SSL> Установка сертификата
Сертификат может содержать специальный Доступ к информации о полномочиях расширение (RFC-3280) с URL-адресом сертификата эмитента. Большинство браузеров могут использовать расширение AIA для загрузки отсутствующего промежуточного сертификата для завершения цепочки сертификатов. Но некоторые клиенты (мобильные браузеры, OpenSSL) не поддерживают это расширение, поэтому сообщают о таком сертификате как о ненадежном.
Вы можете решить неполная цепочка сертификатов вручную, объединив все сертификаты от сертификата до доверенного корневого сертификата (исключительно в этом порядке), чтобы предотвратить такие проблемы. Обратите внимание: доверенного корневого сертификата там не должно быть, так как он уже включен в хранилище корневых сертификатов системы.
Вы должны иметь возможность получать промежуточные сертификаты от издателя и объединять их самостоятельно. Я написал сценарий для автоматизации процедуры, он перебирает расширение AIA для вывода правильно связанных сертификатов. https://github.com/zakjan/cert-chain-resolver