Создание и управление Oracle Wallet

1- Введение

Данная статья основана на:
  • Oracle 11g  (OK for 12c)

2- Что такое Oracle Wallet?

Oracle Wallet это способ хранение информации соединения к базам данных, находящихся в разных доменах (domain). Таблица ниже иллюстрирует содержание в wallet.
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
Таким образом, Wallet содержит сертификаты (credentials), так что вы можете получить доступ к определенной базе данных. Когда меняется информация про базу данных, вы можете обновить wallet. Ваше приложение может использовать сертификаты на Wallet для доступа к базе данных вместо того, чтобы самим управлять информацией доступа.
Oracle Wallet хранит информации сертификата в файле. Это очень опасно, если хакер скопирует этот файл и использует на своих компьютерах. К счастью, Oracle позволяет создавать локальный Wallet, но он работает только на компьютере, который создавает его.

3- Wallet в Oracle 11g, 12c

3.1- Создание и управление Wallet (11g, 12c)

Вы должны открыть CMD с авторизацией  Adminstrator.
CD к ​​каталогу bin Oracle
Wallet может быть скопирован с одного компьютера на другой компьютер, это и есть дыра в безопасности, поэтому начиная с  Oracle Release 2, вы можете остановить работу Wallet, если он будет скопирован на другой компьютер через создание локального wallet, используя команду " orapki", вместо того, чтобы использовать " mkstore" как в  Oracle 10g.
Используйте команду создать  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 был создан, он состоит из двух файлов cwallet.sso & ewallet.p12

3.2- Отобразить информацию Wallet (11g,12c)

Отображение информации wallet
# Syntax:

orapki wallet display -wallet <wallet-location>

# Example:

orapki wallet display -wallet C:/DevPrograms/mywallet

3.3- Изменить пароль wallet (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 в Oracle 10g

4.1- Создание и управление Wallet (10g)

Вы должны открыть CMD с авторизацией  Adminstrator
CD к ​​каталогу bin Oracle:
Используйте команду создать  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
Введите пароль для wallet
Примечание: Пароль, который вы введtте,  может быть неподходящий по стандартам, и вы получите сообщение об ошибке, например, при вводе пароля, у которого не хватает  восемь символов 
Введите еще раз пароль: mysecret1
Wallet был создан, он состоит из двух файлов cwallet.sso & ewallet.p12

5- Добавить полномочиня (credentials) доступа базы данных в 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
Например:
# <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 categories: