Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
JDBC-stuurprogramma downloaden
Het Microsoft JDBC-stuurprogramma voor SQL Server ondersteunt uitvoering in JVM's die zijn geconfigureerd als FIPS 140-compatibel.
Vereiste voorwaarden
- FIPS-geconfigureerde JVM
- Passend TLS/SSL-certificaat
- Geschikte beleidsbestanden
- Juiste configuratieparameters
FIPS-geconfigureerde JVM
Over het algemeen kunnen toepassingen het java.security bestand configureren voor het gebruik van CRYPTO-providers die compatibel zijn met FIPS. Zie de documentatie die specifiek is voor uw JVM voor het configureren van FIPS 140-naleving.
Als u de goedgekeurde modules voor FIPS-configuratie wilt zien, raadpleegt u Gevalideerde modules in het validatieprogramma voor cryptografische modules.
Leveranciers hebben mogelijk nog enkele stappen voor het configureren van een JVM met FIPS.
Geschikt TLS-certificaat
Als u verbinding wilt maken met SQL Server in de FIPS-modus, is een geldig TLS/SSL-certificaat vereist. Installeer of importeer deze in de Java Key Store op de clientcomputer (JVM) waarvoor FIPS is ingeschakeld.
TLS-certificaat importeren in Java KeyStore
Voor FIPS moet u waarschijnlijk het certificaat (.cert) importeren in PKCS of een providerspecifieke indeling. Gebruik het volgende codefragment om het TLS/SSL-certificaat te importeren en op te slaan in een werkmap met de juiste KeyStore-indeling. TRUST_STORE_PASSWORD is uw wachtwoord voor Java KeyStore.
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);
}
In het volgende voorbeeld wordt een Azure TLS/SSL-certificaat in PKCS12-indeling geïmporteerd met de BouncyCastle-provider. Het certificaat wordt geïmporteerd in de werkmap met de naam MyTrustStore_PKCS12 met behulp van het volgende fragment:
saveGenericKeyStore(BCFIPS, PKCS12, "SQLAzure SSL Certificate Name", "SQLAzure.cer");
Passende beleidsbestanden
Voor sommige FIPS-providers zijn onbeperkte policy JAR-bestanden nodig. In dergelijke gevallen downloadt u voor Sun/Oracle de Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files voor JRE 8 of JRE 7.
Geschikte configuratieparameters
Als u het JDBC-stuurprogramma in de FIPS-compatibele modus wilt uitvoeren, configureert u verbindingseigenschappen, zoals wordt weergegeven in de volgende tabel.
Eigenschappen
| Vastgoed | Typologie | Verstek | Description | Opmerkingen |
|---|---|---|---|---|
encrypt |
Tekenreeks ["true / false / strict"] | waar | Voor een FIPS-ingeschakelde JVM moet de eigenschap 'versleuteling' waar zijn. | De standaard is gewijzigd van false naar true in versie 10.2. In versie 11.2.0 is het type gewijzigd van boolean naar tekenreeks en is de strikte optie toegevoegd voor ondersteuning van TDS 8.0. |
TrustServerCertificate |
Booleaanse waarde ["waar / onwaar"] | "onwaar" | Voor FIPS moet de gebruiker de certificaatketen valideren, dus moet de gebruiker de waarde 'false' voor deze eigenschap gebruiken. | |
trustStore |
Snaar / Touwtje | Nul | Uw Java Keystore-bestandspad waarin u uw certificaat hebt geïmporteerd. Als u een certificaat op uw systeem installeert, hoeft u niets door te geven. Stuurprogramma maakt gebruik van cacerts- of jssecacerts-bestanden. | |
trustStorePassword |
Snaar / Touwtje | Nul | Het wachtwoord dat wordt gebruikt om de integriteit van de trustStore-gegevens te controleren. | |
fips |
Booleaanse waarde ["waar / onwaar"] | "onwaar" | Voor fips ingeschakelde JVM moet deze eigenschap waar zijn | Toegevoegd in 6.1.4 (Stabiele release 6.2.2) |
fipsProvider |
Snaar / Touwtje | Nul | FIPS-provider geconfigureerd in JVM. Bijvoorbeeld BCFIPS of SunPKCS11-NSS | Toegevoegd in 6.1.2 (Stabiele release 6.2.2), afgeschaft in 6.4.0. Zie De eigenschap Verbinding verwijderen - fipsProvider voor meer informatie. |
trustStoreType |
Snaar / Touwtje | JKS | Voor de FIPS-modus stelt u het type vertrouwensarchief in, PKCS12 of het type dat is gedefinieerd door de FIPS-provider | Toegevoegd in 6.1.2 (Stabiele release 6.2.2) |