Eventi
31 mar, 23 - 2 apr, 23
Il più grande evento di apprendimento di SQL, Infrastruttura e Power BI. 31 marzo - 2 aprile. Usare il codice FABINSIDER per salvare $400.
Iscriviti oggi stessoQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Microsoft JDBC Driver per SQL Server supporta l'esecuzione in JVM (Java Virtual Machine) configurate per essere conformi a FIPS 140.
Le applicazioni possono in genere configurare il file java.security
per l'uso di provider di crittografia conformi a FIPS. Per informazioni sulla configurazione della conformità FIPS 140, vedere la documentazione specifica della JVM.
Per informazioni sui moduli approvati per la configurazione FIPS, vedere Moduli convalidati nel Programma di convalida moduli di crittografia.
I fornitori possono prevedere passaggi aggiuntivi per configurare una JVM con FIPS.
Per connettersi a SQL Server in modalità FIPS, è necessario un certificato TLS/SSL valido. Installarlo o importarlo nell'archivio chiavi Java nel computer client (JVM) in cui è abilitato FIPS.
Per FIPS, è molto probabile che sia necessario importare il certificato (con estensione cert) in formato PKCS o in un formato specifico del provider. Usare il frammento di codice seguente per importare il certificato TLS/SSL e archiviarlo in una directory di lavoro con il formato di archivio chiavi appropriato. TRUST_STORE_PASSWORD è la password per l'archivio chiavi 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);
}
Nell'esempio seguente viene importato un certificato TLS/SSL di Azure in formato PKCS12 con il provider BouncyCastle. Il certificato viene importato nella directory di lavoro denominata MyTrustStore_PKCS12 usando il frammento di codice seguente:
saveGenericKeyStore(BCFIPS, PKCS12, "SQLAzure SSL Certificate Name", "SQLAzure.cer");
Per alcuni provider FIPS sono necessari JAR di criteri senza restrizioni. In questi casi, per Sun/Oracle, scaricare Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files per JRE 8 o JRE 7.
Per eseguire JDBC Driver in modalità conforme a FIPS, configurare le proprietà di connessione come indicato nella tabella riportata di seguito.
Proprietà | Type | Default | Descrizione | Note |
---|---|---|---|---|
encrypt |
Stringa ["true/ false/ strict"] | "true" | Per la JVM abilitata per FIPS, la proprietà encrypt deve essere true | Il valore predefinito è stato modificato da false a true nella versione 10.2. Nella versione 11.2.0 il tipo è cambiato da booleano a String e l'opzione strict è stata aggiunta per consentire il supporto TDS 8.0. |
TrustServerCertificate |
booleano ["true/false"] | "false" | Per FIPS, l'utente deve convalidare la catena di certificati. Pertanto l'utente deve usare il valore "false" per questa proprietà. | |
trustStore |
String | Null | Il percorso del file dell'archivio chiavi Java in cui è stato importato il certificato. Se il certificato viene installato nel sistema, non è necessario passare alcun elemento. Il driver usa i file cacerts o jssecacerts. | |
trustStorePassword |
String | Null | Password utilizzata per verificare l'integrità dei dati del file trustStore. | |
fips |
booleano ["true/false"] | "false" | Per la JVM abilitata per FIPS, questa proprietà deve essere true. | Aggiunta nella versione 6.1.4 (versione stabile 6.2.2) |
fipsProvider |
String | Null | Provider FIPS configurato nella JVM. Ad esempio, BCFIPS o SunPKCS11-NSS | Aggiunta nella versione 6.1.2 (versione stabile 6.2.2), deprecata nella versione 6.4.0. Vedere i dettagli qui. |
trustStoreType |
String | JKS | Per la modalità FIPS impostare il tipo di archivio attendibilità su PKCS12 o sul tipo definito dal provider FIPS | Aggiunta nella versione 6.1.2 (versione stabile 6.2.2) |
Eventi
31 mar, 23 - 2 apr, 23
Il più grande evento di apprendimento di SQL, Infrastruttura e Power BI. 31 marzo - 2 aprile. Usare il codice FABINSIDER per salvare $400.
Iscriviti oggi stessoFormazione
Percorso di apprendimento
Implementare un ambiente sicuro per un servizio di database - Training
Implementare un ambiente sicuro per un servizio di database
Certificazione
Microsoft Certified: Azure Database Administrator Associate - Certifications
Amministrare un'infrastruttura di database SQL Server per database relazionali, ibridi, locali e cloud con le offerte di database relazionali Microsoft PaaS.