kz.gamma.hardware.cms
Class Pkcs7Data

java.lang.Object
  extended by kz.gamma.hardware.cms.Pkcs7Data

public class Pkcs7Data
extends java.lang.Object

Класс для работы с PKCS#7


Field Summary
private  int DEFAULT_BUF_SIZE
           
private  EndiannessUtils endiannessUtils
           
private  java.io.File file
           
private  SignerInformation info
           
private  boolean isExtractContent
           
private  byte[] pkcs7
           
private  CMSSignedData signedData
           
private  byte[] text
           
 
Constructor Summary
Pkcs7Data(byte[] pkcs7)
          Формирование PKCS#7
Pkcs7Data(byte[] pkcs7, byte[] text)
          Формирование PKCS#7
Pkcs7Data(byte[] pkcs7, java.io.File file)
          Формирование PKCS#7
Pkcs7Data(byte[] pkcs7, java.lang.String textString)
          Формирование PKCS#7
Pkcs7Data(java.lang.String fileName, byte[] text)
          Формирование PKCS#7
Pkcs7Data(java.lang.String fileName, java.io.File textFileName)
          Формирование PKCS#7
Pkcs7Data(java.lang.String fileName, java.lang.String textString)
          Формирование PKCS#7
 
Method Summary
 byte[] getAttributeByOid(java.lang.String oid)
          Получение атрибута
 java.security.cert.X509Certificate getCertificateOfSigner()
          Извлечение из PKCS#7 сертификата подписавшего.
 java.security.cert.CertStore getCertStore()
          Получение хранилища сертификатов и СОС из PKCS#7
 byte[] getData()
          Получение данных, которые подписывались
 java.lang.String getEncryptionAlgOID()
          Return the object identifier for the signature
 byte[] getSignature()
          Получение подписи
 AttributeTable getSignedAttributes()
          Получение подписанных атрибутов
 byte[] getSignedAttributesInBytes()
          Получение подписанных атрибутов
 SignerInformation getSignerInformation()
          Получение информации о подписанте
private  int getType(java.lang.Object obj)
          Определение типа ASN объекта
private  void init()
          Инициализация
 void retrieveData()
          Извлечение данных, которые подписывались, из PKCS#7
 boolean verify()
          Проверка PKCS#7.
 boolean verify(java.security.cert.X509Certificate x509Certificate)
          Проверка PKCS#7.
private  boolean verifyHashes(java.lang.String signatureAlg, byte[] hash, byte[] hashFromPkcs)
          Сравнение хеш-значений
 boolean verifyOther()
          Deprecated. 
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pkcs7

private byte[] pkcs7

text

private byte[] text

file

private java.io.File file

DEFAULT_BUF_SIZE

private final int DEFAULT_BUF_SIZE
See Also:
Constant Field Values

info

private SignerInformation info

signedData

private CMSSignedData signedData

isExtractContent

private boolean isExtractContent

endiannessUtils

private EndiannessUtils endiannessUtils
Constructor Detail

Pkcs7Data

public Pkcs7Data(byte[] pkcs7,
                 byte[] text)
Формирование PKCS#7

Parameters:
pkcs7 - PKCS#7 в DER кодировке
text - Данные, которые подписывались

Pkcs7Data

public Pkcs7Data(byte[] pkcs7,
                 java.lang.String textString)
Формирование PKCS#7

Parameters:
pkcs7 - PKCS#7 в DER кодировке
textString - Данные, которые подписывались

Pkcs7Data

public Pkcs7Data(byte[] pkcs7)
Формирование PKCS#7

Parameters:
pkcs7 - PKCS#7 в DER кодировке

Pkcs7Data

public Pkcs7Data(java.lang.String fileName,
                 byte[] text)
Формирование PKCS#7

Parameters:
fileName - Путь к PKCS#7 в DER кодировке
text - Данные, которые подписывались

Pkcs7Data

public Pkcs7Data(java.lang.String fileName,
                 java.lang.String textString)
Формирование PKCS#7

Parameters:
fileName - Путь к PKCS#7 в DER кодировке
textString - Данные, которые подписывались

Pkcs7Data

public Pkcs7Data(java.lang.String fileName,
                 java.io.File textFileName)
Формирование PKCS#7

Parameters:
fileName - Путь к PKCS#7 в DER кодировке
textFileName - Путь к файлу с данными, которые подписывались

Pkcs7Data

public Pkcs7Data(byte[] pkcs7,
                 java.io.File file)
Формирование PKCS#7

Parameters:
pkcs7 - PKCS#7 в DER кодировке
file - Данные, которые подписывались
Method Detail

init

private void init()
Инициализация


getSignedAttributesInBytes

public byte[] getSignedAttributesInBytes()
Получение подписанных атрибутов

Returns:
Подписанные атрибуты

getSignedAttributes

public AttributeTable getSignedAttributes()
Получение подписанных атрибутов

Returns:
Подписанные атрибуты

getSignature

public byte[] getSignature()
Получение подписи

Returns:
Подпись

getEncryptionAlgOID

public java.lang.String getEncryptionAlgOID()
Return the object identifier for the signature

Returns:
Object identifier for the signature

getCertStore

public java.security.cert.CertStore getCertStore()
Получение хранилища сертификатов и СОС из PKCS#7

Returns:
Хранилище сертификатов и СОС из PKCS#7

getAttributeByOid

public byte[] getAttributeByOid(java.lang.String oid)
                         throws java.io.IOException
Получение атрибута

Parameters:
oid - OID атрибута. Для TSA: "1.2.840.113549.1.9.16.2.14".
Returns:
Атрибут
Throws:
java.io.IOException

getCertificateOfSigner

public java.security.cert.X509Certificate getCertificateOfSigner()
                                                          throws CMSException,
                                                                 java.security.NoSuchProviderException,
                                                                 java.security.NoSuchAlgorithmException,
                                                                 java.security.cert.CertStoreException
Извлечение из PKCS#7 сертификата подписавшего. Если найдено несколько сертификатов, то возвращается первый из них

Returns:
Сертификат подписавшего
Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
java.security.cert.CertStoreException
CMSException

verifyOther

@Deprecated
public boolean verifyOther()
Deprecated. 

Не используется

Returns:
Не используется

getType

private int getType(java.lang.Object obj)
Определение типа ASN объекта

Parameters:
obj - ASN объект
Returns:
Тип ASN объекта

retrieveData

public void retrieveData()
                  throws java.lang.Exception
Извлечение данных, которые подписывались, из PKCS#7

Throws:
java.lang.Exception

getData

public byte[] getData()
               throws java.lang.Exception
Получение данных, которые подписывались

Returns:
Данные, которые подписывались
Throws:
java.lang.Exception

verify

public boolean verify()
Проверка PKCS#7. Производится попытка использовать сертификат, содержащийся внутри PKCS#7

Returns:
true, если подпись верна, иначе false

verify

public boolean verify(java.security.cert.X509Certificate x509Certificate)
Проверка PKCS#7. Производится попытка использовать сертификат, переданный через параметр

Parameters:
x509Certificate - Сертификат, используемый при проверке. Если null, то производится попытка использовать сертификат, содержащийся внутри PKCS#7
Returns:
true, если подпись верна, иначе false

verifyHashes

private boolean verifyHashes(java.lang.String signatureAlg,
                             byte[] hash,
                             byte[] hashFromPkcs)
                      throws java.io.UnsupportedEncodingException,
                             java.security.NoSuchAlgorithmException
Сравнение хеш-значений

Parameters:
signatureAlg - Хеш-алгоритм для вычисления хеш-значения 1
hash - Хеш-значение 1, вычисленное на данные
hashFromPkcs - Хеш-значение 2, извлеченное из PKCS#7
Returns:
true, если хеш-значения равны, иначе false
Throws:
java.io.UnsupportedEncodingException
java.security.NoSuchAlgorithmException

getSignerInformation

public SignerInformation getSignerInformation()
Получение информации о подписанте

Returns:
информация о подписанте


Copyright © 2013 Gamma Technologies. All Rights Reserved.