Показаны сообщения с ярлыком oracle. Показать все сообщения
Показаны сообщения с ярлыком oracle. Показать все сообщения

понедельник, 5 октября 2015 г.

WebLogic Server. Encrypt & Decrypt password.

На днях возникла задача хранения некоторой части данных в базе данных. Из темы ясно, что данные должны быть зашифрованы. Чтобы не изобретать велосипед, первым делом отправился в www.google.com с вопросом как же шифруются пароли weblogic'а.

В результате получился маленький класс для шифровки и расшифровки паролей по аналогии как это делает weblogic server.

package com.kalinchyk.util;

import weblogic.security.internal.SerializedSystemIni;
import weblogic.security.internal.encryption.*;

public final class WebLogicSecure {
    
    private static EncryptionService es = null;
    private static ClearOrEncryptedService ces = null;

    public static String decrypt(String pwd) throws Exception {
        es = SerializedSystemIni.getExistingEncryptionService();
        if (es == null)
            throw new Exception("Unable to initialize decryption service");
        ces = new ClearOrEncryptedService(es);
        return ces.decrypt(pwd);
    }    

    public static String encrypt(String pwd) throws Exception {
        es = SerializedSystemIni.getExistingEncryptionService();
        if (es == null)
            throw new Exception("Unable to initialize encryption service");
        ces = new ClearOrEncryptedService(es);
        return ces.encrypt(pwd);
    }
}

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

Для тестирования на локальной машине можно использовать файл SerializedSystemIni.dat из IntegratedWebLogicServer, который необходимо сохранить в директорию с вашим проектом.

среда, 22 апреля 2015 г.

PL/SQL. Транслитерация украинского языка

Моя функция для транслитерации украинского языка в pl/sql.
Правила описаны в законе Украины:
http://zakon4.rada.gov.ua/laws/show/55-2010-п

пятница, 20 марта 2015 г.

Отчеты BI Publisher и шрифт Times New Roman (кириллица)

Столкнулся с необходимостью формировать отчеты в старой версии Oracle BI Publisher Enterprise (10.1.3.4.1) и сразу возникла сложность со шрифтам. Причем проблема возникала только при формировании отчета в формате pdf. Вместо правильных шрифтов статически указывался Alban WT J и вся кириллица смотрелась ужасно, стили не соответствовали шаблону - небыло выделения жирным и остальные странные артефакты.

Решение:

Первым делом скопировать необходимые шрифты из windows (c:\windows\fonts\), например, Times New Roman, Arial и т.д. в директорию jre/lib/fonts (тут необходимо четко понимать, какой из jre использует ваш BIP, так например на нашей тестовой среде используется не родной).

Следующим шагом прописать группу шрифтов в конфигурационный файл (xdo.cfg). В зависимости от задачи - это может быть глобальный файл (расположен %BIP%/xmlp/XMLP/Admin/Configuration) или локальный для определенного отчета. Мой конфиг выглядит теперь так:
<config version="1.0.0" xmlns="http://xmlns.oracle.com/oxp/config/">

   <properties>
      <property name="pdf-compression">true</property>
   </properties>
   <fonts>
        <font family="Arial" style="normal" weight="normal"> 
            <truetype path="/arial.ttf" /> 
        </font> 
        <font family="Arial" style="italic" weight="normal"> 
            <truetype path="/ariali.ttf" /> 
        </font> 
        <font family="Arial" style="normal" weight="bold"> 
            <truetype path="/arialbd.ttf" /> 
        </font> 
        <font family="Arial" style="italic" weight="bold"> 
            <truetype path="/arialbi.ttf" /> 
        </font>    

        <font family="Times New Roman" style="normal" weight="normal"> 
            <truetype path="/times.ttf" /> 
        </font> 
        <font family="Times New Roman" style="italic" weight="normal"> 
            <truetype path="/timesi.ttf" /> 
        </font> 
        <font family="Times New Roman" style="normal" weight="bold"> 
            <truetype path="/timesbd.ttf" /> 
        </font> 
        <font family="Times New Roman" style="italic" weight="bold"> 
            <truetype path="/timesbi.ttf" /> 
        </font>    

      <font family="Default" style="normal" weight="normal">
         <truetype path="/times.ttf" />
      </font>

      <!--Font substitute setting (for PDFForm filling etc...) -->
      <font-substitute name="MSGothic"> 
         <truetype path="/msgothic.ttc" ttcno="0" />
      </font-substitute>  
   </fonts>
</config>

понедельник, 4 апреля 2011 г.

Доступ к Oracle. Получаем пароль из воздуха.

Вечная проблема о безопасном хранении паролей к конфиденциальной информации на предприятии. Многое программное обеспечение не умеет защищать информацию такого типа. Так, например, распространенный продукт SQL Navigator от компании Quest Software хранит пароли доступов к СУБД в пользовательской ветке реестра. Хоть пароль лежит в зашифрованном виде, но его легко украсть и воспользоваться.