Aracılığıyla paylaş


FIPS modu

JDBC sürücüsünü indirin

SQL Server için Microsoft JDBC Sürücüsü , FIPS 140 Uyumlu olacak şekilde yapılandırılmış JVM'lerde çalıştırmayı destekler.

Önkoşullar

  • FIPS yapılandırılmış JVM
  • Uygun TLS/SSL Sertifikası
  • Uygun ilke dosyaları
  • Uygun Yapılandırma parametreleri

FIPS yapılandırılmış JVM

Genellikle, uygulamalar dosyayı FIPS uyumlu şifreleme sağlayıcılarını kullanacak şekilde yapılandırabilir java.security . FIPS 140 uyumluluğunu yapılandırma hakkında bilgi için JVM'nize özgü belgelere bakın.

FIPS Yapılandırması için onaylanan modülleri görmek için Şifreleme Modülü Doğrulama Programı'ndaki Doğrulanmış Modüller'e bakın.

Satıcılar, FIPS ile JVM yapılandırmak için bazı daha fazla adıma sahip olabilir.

Uygun TLS sertifikası

FIPS modunda SQL Server'a bağlanmak için geçerli bir TLS/SSL Sertifikası gerekir. FIPS'nin etkinleştirildiği istemci makinede (JVM) Java Anahtar Deposu'na yükleyin veya içeri aktarın.

Java keyStore'da TLS sertifikasını içeri aktarma

FIPS için büyük olasılıkla sertifikayı (.cert) PKCS veya sağlayıcıya özgü biçimde içeri aktarmanız gerekir. TLS/SSL sertifikasını içeri aktarmak ve uygun KeyStore biçiminde bir çalışma dizininde depolamak için aşağıdaki kod parçacığını kullanın. TRUST_STORE_PASSWORD, Java KeyStore için parolanızdır.

public void saveGenericKeyStore(
        String provider,
        String trustStoreType,
        String certName,
        String certPath
        ) throws KeyStoreException, CertificateException,
            NoSuchAlgorithmException, NoSuchProviderException,
            IOException
{
    KeyStore ks = KeyStore.getInstance(trustStoreType, provider);
    FileOutputStream os = new FileOutputStream("./MyTrustStore_" + trustStoreType);
    ks.load(null, null);
    ks.setCertificateEntry(certName, getCertificate(certPath));
    ks.store(os, TRUST_STORE_PASSWORD.toCharArray());
    os.flush();
    os.close();
}

private Certificate getCertificate(String pathName)
        throws FileNotFoundException, CertificateException
{
    FileInputStream fis = new FileInputStream(pathName);
    CertificateFactory cf = CertificateFactory.getInstance("X.509");
    return cf.generateCertificate(fis);
}

Aşağıdaki örnek, BouncyCastle Sağlayıcısı ile PKCS12 biçiminde bir Azure TLS/SSL Sertifikası içeri aktarmaktır. Sertifika, aşağıdaki kod parçacığı kullanılarak MyTrustStore_PKCS12 adlı çalışma dizinine aktarılır:

saveGenericKeyStore(BCFIPS, PKCS12, "SQLAzure SSL Certificate Name", "SQLAzure.cer");

Uygun ilke dosyaları

Bazı FIPS Sağlayıcıları için kısıtlanmamış İlke jar'ları gereklidir. Böyle durumlarda, Sun / Oracle için JRE 8 veya JRE 7 için Java Şifreleme Uzantısı (JCE) Sınırsız Güçlü Yargı Alanı İlkesi Dosyaları'nı indirin.

Uygun yapılandırma parametreleri

JDBC Sürücüsünü FIPS uyumlu modda çalıştırmak için bağlantı özelliklerini aşağıdaki tabloda gösterildiği gibi yapılandırın.

Özellikler

Mülkiyet Türü Varsayılan Description Notes
encrypt Dize ["true / false / strict"] doğru FIPS etkin JVM şifreleme özelliği true olmalıdır Varsayılan değer, sürüm 10.2'de false'tan true'ya değiştirildi. Sürüm 11.2.0'da tür boole'dan String'e değiştirildi ve TDS 8.0 desteğine izin vermek için katı seçenek eklendi.
TrustServerCertificate boolean ["true / false"] yanlış FIPS için, kullanıcının sertifika zincirini doğrulaması gerekir, bu nedenle kullanıcının bu özellik için "false" değerini kullanması gerekir.
trustStore String sıfır Sertifikanızı içeri aktardığınız Java Keystore dosya yolunuz. Sisteminize sertifika yüklerseniz herhangi bir şey geçirmeniz gerekmez. Sürücü cacerts veya jssecacerts dosyalarını kullanır.
trustStorePassword String sıfır trustStore verilerinin bütünlüğünü denetlemek için kullanılan parola.
fips boolean ["true / false"] yanlış FIPS özellikli JVM için bu özellik true olmalıdır 6.1.4 sürümünde eklendi (Kararlı sürüm 6.2.2)
fipsProvider String sıfır JVM'de yapılandırılmış FIPS sağlayıcısı. Örneğin, BCFIPS veya SunPKCS11-NSS 6.1.2 (Kararlı sürüm 6.2.2) ile eklendi, 6.4.0 sürümünde kullanım dışı bırakıldı. Daha fazla bilgi için bkz. Bağlantı özelliğini kaldırma - fipsProvider.
trustStoreType String JKS FIPS modu için güven deposu tipini ya PKCS12 ya da FIPS sağlayıcısı tarafından tanımlanan tür olarak ayarlayın. 6.1.2 sürümünde eklendi (Kararlı sürüm 6.2.2)