Sdílet prostřednictvím


Režim FIPS

Stáhnout ovladač JDBC

Ovladač Microsoft JDBC pro SQL Server podporuje spouštění v prostředích JVM nakonfigurovaných tak, aby vyhovovalo standardu FIPS 140.

Požadavky

  • Nakonfigurovaný JVM podle FIPS
  • Odpovídající certifikát TLS/SSL
  • Vhodné soubory zásad
  • Odpovídající parametry konfigurace

Nakonfigurovaný JVM podle FIPS

Obecně platí, že aplikace můžou soubor nakonfigurovat java.security tak, aby používaly poskytovatele kryptografických služeb kompatibilních se standardem FIPS. Informace o konfiguraci dodržování předpisů FIPS 140 najdete v dokumentaci týkající se prostředí JVM.

Pokud chcete zobrazit schválené moduly pro konfiguraci FIPS, přečtěte si informace o ověřených modulech v ověřovacím programu kryptografických modulů.

Dodavatelé můžou mít několik dalších kroků ke konfiguraci prostředí JVM s FIPS.

Odpovídající certifikát TLS

Pokud se chcete připojit k SQL Serveru v režimu FIPS, vyžaduje se platný certifikát TLS/SSL. Nainstalujte nebo naimportujte do úložiště klíčů Java na klientském počítači (JVM), kde je povolený FIPS.

Import certifikátu TLS v úložišti klíčů Java

V případě FIPS je pravděpodobně nutné importovat certifikát (.cert) buď ve formátu PKCS, nebo ve formátu specifickém pro poskytovatele. Pomocí následujícího fragmentu kódu naimportujte certifikát TLS/SSL a uložte ho do pracovního adresáře s odpovídajícím formátem úložiště klíčů. TRUST_STORE_PASSWORD je vaše heslo pro úložiště klíčů Java.

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);
}

Následující příklad importuje certifikát Azure TLS/SSL ve formátu PKCS12 s zprostředkovatelem BouncyCastle. Certifikát se naimportuje do pracovního adresáře s názvem MyTrustStore_PKCS12 pomocí následujícího fragmentu kódu:

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

Vhodné soubory zásad

U některých poskytovatelů FIPS jsou potřeba neomezené soubory JAR zásad. V takových případech si pro Sun / Oracle stáhněte Java Cryptography Extension (JCE) soubory Unlimited Strength Jurisdiction Policy pro JRE 8 nebo JRE 7.

Odpovídající parametry konfigurace

Pokud chcete spustit ovladač JDBC v režimu kompatibilním se standardem FIPS, nakonfigurujte vlastnosti připojení, jak je znázorněno v následující tabulce.

Vlastnosti

Vlastnictví Typ Výchozí Description Poznámky
encrypt Řetězec ["true / false / strict"] pravda Pro vlastnost šifrování JVM s podporou FIPS by měla být true. Výchozí hodnota se změnila z false na true ve verzi 10.2. Ve verzi 11.2.0 se typ změnil z logické hodnoty na String a byla přidána striktní možnost, aby byla povolena podpora TDS 8.0.
TrustServerCertificate boolean ["pravda / nepravda"] nepravda Pro FIPS musí uživatel ověřit řetěz certifikátů, takže by měl pro tuto vlastnost použít hodnotu false .
trustStore String null Cesta k souboru v úložišti klíčů Java, kam jste certifikát naimportovali. Pokud nainstalujete certifikát do systému, nemusíte nic předávat. Ovladač používá soubory cacerts nebo jssecacerts.
trustStorePassword String null Heslo použité ke kontrole integrity dat trustStore.
fips boolean ["pravda / nepravda"] nepravda U prostředí JVM s povoleným protokolem FIPS by tato vlastnost měla být pravdivá. Přidáno ve verzi 6.1.4 (stabilní verze 6.2.2)
fipsProvider String null Poskytovatel FIPS nakonfigurovaný v prostředí JVM. Například BCFIPS nebo SunPKCS11-NSS Přidáno ve verzi 6.1.2 (stabilní verze 6.2.2), zastaralé ve verzi 6.4.0. Další informace naleznete v tématu Odebrání vlastnosti připojení - fipsProvider.
trustStoreType String JKS Pro režim FIPS nastavte typ úložiště důvěryhodnosti buď PKCS12, nebo typ definovaný poskytovatelem FIPS. Přidáno ve verzi 6.1.2 (stabilní verze 6.2.2)