вторник, 4 июня 2013 г.

Снятие подписи с файла в Siebel

Задача следующая: имеем подписанный файл xml, считать его и преобразовать в иерархию не получится т.к. преобразование пройдет с ощибкой, необходимо снять подпись с файла.

Для снятия подписи используется КриптоАРМ(CryptoARM) и провайдер шифрования КриптоПРО(CryptoPro).
Обе программы должны быть установлены на том сервере, где установлен Siebel или Object Manager на котором будет выполняться скрипт.

Вот пример скрипта по снятию подписи с файла:
function Service_PreInvokeMethod (MethodName, Inputs, Outputs)
{//функция снимает подпись с файла  xxx.yyy
//и сохраняет файл без подписи под именем xxx.yyy.xml
    switch (MethodName)
    {
        case "TakeOffSignature":
            //получаем из входных параметров путь к файлу
            var sFileName:chars = Inputs.GetProperty("FileName");
            //Создадим экземпляр COM объекта
            var Crypto = COMCreateObject("DigtCrypto.PKCS7Message");
            //прочесть файл
            Crypto.Load(2,sFileName);
            //сохранить без подписи
            Crypto.Save(0,1,sFileName+".xml");
        return (CancelOperation);
        break;
    }
    return (ContinueOperation);
}

Комментариев нет:

Отправить комментарий