Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
JDBC sürücüsünü indirin
SQL Server veya istemci için Microsoft JDBC Sürücüsü, sunucunun doğru sunucu olduğunu ve sertifikasının istemcinin güvendiği bir sertifika yetkilisi tarafından verildiğini doğrulamalı. Sunucu sertifikasını doğrulamak için güven malzemesinin bağlantı zamanında sağlanması gerekir. Ayrıca, sunucu sertifikasını veren, istemcinin güvendiği bir sertifika yetkilisi olmalıdır.
Bu makalede ilk olarak istemci bilgisayarda güven malzemesinin nasıl sağlandığı açıklanır. Ardından, SQL Server Aktarım Katmanı Güvenliği (TLS) sertifikasının örneği özel bir sertifika yetkilisi tarafından verildiğinde istemci bilgisayarın güven deposuna bir sunucu sertifikasının nasıl içeri aktarılacağını açıklar.
Sunucu sertifikasını doğrulama hakkında daha fazla bilgi için Şifreleme desteğini anlama bölümündeki Sunucu TLS Sertifikasını Doğrulama bölümüne bakın.
İstemci güven depounu yapılandırma
Sunucu sertifikasının doğrulanışı, trustStore ve trustStorePassword bağlantı özelliklerini açıkça kullanarak veya temel alınan Java Sanal Makinesi'nin (JVM) varsayılan güven depounu örtük olarak kullanarak bağlantı zamanında güven malzemesini gerektirir. Bir bağlantı dizesinde trustStore ve trustStorePassword özelliklerini ayarlama hakkında daha fazla bilgi için bkz. Şifreleme ile bağlanma.
trustStore özelliği belirtilmezse veya null olarak ayarlanırsa, SQL Server için Microsoft JDBC Sürücüsü temel alınan JVM'nin güvenlik sağlayıcısı olan Java Güvenli Yuva Uzantısı'nı (SunJSSE) kullanır. SunJSSE sağlayıcısı, SQL Server tarafından döndürülen X.509 sertifikalarını bir güven deposunda sağlanan güven malzemesine karşı doğrulamak için kullanılan varsayılan bir TrustManager sağlar.
TrustManager, varsayılan trustStore'u aşağıdaki arama sırasına göre bulmaya çalışır:
- "javax.net.ssl.trustStore" sistem özelliği tanımlanmışsa, TrustManager bu sistem özelliği tarafından belirtilen dosya adını kullanarak varsayılan trustStore dosyasını bulmaya çalışır.
- "javax.net.ssl.trustStore" sistem özelliği belirtilmemişse ve "<java-home>/lib/security/jssecacerts" dosyası varsa, bu dosya kullanılır.
- "<java-home>/lib/security/cacerts" dosyası varsa, bu dosya kullanılır.
Daha fazla bilgi için Sun Microsystems Web sitesindeki SUNX509 TrustManager arabirimi belgelerine bakın.
Java Çalışma Zamanı Ortamı, trustStore ve trustStorePassword sistem özelliklerini aşağıdaki gibi ayarlamanıza olanak tanır:
java -Djavax.net.ssl.trustStore=C:\MyCertificates\storeName
java -Djavax.net.ssl.trustStorePassword=storePassword
Bu durumda, bu JVM üzerinde çalışan tüm uygulamalar varsayılan olarak bu ayarları kullanır. Uygulamanızdaki varsayılan ayarları geçersiz kılmak için trustStore ve trustStorePassword bağlantı özelliklerini bağlantı dizesinde veya SQLServerDataSource sınıfının uygun ayarlayıcı yönteminde ayarlamanız gerekir.
Ayrıca, "java-home</lib/security/jssecacerts" ve "><java-home>/lib/security/cacerts" gibi varsayılan güven deposu dosyalarını yapılandırabilir ve yönetebilirsiniz. Bunu yapmak için JRE (Java Çalışma Zamanı Ortamı) ile yüklenen JAVA "keytool" yardımcı programını kullanın. "Keytool" yardımcı programı hakkında daha fazla bilgi için Oracle Web sitesindeki keytool belgelerine bakın.
Sunucu sertifikasını güvenilir depoya aktarma
TLS el sıkışması sırasında sunucu ortak anahtar sertifikasını istemciye gönderir. Ortak anahtar sertifikası veren, Sertifika Yetkilisi (CA) olarak bilinir. İstemcinin, sertifika yetkilisinin istemcinin güvendiği bir sertifika yetkilisi olduğundan emin olması gerekir. Bu güvence, güvenilir CA'ların ortak anahtarını önceden bilerek elde edilir. Normalde, JVM önceden tanımlanmış bir güvenilir sertifika yetkilisi kümesiyle birlikte sağlanır.
SQL Server'ın TLS sertifikasının örneği özel bir sertifika yetkilisi tarafından verildiyse, sertifika yetkilisinin sertifikasını istemci bilgisayarın güven deposundaki güvenilen sertifikalar listesine eklemeniz gerekir.
Bunu yapmak için JRE (Java Çalışma Zamanı Ortamı) ile yüklenen JAVA "keytool" yardımcı programını kullanın. Aşağıdaki komut isteminde bir dosyadan sertifikayı içeri aktarmak için "keytool" yardımcı programının nasıl kullanılacağı gösterilmektedir:
keytool -import -v -trustcacerts -alias myServer -file caCert.cer -keystore truststore.ks
Örnek, sertifika dosyası olarak "caCert.cer" adlı bir dosya kullanır. Bu sertifika dosyasını sunucudan almanız gerekir. Aşağıdaki adımlarda sunucu sertifikasının bir dosyaya nasıl dışarı aktarılacakları açıklanmaktadır:
- Başlat'ı ve ardından Çalıştır'ı seçin ve MMC yazın. (MMC, Microsoft Yönetim Konsolu'nun kısaltmasıdır.)
- MMC'de Sertifikalar'ı açın.
- Kişisel'e gidin ve ardından Sertifikalar'ı genişletin.
- Sunucu sertifikasına sağ tıklayın ve ardından Tüm Görevler\Dışarı Aktar'ı seçin.
- Sertifika Dışarı Aktarma Sihirbazı'nın hoş geldiniz iletişim kutusundan geçmek için İleri'yi seçin.
- Bunun seçili olduğunu
No, do not export the private keyonaylayın ve ardından İleri'yi seçin. - DER ile kodlanmış ikili X.509 (.CER) veya Base-64 kodlanmış X.509 (.CER) öğesini seçtiğinizden emin olun ve ardından İleri'yi seçin.
- Dışarı aktarma dosyası adı girin.
- sertifikayı dışarı aktarmak için İleri'yi ve ardından Son'u seçin.
Ayrıca bakınız
Şifrelemeyi kullanma
JDBC sürücü uygulamalarının güvenliğini sağlama