oracle wallet manager что это

Oracle wallet manager что это

И начал меня спрашивать: «Что за человек? Откудова?»
И я сказал, что с Москвы, да и подал ему господарский лист воложской.

Аннотация

Рассматривается использование электронного бумажника Oracle Wallet для установления защищенных соединений СУБД с узлами интернета по протоколу TCPS и клиентских программ с СУБД по протоколу HTTPS.

Защищенные соединения и сертификаты подлинности

Соединения участников сети могут быть двух типов: СУБД с другими участниками, когда она выступает в качестве клиента, и других участников (клиентских программ) с СУБД. Ниже приводятся примеры организации того и другого.

Создание бумажника с сертификатами

ПО Oracle позволяет создать пустой бумажник, и потом включить в него необходимые сертификаты подлинности. Однако программы owm (Wallet Manager), orapki, mkstore и mkwallet позволяют создать бумажник с некоторым начальным набором сертификатов. Первая из этих программ сумеет создать желаемый каталог для хранения файла бумажника сама, а остальные предполагают каталог уже имеющимся. Пример, для сервера:

В диалоге потребуется указать придуманный пароль, например, по-прежнему amicus123. Заметьте, что в созданом каталоге образовались сразу два файла, что соответствует постоянно открытому бумажнику; это-то нам и требуется.

Еще пример создания:

Появился один файл ewallet.p12, но зато этой же программой можно ознакомиться с его содержимым:

Наконец, создать бумажник и работать с его содержимым можно через Oracle Wallet Manager (меню Wallet ® New). При этом от следующего предложения придется отказаться:

oracle wallet manager что это. Смотреть фото oracle wallet manager что это. Смотреть картинку oracle wallet manager что это. Картинка про oracle wallet manager что это. Фото oracle wallet manager что это

В противном случае программа предложит текст заявки на получение сертификата, что пока не нужно. Свойство бумажника Auto Login в Wallet Manager нужно будет задать самостоятельно.

Следует обратить внимание, чтобы места нахождения файлов бумажников были доступны элементам ПО соответственно сервера и клиента.

Защищенные соединения с СУБД по протоколу SSL

Конфигурирование Oracle Net

Процесс установки соединеий клиентов с СУБД listener должен быть настроен на прием заявок подключений по протоколу TCPS. Для этого в файле listener.ora следует пополнить описание списка портов в параметре LISTENER. По умолчанию Oracle Net использует для TCPS порт 2484; ниже эта традиция сохранена. Указание SSLVERSION в файлах ниже приводится для определенности и не имеет принципиального значения.

Файлы сервера

Примерный фрагмент из listener.ora может выглядеть так:

После подобной правки файла listener.ora программу listener стоит перезапустить. Правка файла sqlnet.ora может выглядеть примерно так:

Файлы клиента

Правка файла tnsnames.ora может выглядеть примерно так:

Правка файла sqlnet.ora может выглядеть примерно так:

Конфигурирование программой Net Manager

Выставить требуемые значения параметрам можно программой Net Manager, например:

oracle wallet manager что это. Смотреть фото oracle wallet manager что это. Смотреть картинку oracle wallet manager что это. Картинка про oracle wallet manager что это. Фото oracle wallet manager что это

Может случиться, что ПО Advanced Security доустанавливалось впоследствии. Из-за внутренних ошибок программа Net Manager не всегда в таких случаях способна показать позицию Oracle Advanced Security ниспадающего меню. Выйти из положения можно, подправив строку из файла netproperties в каталоге %ORACLE_HOME%\network\tools; например заменить:

Получение цифрового сертификата

Для установления защищенного соединения по SSL потребуется получить цифровые сертификаты подлинности: (а) «пользователя» и (б) «корневой». Сертификат пользователя будем получать на обращение к ресурсу, обозначенному следующим «различительным именем» (distinguished name, dn):

Корневой сертификат понадобится для того, чтобы подтвердить сертификат пользователя. Подтвержденя ему не требуется, так как он подтверждает сам себя (отсюда название).

Подготовка заявки на сертификат пользователя

Получение сертификата пользователя производится по подготовленной заявке (request). Подготовить заявку можно с помощью Wallet Manager, отдельно для бумажников на сервере и на клиенте. Обратиться к форме составления заявки можно через меню Operations ® Add Certificate Request. В форме Create Certificate Request следует выбрать Key Size = 1024 и нажать кнопку Advanced. В появившуюся форму нужно внести различительное имя и нажать OK:

oracle wallet manager что это. Смотреть фото oracle wallet manager что это. Смотреть картинку oracle wallet manager что это. Картинка про oracle wallet manager что это. Фото oracle wallet manager что это

Если теперь «встать» на ветку Certificate (Requested) дерева объектов бумажника, справа увидим текст заявки на сертификат:

Получение сертификатов

Последний вариант выглядит естественным при работе с ПО Oracle, однако, как и второй, требует определенного разбирательства, отвлекающего от основного изложения. Простым выходом может оказаться получение пробного бесплатного сертификата с трехнедельным сроком годности от фирмы thawte.

На месте www.thawte.com в web нужно найти страницу «21-Day Free Trial SSL Certificate from thawte» и заполнить поля своими данными. Далее на странице «21-Day Free SSL Trial Certificate)) нужно проставить отметку SSL123 Certificate (All servers) и в поле для заявки внести текст, полученный от Wallet Manager. Нажав next, получим в ответ текст сертификата. Пока его нужно запомнить в каком-нибудь файле, например userCert.txt. Такой файл получаем отдельно для бумажника на сервере и на клиенте.

Корневой сертификат можно получить по адресу https://www.thawte.com/roots/. Скачав файл thawte-roots.zip, нужно извлечь из него текстовое или двоичное представление корневого сертификата в каталоге Thawte Test Roots.

Импорт сертификатов в бумажник

Нагляднее импортировать сертификаты опять-таки в Oracle Wallet Manager, хотя делать это можно и программами из командной строки.

oracle wallet manager что это. Смотреть фото oracle wallet manager что это. Смотреть картинку oracle wallet manager что это. Картинка про oracle wallet manager что это. Фото oracle wallet manager что это

При желании можно с пощью меню запомнить текст заявки во внешнем файле.

Вначале импортируется корневой сертификат. Используется меню Operations —»Import Trusted Certificate.

Во вторую очередь импортируется сертификат пользователя посредством меню Operations — Import User Certificate. Оба действия допускают указание как ссылки на файл, так и живого текста.

В результате ветка Certificate (Requested) объектов бумажника получит вид Certificate (Ready):

oracle wallet manager что это. Смотреть фото oracle wallet manager что это. Смотреть картинку oracle wallet manager что это. Картинка про oracle wallet manager что это. Фото oracle wallet manager что это

Сертификаты импортируются отдельно в бумажники сервера и клиента.

Источник

Бумажник Oracle Wallet: использование для шифрования данных на внешнем носителе

Держи карман шире! Крылатое выражение

Введение

БД Oracle не является замкнутой системой. СУБД вступает в контакт с участниками компьютерной сети, а данные базы, равно как и резервные копии, технически хранятся на внешних носителях. Хотя СУБД Oracle имеет собственную систему защиты данных, внешнее окружение, с которым она взаимодействует, вовсе не подконтрольно ей. Например, канал связи прикладной программы с СУБД может испытать постороннее вмешательство; существует риск постороннего же обращения к содержимому файлов с данными в обход Oracle.

Проблема не связана исключительно с Oracle и носит общий характер для информационных систем как таковых. Стандартное решение состоит в использовании шифрования передаваемых данных и подсчете контрольной свертки (суммы). Более того, передача шифра (необходимого для расшифровки принимающей стороной) часто вдобавок вынуждено сопровождается ссылкой на «свидетельство подлинности», так называемый сертификат. Когда взаимодействие субъектов и объектов доступа в информационной системе идет активно, предъявлять в программе шифр или его свидетельство подлинности многократно и «вручную» и неудобно, и небезопасно. Гораздо легче запомнить эти сведения где-то один раз и «попросить» систему делать проверку по мере надобности самостоятельно.

Популярным приемом является использовать для такого локализованного расположения данных параметров защищенного доступа «электронный бумажник» (ewallet). По сути это файл на компьютере (сервере или клиенте), где информация о параметрах доступа сама в свою очередь защищена. Английским прообразом для «удостоверяющих параметров доступа» является слово credentials, заимствованное из юридического языка и обозначающее там «верительные грамоты». (Слово credentials должно быть знакомо администраторам работе с Oracle Enterprise Manager). В «информационном», электронном бумажнике могут храниться такие персональные «верительные грамоты», как ключи шифрования данных и сертификаты подлинности, а кроме того еще и «прочие секретные сведения» (цитата) об участнике доступа.

Фирма Oracle предполагает использовать в качестве электронного бумажника собственное решение, Oracle Wallet, существующее в рамках расширения Advanced Security для Oracle Enterprise Edition или для клиента. Oracle Wallet позволяет хранить и обеспечивать использование системой следующие основные категории сведений:

В примерах ниже подразумевается файловая система ОС Windows, что никак не сказывается на существе дела.

Электронный бумажник Oracle

Сам бумажник Oracle появился в версии 8.1, однако приводимое далее его применение оказалось возможным только в версии 10.2.

Для работы со своим электронным бумажником фирма Oracle дает следующие средства:

— программу Oracle Wallet Manager (она же owm );

Три последние суть обращения к методам main классов Java, соответственно:

(Все они, вместе с адресованными по цепочке, располагаются в каталогах ПО Oracle в разных архивах ORACLE_HOME).

Создание, открытие и закрытие бумажника с главным ключом

К сожалению, для электронного бумажника в Oracle ПО написано недостаточно тщательно, так что несоблюдение описанного далее порядка действий способно привести вплоть до ошибки ORA-00600 и необходимости перезагрузки СУБД.

Проще завести бумажник неявно, командой SQL. Для этого нужно создать необходимый умолчательный каталог и выдать команду SQL от имени SYS, например в SQL*Plus:

SQL> HOST mkdir C:\oracle\admin\orcl\wallet

SQL> ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY «amicus123»;

По указанной команде SQL в (умолчательном) каталоге появится файл бумажника с главным ключом доступа. К фактическому использованию главного ключа из бумажника мы еще не готовы, так как бумажник нужно открыть. Команды открытия и закрытия бумажника:

ALTER SYSTEM SET ENCRYPTION WALLET OPEN AUTHENTICATED BY «amicus123»;

ALTER SYSTEM SET ENCRYPTION WALLET CLOSE ;

Выполним первую команду, и созданый предварительно бумажник можно использовать.

Защита данных на внешнем носителе средствами TDE

Термин «прозрачное шифрование данных» (TDE) используется для обозначения процессов автоматической шифровки данных при размещении на носитель и дешифровки при чтении с носителя. «Прозрачное» здесь означает «прозрачное» для прикладной программы, в которой ни коим образом нет нужды учитывать фактическое выполнение указанных действий. В противовес этому программа имеет право самостоятельно шифровать нужные значения прежде чем передавать их БД и самостоятельно расшифровывать по извлечению, пользуясь, например, пакетом DBMS_CRYPTO. Оба подхода имеют свои достоинства; при этом TDE проще для программиста, но и требует бумажника.

Техника TDE не присуща исключительно СУБД Oracle (пример: SQL Server), или даже базам данных вообще (пример: патент IBM 7426745 ).

Создание столбцов с зашифрованными данными

Создадим таблицу для работы, для определенности в схеме SCOTT:

CREATE TABLE closed (

INSERT INTO closed VALUES ( ‘normal1’, ‘ secret ‘, ‘normal1’ );

INSERT INTO closed VALUES ( ‘normal2’, ‘ secret ‘, ‘normal2’ );

Для начала рассмотрим обычное хранение строк. Выдадим в SQL*Plus:

2 DBMS_ROWID.ROWID_RELATIVE_FNO ( ROWID ) file#

Обе короткие строки попали в один блок на диске. В моем случае это блок № 597 в файле № 4. Подставим полученные значения в команду, которую выдадим от имени SYS:

ALTER SYSTEM DUMP DATAFILE 4 BLOCK 597 ;

В трассировочном файле серверного процесса, обслуживающего сеанс, появилась примерно следующая информация:

EEF7DB0 32656662 5F353633 72756F53 6F546563 [bfe2365_SourceTo]

EEF7DC0 4C4D5448 766E6F43 0703012C 6D726F6E [HTMLConv. norm ]

Block header dump: 0x01000255

Пока еще не засекреченные значения выделены серым фоном. Зашифруем их в блоке:

ALTER TABLE closed MODIFY ( b ENCRYPT );

Это можно сделать только при открытом бумажнике. Вот что получим в файле трассировки серверного процесса:

EEF7D30 0B6A7807 12380B13 0703022C 6D726F6E [.xj. 8. norm ]

EEF7D90 D765D462 EC2D8A33 8DF8F328 EC42E142 [ b.e.3.-.(. B.B. ]

EEF7DA0 CB3EEB72 A36909CE A28C845E 0F04567C [ r.>. i.^. /V.. ]

EEF7DD0 06326C61 72636573 6E077465 616D726F [ al2.secret.norma ]

EEF7DE0 002C326C 6F6E0703 6C616D72 65730631 [ l2. normal1.se ]

Block header dump: 0x01000255

Значения двух слов ‘secret’ в блоке действительно оказались зашифрованы (и стали занимать больше места). Обратите внимание, что шифрование ранее занесенных данных Oracle отрабатывает алгоритмом команды UPDATE, который допускает временное сохранение в блоке старых данных, на радость злоумышленникам (в SQL Server то же самое, если верит интернету).

Выдача значений не раскроет того обстоятельства, что в блоке они хранятся зашифровано:

SQL> SELECT * FROM closed;

normal1 secret normal1

normal2 secret normal2

Бросается в глаза, что одно и то же значение (‘secret’) дало разный результат шифрования. Так произошло потому, что для дополнительной защиты Oracle перед шифрованием приписывает к значению случайную последовательность байтов, так называемую «привязку» (salt). Это препятствует расшифровке, и даже лишает возможности злоумышленника понять, что в разных полях исходно были одинаковые значения. С другой стороны (а) «привязка» замедляет обработку данных и (б) препятствует созданию (древовидного) индекса на шифруемый столбец. Последнее вызвано тем, что значения полей индексируемого столбца помещаются в структуру индекса, и поскольку равные исходные значения будут давать разные шифрованные, индекс не сможет отрабатывать поиск по диапазону, то есть обесценится. Вот Oracle это и запрещает:

SQL> CREATE INDEX closed_b ON closed ( b );

CREATE INDEX closed_b ON closed ( b )

ORA-28338: cannot encrypt indexed column(s) with salt

От применения привязки можно отказаться:

ALTER TABLE closed MODIFY ( b ENCRYPT NO SALT );

Вот пример последовавшего результата из трассировочного файла:

EEF7CC0 02C10265 06C102FF 0703012C 6D726F6E [e. norm ]

EEF7CE0 902DEF69 C655685B 00844987 08803082 [ i.-.[hU..I. 0.. ]

EEF7CF0 A6106E22 45F862E5 726F6E07 326C616D [ «n. b.E.normal2 ]

EEF7D90 D765D462 EC2D8A33 8DF8F328 EC42E142 [ b.e.3.-.(. B.B. ]

EEF7DA0 CB3EEB72 A36909CE A28C845E 0F04567C [ r.>. i.^. /V.. ]

EEF7DD0 06326C61 72636573 6E077465 616D726F [ al2.secret.norma ]

EEF7DE0 002C326C 6F6E0703 6C616D72 65730631 [ l2. normal1.se ]

Block header dump: 0x01000255

Теперь два верхних отмеченных серым фоном значения в блоке стали одинаковыми.

Справочная информация и некоторые подробности

Посмотреть состояние и местонахождение бумажника с шифроключами можно только с версии 11 в таблице V$ENCRYPTION_WALLET.

Перечень шифруемых столбцов в таблицах БД можно получить из отдельных системных таблиц DBA/ALL/USER_ENCRYPTED_COLUMNS. В нашем случае мы получим:

SQL> SELECT * FROM user_encrypted_columns;

TABLE_NAME COLUMN_NAME ENCRYPTION_ALG SAL

CLOSED B AES 192 bits key NO

Полное имя последнего столбца SALT. Поле ENCRYPTION_ALG сообщает алгоритм шифрования. Кроме умолчательного AES192 возможны AES128, AES256 и 3DES168. Эти алгоритмы следует указывать явно:

ALTER TABLE closed REKEY USING ‘aes256’ ;

Обратите внимание, что алгоритм указывается не для столбца, а для всей таблицы. Это потому, что Oracle не позволяет разным столбцам таблицы использовать разные алгоритмы шифрования: технически «шифрование выполняется на уровне блока» (цитата). Фактически последняя команда сменяет не только алгоритм, но и ключ шифрования, тоже один на всю таблицу. Этот собственный ключ шифрования таблицы (не «главный») тут же сам шифруется главным ключом из бумажника и запоминается для нее в БД, в системной таблице ENC$. Оттуда он будет браться при всякой шифровке/расшифровке значений полей строк таблицы. Так, при обращении к зашифрованному полю таблицы СУБД возьмет из ENC$ зашифрованый ключ этой таблицы, расшифрует его главным ключом из бумажника, и уже восстановленым ключом таблицы расшифрует значение поля.

Если нужно сменить хранимые шифрозначения, можно выдать просто:

ALTER TABLE closed REKEY ;

На «законную» возможность читать данные это никак не скажется (равно как и предыдущее действие), но хранимые значения будут подменены на вычисленные заново.

Enter password: amicus123

Oracle Secret Store entries:

Эти же ключи покажет и Oracle Wallet Manager:

(Для этого нужно будет вызвать программу, сослаться на каталог с файлом бумажника и ввести пароль).

А вот значение главного ключа покажет только программа mkstore (следует одна строка):

Сменить значение главного ключа можно командой типа:

ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY «amicus123»;

Создание табличных пространств с зашифроваными данными

Когда возникает надобность шифровать данные многих столбцов в многих таблицах, приходится иметь дело с большим количеством справочных сведений, что технологически хлопотно. Версия 11 дает для таких случаев обобщенное решение: шифрование всех данных, помещаемых в конкретное табличное пространство. Такое свойство табличного пространства неизменно и указывается один раз при его создании, например:

CREATE TABLESPACE encrypted_data

DATAFILE ‘с:\oracle\oradata\orcl\encrypt_df.dat’ SIZE 1M

ENCRYPTION USING ‘3DES168’

DEFAULT STORAGE ( ENCRYPT )

Оно отображено в поле ENCRYPTED таблицы DBA_TABLESPACES.

Создание шифрованых запасных копий

RMAN> SET ENCRYPTION OFF;

RMAN> BACKUP AS BACKUPSET TABLESPACE users TAG «unencrypted»;

RMAN> SET ENCRYPTION ON;

RMAN> BACKUP AS BACKUPSET TABLESPACE users TAG «the last one»;

RESTORE TABLESPACE users VALIDATE;

SQL «ALTER SYSTEM SET ENCRYPTION WALLET CLOSE»;

RESTORE TABLESPACE users VALIDATE;

RESTORE TABLESPACE users FROM TAG «unencrypted» VALIDATE;

SQL ‘ALTER SYSTEM SET ENCRYPTION WALLET open AUTHENTICATED BY «amicus123″‘;

RESTORE TABLESPACE users VALIDATE;

Алгоритмы, которые можно использовать для шифрования, перечисленны в таблице V$RMAN_ENCRYPTION_ALGORITHMS. Задать нужный алгоритм можно явочным путем, например:

SET ENCRYPTION ALGORITHM ‘AES192’;

На практике в rman удобно установить умолчания, например:

CONFIGURE ENCRYPTION ALGORITHM ‘AES256’;

CONFIGURE ENCRYPTION FOR DATABASE ON;

Другие свойства бумажника


Выбор расположения файла бумажника


WALLET_LOCATION =


Размещение бумажника в реестре Windows

Перенести бумажник в реестр можно средствами Oracle Wallet Manager (пометка Use Windows Registry в меню Wallet ):

Постоянно открытый бумажник


Внешнее хранение ключа

Источник

В данной статье мы рассмотрим как можно использовать программное обеспечение Oracle Wallet Manager (OWM) для установления защищенных каналов СУБД Oracle Database с веб-узлами интернета по протоколу TCPS и клиентских программ с СУБД по протоколу HTTPS.

Защищенные соединения и сертификаты подлинности

Соединения участников сети могут быть двух типов: СУБД с другими участниками, когда она выступает в качестве клиента, и других участников (клиентских программ) с СУБД. Ниже приводятся примеры организации того и другого.

Создание Oracle Wallet с сертификатами

Еще пример создания:

Появился один файл ewallet.p12, но зато этой же программой можно ознакомиться с его содержимым:

Наконец, создать контейнер Oracle Wallet и работать с его содержимым можно через Oracle Wallet Manager (меню Wallet ® New). При этом от следующего предложения придется отказаться:

oracle wallet manager что это. Смотреть фото oracle wallet manager что это. Смотреть картинку oracle wallet manager что это. Картинка про oracle wallet manager что это. Фото oracle wallet manager что это

В противном случае программа предложит текст заявки на получение сертификата, что пока не нужно. Свойство контейнера Oracle Wallet Auto Login в Wallet Manager нужно будет задать самостоятельно.

Следует обратить внимание, чтобы места нахождения файлов Oracle Wallet были доступны элементам ПО соответственно сервера и клиента.

Защищенные соединения с СУБД по протоколу SSL

Конфигурирование Oracle Net

Процесс установки соединений клиентов с СУБД listener должен быть настроен на прием заявок подключений по протоколу TCPS. Для этого в файле listener.ora следует пополнить описание списка портов в параметре LISTENER. По умолчанию Oracle Net использует для TCPS порт 2484; ниже эта традиция сохранена. Указание SSLVERSION в файлах ниже приводится для определенности и не имеет принципиального значения.

Файлы сервера

Примерный фрагмент из listener.ora может выглядеть так:

После подобной правки файла listener.ora программу listener стоит перезапустить. Правка файла sqlnet.ora может выглядеть примерно так:

Файлы клиента

Правка файла tnsnames.ora может выглядеть примерно так:

Правка файла sqlnet.ora может выглядеть примерно так:

Конфигурирование программой Net Manager

Выставить требуемые значения параметрам можно программой Net Manager, например:

oracle wallet manager что это. Смотреть фото oracle wallet manager что это. Смотреть картинку oracle wallet manager что это. Картинка про oracle wallet manager что это. Фото oracle wallet manager что это

Может случиться, что ПО Advanced Security доустанавливалось впоследствии. Из-за внутренних ошибок программа Net Manager не всегда в таких случаях способна показать позицию Oracle Advanced Security ниспадающего меню. Выйти из положения можно, подправив строку из файла netproperties в каталоге %ORACLE_HOME%\network\tools; например заменить:

Получение цифрового сертификата

Для установления защищенного соединения по SSL потребуется получить цифровые сертификаты подлинности: (а) «пользователя» и (б) «корневой». Сертификат пользователя будем получать на обращение к ресурсу, обозначенному следующим «различительным именем» (distinguished name, dn):

Корневой сертификат понадобится для того, чтобы подтвердить сертификат пользователя. Подтверждения ему не требуется, так как он подтверждает сам себя (отсюда название).

Подготовка заявки на сертификат пользователя

Получение сертификата пользователя производится по подготовленной заявке (request). Подготовить заявку можно с помощью Wallet Manager, отдельно для контейнеров TLS на сервере и на клиенте. Обратиться к форме составления заявки можно через меню Operations ® Add Certificate Request. В форме Create Certificate Request следует выбрать Key Size = 1024 и нажать кнопку Advanced. В появившуюся форму нужно внести различительное имя и нажать OK:

oracle wallet manager что это. Смотреть фото oracle wallet manager что это. Смотреть картинку oracle wallet manager что это. Картинка про oracle wallet manager что это. Фото oracle wallet manager что это

Получение сертификатов

Получить сертификат можно разными способами:

Последний вариант выглядит естественным при работе с ПО Oracle, однако, как и второй, требует определенного разбирательства, отвлекающего от основного изложения. Простым выходом может оказаться получение пробного бесплатного сертификата с трехнедельным сроком годности от фирмы thawte.

На месте www.thawte.com в web нужно найти страницу «21-Day Free Trial SSL Certificate from thawte» и заполнить поля своими данными. Далее на странице «21-Day Free SSL Trial Certificate)) нужно проставить отметку SSL123 Certificate (All servers) и в поле для заявки внести текст, полученный от Wallet Manager. Нажав next, получим в ответ текст сертификата. Пока его нужно запомнить в каком-нибудь файле, например userCert.txt. Такой файл получаем отдельно для контейнера Oracle Wallet на сервере и на клиенте.

Корневой сертификат можно получить по адресу https://www.thawte.com/roots/. Скачав файл thawte-roots.zip, нужно извлечь из него текстовое или двоичное представление корневого сертификата в каталоге Thawte Test Roots.

Импорт сертификатов в контейнер Oracle Wallet

Нагляднее импортировать сертификаты опять-таки в Oracle Wallet Manager, хотя делать это можно и программами из командной строки.

oracle wallet manager что это. Смотреть фото oracle wallet manager что это. Смотреть картинку oracle wallet manager что это. Картинка про oracle wallet manager что это. Фото oracle wallet manager что это

При желании можно с пощью меню запомнить текст заявки во внешнем файле.

Вначале импортируется корневой сертификат. Используется меню Operations —»Import Trusted Certificate.

Во вторую очередь импортируется сертификат пользователя посредством меню Operations — Import User Certificate. Оба действия допускают указание как ссылки на файл, так и живого текста.

В результате ветка Certificate (Requested) объектов контейнера Oracle Wallet получит вид Certificate (Ready):

oracle wallet manager что это. Смотреть фото oracle wallet manager что это. Смотреть картинку oracle wallet manager что это. Картинка про oracle wallet manager что это. Фото oracle wallet manager что это

Сертификаты импортируются отдельно в контейнер Oracle Wallet сервера и клиента.

Установление защищенного соединения

На клиенте набираем:

Убедиться, что действительно произошло соединение по SSL, можно по файлам протокола (журнала) соединений listener.log. Если же включить трассировку сеанса (параметр TRACE_LEVEL_CLIENT в файле sqlnet.ora), увидим в файле трассировки примерно следующий фрагмент:

Обращение в интернет по протоколу https

Наличие контейнера Oracle Wallet с необходимым сертификатом позволяет устанавливать соединения СУБД с узлами сети по защищенному протоколу HTTPS с помощью пакета UTLHTTP. Для примера рассмотрим адрес https://www.thawte.com. Чтобы обратиться к нему из программы потребуется занести в контейнер сертификат. Сертификат можно извлечь из полученного ранее файла thawte-roots.zip, из каталога Thawte Server Roots. С равным успехом для импорта в контейнер Oracle Wallet годятся и двоичный файл ThawtePremiumServerCA.cer и содержимое текстового ThawtePremiumServerCA_b64.txt. Импортируем сертификат как и выше, с помощью Wallet Manager и меню Operations — Import Trusted Certificate.

Подготовим текст программы для SQL*Plus:

При наличии приближенного сервера (proxy) потребуется связаться через него (UTL_HTTP.SET_PROXY).

Прогон текста должен дать результат:

В созданном средствами Oracle Wallet контейнере имеется несколько предустановленных сертификатов. Один из них готов для установления прямого защищенного соединения по протоколу HTTPS с узлом по адресу https://www.entrust.net/.

Статья не моя. Автор Владимир Пржиялковский.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *