Go Daddy SSL 인증서가 설치되어 있으며 Android를 제외한 모든 곳에서 잘 작동합니다.
https://www.ssllabs.com/ssltest/analyze.html 은 체인이 불완전하다고 말하며 스택 오버플 로에서 잘못된 순서의 SSL 체인이 Android에서 실패한다는 것을 읽었습니다 .
그러나 어떻게 순서대로 배치합니까? 내 서버에서? SSL 인증서 자체를 다시 입력해야합니까? FTP로 물건을 옮기시겠습니까?
Go Daddy SSL 인증서가 설치되어 있으며 Android를 제외한 모든 곳에서 잘 작동합니다.
https://www.ssllabs.com/ssltest/analyze.html 은 체인이 불완전하다고 말하며 스택 오버플 로에서 잘못된 순서의 SSL 체인이 Android에서 실패한다는 것을 읽었습니다 .
그러나 어떻게 순서대로 배치합니까? 내 서버에서? SSL 인증서 자체를 다시 입력해야합니까? FTP로 물건을 옮기시겠습니까?
답변:
zakjan의 답변에 이어, jquery를 사용하여 Android 웹보기에서 새로 안전한 서버에서 AJAX 요청을 수행하려고 할 때 문제가 발생했습니다. 브라우저에서는 작동했지만 내 앱에서는 작동하지 않았습니다.
나는이 사이트를 사용했다 : https://certificatechain.io/
나는 Comodo (positiveSSL)에서 가져온 서명 된 .crt 파일의 텍스트를 붙여 넣었으며 필요한 모든 것을 연결했습니다. 도메인 + "chain.crt"로 저장했습니다 (아래 참조).
그런 다음 아파치 구성에서 특정 가상 호스트에 대해 다음과 같이 입력했습니다.
SSLEngine On
SSLCertificateFile /etc/ssl/localcerts/example_com.crt
SSLCertificateKeyFile /etc/ssl/localcerts/example.com.key
SSLCACertificateFile /etc/ssl/localcerts/example.com.chain.crt
그 후, 내 안드로이드 앱의 웹보기에는 아약스를 사용하여 서버에 POST하는 데 문제가 없었습니다. 나는 2 개의 실제 장치, 하나는 2.3.4를 실행하고 다른 하나는 4.something을 시도했습니다. 그리고 에뮬레이터에서 2.3을 실행합니다. 모두 일했다.
이게 도움이 되길 바란다.
SSLCACertificateFile
내가 놓친 선이었다. 처음에는 SSL이 일부 브라우저 / OS에서 요청할 때 작동했지만 다른 브라우저에서는 그렇지 않기 때문에 CA가 너무 새롭다 고 가정했습니다. decoder.link/sslchecker를 사용하면 구성이 잘못 되었다는 것을 분명히하는 데 도움이 되었으며이 대답은 수정되었습니다. 고맙습니다!!
체인이 crt 파일에 있었고 원래 SSL이 작동했습니다.
GoDaddy에는 두 번째 인증서 인 gd_bundle.crt가 있습니다.
이 정보를 복사하여 서버에 설치된 crt에 추가하십시오.
따라서 서버의 원래 crt에는 1 개의 인증서가 있었고 동일한 파일에 3 개의 인증서가 있습니다. 이것이 체인입니다.
https://security.stackexchange.com/questions/24561/ssltest-chain-issues 에 따르면 여전히 ssllabs.com의 체인 문제에 앵커가 포함되어 있지만 문제는 아닙니다. -앵커 포함 / 24566 # 24566
이러한 문제를 방지하기 위해 인증서의 모든 인증서를 신뢰할 수있는 루트 인증서 (이 순서는 제외)로 연결 하여 불완전한 인증서 체인 문제를 수동으로 해결할 수 있습니다 . 신뢰할 수있는 루트 인증서는 시스템의 루트 인증서 저장소에 이미 포함되어 있으므로 존재하지 않아야합니다.
발급자로부터 중간 인증서를 가져 와서 직접 연결할 수 있어야합니다. Btw, 절차를 자동화하는 스크립트를 작성했습니다. 올바르게 연결된 인증서의 출력을 생성하려면 인증서가 필요합니다. https://github.com/zakjan/cert-chain-resolver
SSLCACertificateFile
지시문 을 추가하고 그것을 내 기관이 준 CA 파일로 지정하는 것이 었습니다. 다른 인증서를 인증서 파일에 간단히 연결하면 작동하지 않습니다.