Befolgen Sie zum Konfigurieren der Oracle-Datenbank die nachfolgenden Schritte:
Hinweis:
Diese Schritte müssen nur ausgeführt werden, wenn zuvor kein Oracle-Wallet erstellt wurde. Die folgenden Schritte müssen nicht ausgeführt werden, wenn das GUI-Tool des Oracle-Wallet auf dem Datenbankserver verwendet wird.C:\> cd %ORACLE_HOME% C:\oracledb\12.1.0\home> mkdir wallet C:\oracledb\12.1.0\home> orapki wallet create -wallet wallet -pwd password1 -auto_loginSie können alle Meldungen ignorieren, in denen Sie aufgefordert werden, den Befehl
-auto_login_local
in der orapki
-Befehlszeile zu verwenden. Wenn ein SSL-Authentifizierungsfehler auftritt, finden Sie Informationen zum Troubleshooting unter Dokument-ID 2238096.1.
Prüfen Sie außerdem die Sicherheitsberechtigung der Datei cwallet.sso
(im Wallet-Verzeichnis), und stellen Sie sicher, dass der Servicebenutzer des Oracle-Listeners Leseberechtigung für diese Datei hat. Ohne Leseberechtigung ist der SSL-Handshake später nicht erfolgreich. Dies tritt auf, wenn die Oracle-Datenbank mit dem vorgeschlagenen Oracle-Benutzer installiert wurde, der sich nicht anmelden darf. Wenn die Oracle-Datenbank mit dem Oracle-Benutzer installiert wurde, muss der TNS-Listener als anderer Benutzer ausgeführt werden.
C:\oracledb\12.1.0\home> orapki wallet add -wallet wallet -pwd password1 -dn "CN={FQDN of db server}" - keysize 1024 -self_signed -validity 3650
Das Kennwort password1
im Beispiel oben muss mit dem in Schritt 1 angegebenen Kennwort übereinstimmen.
C:\oracledb\12.1.0\home> orapki wallet export -wallet wallet -pwd password1 -dn "CN={FQDN of db server}" -cert %COMPUTERNAME%-certificate.crt
1522
erstellt. In der Regel wird für SSL-Verbindungen der Port 2484
verwendet. Sie können aber einen beliebigen verfügbaren Port verwenden. Sie müssen prüfen, ob der zu verwendende Port auf dem Datenbankserver verfügbar ist, bevor Sie fortfahren und die gewünschten Änderungen vornehmen.SQLNET.ORA
. Das DIRECTORY-Element der WALLET_LOCATION-Deklaration muss auf das oben in Schritt 1 erstellte Wallet verweisen.
SQLNET.AUTHENTICATION_SERVICES= (TCPS, NTS, BEQ) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) WALLET_LOCATION= (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = C:\oracledb\12.1.0\home\wallet) ) ) SSL_CLIENT_AUTHENTICATION = FALSE
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\oracledb\12.1.0\home) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:C:\oracledb\12.1.0\home\bin\oraclr12.dll") ) ) SSL_CLIENT_AUTHENTICATION = FALSE WALLET_LOCATION= (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = C:\oracledb\12.1.0\home\wallet) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = myServer)(PORT = 1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = myServer)(PORT = 1522)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ADR_BASE_LISTENER = C:\oracledb
TNSNAMES.ORA
einen neuen Eintrag für den neuen Port.
ORCL_SSL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = myServer)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = myServer_service) ) )
Sie müssen denselben Port angeben, der oben in Schritt 5a angegeben und in Schritt 5c verwendet wurde.
C:\oracledb\12.1.0\home>lsnrctl stop C:\oracledb\12.1.0\home>lsnrctl start
C:\oracledb\12.1.0\home>tnsping orcl_ssl TNS Ping Utility for 64-bit Windows: Version 12.1.0.2.0 - Production on 10-SEP-2019 15:43:22 Copyright (c) 1997, 2014, Oracle. All rights reserved. Used parameter files: C:\oracledb\12.1.0\home\network\admin\sqlnet.ora Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = myServer) (PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = myServer_service))) OK (130 msec)