com.digt.trusted.tsp
Class TSPHelper

java.lang.Object
  extended by com.digt.trusted.tsp.TSPHelper

public class TSPHelper
extends java.lang.Object

Вспомогательный класс для получения/проверки штампа времени с локальной/удаленной службы штампов времени.


Constructor Summary
TSPHelper(CMSProcessable msg)
          Создает экземпляр объекта, проинициализированный указанными в параметрах данными для последующего получения или проверки штампа времени
 
Method Summary
static AttributeTable convertToAttr(TimeStampToken tok)
          Производит запрос к службе штампов времени, проверяет валидность полученного ответа.
 byte[] getDataImprint()
           
 TimeStampToken getTimeStampLocal(java.security.PrivateKey key, java.security.cert.X509Certificate ca, java.security.cert.X509Certificate cert)
          Создает штамп времени с помощью встроенного в библиотеку генератора.
 TimeStampToken getTimeStampOnline(java.lang.String tsaUrl)
          Запрашивает штамп времени с сервера служб штампов времени.
 void setDataImprint(CMSProcessable msg)
          Генерирует ГОСТ3411 хэш указанных данных и сохраняет его для дальнейшего использования
static void validateCert(TimeStampToken tok)
          Проверяет валидность сертификата, содержащегося в штампе времени, и корректность подписи штампа времени на этом сертификате.
 TimeStampToken verifySigner(SignerInformation signer)
          Производит проверку штампа времени в указанном экхемпляре SignerInformation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TSPHelper

public TSPHelper(CMSProcessable msg)
          throws java.io.IOException,
                 java.security.GeneralSecurityException,
                 CMSException
Создает экземпляр объекта, проинициализированный указанными в параметрах данными для последующего получения или проверки штампа времени

Parameters:
msg - Данные, для которых должен быть вычислен data imprint хэш, включаемый в запрос на получение штампа времени
Throws:
java.io.IOException
java.security.GeneralSecurityException
CMSException
Method Detail

getDataImprint

public byte[] getDataImprint()
Returns:
Возвращает message imprint GOST3411 хэш для данных, переданных через конструктор или метод setDataImprint

setDataImprint

public void setDataImprint(CMSProcessable msg)
                    throws java.io.IOException,
                           java.security.GeneralSecurityException,
                           CMSException
Генерирует ГОСТ3411 хэш указанных данных и сохраняет его для дальнейшего использования

Parameters:
msg - Данные, для которых должен быть вычислен data imprint хэш, включаемый в запрос на получение штампа времени
Throws:
java.io.IOException
java.security.GeneralSecurityException
CMSException

validateCert

public static void validateCert(TimeStampToken tok)
                         throws TSPValidationException
Проверяет валидность сертификата, содержащегося в штампе времени, и корректность подписи штампа времени на этом сертификате.

Parameters:
tok - Проверяемый штамп времени
Throws:
TSPValidationException

getTimeStampLocal

public TimeStampToken getTimeStampLocal(java.security.PrivateKey key,
                                        java.security.cert.X509Certificate ca,
                                        java.security.cert.X509Certificate cert)
                                 throws java.security.GeneralSecurityException,
                                        TSPException,
                                        java.io.IOException
Создает штамп времени с помощью встроенного в библиотеку генератора.

Parameters:
key - Приватный ключ локального TSA
ca - Сертификат CA, на котором был сгенерирован сертификат локального TSA
cert - Сертификат локального TSA
Returns:
Возвращает штамп времени
Throws:
java.security.GeneralSecurityException
TSPException
java.io.IOException

getTimeStampOnline

public TimeStampToken getTimeStampOnline(java.lang.String tsaUrl)
                                  throws java.io.IOException,
                                         TSPException
Запрашивает штамп времени с сервера служб штампов времени. Проверяет его на валидность и соответствие переданному запросу.

Parameters:
tsaUrl - Адрес сервера служб штампов времени
Returns:
Возвращает валидный штамп времени, который вернул сервер
Throws:
java.io.IOException
TSPException

convertToAttr

public static AttributeTable convertToAttr(TimeStampToken tok)
                                    throws java.io.IOException
Производит запрос к службе штампов времени, проверяет валидность полученного ответа.

Returns:
Возвращает штамп времени как экземпляр AttributeTable в формате, пригодном для использования в качестве аттрибута при генерации подписи
Throws:
java.io.IOException

verifySigner

public TimeStampToken verifySigner(SignerInformation signer)
                            throws TSPValidationException
Производит проверку штампа времени в указанном экхемпляре SignerInformation. Если в данных подписчика штамп времени отсутствует, проверка считается успешной.

Parameters:
signer - Данные подписчика, в которых предполагается наличие аттрибута штампа времени
Returns:
Возвращает метку штампа времени или null в случае ее отсутствия
Throws:
TSPValidationException