SNAC uygulamalarını yükselttikten sonra "Sertifika zinciri güvenilir olmayan bir yetkili tarafından verildi" hatası

Özet

Bu makale, veritabanı uygulamalarını SQL Server Native Client 11.0'dan (SNAC) Microsoft OLE DB Sürücü 19'a veya SQL Server için Microsoft ODBC Sürücüsü 18'e yükseltirken oluşan sertifika zinciri güven hatalarını gidermenize yardımcı olur.

SNAC 11.0'dan daha yeni sürücülere yükselttiğinizde, uygulamalarınız sertifika zinciri güven hataları ile SQL Server'a bağlanamayabilir. Bu sorunun nedeni, yeni sürücülerin şifrelemeyi varsayılan olarak etkinleştirmesi ve sertifika doğrulaması gerektirmesi, SNAC'nin ise varsayılan olarak devre dışı bırakılmasıdır. Bu makalede, bu hataların neden oluştuğu açıklanır ve bunları çözmek için çözümler sağlanır.

SQL Server Native Client 11.0'dan (Provider=SQLNCLI11) SQL Server için Microsoft OLE DB Sürücüsü 19'a yükselttikten sonra, bağlantı girişimleri aşağıdaki hata iletisiyle başarısız olabilir:

[SQL Server için Microsoft OLE DB Sürücüsü 19]: İstemci bağlantı kuramıyor

[SQL Server için Microsoft OLE DB Sürücü 19]: SSL Sağlayıcısı: Sertifika zinciri güvenilmeyen bir yetkili tarafından verildi.

Microsoft OLE DB Sürücüsü 19'a yükseltirken sertifika zinciri güven hatasının nedeni

Bu hata, istemcinin güvenmediği bir sertifika yetkilisi (CA) tarafından verildiğinden istemci bilgisayarın SQL Server sertifikasının orijinalliğini doğrulayamadığına işaret eder.

Aşağıdaki koşulların her ikisi de doğruysa bu hatalar oluşur:

  • SQL Server örneğinin Şifrelemeye zorla ayarı Hayır olarak ayarlanır.

  • İstemci bağlantı dizesi şifreleme özelliği için açıkça bir değer belirtmez veya Şifreleme seçeneği DSN'de açıkça ayarlanmadı veya güncelleştirilmedi.

Hata, istemci sürücülerinin varsayılan davranışındaki bir değişiklik nedeniyle oluşur. İstemci sürücülerinin eski sürümleri, veri şifrelemesinin varsayılan olarak KAPALI olduğunu varsayar. Yeni sürücüler bu ayarın varsayılan olarak ON olduğunu varsayar. Veri şifreleme açık olduğundan, sürücü sunucunun sertifikasını doğrulamaya çalışır ve başarısız olur.

Microsoft OLE DB Sürücü 19'a yükseltirken sertifika zinciri güven hatasının çözümleri

OLE DB Sürücüsü 18.x kullanma

SQL Server 18.x için Microsoft OLE DB Sürücüsünü kullanın. Sürücüyü SQL Server için Microsoft OLE DB Sürücüsü sürüm notlarından indirebilirsiniz.

OLE DB için zorunlu şifrelemeyi devre dışı bırakma

Bağlantı dizenizdeki şifreleme ayarlarını değiştirin:

  • Uygulamanın bağlantı dizesi özelliği, Encrypt/Use Encryption for Data ayarı için zaten Yes veya Mandatory bir değer belirtiyorsa, bu değeri No veya Optional olarak değiştirin. Örneğin, Use Encryption for Data=Optional.
  • Bağlantı dizesi için Encrypt/Use Encryption for Dataherhangi bir değer belirtmezse, bağlantı dizesine ekleyin Use Encryption for Data=Optional .

Daha fazla bilgi için bkz . Şifreleme ve sertifika doğrulama.

Doğrulama olmadan sunucu sertifikasına güvenme

SQL Server bağlantı dizesine ekleyin ;TrustServerCertificate=true . Bu ayar istemciye doğrulama olmadan sertifikaya güvenmesini bildirir.

Not

Şu anda MSOLEDBSQL19 şifreleme ve güvenilen sertifika olmadan bağlı sunucuların oluşturulmasını engeller (otomatik olarak imzalanan sertifika yetersizdir). Bağlı sunuculara ihtiyacınız varsa MSOLEDBSQL'in desteklenen mevcut sürümünü kullanın.