Bunun gerçek çözümü, sunucunuzun sadece son varlık (sunucu) sertifikasını değil, zincirdeki tüm sertifikaları sunmasını sağlamaktır .
Sunucu yöneticinizi , bu iletinin sunucunun sertifika zincirini istemciye ilettiğini açıkça belirten RFC 5246 Bölüm 7.4.2'ye yönlendirin .
Yöneticiniz bunu herhangi bir nedenle reddederse / yapamazsa, alternatif seçeneğiniz curl
hatalı biçimlendirilmiş el sıkışma ile çalışmaya çalışmaktır.
Curl posta listesindeki bir mesaja göre:
Birisi cURL ara sertifikayı destekleyip desteklemediğini onaylayabilir mi?
Evet öyle. Tüm ca sertifikalarının kök dizinine kadar bir sertifika zinciri vardır. Kıvrılma ile kullandığınız ca demeti, tüm zincir için certs'ten oluşmalıdır.
/ daniel.haxx.se
Kök CA'yı ve tüm ara sertifikaları bir pakete ekleyebilmeniz curl
ve --cacert <file>
seçeneği kullanarak ona yönlendirebilmeniz gerekir .
Tarayıcınız çalışırken, doğru CA sertifikalarına oradan erişebilirsiniz. Sertifikalar sekmesinde (her tarayıcı için farklıdır, ancak eminim ki bunu anlayacaksınız), sertifika zincirini görüntüleyin. Kök CA ilk çift tıklayın G1 - Globalsign Kök CA ve üzerinde Ayrıntılar sekmesinde, tıklayın ... dosyaya kopyala . Farklı kaydedin root.cer
. İle aynı yapın SHA256 - - G2 AlphaSSL CA ve olarak kaydedin issuing.cer
. İkisini tek bir dosyada birleştirin (örneğin chain.cer
) ve bunu argüman olarak kullanın -cacert
.
@AB tarafından nazikçe belirtildiği gibi, eksik sertifika da burada bulunabilir .
Tarayıcılarınız CA sertifikalarını önbelleğe aldıkları için çalışır. Geçmişte, sertifikası sunucunuzun sertifikasıyla aynı CA tarafından verilen, doğru yapılandırılmış bir web sitesine gittiyseniz, tarayıcı tarafından önbelleğe alınır. Daha sonra yanlış yapılandırılmış sitenizi ziyaret ettiğinizde, tarayıcınız zinciri oluşturmak için önbelleğindeki CA sertifikalarını kullanır. Size göre, her şey yolunda gibi görünüyor, ancak sahne arkasında sunucu yanlış yapılandırılmış.
Windows, IE / Edge ve Chrome'un aynı önbelleği paylaşırken, Firefox kendi önbelleğini kullandığını unutmayın.
Yukarıdakilere ek olarak, IE / Edge ve Chrome (aynı kripto yığınını paylaştıklarından) AuthorityInformationAccess adı verilen sertifikalar içinde bir uzantı kullanacaktır . Bu, son varlık sertifikasının CA sertifikasının indirilebileceği bir URL sağlayan bir caIssuer seçeneğine sahiptir. Bu nedenle, bu tarayıcılardan biri önceki taramalardaki eksik sertifikaları önbelleğe almamış olsa bile, gerektiğinde alabilir. Firefox'un bunu yapmadığını unutmayın, bu nedenle bazen Firefox IE / Edge ve Chrome çalışıyor gibi göründüğünde sertifika hataları gösterebilir.