Eksik bir SSL zincirini nasıl düzeltirsiniz?


29

Go Daddy SSL sertifikası yüklü ve Android dışında her yerde iyi çalışıyor.

https://www.ssllabs.com/ssltest/analyze.html , zincirin eksik olduğunu ve yanlış siparişte bir SSL zincirinin Android'de başarısız olacağını yığın taşması hakkında okudum .

Ama nasıl sıraya koyabilirim? Sunucumda mı? SSL sertifikasının kendisinin yeniden anahtarlanması gerekiyor mu? FTP'de bir şey mi taşınsın?

Yanıtlar:


19

Zakjan'ın cevabını takiben, yeni güvenli sunucumda bir android web görünümünde AJAX isteği yapmak için jquery kullanmaya çalıştığımda bir sorunla karşılaştım. Tarayıcıda çalıştı, ancak uygulamamda çalışmadı.

Bu siteyi kullandım: https://certificatechain.io/

İmzalı .crt dosyamın metnine yapıştırdım, Comodo'dan (positiveSSL) geri döndüm ve bana ihtiyaç duyduğum her şeyi bir arada bıraktı. Etki alanım + "chain.crt" olarak kaydettim (aşağıya bakın)

Sonra, apache yapılandırmalarımda, söz konusu sanal ana bilgisayar için böyle bir şey girdim:

SSLEngine On
SSLCertificateFile /etc/ssl/localcerts/example_com.crt
SSLCertificateKeyFile /etc/ssl/localcerts/example.com.key
SSLCACertificateFile /etc/ssl/localcerts/example.com.chain.crt

Bundan sonra, Android uygulamamın web görünümünde POST ajax kullanarak sunucuma bir sorun çıkmadı. Biri 2.3.4, biri 4.supi çalışan 2 gerçek dünya cihazında denedim. Ve çalışan emülatörde 2.3. Hepsi işe yaradı.

Umarım bu yardımcı olur.


1
Benim için anahtar SSLCACertificateFileyönergeyi eklemek ve yetkimin bana verdiği CA dosyasına işaret etmekti . Diğer sertifikaları sertifika dosyamla birleştirmem basitçe işe yaramaz.
Alex W

Daha eski apaçıklarda SSLCertificateChainFile, SSLCACertificateFile yerine kullanılabilir (bu anahtarı yapılandırmalarınızda arayabilir ve bulamazsanız).
dr0i

İnanılmaz bir şekilde @Richard cevabı certificatechain.io sitesini kullanıyor ve site bu soruyu burada cevapladı: "Jan Žák tarafından onaylı zincirleme çözümleyicisinden ilham alan" diyor: superuser.com/a/866523/92500 , @zakjan teşekkürler!
Andrés Morales

SSLCACertificateFileKaçırdığım çizgi oldu. Başlangıçta CA’nın çok yeni olduğunu varsaydım çünkü SSL bazı tarayıcılardan / işletim sistemlerinden talep edildiğinde çalışıyor, ancak diğerleri değil. Decoder.link/sslchecker kullanmak , config ayarımın yanlış olduğunu ve bu cevabın düzeltildiğini açıklığa kavuşturdu. Teşekkür ederim!!
josephdpurcell

9

Zincir, orjinal SSL'nin çalışmakta olduğu crt dosyasındaydı.

GoDaddy için 2. bir cert var - gd_bundle.crt

Bu bilgiyi kopyalayın ve sunucuda yüklü olan crt'ye ekleyin.

Böylece sunucudaki orijinal crt 1 sertifikaya sahipti ve aynı dosya üzerinde 3 tane olacak. Bu zincir.

Hala ssllabs.com'daki zincir sorunlarına demir atıyorum ama bu bir sorun değil, sadece - içeri veya dışarı bırakma seçeneği - - /security/24561/ssltest-chain-issues -Var-çapa / 24566 # 24566


2
Zincir sorunlarından kurtulmak için son sertifikayı gd_bundle.crt'den çıkarın
sanmai

7

Eksik olan sertifika zinciri sorununu, bu tür sorunları önlemek için sertifikadaki tüm sertifikaları sertifikadan güvenilir kök sertifikaya (bu sıraya göre özel) birleştirerek el ile çözebilirsiniz . Not: Sistemin kök sertifika deposunda zaten olduğu için güvenilir kök sertifikanın orada olmaması gerekir.

Vericiden ara sertifikaları alabilmeniz ve kendiniz bir araya getirebilmeniz gerekir. BTW, prosedürü otomatikleştirmek için bir komut dosyası yazdım, doğru zincirlenmiş sertifikaların çıktısını üretmek için bir sertifika alır. https://github.com/zakjan/cert-chain-resolver


Bu, sertifikanın doğru kurulduğunu düşünerek yerel makineyi yalnızca "kandıran" bir çözüm gibi görünüyor.
Alex W

Hayır! Çıkış sertifikası paketinin, web sitesi içeriği gönderen bir sunucuya yüklenmesi gerekiyordu. Her müşteri sertifikayı ara ürünleriyle birlikte alacak.
zakjan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.