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 of client moet controleren of de server de juiste server is en het bijbehorende certificaat wordt uitgegeven door een certificeringsinstantie die de client vertrouwt. Om het servercertificaat te valideren, moet het vertrouwensmateriaal worden opgegeven tijdens de verbinding. De verlener van het servercertificaat moet ook een certificeringsinstantie zijn die de client vertrouwt.
In dit artikel wordt eerst beschreven hoe u het vertrouwensmateriaal op de clientcomputer levert. Vervolgens wordt beschreven hoe u een servercertificaat importeert in het vertrouwensarchief van de clientcomputer wanneer het exemplaar van het TLS-certificaat (Transport Layer Security) van SQL Server wordt uitgegeven door een persoonlijke certificeringsinstantie.
Zie de sectie TLS-certificaat valideren in De ondersteuning voor versleuteling voor meer informatie over het valideren van het servercertificaat.
Het vertrouwensarchief van de client configureren
Voor het valideren van het servercertificaat is het vertrouwensmateriaal op het moment van de verbinding vereist door gebruik te maken van trustStore - en trustStorePassword-verbindingseigenschappen , of door impliciet gebruik te maken van het standaardvertrouwensarchief van Java Virtual Machine (JVM). Zie Verbinding maken met versleuteling voor meer informatie over het instellen van de eigenschappen trustStore en trustStorePassword in een verbindingsreeks.
Als de eigenschap TrustStore niet is opgegeven of is ingesteld op null, is het Microsoft JDBC-stuurprogramma voor SQL Server afhankelijk van de beveiligingsprovider van de onderliggende JVM, de Java Secure Socket Extension (SunJSSE). De SunJSSE-provider biedt een standaard TrustManager, die wordt gebruikt voor het valideren van X.509-certificaten die door SQL Server worden geretourneerd op basis van het vertrouwensmateriaal dat is opgegeven in een vertrouwensarchief.
De TrustManager probeert de standaard trustStore te vinden in de volgende zoekvolgorde:
- Als de systeemeigenschap 'javax.net.ssl.trustStore' is gedefinieerd, probeert TrustManager het standaard trustStore-bestand te vinden met behulp van de bestandsnaam die is opgegeven door die systeemeigenschap.
- Als de systeemeigenschap 'javax.net.ssl.trustStore' niet is opgegeven en het bestand '<java-home>/lib/security/jssecacerts' bestaat, wordt dat bestand gebruikt.
- Als het bestand '<java-home>/lib/security/cacerts' bestaat, wordt dat bestand gebruikt.
Zie de SUNX509 TrustManager-interfacedocumentatie op de website sun microsystems voor meer informatie.
Met de Java Runtime-omgeving kunt u de eigenschappen van het trustStore- en trustStorePassword-systeem als volgt instellen:
java -Djavax.net.ssl.trustStore=C:\MyCertificates\storeName
java -Djavax.net.ssl.trustStorePassword=storePassword
In dit geval gebruikt elke toepassing die wordt uitgevoerd op deze JVM deze instellingen als standaardinstelling. Als u de standaardinstellingen in uw toepassing wilt overschrijven, moet u de verbindingseigenschappen trustStore en trustStorePassword instellen in de verbindingsreeks of in de juiste settermethode van de klasse SQLServerDataSource .
U kunt ook de standaardbestanden voor het vertrouwensarchief configureren en beheren, zoals '<java-home>/lib/security/jssecacerts' en '<java-home>/lib/security/cacerts'. Hiervoor gebruikt u het java-hulpprogramma keytool dat is geïnstalleerd met de JRE (Java Runtime Environment). Zie de keytool-documentatie op de Oracle-website voor meer informatie over het hulpprogramma keytool.
Het servercertificaat importeren in het vertrouwensarchief
Tijdens de TLS-handshake verzendt de server het openbare-sleutelcertificaat naar de client. De verlener van een openbare-sleutelcertificaat wordt een certificeringsinstantie (CA) genoemd. De cliënt moet ervoor zorgen dat de certificeringsinstantie een instantie is die hij vertrouwt. Deze zekerheid wordt bereikt door van tevoren de openbare sleutel van vertrouwde CA's te kennen. Normaal gesproken wordt de JVM geleverd met een vooraf gedefinieerde set vertrouwde certificeringsinstanties.
Als het exemplaar van het TLS-certificaat van SQL Server wordt uitgegeven door een persoonlijke certificeringsinstantie, moet u het certificaat van de certificeringsinstantie toevoegen aan de lijst met vertrouwde certificaten in het vertrouwensarchief van de clientcomputer.
Hiervoor gebruikt u het java-hulpprogramma keytool dat is geïnstalleerd met de JRE (Java Runtime Environment). In de volgende opdrachtprompt ziet u hoe u het hulpprogramma keytool gebruikt om een certificaat uit een bestand te importeren:
keytool -import -v -trustcacerts -alias myServer -file caCert.cer -keystore truststore.ks
In het voorbeeld wordt een bestand met de naam 'caCert.cer' gebruikt als certificaatbestand. U moet dit certificaatbestand van de server verkrijgen. In de volgende stappen wordt uitgelegd hoe u het servercertificaat naar een bestand exporteert:
- Selecteer Starten en vervolgens Uitvoeren en typ MMC. (MMC is een acroniem voor de Microsoft Management Console.)
- Open de certificaten in MMC.
- Vouw Persoonlijk en vervolgens Certificaten uit.
- Klik met de rechtermuisknop op het servercertificaat en selecteer vervolgens Alle taken\Exporteren.
- Selecteer Volgende om door te gaan met de Wizard Certificaat Exporteren na het welkomstdialoogvenster.
- Bevestig dat dit
No, do not export the private keyis geselecteerd en selecteer vervolgens Volgende. - Let erop dat u een DER-gecodeerde binaire X.509 (.CER) of een Base-64-gecodeerde X.509 (.CER) selecteert en selecteer vervolgens Volgende.
- Voer een exportbestandsnaam in.
- Selecteer Volgende en selecteer Vervolgens Voltooien om het certificaat te exporteren.
Zie ook
Versleuteling gebruiken
JDBC-stuurprogrammatoepassingen beveiligen