Ana içeriğe atla

PKIX Path Building Failed Hatası

Problem

PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Çözüm

1

Sertifikayı Apinizer'a Ekle

İlgili adresin public sertifikası Sertifika Yönetimi sayfasından Apinizer’a eklenmelidir.
2

Sertifikayı İndir (Opsiyonel)

Adrese erişebilen bir tarayıcı yok ise openssl uygulaması yüklü ve adrese erişebilen bir sunucuda aşağıdaki komut ile indirilebilir:
openssl s_client -showcerts -connect server.com:443 </dev/null 2>/dev/null|openssl x509 -outform PEM > serverscertfile.pem

SOAP Servislerde WS-S/WS-STS Token Alma Sertifika Sorunu

Problem

SOAP servislerde kullanılan WS-S ya da WS-STS politikaları “PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target” hatası nedeniyle token alamıyor.

Sebep/Neden

SOAP servis çağrımında Apinizer’a yüklenmiş sertifikayı görememesi nedeniyle bu servisin token alımının reverse proxy üzerinden yapılması gerekiyor.

Çözüm

İlgili token alma adresi ile routing yapan bir reverse proxy oluşturulur ve token kullanan servisteki wss/wssts politikasının token alma adresi bu servis olarak verilir. Nadir durumlarda reverse proxy üzerinden script ile xml mesajındaki adresin değiştirilmesi gerekebilir.

MSSQL Bağlantılarında SSL Sertifika Sorunu

Problem

Apinizer’ı 2025.07.4 veya sonrası bir versiyonuna güncelledim ancak Sql Server (MSSQL) bağlantılarımda hata alıyorum: Failed to initialize pool: “encrypt” property is set to “true” and “trustServerCertificate” property is set to “false” but the driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption: Error: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.

Sebep/Neden

2025.07.4 versiyonunda yapılan güvenlik güncellemesi ile MSSQL jdbc kütüphanesi güncellenmiştir.
Bu kütüphane ile jdbc bağlantılarında tls 1.2 ve üstü zorunlu tutulmaktadır. Encrypt default değeri true’dur ve bu da doğru bir sertifika ile bağlantı ister. Self sign, doğru yapılandırılmamış sertifika kullanan ya da sertifika kullanmayan veritabanlarında bu hata ile karşılaşılmaktadır.

Çözüm

1

Sertifikayı Yapılandır

Veritabanınıza olan bağlantıda ssl sertifikası doğru şekilde yapılandırılmalıdır. İlgili sertifika Apinizer’da Secret Manager > Certificates altına eklenmelidir.
Not: İç sistemlerinizde ve development ya da test ortamlarınızda, bu hata jdbc url’sine alttaki parametrelerden biri eklenerek atlatılabilinir:
  • ;encrypt=false (önerilmez)
  • ;trustServerCertificate=true (dikkatle eklenmeli, güvenlik açısından olası sonuçları göz önünde tutulmalıdır)