Az ügyfél konfigurálása titkosításhoz

JDBC-illesztőprogram letöltése

Az SQL Serverhez vagy -ügyfélhez készült Microsoft JDBC-illesztőprogramnak ellenőriznie kell, hogy a kiszolgáló a megfelelő kiszolgáló-e, és a tanúsítványt egy olyan hitelesítésszolgáltató állítja ki, amelyet az ügyfél megbízik. A kiszolgálótanúsítvány érvényesítéséhez a megbízhatósági anyagot a kapcsolat időpontjában kell megadni. Emellett a kiszolgálótanúsítvány kiállítójának olyan hitelesítésszolgáltatónak kell lennie, amelyet az ügyfél megbízik.

Ez a cikk először azt ismerteti, hogyan adhatja meg a megbízhatósági anyagot az ügyfélszámítógépen. Ezután leírja, hogyan importálhat kiszolgálótanúsítványt az ügyfélszámítógép megbízhatósági tárolójába, ha az SQL Server Transport Layer Security (TLS) tanúsítványának példányát egy magántanúsítvány-szolgáltató állítja ki.

A kiszolgálótanúsítvány érvényesítéséről további információt a titkosítás támogatásának ismertetése című szakaszában talál.

Az ügyfélmegbízhatósági tároló konfigurálása

A kiszolgálótanúsítvány érvényesítéséhez a megbízhatósági anyagra van szükség a kapcsolódáskor, a trustStore és trustStorePassword kapcsolati tulajdonságok explicit használatával, vagy a mögöttes Java virtuális gép (JVM) alapértelmezett megbízhatósági tárhelyének implicit használatával. A trustStore és a trustStorePassword tulajdonságok kapcsolati sztringben való beállításáról további információt a Csatlakozás titkosítással című témakörben talál.

Ha a trustStore tulajdonság nincs meghatározva vagy null értékűre van állítva, az SQL Server Microsoft JDBC-illesztőprogramja a mögöttes JVM biztonsági szolgáltatójára, a Java Secure Socket Extensionre (SunJSSE) támaszkodik. A SunJSSE-szolgáltató egy alapértelmezett TrustManagert biztosít, amely az SQL Server által visszaadott X.509-tanúsítványoknak a megbízhatósági tárolóban megadott megbízhatósági anyagon való érvényesítésére szolgál.

Az TrustManager az alábbi keresési sorrendben próbálja megtalálni az alapértelmezett trustStore-t:

  • Ha a "javax.net.ssl.trustStore" rendszertulajdonság definiálva van, az TrustManager az adott rendszertulajdonság által megadott fájlnév használatával próbálja megtalálni az alapértelmezett trustStore-fájlt.
  • Ha a "javax.net.ssl.trustStore" rendszertulajdonság nincs megadva, és a "<java-home>/lib/security/jssecacerts" fájl létezik, a rendszer ezt a fájlt használja.
  • Ha a "<java-home>/lib/security/cacerts" fájl létezik, a rendszer ezt a fájlt használja.

További információ: SUNX509 TrustManager felület dokumentációja a Sun Microsystems webhelyén.

A Java Futtatókörnyezet lehetővé teszi a trustStore és a trustStorePassword rendszertulajdonságok beállítását az alábbiak szerint:

java -Djavax.net.ssl.trustStore=C:\MyCertificates\storeName
java -Djavax.net.ssl.trustStorePassword=storePassword

Ebben az esetben a JVM-en futó alkalmazások alapértelmezés szerint ezeket a beállításokat használják. Az alkalmazás alapértelmezett beállításainak felülbírálásához állítsa be az trustStore és a trustStorePassword kapcsolat tulajdonságait a kapcsolati sztringben vagy az SQLServerDataSource osztály megfelelő beállítási metódusában.

Emellett konfigurálhatja és kezelheti az alapértelmezett megbízhatósági tárolófájlokat, például a "<java-home>/lib/security/jssecacerts" és a "<java-home>/lib/security/cacerts" fájlokat. Ehhez használja a JRE-vel (Java Runtime Environment) telepített JAVA "keytool" segédprogramot. A "keytool" segédprogrammal kapcsolatos további információkért tekintse meg a keytool dokumentációját az Oracle webhelyén.

A kiszolgálótanúsítvány importálása a megbízható tárolóba

A TLS-kézfogás során a kiszolgáló elküldi a nyilvános kulcsú tanúsítványát az ügyfélnek. A nyilvános kulcsú tanúsítvány kiállítója hitelesítésszolgáltatóként (CA) ismert. Az ügyfélnek biztosítania kell, hogy a hitelesítésszolgáltató olyan legyen, amelyben megbízik. Ez a biztosíték a megbízható hitelesítésszolgáltatók nyilvános kulcsának előzetes ismeretével érhető el. A JVM általában egy előre meghatározott megbízható hitelesítésszolgáltatói csoporttal rendelkezik.

Ha az SQL Server TLS-tanúsítványának példányát egy magánhálózati hitelesítésszolgáltató állítja ki, akkor hozzá kell adnia a hitelesítésszolgáltató tanúsítványát az ügyfélszámítógép megbízhatósági tárolójában található megbízható tanúsítványok listájához.

Ehhez használja a JRE-vel (Java Runtime Environment) telepített JAVA "keytool" segédprogramot. Az alábbi parancssor bemutatja, hogyan importálhat tanúsítványt egy fájlból a "keytool" segédprogrammal:

keytool -import -v -trustcacerts -alias myServer -file caCert.cer -keystore truststore.ks

A példa egy "caCert.cer" nevű fájlt használ tanúsítványfájlként. Ezt a tanúsítványfájlt a kiszolgálóról kell beszereznie. A következő lépések bemutatják, hogyan exportálhatja a kiszolgálótanúsítványt egy fájlba:

  1. Válassza a Start, majd a Futtatás lehetőséget, és írja be az MMC parancsot. (Az MMC a Microsoft Management Console rövidítése.)
  2. Az MMC-ben nyissa meg a tanúsítványokat.
  3. Bontsa ki a Személyes, majd a Tanúsítványok elemet.
  4. Kattintson a jobb gombbal a kiszolgálótanúsítványra, majd válassza a Minden feladat\Exportálás lehetőséget.
  5. A Tovább gombra kattintva lépjen tovább a Tanúsítványexportáló varázsló üdvözlő ablakán.
  6. Ellenőrizze, hogy ki van-e No, do not export the private key jelölve, majd válassza a Tovább gombot.
  7. Győződjön meg arról, hogy a DER kódolású bináris X.509 (.CER) vagy a Base-64 kódolású X.509 (.CER) formátumot választja ki, és ezután válassza a Tovább gombot.
  8. Adjon meg egy exportálási fájlnevet.
  9. Kattintson a Tovább gombra, majd a Befejezés gombra a tanúsítvány exportálásához.

Lásd még

Titkosítás használata
JDBC-illesztőalkalmazások védelme