Документ создан: 08.09.2016

Использование wallet-файла для доступа к HTTPS-ресурсам.

В процессе использования APEX из Oracle XE возникли трудности с доступом к ресурсам, обращение к которым осуществляется по HTTPS. Трудности заключались в том, что, во-первых, Oracle XE не имеет утилит для работы с wallet, а, во-вторых, неясно было как заставить APEX использовать wallet-файл.
Все действия выполнялись из linux.

  1. Сначала в операционной системе:
    1. создаём wallet-каталог, в котором будем хранить wallet-файл:
      mkdir /u01/app/oracle/wallet/
      chmod 750 /u01/app/oracle/wallet/
    2. забираем сертификат с интересующего сервера и кладём его в файл:
      openssl s_client -showcerts -connect 10.7.0.57:443 < /dev/null 2>/dev/null |sed -n -e '/BEGIN\ CERTIFICATE/,/END\ CERTIFICATE/ p' > /tmp/cert.crt
    3. конвертируем файл в pkcs12:
      openssl pkcs12 -export -in /tmp/cert.crt -out /u01/app/oracle/wallet/ewallet.p12 -nokeys
    4. удаляем временный файл сертификата:
      rm -f /tmp/cert.crt
  2. Теперь переходим к настройке APEX:
    1. Для APEX в Dev-mode можно использовать такой способ:
      • в web-интерфейсе заходим в INTERNAL (Instance Administration) и правим настройки экземпляра (инстанса):
        Manage Instance, Instance Settings, Wallet:

        Где:
        • Wallet Path — каталог, в котором размещён ewallet.p12, без указания имени файла, но с обязательным префиксом "file:"
        • Wallet Password — пароль wallet-файла, который был задан в п.1.3.
    2. Для APEX в Prod-mode используем следующий способ:
      • подключаемся к экземпляру sqlplus и выполняем:
        exec APEX_INSTANCE_ADMIN.SET_PARAMETER('WALLET_PATH','file:/u01/app/oracle/wallet');
        exec APEX_INSTANCE_ADMIN.SET_PARAMETER('WALLET_PWD','PASSWORD');
        COMMIT;
 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Donate