kz.gamma.hardware.jce
Class CryptoObject

java.lang.Object
  extended by kz.gamma.hardware.jce.CryptoObject
Direct Known Subclasses:
PcscGammaObject

public abstract class CryptoObject
extends java.lang.Object

Author:
Sergey Moiseyev, Renat Karimov

Field Summary
static java.lang.String ALADDIN_JACARTA
           
protected  java.lang.String algName
           
private  int DEFAULT_BUF_SIZE
           
protected  java.lang.String devName
           
static java.lang.String GAMMA_JACARTA
           
static java.lang.String GAMMA_JAVA_TOKEN
           
static java.lang.String GOST
           
static java.lang.String JACARTA
           
static java.lang.String JACARTA_TOKEN
           
static java.lang.String KZ_TOKEN
           
static java.lang.String RSA
           
static java.lang.String RU_TOKEN
           
static java.lang.String SAFENET_TOKEN
           
private  SignatureVerifier signatureVerifier
           
 
Constructor Summary
CryptoObject()
           
 
Method Summary
abstract  void changePassword(java.lang.String oldPass, java.lang.String newPass)
           
abstract  boolean checkLicense()
           
abstract  boolean checkPassword(java.lang.String pass)
           
abstract  JCEKeyPair createKey(int algType, java.lang.String name, java.lang.String pass)
           
abstract  void deleteKey(java.lang.String name, java.lang.String pass)
           
 byte[] generatePKCS10(X509Name subject, JCEPrivateKey privateKey, JCEPublicKey publicKey, ASN1Set attributes)
           
 java.util.Map generateSignature(byte[] tbs, JCEPrivateKey privateKey, boolean invertRsaSignature)
           
 SubjectPublicKeyInfo generateSubjectPublicKeyInfo(JCEPrivateKey privateKey, JCEPublicKey publicKey)
           
 byte[] generateTimestampRequest(CMSProcessable content, java.lang.String reqPolicy)
           
 java.lang.String getAlgName()
           
 java.lang.String getDevName()
           
abstract  int getFreeMemorySize()
           
static CryptoObject getInstance(java.util.Map params)
          Получение объекта типа CryptoObject

static CryptoObject getInstance(java.lang.String alg)
          Метод получения экземпляра класса для работы с внешними устройствами
static CryptoObject getInstance(java.lang.String name, java.lang.String alg)
          Метод получения экземпляра класса для работы с внешними устройствами
abstract  java.util.Enumeration<JCEKeyPair> getKeyList(java.lang.String pass)
           
abstract  java.lang.String getSerialNumber()
           
abstract  void init(CryptoParam param)
           
abstract  byte[] makeDH(JCEPrivateKey privateKey, byte[] publicKey, byte[] ukm)
           
abstract  void setCertificate(byte[] cert, JCEPrivateKey privateKey)
           
abstract  byte[] signature(JCEPrivateKey privateKey, byte[] hash)
           
 boolean verify(byte[] publicKey, byte[] hash, byte[] sign)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

devName

protected java.lang.String devName

algName

protected java.lang.String algName

DEFAULT_BUF_SIZE

private final int DEFAULT_BUF_SIZE
See Also:
Constant Field Values

JACARTA

public static final java.lang.String JACARTA
See Also:
Constant Field Values

ALADDIN_JACARTA

public static final java.lang.String ALADDIN_JACARTA
See Also:
Constant Field Values

GAMMA_JACARTA

public static final java.lang.String GAMMA_JACARTA
See Also:
Constant Field Values

GAMMA_JAVA_TOKEN

public static final java.lang.String GAMMA_JAVA_TOKEN
See Also:
Constant Field Values

RU_TOKEN

public static final java.lang.String RU_TOKEN
See Also:
Constant Field Values

KZ_TOKEN

public static final java.lang.String KZ_TOKEN
See Also:
Constant Field Values

SAFENET_TOKEN

public static final java.lang.String SAFENET_TOKEN
See Also:
Constant Field Values

JACARTA_TOKEN

public static final java.lang.String JACARTA_TOKEN
See Also:
Constant Field Values

GOST

public static final java.lang.String GOST
See Also:
Constant Field Values

RSA

public static final java.lang.String RSA
See Also:
Constant Field Values

signatureVerifier

private SignatureVerifier signatureVerifier
Constructor Detail

CryptoObject

public CryptoObject()
Method Detail

getInstance

public static CryptoObject getInstance(java.util.Map params)
Получение объекта типа CryptoObject

Parameters:
params - Параметры. Ключи:
  • reader (Ридер. Тип String. Опциональный);
  • algorithm (Алгоритм. Тип String. Обязательный).
Ридер. Если передан null или пустая строка, то производится попытка получения первого доступного устройства c указанным алгоритмом. Приоритет поиска устройств для ГОСТ:
  • GammaJaCarta;
  • JavaToken;
  • AladdinJaCarta;
  • RuToken;
  • KzToken;
  • SafeNetToken;
  • JaCartaToken.
Приоритет поиска устройств для RSA:
  • JaCarta;
  • JavaToken;
  • RuToken;
  • KzToken.
Понижение приоритета идет от первого к последнему.

Алгоритм. Возможные варианты:

  • gost - CryptoObject.GOST;
  • rsa - CryptoObject.RSA.
Returns:
Объект типа CryptoObject

getInstance

public static CryptoObject getInstance(java.lang.String name,
                                       java.lang.String alg)
Метод получения экземпляра класса для работы с внешними устройствами

Parameters:
name - - имя внешнего устройства
alg - - алгоритм ключей
Returns:
экземпляр класса для работы с устройством.

getInstance

public static CryptoObject getInstance(java.lang.String alg)
Метод получения экземпляра класса для работы с внешними устройствами

Parameters:
alg - - алгоритм ключей
Returns:
экземпляр класса для работы с устройством.

generatePKCS10

public byte[] generatePKCS10(X509Name subject,
                             JCEPrivateKey privateKey,
                             JCEPublicKey publicKey,
                             ASN1Set attributes)
                      throws java.security.NoSuchAlgorithmException
Throws:
java.security.NoSuchAlgorithmException

generateSubjectPublicKeyInfo

public SubjectPublicKeyInfo generateSubjectPublicKeyInfo(JCEPrivateKey privateKey,
                                                         JCEPublicKey publicKey)

generateSignature

public java.util.Map generateSignature(byte[] tbs,
                                       JCEPrivateKey privateKey,
                                       boolean invertRsaSignature)
                                throws java.security.NoSuchAlgorithmException
Throws:
java.security.NoSuchAlgorithmException

generateTimestampRequest

public byte[] generateTimestampRequest(CMSProcessable content,
                                       java.lang.String reqPolicy)
                                throws java.io.IOException,
                                       java.security.NoSuchAlgorithmException
Throws:
java.io.IOException
java.security.NoSuchAlgorithmException

getDevName

public java.lang.String getDevName()

getAlgName

public java.lang.String getAlgName()

init

public abstract void init(CryptoParam param)

createKey

public abstract JCEKeyPair createKey(int algType,
                                     java.lang.String name,
                                     java.lang.String pass)

signature

public abstract byte[] signature(JCEPrivateKey privateKey,
                                 byte[] hash)

getKeyList

public abstract java.util.Enumeration<JCEKeyPair> getKeyList(java.lang.String pass)

setCertificate

public abstract void setCertificate(byte[] cert,
                                    JCEPrivateKey privateKey)

verify

public boolean verify(byte[] publicKey,
                      byte[] hash,
                      byte[] sign)

deleteKey

public abstract void deleteKey(java.lang.String name,
                               java.lang.String pass)

checkPassword

public abstract boolean checkPassword(java.lang.String pass)

changePassword

public abstract void changePassword(java.lang.String oldPass,
                                    java.lang.String newPass)

checkLicense

public abstract boolean checkLicense()

getFreeMemorySize

public abstract int getFreeMemorySize()

getSerialNumber

public abstract java.lang.String getSerialNumber()

makeDH

public abstract byte[] makeDH(JCEPrivateKey privateKey,
                              byte[] publicKey,
                              byte[] ukm)


Copyright © 2013 Gamma Technologies. All Rights Reserved.