ru.CryptoPro.Crypto.Key
Interface MasterSecretInterface

All Known Implementing Classes:
MasterSecret

public interface MasterSecretInterface

Интерфейс мастер ключа, создаваемого и хранимого в сессии. В данном интерфесе описаны основные функции работы с мастер ключом.

Author:
Copyright 2004-2005 Crypto-Pro. All rights reserved.
Version:1.0

Method Summary
 javax.crypto.SecretKey calculateConnectionKey(byte[] clientRnd, byte[] serverRnd, java.lang.String keyType, byte[] iv, java.security.spec.AlgorithmParameterSpec params)
          Функция подсчета рабочего ключа сессии заданного типа на основе мастер ключа.
 byte[] computeFinished(byte[] label, byte[] seed)
          Функция подсчета "finished" сообщения на основе мастер ключа, метки стороны, а также хеша всех сообщений сессии.
 

Method Detail

calculateConnectionKey

public javax.crypto.SecretKey calculateConnectionKey(byte[] clientRnd,
                                                     byte[] serverRnd,
                                                     java.lang.String keyType,
                                                     byte[] iv,
                                                     java.security.spec.AlgorithmParameterSpec params)
                                              throws java.security.NoSuchAlgorithmException,
                                                     java.security.InvalidKeyException
Функция подсчета рабочего ключа сессии заданного типа на основе мастер ключа. Создаваемый ключ может быть одного из типов: Для ключей шифрования в передаваемый массив iv записывается вектор инициализации (место под этот массив должно быть выделено до вызова этой функции). Параметры подсчитываемыого ключа опредляются в соответствии с параметрами params, которые должны являться параметрами шифрования.

Parameters:
clientRnd - случайные данные клиента
serverRnd - случайные данные сервера
keyType - тип создаваемого ключа
iv - вектор инициализации (для ключей шифрования)
params - параметры шифрования создаваемого ключа
Returns:
рабочий ключ сессии
Throws:
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException

computeFinished

public byte[] computeFinished(byte[] label,
                              byte[] seed)
                       throws java.security.InvalidKeyException
Функция подсчета "finished" сообщения на основе мастер ключа, метки стороны, а также хеша всех сообщений сессии.

Parameters:
label - метка стороны - клиент или сервер
seed - хеш всех сообщений сессии
Returns:
"finished" сообщение
Throws:
java.security.InvalidKeyException