codestory

Erstellen und Verwalten von Oracle Wallet

  1. Die Vorstellung
  2. Was ist Oracle Wallet?
  3. Wallet in Oracle 11g, 12c
  4. Wallet in Oracle 10g
  5. Die Credentials zum Database-Zugang in Wallet hinzufügen (10g,11g,12c)

1. Die Vorstellung

This document is based on:
  • Oracle 11g (OK for 12c)

2. Was ist Oracle Wallet?

Oracle Wallet ist zuständig für das Archiv der Information verbindend mit der Database, die auf viele unterschiedlichen domain liegen. Die folgende Tabelle bezeichnet eine im Wallet archivierte Inhalt
DB Connection String
Username
Passwod
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myserver1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = db11g)
)
)
dev
dev001
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myserver2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = db12c)
)
)
prod
prod123
So enthaltet der Wallet die credentials damit Sie irgendeine Database zugreifen können. Und wenn die Information dieser Database ändern, können Sie die Wallet aktualisieren können. Ihre Applikation kann die credentials von Wallet benutzen um eine Database zuzugreifen, anstatt Sie die Zugangsinformation selbst verwalten
Oracle Wallet archivieren die Information von credentials in einer Datei. Es ist sehr gefährlich wenn der Hacker diese Datei speichert und in seinem Computer benutzt. Glücklich darf Oracle Ihnen bei der Erstellung der lokalen Wallet genehmigen, die auf dem Computer wirken, wo sie erstellt werden

3. Wallet in Oracle 11g, 12c

Creating and Managing Wallet (11g, 12c)
Sie sollen CMD mit der Recht als Adminstrator öffnen
CD nach dem Ordnen bin vom Oracle
Die Wallet können von einem Computer zu anderem Computer kopiert werden. Das ist eine Sicherheitslücke, deshalb können Sie ab die Oracle Release 2 die Aktivitäten von Wallet verhindern wenn sie in einem anderen Computer durch die Erstellung der lokalen Wallet mit der Befehl von "orapki" statt der Benutzung vom Befehl "mkstore" wie von Oracle 10g.kopiert
den Befehl der Erstellung von wallet "orapki". benutzen
# wallet_location is the path to the directory where you want to create and store the wallet.


orapki wallet create -wallet <wallet_location> -pwd <password> -auto_login_local


# Example:

orapki wallet create -wallet C:/DevPrograms/mywallet -pwd mysecret1 -auto_login_local
Die Wallet werden erstellt, einschließend 2 File cwallet.sso & ewallet.p12
Die Wallet Information anzeigen (11g,12c)
Die Information von wallet anzeigen:
# Syntax:

orapki wallet display -wallet <wallet-location>

# Example:

orapki wallet display -wallet C:/DevPrograms/mywallet
Change Wallet Password (11g,12c)
# Syntax

orapki wallet change_pwd -wallet <wallet-location> -oldpwd <old password> -newpwd <new password>

# Example:

orapki wallet change_pwd -wallet C:/DevPrograms/mywallet -oldpwd mysecret1 -newpwd mysecret2

4. Wallet in Oracle 10g

Wallet (10g) erstellen und verwalten
Sie sollen CMD mit der Recht als Adminstrator öffnen.
CD nach dem Ordnen bin vom Oracle:
Benutzen Sie den Befehl der Erstellung von wallet:
# wallet_location is the path to the directory where you want to create and store the wallet.

mkstore -wrl <wallet_location> -create


# Example:

mkstore -wrl C:/DevPrograms/mywallet -create
Geben Sie das Passwort für Wallet ein
Beachten Sie: Ihr Passwort kann zu dem Standard nicht passen und dann entsteht eine Fehleranmeldung, zum Beispiel das Passwort kein 8 Zeichen genug hat
Das Passwort wieder eingeben: mysecret1
Wallet wird erstellt, einschließend 2 file cwallet.sso & ewallet.p12

5. Die Credentials zum Database-Zugang in Wallet hinzufügen (10g,11g,12c)

mkstore -wrl <wallet_location> -createCredential <db_connect_string> <username> <password>
DB Connection String
Username
Passwod
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myserver1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = db11g)
)
)
dev
dev001
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myserver2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = db12c)
)
)
prod
prod123
Zum Beispiel
# <wallet_location>

C:\DevPrograms\mywallet

# <db_connect_string>

"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myserver1)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=db11g)))"