ru.bitel.bgbilling.modules.softkey.server.utils

## Class SoftkeyUtils

- java.lang.Object
- - ru.bitel.bgbilling.modules.softkey.server.utils.SoftkeyUtils

-     public class SoftkeyUtils
      extends java.lang.Object

  Утильный класс для сервиса Softkey. содержит методы по шифрации/дешифрации сообщений, формировании xml сообщений к сервису

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SoftkeyUtils()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static org.w3c.dom.Document` | `createXml(java.util.Map<java.lang.String,java.lang.String> params)` Создание xml из параметров
    `static org.w3c.dom.Document` | `decrypt(byte[] in, SoftkeyParams params)` Дешифрация закодированной xml
    `static byte[]` | `encrypt(org.w3c.dom.Document doc, SoftkeyParams params)` Сериализация и шифрование xml по алгоритму RSA
    `static boolean` | `hasError(org.w3c.dom.Document doc)` Проверяет наличие ошибки в ответе от сервиса
    `static org.w3c.dom.Document` | `send(java.util.Map<java.lang.String,java.lang.String> dataParams, SoftkeyParams params, boolean isCrypt)` Отправка зашифрованного запроса к сервису
    `static void` | `setError(org.w3c.dom.Document doc)` Посылает пользователю сообщение об ошибке
    `static byte[]` | `sign(SoftkeyParams params, byte[] data)` Подпись сообщения по алгоритму SHA1withRSA

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SoftkeyUtils

          public SoftkeyUtils()

  - ### Method Detail

    - #### encrypt

          public static byte[] encrypt(org.w3c.dom.Document doc,
                                       SoftkeyParams params)
                                throws ru.bitel.bgbilling.common.BGException

      Сериализация и шифрование xml по алгоритму RSA
      Parameters:
        `doc` - xml с параметрами запроса к Софткей
        `mid` - код модуля, чтобы можно было получить конфигурацию
      Returns:
        строка зашифрованного текста
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### decrypt

          public static org.w3c.dom.Document decrypt(byte[] in,
                                                     SoftkeyParams params)
                                              throws ru.bitel.bgbilling.common.BGException

      Дешифрация закодированной xml
      Parameters:
        `str` - зашифрованная строка
        `mid` - код модуля, чтобы можно было получить конфигурацию
      Returns:
        xml c ответом сервиса
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### sign

          public static byte[] sign(SoftkeyParams params,
                                    byte[] data)
                             throws ru.bitel.bgbilling.common.BGException

      Подпись сообщения по алгоритму SHA1withRSA
      Parameters:
        `params` - параметры модуля
        `data` - данные для подписи
      Returns:
      Throws:
        `ru.bitel.bgbilling.common.BGException`

    - #### createXml

          public static org.w3c.dom.Document createXml(java.util.Map<java.lang.String,java.lang.String> params)

      Создание xml из параметров
      Parameters:
        `params` - параметры запроса
      Returns:
        xml c запросом

    - #### setError

          public static void setError(org.w3c.dom.Document doc)

      Посылает пользователю сообщение об ошибке
      Parameters:
        `doc` - xml, в которой есть сообщение об ошибке

    - #### hasError

          public static boolean hasError(org.w3c.dom.Document doc)

      Проверяет наличие ошибки в ответе от сервиса
      Parameters:
        `doc` -
      Returns:

    - #### send

          public static org.w3c.dom.Document send(java.util.Map<java.lang.String,java.lang.String> dataParams,
                                                  SoftkeyParams params,
                                                  boolean isCrypt)
                                           throws ru.bitel.bgbilling.common.BGException,
                                                  java.io.IOException

      Отправка зашифрованного запроса к сервису
      Parameters:
        `dataParams` - мап с параметрами запроса. Для каждой операции свой набор параметров
        `params` - настройки модуля
        `isCrypt` - режим отправки сообщения: true - с шифрованием, false - с подписью
      Returns:
        xml с ответом сервиса
      Throws:
        `ru.bitel.bgbilling.common.BGException`
        `java.io.IOException`