Как создать Oracle Wallet с помощью orapki или доступ на сайт с помощью ssl сертификатов.

Автор Itworkroom

На работе возникла необходимость сделать доступ к приложению на Apexe через SSL сертификаты, в данном случае это было приложение РМССП(рабочее место службы поддержки). Кошелек для сертификатов было решено создать при помощи оракловой утилиты orapki. Я покажу вам как я это делал, т.к. с существующими дистрибутивами у меня ушло порядка 2 дней на то, чтобы разобраться со всем этим добром. Итак, начнем с того что имеем:
ОС — HP-UX B.11.31
в качестве HTTP сервера я использовал Oracle® Fusion Middleware Patch Set Notes
11g Release 1 (11.1.1.7.0), т.к. данный продукт в полной мере подходил под мои нужды. Сразу оговорюсь, в данный дистрибутив не входит утилита orapki, поэтому вам придется устанавливать ее отдельно.

Создаем папку для серверного кошелька:
mkdir /oracle/Apache/Oracle_WT1/server_wallet
cd /oracle/Apache/Oracle_WT1/server_wallet
—создаем кошелек:
orapki wallet create -wallet /oracle/Apache/Oracle_WT1/server_wallet -auto_login -pwd Password1
—головной сертификат выдаем и подписываем сами
orapki wallet add -wallet /oracle/Apache/Oracle_WT1/server_wallet -dn «CN=<IP>» -keysize 1024 -self_signed -validity 365 -pwd Password1

IP — указываем IP адрес к которому требуется доступ

—подложить корневой сертификат центра сертификации, в моем случае это НУЦ РК:
orapki wallet add -wallet /oracle/Apache/Oracle_WT1/server_wallet -trusted_cert -cert /oracle/Apache/Oracle_WT1/server_wallet/NCA_RSA.cer -pwd Password1

—экспортировать серверный сертификат для клиента
orapki wallet export -wallet /oracle/Apache/Oracle_WT1/server_wallet -dn «CN=IP» -cert /oracle/Apache/Oracle_WT1/server_wallet/server_ca.cert

Теперь создаем папку для клиентского кошелька:
mkdir /oracle/Apache/Oracle_WT1/client_wallet
cd /oracle/Apache/Oracle_WT1/client_wallet
—создаем клиентский кошелек
orapki wallet create -wallet /oracle/Apache/Oracle_WT1/client_wallet -auto_login -pwd Password2
—подписать серверный сертификат клиенту
orapki wallet add -wallet /oracle/Apache/Oracle_WT1/client_wallet -trusted_cert -cert /oracle/Apache/Oracle_WT1/server_wallet/server_ca.cert -pwd Password2
—подписать клиентский сертификат серверу
orapki wallet add -wallet /oracle/Apache/Oracle_WT1/server_wallet -trusted_cert -cert /oracle/Apache/Oracle_WT1/client_wallet/client_ca.cert -pwd Password1
client_ca.cert — этот сертификат вы должны получить в НУЦ РК, это ваш личный сертификат.

—показывает информацию по сертификатам:
orapki wallet display -wallet /oracle/Apache/Oracle_WT1/server_wallet

после выполнения данной команды у меня следующая картина:

Requested Certificates: 
User Certificates:
Subject:        CN=<IP>
Trusted Certificates: 
Subject:        C=KZ,ST=??????,L=??????,O=???????????? ?????????????? ????? ?????????? ?????????,OU=?????????????? ???????? ??????,CN=??? ?? (RSA)
Subject:        OU=Class 2 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US
Subject:        CN=<IP>
Subject:        OU=Class 3 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US
Subject:        L=?????????,ST=?????????????? ???????,C=KZ,EmailAddress=user@mail.ru,2.5.4.42=???????,2.5.4.4=??????,CN=?????? ??????,SERIAL_NUM=IIN
Subject:        OU=Class 1 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US
Subject:        CN=GTE CyberTrust Global Root,OU=GTE CyberTrust Solutions\, Inc.,O=GTE Corporation,C=US
Subject:        L=??????,ST=??????,C=KZ,EmailAddress=user2@MAIL.RU,2.5.4.42=???????????,2.5.4.4=???????????,CN=??????????? ??????,SERIAL_NUM=IIN

Кошелек создан, сертификаты импортированы, теперь необходимо провести настройки конфигурационных файлов:
в файле /orahttp/ohs/conf/ssl.conf
Listen 4459 — порт который будет слушать сервер для SSL соединения
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:+HIGH:+MEDIUM:+LOW:+SSLv3:+SSLv2:TLSv1:+EXP
SSLWallet file:/oracle/Apache/Oracle_WT1/server_wallet
SSLVerifyClient require
в файле /orahttp/opmn/conf/opmn.xml
ВАЖНО: установить порты больше 6200
    <port local=»6213″ 
          remote=»6300″
          request=»6103″/>
    <ssl enabled=»true» wallet-file=»/oracle/Apache/Oracle_WT1/server_wallet»/>
Все, теперь устанавливаем файлы server_ca.cert, client_ca.cert на свой компьютер и пробуем подключаться к серверу по SSL порту.

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

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