tr.gov.tubitak.uekae.esya.api.smartcard.pkcs11
Class SmartCard

java.lang.Object
  extended by tr.gov.tubitak.uekae.esya.api.smartcard.pkcs11.SmartCard

public class SmartCard
extends java.lang.Object


Field Summary
static java.util.HashMap<CardType,tr.gov.tubitak.uekae.esya.api.smartcard.pkcs11.card.template.IKartTemplate> msCardInfoMap
           
 
Constructor Summary
SmartCard(CardType aCardType)
           
 
Method Summary
 void changePassword(java.lang.String aOldPass, java.lang.String aNewPass, long aSessionID)
           
 void changeUserPin(byte[] aSOPin, byte[] aUserPin, long aSessionHandle)
           
 void closeSession(long aSessionID)
           
 void createRSAKeyPair(long aSessionID, java.lang.String aKeyLabel, int aModulusBits, boolean aIsSign, boolean aIsEncrypt)
           
 byte[] decryptData(long aSessionID, java.lang.String aKeyLabel, byte[] aData, long aMechanism)
           
 byte[] decryptDataWithCertSerialNo(long aSessionID, byte[] aSerialNumber, long aMechanism, byte[] aData)
           
 void deletePrivateData(long aSessionID, java.lang.String aLabel)
           
 void deletePrivateObject(long aSessionID, java.lang.String aLabel)
           
 void deletePublicData(long aSessionID, java.lang.String aLabel)
           
 void deletePublicObject(long aSessionID, java.lang.String aLabel)
           
 byte[] encryptData(long aSessionID, java.lang.String aKeyLabel, byte[] aData, long aMechanism)
           
static CardType findCardType(java.lang.String aATRHex)
           
 void formatToken(java.lang.String aSOpin, java.lang.String aNewPIN, java.lang.String aLabel, int slotID)
           
 java.util.List<byte[]> getEncryptionCertificates(long aSessionID)
           
 java.lang.String[] getEncryptionKeyLabels(long aSessionID)
           
 CardType getKartTipi()
           
 long[] getMechanismList(long aSlotID)
           
 byte[] getRandomData(long aSessionID, int aDataLength)
           
 sun.security.pkcs11.wrapper.CK_SESSION_INFO getSessionInfo(long aSessionID)
           
 java.util.List<byte[]> getSignatureCertificates(long aSessionID)
           
 java.lang.String[] getSignatureKeyLabels(long aSessionID)
           
 sun.security.pkcs11.wrapper.CK_SLOT_INFO getSlotInfo(long aSlotID)
           
 long[] getSlotList()
           
 sun.security.pkcs11.wrapper.CK_TOKEN_INFO getTokenInfo(long aSlotID)
           
 long[] getTokenPresentSlotList()
           
 byte[] getTokenSerialNo(long aSlotID)
           
 void importCertificate(long aSessionID, java.lang.String aCertLabel, java.security.cert.X509Certificate aSertifika)
           
 void importCertificateAndKey(long aSessionID, java.lang.String aCertLabel, java.lang.String aKeyLabel, java.security.PrivateKey aPrivKey, java.security.cert.X509Certificate aCert)
           
 boolean importCertificateAndKeyWithCSP(byte[] aAnahtarCifti, int aAnahtarLen, java.lang.String aScfname, java.lang.String aContextName, byte[] aPbCertificate, int aSignOrEnc)
           
 boolean importCertificateAndKeyWithCSP(byte[] aAnahtarCifti, int aAnahtarLen, java.lang.String aScfname, java.lang.String aContextName, java.security.cert.X509Certificate aPbCertificate, int aSignOrEnc)
           
 void importRSAKeyPair(long aSessionID, java.lang.String aLabel, java.security.interfaces.RSAPrivateCrtKey aPrivKey, byte[] aSubject, boolean aIsSign, boolean aIsEncrypt)
           
 boolean isAnyObjectExist(long aSessionID)
           
 boolean isCertificateExist(long aSessionID, java.lang.String aLabel)
           
 boolean isObjectExist(long aSessionID, java.lang.String aLabel)
           
 boolean isPrivateKeyExist(long aSessionID, java.lang.String aLabel)
           
 boolean isPublicKeyExist(long aSessionID, java.lang.String aLabel)
           
 boolean isTokenPresent(long aSlotID)
           
 void login(long aSessionID, java.lang.String aCardPIN)
           
 void logout(long aSessionID)
           
 long openSession(long aSlotID)
           
 byte[] readCertificate(long aSessionID, byte[] aCertSerialNo)
           
 java.util.List<byte[]> readCertificate(long aSessionID, java.lang.String aLabel)
           
 java.util.List<byte[]> readPrivateData(long aSessionID, java.lang.String aLabel)
           
 java.util.List<byte[]> readPublicData(long aSessionID, java.lang.String aLabel)
           
 java.lang.Object[] readRSAPublicKey(long aSessionID, java.lang.String aLabel)
           
 boolean setContainer(byte[] aContainerLabel, long aSessionHandle)
           
 void setSOPin(byte[] aSOPin, byte[] aNewSOPin, long aSessionHandle)
           
 byte[] signData(long aSessionID, java.lang.String aKeyLabel, byte[] aImzalanacak, long aMechanism)
           
 byte[] signDataWithCertSerialNo(long aSessionID, byte[] aSerialNumber, long aMechanism, byte[] aImzalanacak)
           
 void updatePrivateData(long aSessionID, java.lang.String aLabel, byte[] aValue)
           
 void updatePublicData(long aSessionID, java.lang.String aLabel, byte[] aValue)
           
 void verifyData(long aSessionID, java.lang.String aKeyLabel, byte[] aData, byte[] aImza, long aMechanism)
           
 void writePrivateData(long aSessionID, java.lang.String aLabel, byte[] aData)
           
 void writePublicData(long aSessionID, java.lang.String aLabel, byte[] aData)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

msCardInfoMap

public static java.util.HashMap<CardType,tr.gov.tubitak.uekae.esya.api.smartcard.pkcs11.card.template.IKartTemplate> msCardInfoMap
Constructor Detail

SmartCard

public SmartCard(CardType aCardType)
          throws sun.security.pkcs11.wrapper.PKCS11Exception,
                 java.io.IOException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException
Method Detail

getTokenPresentSlotList

public long[] getTokenPresentSlotList()
                               throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

getSlotList

public long[] getSlotList()
                   throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

getSlotInfo

public sun.security.pkcs11.wrapper.CK_SLOT_INFO getSlotInfo(long aSlotID)
                                                     throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

getSessionInfo

public sun.security.pkcs11.wrapper.CK_SESSION_INFO getSessionInfo(long aSessionID)
                                                           throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

isTokenPresent

public boolean isTokenPresent(long aSlotID)
                       throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

getTokenInfo

public sun.security.pkcs11.wrapper.CK_TOKEN_INFO getTokenInfo(long aSlotID)
                                                       throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

getMechanismList

public long[] getMechanismList(long aSlotID)
                        throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

openSession

public long openSession(long aSlotID)
                 throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

closeSession

public void closeSession(long aSessionID)
                  throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

login

public void login(long aSessionID,
                  java.lang.String aCardPIN)
           throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

logout

public void logout(long aSessionID)
            throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

isAnyObjectExist

public boolean isAnyObjectExist(long aSessionID)
                         throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

importCertificate

public void importCertificate(long aSessionID,
                              java.lang.String aCertLabel,
                              java.security.cert.X509Certificate aSertifika)
                       throws java.io.IOException,
                              sun.security.pkcs11.wrapper.PKCS11Exception,
                              SmartCardException
Throws:
java.io.IOException
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

createRSAKeyPair

public void createRSAKeyPair(long aSessionID,
                             java.lang.String aKeyLabel,
                             int aModulusBits,
                             boolean aIsSign,
                             boolean aIsEncrypt)
                      throws sun.security.pkcs11.wrapper.PKCS11Exception,
                             SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

signDataWithCertSerialNo

public byte[] signDataWithCertSerialNo(long aSessionID,
                                       byte[] aSerialNumber,
                                       long aMechanism,
                                       byte[] aImzalanacak)
                                throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                       SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

decryptDataWithCertSerialNo

public byte[] decryptDataWithCertSerialNo(long aSessionID,
                                          byte[] aSerialNumber,
                                          long aMechanism,
                                          byte[] aData)
                                   throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                          SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

getSignatureCertificates

public java.util.List<byte[]> getSignatureCertificates(long aSessionID)
                                                throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                                       SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

getEncryptionCertificates

public java.util.List<byte[]> getEncryptionCertificates(long aSessionID)
                                                 throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                                        SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

getSignatureKeyLabels

public java.lang.String[] getSignatureKeyLabels(long aSessionID)
                                         throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                                SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

getEncryptionKeyLabels

public java.lang.String[] getEncryptionKeyLabels(long aSessionID)
                                          throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                                 SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

isObjectExist

public boolean isObjectExist(long aSessionID,
                             java.lang.String aLabel)
                      throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

writePrivateData

public void writePrivateData(long aSessionID,
                             java.lang.String aLabel,
                             byte[] aData)
                      throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

writePublicData

public void writePublicData(long aSessionID,
                            java.lang.String aLabel,
                            byte[] aData)
                     throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

readPrivateData

public java.util.List<byte[]> readPrivateData(long aSessionID,
                                              java.lang.String aLabel)
                                       throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                              SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

readPublicData

public java.util.List<byte[]> readPublicData(long aSessionID,
                                             java.lang.String aLabel)
                                      throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                             SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

isPublicKeyExist

public boolean isPublicKeyExist(long aSessionID,
                                java.lang.String aLabel)
                         throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

isPrivateKeyExist

public boolean isPrivateKeyExist(long aSessionID,
                                 java.lang.String aLabel)
                          throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

isCertificateExist

public boolean isCertificateExist(long aSessionID,
                                  java.lang.String aLabel)
                           throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

readCertificate

public java.util.List<byte[]> readCertificate(long aSessionID,
                                              java.lang.String aLabel)
                                       throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                              SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

readCertificate

public byte[] readCertificate(long aSessionID,
                              byte[] aCertSerialNo)
                       throws sun.security.pkcs11.wrapper.PKCS11Exception,
                              SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

readRSAPublicKey

public java.lang.Object[] readRSAPublicKey(long aSessionID,
                                           java.lang.String aLabel)
                                    throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                           SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

updatePrivateData

public void updatePrivateData(long aSessionID,
                              java.lang.String aLabel,
                              byte[] aValue)
                       throws sun.security.pkcs11.wrapper.PKCS11Exception,
                              SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

updatePublicData

public void updatePublicData(long aSessionID,
                             java.lang.String aLabel,
                             byte[] aValue)
                      throws sun.security.pkcs11.wrapper.PKCS11Exception,
                             SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

deletePrivateObject

public void deletePrivateObject(long aSessionID,
                                java.lang.String aLabel)
                         throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

deletePublicObject

public void deletePublicObject(long aSessionID,
                               java.lang.String aLabel)
                        throws sun.security.pkcs11.wrapper.PKCS11Exception,
                               SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

deletePrivateData

public void deletePrivateData(long aSessionID,
                              java.lang.String aLabel)
                       throws sun.security.pkcs11.wrapper.PKCS11Exception,
                              SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

deletePublicData

public void deletePublicData(long aSessionID,
                             java.lang.String aLabel)
                      throws sun.security.pkcs11.wrapper.PKCS11Exception,
                             SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

getRandomData

public byte[] getRandomData(long aSessionID,
                            int aDataLength)
                     throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

getTokenSerialNo

public byte[] getTokenSerialNo(long aSlotID)
                        throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

signData

public byte[] signData(long aSessionID,
                       java.lang.String aKeyLabel,
                       byte[] aImzalanacak,
                       long aMechanism)
                throws sun.security.pkcs11.wrapper.PKCS11Exception,
                       SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

verifyData

public void verifyData(long aSessionID,
                       java.lang.String aKeyLabel,
                       byte[] aData,
                       byte[] aImza,
                       long aMechanism)
                throws sun.security.pkcs11.wrapper.PKCS11Exception,
                       SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

encryptData

public byte[] encryptData(long aSessionID,
                          java.lang.String aKeyLabel,
                          byte[] aData,
                          long aMechanism)
                   throws sun.security.pkcs11.wrapper.PKCS11Exception,
                          SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

decryptData

public byte[] decryptData(long aSessionID,
                          java.lang.String aKeyLabel,
                          byte[] aData,
                          long aMechanism)
                   throws sun.security.pkcs11.wrapper.PKCS11Exception,
                          SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

importCertificateAndKey

public void importCertificateAndKey(long aSessionID,
                                    java.lang.String aCertLabel,
                                    java.lang.String aKeyLabel,
                                    java.security.PrivateKey aPrivKey,
                                    java.security.cert.X509Certificate aCert)
                             throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                    SmartCardException,
                                    java.io.IOException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException
java.io.IOException

importRSAKeyPair

public void importRSAKeyPair(long aSessionID,
                             java.lang.String aLabel,
                             java.security.interfaces.RSAPrivateCrtKey aPrivKey,
                             byte[] aSubject,
                             boolean aIsSign,
                             boolean aIsEncrypt)
                      throws sun.security.pkcs11.wrapper.PKCS11Exception,
                             SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

changePassword

public void changePassword(java.lang.String aOldPass,
                           java.lang.String aNewPass,
                           long aSessionID)
                    throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

formatToken

public void formatToken(java.lang.String aSOpin,
                        java.lang.String aNewPIN,
                        java.lang.String aLabel,
                        int slotID)
                 throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

setSOPin

public void setSOPin(byte[] aSOPin,
                     byte[] aNewSOPin,
                     long aSessionHandle)
              throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

changeUserPin

public void changeUserPin(byte[] aSOPin,
                          byte[] aUserPin,
                          long aSessionHandle)
                   throws sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception

setContainer

public boolean setContainer(byte[] aContainerLabel,
                            long aSessionHandle)

importCertificateAndKeyWithCSP

public boolean importCertificateAndKeyWithCSP(byte[] aAnahtarCifti,
                                              int aAnahtarLen,
                                              java.lang.String aScfname,
                                              java.lang.String aContextName,
                                              java.security.cert.X509Certificate aPbCertificate,
                                              int aSignOrEnc)

importCertificateAndKeyWithCSP

public boolean importCertificateAndKeyWithCSP(byte[] aAnahtarCifti,
                                              int aAnahtarLen,
                                              java.lang.String aScfname,
                                              java.lang.String aContextName,
                                              byte[] aPbCertificate,
                                              int aSignOrEnc)

findCardType

public static CardType findCardType(java.lang.String aATRHex)

getKartTipi

public CardType getKartTipi()