CryptoPro CAdES API.
Public API.

ru.CryptoPro.CAdES
Class CAdESSigner

java.lang.Object
  extended by ru.CryptoPro.CAdES.CAdESSigner
All Implemented Interfaces:
ru.CryptoPro.CAdES.interfaces.ICAdESSigner

public class CAdESSigner
extends java.lang.Object
implements ru.CryptoPro.CAdES.interfaces.ICAdESSigner

Класс декодирования, проверки и усовершенствования подписи в подписанном CAdES сообщении.


Method Summary
 void addCountersigner(org.bouncycastle.cms.SignerInformation cosigner)
          Добавление заверяющей подписи к отдельному подписанту.
 void enhance(java.util.Collection<java.security.cert.X509Certificate> chain, java.lang.String tsaUrl, java.lang.Integer s_type)
          Усовершенствование подписи CAdES-BES до CAdES-X Long Type 1.
 void enhance(java.util.Collection<java.security.cert.X509Certificate> chain, java.lang.String tsaUrl, java.lang.Integer s_type, org.bouncycastle.asn1.cms.AttributeTable unsignedAttributes)
          Усовершенствование подписи CAdES-BES до CAdES-X Long Type 1.
 void enhance(java.lang.String provider, java.lang.String hashAlg, java.util.Collection<java.security.cert.X509Certificate> chain, java.lang.String tsaUrl, java.lang.Integer s_type)
          Усовершенствование подписи CAdES-BES до CAdES-X Long Type 1.
 void enhance(java.lang.String provider, java.lang.String hashAlg, java.util.Collection<java.security.cert.X509Certificate> chain, java.lang.String tsaUrl, java.lang.Integer s_type, org.bouncycastle.asn1.cms.AttributeTable unsignedAttributes)
          Усовершенствование подписи CAdES-BES до CAdES-X Long Type 1.
 java.security.cert.X509Certificate[] getCAdESCertificates()
          Получение списка сертификатов certificate-values из подписи.
 CAdESSigner[] getCAdESCountersignerInfos()
          Получение списка заверителей.
 org.bouncycastle.tsp.TimeStampToken getCAdESCTimestampToken()
          Получение внешнего штампа времени CAdES-C-timestamp из подписи.
 org.bouncycastle.tsp.TimeStampToken getSignatureTimestampToken()
          Получение внутреннего штампа времени signature-timestamp из подписи.
 java.lang.Integer getSignatureType()
          Получение типа подписи.
 java.security.cert.X509Certificate getSignerCertificate()
          Получение сертификата, соответствующего ссылке в подписанных атрибутах (для подписи CAdES) или SID (для подписи PKCS7).
 org.bouncycastle.cms.SignerInformation getSignerInfo()
          Получение подписанта.
 org.bouncycastle.asn1.cms.AttributeTable getSignerSignedAttributes()
          Получение списка подписываемых аттрибутов.
 org.bouncycastle.asn1.cms.AttributeTable getSignerUnsignedAttributes()
          Получение списка неподписываемых аттрибутов.
 void verify(java.util.Collection<java.security.cert.X509Certificate> addCerts, java.util.Collection<java.security.cert.X509CRL> addCrls, java.lang.Integer s_type, boolean verifyCountersignatures)
          Проверка одной отдельной подписи CAdES.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getSignerInfo

public org.bouncycastle.cms.SignerInformation getSignerInfo()
Получение подписанта.

Specified by:
getSignerInfo in interface ru.CryptoPro.CAdES.interfaces.ICAdESSigner
Returns:
подписант.

getSignerSignedAttributes

public org.bouncycastle.asn1.cms.AttributeTable getSignerSignedAttributes()
Получение списка подписываемых аттрибутов.

Returns:
список подписываемых аттрибутов.

getSignerUnsignedAttributes

public org.bouncycastle.asn1.cms.AttributeTable getSignerUnsignedAttributes()
Получение списка неподписываемых аттрибутов.

Returns:
список неподписываемых аттрибутов.

getSignatureTimestampToken

public org.bouncycastle.tsp.TimeStampToken getSignatureTimestampToken()
Получение внутреннего штампа времени signature-timestamp из подписи. Доступен после проверки подписи.

Specified by:
getSignatureTimestampToken in interface ru.CryptoPro.CAdES.interfaces.ICAdESSigner
Returns:
внутренний штамп времени или null.

getCAdESCTimestampToken

public org.bouncycastle.tsp.TimeStampToken getCAdESCTimestampToken()
Получение внешнего штампа времени CAdES-C-timestamp из подписи. Доступен после проверки подписи.

Specified by:
getCAdESCTimestampToken in interface ru.CryptoPro.CAdES.interfaces.ICAdESSigner
Returns:
внешний штамп времени или null.

getCAdESCertificates

public java.security.cert.X509Certificate[] getCAdESCertificates()
Получение списка сертификатов certificate-values из подписи. Доступен после проверки подписи.

Specified by:
getCAdESCertificates in interface ru.CryptoPro.CAdES.interfaces.ICAdESSigner
Returns:
список сертификатов или или null.

getSignerCertificate

public java.security.cert.X509Certificate getSignerCertificate()
Получение сертификата, соответствующего ссылке в подписанных атрибутах (для подписи CAdES) или SID (для подписи PKCS7). Доступен после проверки подписи.

Specified by:
getSignerCertificate in interface ru.CryptoPro.CAdES.interfaces.ICAdESSigner
Returns:
сертификат подписи или null.

getSignatureType

public java.lang.Integer getSignatureType()
Получение типа подписи.

Specified by:
getSignatureType in interface ru.CryptoPro.CAdES.interfaces.ICAdESSigner
Returns:
тип подписи.

getCAdESCountersignerInfos

public CAdESSigner[] getCAdESCountersignerInfos()
Получение списка заверителей.

Specified by:
getCAdESCountersignerInfos in interface ru.CryptoPro.CAdES.interfaces.ICAdESSigner
Returns:
список заверителей.

enhance

public void enhance(java.lang.String provider,
                    java.lang.String hashAlg,
                    java.util.Collection<java.security.cert.X509Certificate> chain,
                    java.lang.String tsaUrl,
                    java.lang.Integer s_type,
                    org.bouncycastle.asn1.cms.AttributeTable unsignedAttributes)
             throws CAdESException
Усовершенствование подписи CAdES-BES до CAdES-X Long Type 1. Процесс сопровождается дополнением неподписанными атрибутами и обращением к онлайновым службам за доказательствами. Функция позволяет указать дополнительные аттрибуты для добавления в подпись.

Specified by:
enhance in interface ru.CryptoPro.CAdES.interfaces.ICAdESSigner
Parameters:
provider - Криптопровайдер для хеширования и подписи.
hashAlg - Идентификатор алгоритма хэширования.
chain - Сертификаты подписанта для построения цепочки и добавления в подпись. Сертификат подписи должен быть первым в списке.
tsaUrl - Адрес TSP службы.
s_type - Тип подписи, до которого нужно усовершенствовать данную подпись.
unsignedAttributes - Таблица неподписанных аттрибутов для добавления в подпись. Может быть null.
Throws:
CAdESException

enhance

public void enhance(java.lang.String provider,
                    java.lang.String hashAlg,
                    java.util.Collection<java.security.cert.X509Certificate> chain,
                    java.lang.String tsaUrl,
                    java.lang.Integer s_type)
             throws CAdESException
Усовершенствование подписи CAdES-BES до CAdES-X Long Type 1. Процесс сопровождается дополнением неподписанными атрибутами и обращением к онлайновым службам за доказательствами.

Specified by:
enhance in interface ru.CryptoPro.CAdES.interfaces.ICAdESSigner
Parameters:
provider - Криптопровайдер для хеширования и подписи.
hashAlg - Идентификатор алгоритма хэширования.
chain - Сертификаты подписанта для построения цепочки и добавления в подпись. Сертификат подписи должен быть первым в списке.
tsaUrl - Адрес TSP службы.
s_type - Тип подписи, до которого нужно усовершенствовать данную подпись.
Throws:
CAdESException

enhance

public void enhance(java.util.Collection<java.security.cert.X509Certificate> chain,
                    java.lang.String tsaUrl,
                    java.lang.Integer s_type)
             throws CAdESException
Усовершенствование подписи CAdES-BES до CAdES-X Long Type 1. Процесс сопровождается дополнением неподписанными атрибутами и обращением к онлайновым службам за доказательствами. По умолчанию алгоритмы хэширования и подписи ГОСТ Р 34.11/34.10.

Parameters:
chain - Сертификаты подписанта для построения цепочки и добавления в подпись. Сертификат подписи должен быть первым в списке.
tsaUrl - Адрес TSP службы.
s_type - Тип подписи, до которого нужно усовершенствовать данную подпись.
Throws:
CAdESException

enhance

public void enhance(java.util.Collection<java.security.cert.X509Certificate> chain,
                    java.lang.String tsaUrl,
                    java.lang.Integer s_type,
                    org.bouncycastle.asn1.cms.AttributeTable unsignedAttributes)
             throws CAdESException
Усовершенствование подписи CAdES-BES до CAdES-X Long Type 1. Процесс сопровождается дополнением неподписанными атрибутами и обращением к онлайновым службам за доказательствами. По умолчанию алгоритмы хэширования и подписи ГОСТ Р 34.11/34.10. Функция позволяет указать дополнительные аттрибуты для добавления в подпись.

Parameters:
chain - Сертификаты подписанта для построения цепочки и добавления в подпись. Сертификат подписи должен быть первым в списке.
tsaUrl - Адрес TSP службы.
s_type - Тип подписи, до которого нужно усовершенствовать данную подпись.
unsignedAttributes - Таблица неподписанных аттрибутов для добавления в подпись. Может быть null.
Throws:
CAdESException

addCountersigner

public void addCountersigner(org.bouncycastle.cms.SignerInformation cosigner)
                      throws CAdESException
Добавление заверяющей подписи к отдельному подписанту. Предварительно заверяющая подпись должна быть сформирована над байтовым представлением поля signature заверяемой подписи. Заверяющая подпись не может содержать атрибут content-type (RFC 5652, RFC 2634 п.1.3.4, RFC 3852 п.11.4) и не может быть проверена отдельно от заверяемой подписи.

Specified by:
addCountersigner in interface ru.CryptoPro.CAdES.interfaces.ICAdESSigner
Parameters:
cosigner - Заверитель, которого нужно добавить к подписанту.
Throws:
CAdESException

verify

public void verify(java.util.Collection<java.security.cert.X509Certificate> addCerts,
                   java.util.Collection<java.security.cert.X509CRL> addCrls,
                   java.lang.Integer s_type,
                   boolean verifyCountersignatures)
            throws CAdESException
Проверка одной отдельной подписи CAdES. Для проверки подписи типа CAdES-BES может производиться обращение к онлайновым службам (OCSP/CRL). Если заданы списки CRL, то загрузка CRL из сети не производится.

Specified by:
verify in interface ru.CryptoPro.CAdES.interfaces.ICAdESSigner
Parameters:
addCerts - Дополнительные сертификаты, которые могут быть указаны при проверке подписей для построения цепочки сертификатов.
addCrls - Списки CRL, которые могут использоваться для проверки подписи CAdES-BES. Может быть null.
s_type - Тип подписи. Может быть null. Если задан, то производится проверка подписи с указанным типом.
verifyCountersignatures - True, если следует проверять заверяющие подписи.
Throws:
CAdESException

Copyright Crypto-Pro.
All rights reserved.