Création et gestion de Oracle Wallet

View more Tutorials:

1- Introduction

Ce document est écrit sur la base de :
  • Oracle 11g  (OK for 12c)

2- Qu'est-ce qu'Oracle Wallet ?

Oracle Wallet est une manière de stockage les informations de connexion à la base de données sur plusieurs domaines différents. Le tableau ci-dessous illustre le contenu d'un Wallet contient.
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
Donc  Wallet contient des certificats (credentials) afin que vous puissiez accéder à une certaine base de données. Lorsque des informations de cette base de données changent, vous pouvez mettre à jour le Wallet. Votre application peut utiliser le certificat  Wallet pour accéder à une base de données au lieu de gérer manuellement les informations.
Oracle Wallet stocke les informations de certificat dans un fichier. Il serait très dangereux si des  hackers copieent ce fichier et utilisent dans leurs ordinateurs. Heureusement Oracle vous permet de créer des portefeuilles ( Wallet) locales qu'elles ne fonctionnent que sur l'ordinateur qui les a créées.

3- Wallet in Oracle 11g, 12c

3.1- Creating and Managing Wallet (11g, 12c)

Vous devez ouvrir CMD avec des droits d'administrateur.
CD vers le dossier bin de l'Oracle  :
Les  Wallet (portefeuilles)  peuvent être copié sur différentes machines, ce qui peut représenter un risque pour la sécurité. Dans 11g version 2, vous pouvez empêcher la fonctionnalité de connexion automatique du Wallet de fonctionner s'il est copié sur une autre machine en créant un Wallet local à l'aide de la commande "orapki", au lieu de la commande "mkstore" comme d' Oracle 10g.
Utilisez la commande créer wallet "orapki" :
# 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
Wallet a été créé , il se compose deux  fichiers  cwallet.sso & ewallet.p12

3.2- Display Wallet Information (11g,12c)

Afficher les informations de wallet :
# Syntax:

orapki wallet display -wallet <wallet-location>

# Example:

orapki wallet display -wallet C:/DevPrograms/mywallet

3.3- 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 dans Oracle 10g

4.1- Créer et gérer Wallet (10g)

Vous devez ouvrir CMD en tant qu'administrateur.
CD vers le répertoire bin de l’ Oracle :
Utilisez la commande pour créer 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
Saisissez le mot de passe pour wallet :
Remarque :  Le mot de passe que vous avez saisit peut ne pas être conforme à la norme et vous recevrez un message d'erreur, tel qu'un mot de passe de moins de 8 caractères.
Ré-saisissez votre mot de passe: mysecret1
Wallet a été créé , il se compose deux  filchier cwallet.sso & ewallet.p12

5- Ajouter des certificats (credentials) de connexion à une base de données de Wallet (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
Exemple :
# <wallet_location>

C:\DevPrograms\mywallet

# <db_connect_string>

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

View more Tutorials: