Skip to content

CipherKeyManager

SerjiEvg edited this page Feb 8, 2016 · 7 revisions

Класс CipherKeyManager

Класс для организации хранилища ключей под используемый алгоритм шифрования.

  • Поддерживаемые имена симметричного шифрования: 'des', 'des-ede', 'des-ede3'.
  • Поддерживаемые имена асимметричного шифрования: 'aes'.

Свойства:

Название Тип Описание
getDesKey DES_key_schedule возвращает ключ шифрования для алгоритма DES
getAesPubKey AES_key возвращает публичный ключ для алгоритма AES
getAesPrivKey AES_key возвращает закрытый ключ для алгоритма AES
getNumberKeys number возвращает кол-во ключей в хранилище

Методы:

Метод Описание
generateDesKey генерация ключа шифрования для алгоритма DES
setDesKey устанавливает ключ в хранилище для алгоритма DES
setAesPubKey устанавливает публичный ключ в хранилище для алгоритма AES
setAesPrivKey устанавливает закрытый ключ в хранилище для алгоритма AES
clearCipherKeyManager очистка хранилища ключей

Конструктор:

CipherKeyManager(сipherAlgName : string)

Конструктор класса для хранения ключей шифрования. В качестве параметра передается наименование алгоритма шифрования, например, 'des' или 'des-ede3'.

generateDesKey

generateDesKey() 
generateDesKey(numKey : number) 

функция генерирует ключ для алгоритма DES (ключ имеет тип DES_key_schedule). В зависимости от используемого алгоритма хранилище может быть создано для одного или трех ключей. Функция generateDesKey() генерирует ключ и заполняет массив (заполнение осуществляется циклически с замещением). Параметр функции numKey позволяет указать номер ключа. При внесении ключа в keyManager осуществляется его проверка на битность.

###Пример использования:

var km = new СipherKeyManager('des-ede3')
km.generateDesKey(1)
km.generateDesKey(2)
km.generateDesKey(3)

getDesKey

getDesKey() : DES_key_schedule
getDesKey(numKey : number) : DES_key_schedule

функция возвращает ключ в виде структуры DES_key_schedule из хранилища ключей. При отсутствии параметра возвращается первый найденный ключ и -1 в случае пустого массива. При указании номера ключа возвращается ключ или -1, если он не был сгенерирован.

setDesKey

setDesKey(desKey : DES_key_schedule) 
setDesKey(desKey : DES_key_schedule, numKey : number) 

функция устанавливает ключ формата DES_key_schedule в хранилище.

getAesPubKey

getAesPubKey() : AES_Key

функция возвращает публичный ключ формата AES_Key из хранилища.

getAesPrivKey

getAesPrivKey() : AES_Key

функция возвращает приватный ключ формата AES_Key из хранилища.

setAesPubKey

setAesPubKey(aesKey : AES_Key)

функция устанавливает публичный ключ формата AES_Key в хранилище.

setAesPrivKey

setAesPrivKey(aesKey : AES_Key)

функция устанавливает приватный ключ формата AES_Key в хранилище.

getNumberKeys

getNumberKeys() : number

функция возвращает количество ключей из массива keyManager и 0 - в случае его пустоты.

clearCipherKeyManager

clearCipherKeyManager() 

функция выполняет очистку менеджера ключей.