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

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

public class SmartOp
extends java.lang.Object


Constructor Summary
SmartOp(long aSlotID, CardType aCardType, java.lang.String aPassword)
           
 
Method Summary
 void changePassword(java.lang.String aOldPass, java.lang.String aNewPass)
           
 void changePuk(byte[] aSOPin, byte[] aNewSOPin)
           
 byte[] decrypt(byte[] aCertSerialNo, byte[] aCozulecek)
          Sertifika seri nosu verilen sertifikayi kullanarak ayni ID ye sahip private key i bulur, sifrelenmis veriyi cozer.
static byte[] decrypt(SmartCard aSC, long aSessionID, byte[] aCertSerialNo, byte[] aCozulecek)
           
static byte[] decrypt(SmartCard aSC, long aSessionID, java.lang.String aAnahtarAdi, byte[] aCozulecek)
           
 byte[] decrypt(java.lang.String aAnahtarAdi, byte[] aCozulecek)
          Labeli verilen ozel anahtari kullanarak, sifrelenmis veriyi cozer.
 void deletePrivateData(java.lang.String aLabel)
          Labeli verilen CKO_DATA,CKO_PRIVATEKEY,CKO_PUBLICKEY yada CKO_CERTIFICATE tipinde olan nesneyi kartin ozel alanindan siler.
 void deletePublicData(java.lang.String aLabel)
          Labeli verilen CKO_DATA,CKO_PRIVATEKEY,CKO_PUBLICKEY yada CKO_CERTIFICATE tipinde olan nesneyi kartin acik alanindan siler.
static byte[] encrypt(SmartCard aSC, long aSessionID, java.lang.String aAnahtarAdi, byte[] aSifrelenecek)
           
 byte[] encrypt(java.lang.String aAnahtarAdi, byte[] aSifrelenecek)
          Labeli verilen acik anahtari kullanarak, verilen veriyi sifreler.
static tr.gov.tubitak.uekae.esya.api.common.util.bag.Pair<java.lang.Long,CardType> findCardTypeAndSlot()
          Finds cardtype and slot number.
static java.util.List<tr.gov.tubitak.uekae.esya.api.common.util.bag.Pair<java.lang.Long,CardType>> findCardTypesAndSlots()
          Finds cardtype and slot number of connected cards.
static long findSlotNumber(CardType aCardType)
          CardType verilen kartin takili oldugu slot numarasini bulur.Verilen kart tipinden birden fazla kart takili ise kullaniciya secim yaptirilir.
 void formatToken(java.lang.String aSOpin, java.lang.String aNewPIN, java.lang.String aLabel)
           
 void generateKeyPair(java.lang.String aKeyLabel, java.lang.String aAlg, int aLength, boolean aIsSign, boolean aIsEncrypt)
          Kartta bir anahtar cifti uretir.
 java.lang.String getCardSerialNumber()
          Kartin seri numarasini doner.
static java.lang.String[] getCardTerminals()
          Gets list of terminals.
 CardType getCardType()
           
 java.util.List<byte[]> getEncryptCertificates()
          Kartta bulunan sifreleme sertifikalarini(keyEncipherment yada dataEncipherment biti set edilmis) listeler.
 java.lang.String getPassword()
           
 java.security.PublicKey getPublicKey(java.lang.String aKeyLabel, java.lang.String aAlg)
          Karttan acik anahtar okunur.
 java.util.List<byte[]> getSignCertificates()
          Kartta bulunan imzalama sertifikalarini (digitalSignature biti set edilmis) listeler.
 long getSlot()
           
static tr.gov.tubitak.uekae.esya.api.common.util.bag.Pair<java.lang.Long,CardType> getSlotAndCardType(java.lang.String terminal)
          Gets slot and card type of requested terminal.
 void importCertificate(java.lang.String aCertLabel, java.security.cert.X509Certificate aCert)
          Verilen sertifikayi karta import eder.
 void importCertificateAndKey(java.lang.String aCertLabel, java.lang.String aKeyLabel, java.security.interfaces.RSAPrivateCrtKey aPrivKey, java.security.cert.X509Certificate aCert)
          Verilen sertifika,ozel anahtar ve ozel anahtardan olusturulan acik anahtari karta yazar.
 boolean importCertificateAndKeyWithCSP(byte[] aAnahtarCifti, int aAnahtarLen, java.lang.String aScfname, java.lang.String aContextName, byte[] aPbCertData, int aSignOrEnc)
           
 void importRSAKeyPair(java.lang.String aLabel, java.security.interfaces.RSAPrivateCrtKey aPrivKey, byte[] aSubject, boolean aIsSign, boolean aIsEncrypt)
          Verilen ozel anahtari ve bu ozel anahtardan olusturulan acik anahtari karta import eder.
 boolean isCardEmpty()
           
 boolean isObjectExist(java.lang.String aLabel, boolean aIsPrivate)
          Kartta verilen label a sahip,CKO_DATA,CKO_PRIVATEKEY,CKO_PUBLICKEY yada CKO_CERTIFICATE tipinde nesne olup olmadigina bakar.
 java.util.List<byte[]> readCertificate(java.lang.String aLabel)
          Verilen label degerine sahip sertifika karttan okunur.
 java.util.List<byte[]> readPrivateData(java.lang.String aLabel)
          Labeli verilen CKO_DATA tipindeki nesneyi kartin ozel alanindan okur.
 java.util.List<byte[]> readPublicData(java.lang.String aLabel)
          Labeli verilen CKO_DATA tipindeki nesneyi kartin acik alanindan okur.
 byte[] sign(byte[] aCertSerialNo, byte[] aImzalanacak, java.lang.String aImzAlg, java.lang.String aImzOzet)
          Seri numarasi verilen sertifikayi kartta bulur.
static byte[] sign(SmartCard aSC, long aSessionID, long aSlotID, byte[] aCertSerialNo, byte[] aImzalanacak, java.lang.String aImzAlg, java.lang.String aImzOzet)
           
static byte[] sign(SmartCard aSC, long aSessionID, long aSlotID, java.lang.String aAnahtarAdi, byte[] aImzalanacak, java.lang.String aImzAlg, java.lang.String aImzOzet)
           
 byte[] sign(java.lang.String aAnahtarAdi, byte[] aImzalanacak, java.lang.String aImzAlg, java.lang.String aImzOzet)
          Labeli verilen ozel anahtari bularak veriyi imzalar.
 boolean verify(java.lang.String aAnahtarAdi, byte[] aImzalanan, byte[] aDogrulanacak, java.lang.String aImzAlg, java.lang.String aImzOzet)
          Labeli verilen acik anahtari bularak imza dogrulama islemini gerceklestirir.
 void writePrivateData(java.lang.String aLabel, byte[] aData)
          Verilen veriyi,verilen label ile CKO_DATA tipinde kartin ozel alanina yazar.
 void writePublicData(java.lang.String aLabel, byte[] aData)
          Verilen veriyi,verilen label ile CKO_DATA tipinde kartin acik alanina yazar.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SmartOp

public SmartOp(long aSlotID,
               CardType aCardType,
               java.lang.String aPassword)
Method Detail

getCardSerialNumber

public java.lang.String getCardSerialNumber()
                                     throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                            java.io.IOException
Kartin seri numarasini doner.

Returns:
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException

importCertificateAndKey

public void importCertificateAndKey(java.lang.String aCertLabel,
                                    java.lang.String aKeyLabel,
                                    java.security.interfaces.RSAPrivateCrtKey aPrivKey,
                                    java.security.cert.X509Certificate aCert)
                             throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                    java.io.IOException,
                                    SmartCardException
Verilen sertifika,ozel anahtar ve ozel anahtardan olusturulan acik anahtari karta yazar. Method icinde karta login islemi gerceklestiginden constructor da kart parolasi verilmelidir.

Parameters:
aCertLabel - Karta sertifika ve anahtarlarin import edilecegi labeldir.
aPrivKey - Karta import edilecek ozel anahtardir. Acik anahtar da,ozel anahtardan olusturulur.
aCert - Karta import edilecek sertifikadir.
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException
SmartCardException
PKCS11Exception,IOException,SmartCardException

importCertificateAndKeyWithCSP

public boolean importCertificateAndKeyWithCSP(byte[] aAnahtarCifti,
                                              int aAnahtarLen,
                                              java.lang.String aScfname,
                                              java.lang.String aContextName,
                                              byte[] aPbCertData,
                                              int aSignOrEnc)
                                       throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                              java.io.IOException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException

importRSAKeyPair

public void importRSAKeyPair(java.lang.String aLabel,
                             java.security.interfaces.RSAPrivateCrtKey aPrivKey,
                             byte[] aSubject,
                             boolean aIsSign,
                             boolean aIsEncrypt)
                      throws sun.security.pkcs11.wrapper.PKCS11Exception,
                             java.io.IOException,
                             SmartCardException
Verilen ozel anahtari ve bu ozel anahtardan olusturulan acik anahtari karta import eder. Method icinde karta login islemi gerceklestiginden constructor da kart parolasi verilmelidir.

Parameters:
aLabel - Karta anahtarlarin hangi label ile import edilecegidir.
aPrivKey - Karta import edilecek ozel anahtardir. Acik anahtar da, bu ozel anahtardan olusturulur.
aSubject - Ozel anahtarin subject alanina set edilecek degerdir.
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException
PKCS11Exception,IOException,SmartCardException
SmartCardException

readCertificate

public java.util.List<byte[]> readCertificate(java.lang.String aLabel)
                                       throws java.io.IOException,
                                              sun.security.pkcs11.wrapper.PKCS11Exception,
                                              SmartCardException
Verilen label degerine sahip sertifika karttan okunur.

Parameters:
aLabel - Karttan okunacak sertifikanin labelidir.Kartta bu isimli CKO_CERTIFICATE tipinde nesne bulunamazsa KriptoException atar.
Returns:
Throws:
java.io.IOException
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

getSignCertificates

public java.util.List<byte[]> getSignCertificates()
                                           throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                                  java.io.IOException,
                                                  SmartCardException
Kartta bulunan imzalama sertifikalarini (digitalSignature biti set edilmis) listeler.

Returns:
Throws:
PKCS11Exception,IOException,SmartCardException
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException
SmartCardException

getEncryptCertificates

public java.util.List<byte[]> getEncryptCertificates()
                                              throws java.io.IOException,
                                                     sun.security.pkcs11.wrapper.PKCS11Exception,
                                                     SmartCardException
Kartta bulunan sifreleme sertifikalarini(keyEncipherment yada dataEncipherment biti set edilmis) listeler.

Returns:
Throws:
java.io.IOException
sun.security.pkcs11.wrapper.PKCS11Exception
IOException,PKCS11Exception,SmartCardException
SmartCardException

importCertificate

public void importCertificate(java.lang.String aCertLabel,
                              java.security.cert.X509Certificate aCert)
                       throws java.io.IOException,
                              sun.security.pkcs11.wrapper.PKCS11Exception,
                              SmartCardException
Verilen sertifikayi karta import eder. Bazi card bu islem icin login gerektirdiginden,CKR_USER_NOT_LOGGED_IN istisnasi atilmasi durumunda method icinde login islemi gerceklesir.

Parameters:
aCertLabel - Karta sertifikanin hangi label ile import edilecegini belirtir.
aCert - Karta import edilecek sertifika degeridir.
Throws:
java.io.IOException
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException
IOException,PKCS11Exception,SmartCardException

readPrivateData

public java.util.List<byte[]> readPrivateData(java.lang.String aLabel)
                                       throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                              java.io.IOException,
                                              SmartCardException
Labeli verilen CKO_DATA tipindeki nesneyi kartin ozel alanindan okur. Method icinde karta login islemi gerceklesir.

Parameters:
aLabel - Karttan okunacak nesnenin ismidir. Kartin ozel alaninda bu isimde nesne bulunmamasi durumunda KriptoException atilir. Kartta bu isimde birden fazla nesne varsa, bulunan ilk nesne dondurulur. CKO_DATA tipindeki nesneleri okur.
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException
SmartCardException

readPublicData

public java.util.List<byte[]> readPublicData(java.lang.String aLabel)
                                      throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                             java.io.IOException,
                                             SmartCardException
Labeli verilen CKO_DATA tipindeki nesneyi kartin acik alanindan okur.

Parameters:
aLabel - Karttan okunacak nesnenin ismidir. Kartin acik alaninda bu isimde nesne bulunmamasi durumunda KriptoException atilir. Kartta bu isimde birden fazla nesne varsa, bulunan ilk nesne dondurulur.CKO_DATA tipindeki nesneleri okur.
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException
SmartCardException

writePrivateData

public void writePrivateData(java.lang.String aLabel,
                             byte[] aData)
                      throws sun.security.pkcs11.wrapper.PKCS11Exception,
                             java.io.IOException
Verilen veriyi,verilen label ile CKO_DATA tipinde kartin ozel alanina yazar. Method icinde karta login islemi gerceklesir.

Parameters:
aLabel - Karta verinin hangi label ile yazilacagini belirtir.
aData - Karta yazilacak veridir.
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException

writePublicData

public void writePublicData(java.lang.String aLabel,
                            byte[] aData)
                     throws sun.security.pkcs11.wrapper.PKCS11Exception,
                            java.io.IOException
Verilen veriyi,verilen label ile CKO_DATA tipinde kartin acik alanina yazar. Method icinde bazi card icin login islemi gerceklesir(CKR_USER_NOT_LOGGED_IN istisnasi atilirsa).

Parameters:
aLabel - Karta verinin hangi label ile yazilacagini belirtir.
aData - Karta yazilacak veridir.
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException

deletePrivateData

public void deletePrivateData(java.lang.String aLabel)
                       throws java.io.IOException,
                              sun.security.pkcs11.wrapper.PKCS11Exception,
                              SmartCardException
Labeli verilen CKO_DATA,CKO_PRIVATEKEY,CKO_PUBLICKEY yada CKO_CERTIFICATE tipinde olan nesneyi kartin ozel alanindan siler. Method icinde login islemi gerceklesir.

Parameters:
aLabel - Karttan silinecek nesnenin ismidir. Kartta bu isimde birden fazla nesne olmasi durumunda,hepsi silinir. Kartta bu isimde bir nesne yoksa,KriptoException atilir.
Throws:
java.io.IOException
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

deletePublicData

public void deletePublicData(java.lang.String aLabel)
                      throws java.io.IOException,
                             sun.security.pkcs11.wrapper.PKCS11Exception,
                             SmartCardException
Labeli verilen CKO_DATA,CKO_PRIVATEKEY,CKO_PUBLICKEY yada CKO_CERTIFICATE tipinde olan nesneyi kartin acik alanindan siler. Method icinde bazi kart tipleri icin login islemi gerceklesir( CKR_USER_NOT_LOGGED_IN istisnasi atilirsa).

Parameters:
aLabel - Kartin acik alanindan silinecek nesnenin ismidir. Kartta bu isimde birden fazla nesne olmasi durumunda,hepsi silinir. Kartta bu isimde bir nesne yoksa,KriptoException atilir.
Throws:
java.io.IOException
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

isObjectExist

public boolean isObjectExist(java.lang.String aLabel,
                             boolean aIsPrivate)
                      throws java.io.IOException,
                             sun.security.pkcs11.wrapper.PKCS11Exception
Kartta verilen label a sahip,CKO_DATA,CKO_PRIVATEKEY,CKO_PUBLICKEY yada CKO_CERTIFICATE tipinde nesne olup olmadigina bakar.

Parameters:
aLabel - Kartta aranacak nesnenin labelidir.
aIsPrivate - Kartta aramanin ozel yada acik alanda yapilmasini belirler. Arama ozel alanda ise method icinde karta login islemi gerceklesir.
Returns:
Throws:
java.io.IOException
sun.security.pkcs11.wrapper.PKCS11Exception

isCardEmpty

public boolean isCardEmpty()
                    throws sun.security.pkcs11.wrapper.PKCS11Exception,
                           java.io.IOException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException

generateKeyPair

public void generateKeyPair(java.lang.String aKeyLabel,
                            java.lang.String aAlg,
                            int aLength,
                            boolean aIsSign,
                            boolean aIsEncrypt)
                     throws sun.security.pkcs11.wrapper.PKCS11Exception,
                            java.io.IOException,
                            SmartCardException
Kartta bir anahtar cifti uretir. Uretilecek anahtarin ozellikleri verilen parametrelerle belirlenir.

Parameters:
aKeyLabel - Kartta uretilecek anahtarlara verilecek olan labeldir. Anahtarla ilgili islemlerde anahtara bu isimle ulasilabilir.
aAlg - Uretilecek anahtarin kullanilicagi algoritma tipidir.
aLength - Uretilecek anahtarin uzunlugudur.
aIsSign - Uretilecek ozel anahtarin imzalama icin kullanim durumunu belirler.
aIsEncrypt - Uretilecek acik anahtarin sifreleme icin kullanim durumunu belirler.
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException
SmartCardException

getPublicKey

public java.security.PublicKey getPublicKey(java.lang.String aKeyLabel,
                                            java.lang.String aAlg)
                                     throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                            java.io.IOException,
                                            SmartCardException
Karttan acik anahtar okunur.

Parameters:
aKeyLabel - Karttan okunacak acik anahtarin label degeridir.
aAlg - Karttan okunacak acik anahtarin hangi algoritma icin kullanildigidir.
Returns:
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException
SmartCardException

sign

public byte[] sign(byte[] aCertSerialNo,
                   byte[] aImzalanacak,
                   java.lang.String aImzAlg,
                   java.lang.String aImzOzet)
            throws sun.security.pkcs11.wrapper.PKCS11Exception,
                   java.io.IOException,
                   SmartCardException
Seri numarasi verilen sertifikayi kartta bulur. Bulunan sertifika ile ayni ID ye sahip ozel anahtari kartta bularak, veriyi imzalar.

Parameters:
aCertSerialNo - Imzalama icin kullanilacak ozel anahtarin bagli oldugu sertifikanin seri numarasidir.
aImzalanacak - Imzalanacak veridir.
aImzAlg - Imzalamada kullanilacak imzalama algoritmasidir.
aImzOzet - Imzalamada kullanilacak ozet algoritmasidir.
Returns:
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException
SmartCardException

sign

public static byte[] sign(SmartCard aSC,
                          long aSessionID,
                          long aSlotID,
                          byte[] aCertSerialNo,
                          byte[] aImzalanacak,
                          java.lang.String aImzAlg,
                          java.lang.String aImzOzet)
                   throws sun.security.pkcs11.wrapper.PKCS11Exception,
                          SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

sign

public byte[] sign(java.lang.String aAnahtarAdi,
                   byte[] aImzalanacak,
                   java.lang.String aImzAlg,
                   java.lang.String aImzOzet)
            throws java.io.IOException,
                   sun.security.pkcs11.wrapper.PKCS11Exception,
                   SmartCardException
Labeli verilen ozel anahtari bularak veriyi imzalar.

Parameters:
aAnahtarAdi - Imzalama icin kullanilacak ozel anahtarin labelidir.
aImzalanacak - Imzalanacak veridir.
aImzAlg - Imzalamada kullanilacak imzalama algoritmasidir.
aImzOzet - Imzalamada kullanilacak ozet algoritmasidir.
Returns:
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException
SmartCardException

sign

public static byte[] sign(SmartCard aSC,
                          long aSessionID,
                          long aSlotID,
                          java.lang.String aAnahtarAdi,
                          byte[] aImzalanacak,
                          java.lang.String aImzAlg,
                          java.lang.String aImzOzet)
                   throws sun.security.pkcs11.wrapper.PKCS11Exception,
                          SmartCardException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

verify

public boolean verify(java.lang.String aAnahtarAdi,
                      byte[] aImzalanan,
                      byte[] aDogrulanacak,
                      java.lang.String aImzAlg,
                      java.lang.String aImzOzet)
               throws java.io.IOException,
                      sun.security.pkcs11.wrapper.PKCS11Exception,
                      SmartCardException
Labeli verilen acik anahtari bularak imza dogrulama islemini gerceklestirir.

Parameters:
aAnahtarAdi - Dogrulama icin kullanilacak acik anahtarin labelidir.
aImzalanan - Imzalanan veridir.
aDogrulanacak - Imzalama sonucu ortaya cikmis veridir.
aImzAlg - Imzalamada kullanilmis imzalama algoritmasidir.
aImzOzet - Imzalamada kullanilmis ozet algoritmasidir.
Returns:
Throws:
java.io.IOException
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

encrypt

public byte[] encrypt(java.lang.String aAnahtarAdi,
                      byte[] aSifrelenecek)
               throws java.io.IOException,
                      sun.security.pkcs11.wrapper.PKCS11Exception,
                      SmartCardException
Labeli verilen acik anahtari kullanarak, verilen veriyi sifreler.

Parameters:
aAnahtarAdi - Sifreleme yapilacak acik anahtarin labelidir.
aSifrelenecek - Sifrelenecek veridir.
Returns:
Throws:
java.io.IOException
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

encrypt

public static byte[] encrypt(SmartCard aSC,
                             long aSessionID,
                             java.lang.String aAnahtarAdi,
                             byte[] aSifrelenecek)
                      throws java.io.IOException,
                             sun.security.pkcs11.wrapper.PKCS11Exception,
                             SmartCardException
Throws:
java.io.IOException
sun.security.pkcs11.wrapper.PKCS11Exception
SmartCardException

decrypt

public byte[] decrypt(java.lang.String aAnahtarAdi,
                      byte[] aCozulecek)
               throws sun.security.pkcs11.wrapper.PKCS11Exception,
                      java.io.IOException,
                      SmartCardException
Labeli verilen ozel anahtari kullanarak, sifrelenmis veriyi cozer.

Parameters:
aAnahtarAdi - Sifre cozmede kullanilacak ozel anahtarin labelidir.
aCozulecek - Cozulecek sifreli veridir.
Returns:
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException
SmartCardException

decrypt

public byte[] decrypt(byte[] aCertSerialNo,
                      byte[] aCozulecek)
               throws sun.security.pkcs11.wrapper.PKCS11Exception,
                      java.io.IOException,
                      SmartCardException
Sertifika seri nosu verilen sertifikayi kullanarak ayni ID ye sahip private key i bulur, sifrelenmis veriyi cozer.

Parameters:
aCertSerialNo - Sifre cozmede kullanilacak ozel anahtarla ayni ID ye sahip sertifikanin seri nosudur.
aCozulecek - Cozulecek sifreli veridir.
Returns:
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException
SmartCardException

decrypt

public static byte[] decrypt(SmartCard aSC,
                             long aSessionID,
                             byte[] aCertSerialNo,
                             byte[] aCozulecek)
                      throws SmartCardException,
                             sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
SmartCardException
sun.security.pkcs11.wrapper.PKCS11Exception

decrypt

public static byte[] decrypt(SmartCard aSC,
                             long aSessionID,
                             java.lang.String aAnahtarAdi,
                             byte[] aCozulecek)
                      throws SmartCardException,
                             sun.security.pkcs11.wrapper.PKCS11Exception
Throws:
SmartCardException
sun.security.pkcs11.wrapper.PKCS11Exception

getPassword

public java.lang.String getPassword()

getSlot

public long getSlot()

getCardType

public CardType getCardType()

formatToken

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

changePassword

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

changePuk

public void changePuk(byte[] aSOPin,
                      byte[] aNewSOPin)
               throws sun.security.pkcs11.wrapper.PKCS11Exception,
                      java.io.IOException
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException

findSlotNumber

public static long findSlotNumber(CardType aCardType)
                           throws sun.security.pkcs11.wrapper.PKCS11Exception,
                                  java.io.IOException,
                                  SmartCardException
CardType verilen kartin takili oldugu slot numarasini bulur.Verilen kart tipinden birden fazla kart takili ise kullaniciya secim yaptirilir.

Parameters:
aCardType - Slot numarasi bulunmak istenen kartin tipidir.
Returns:
Throws:
sun.security.pkcs11.wrapper.PKCS11Exception
java.io.IOException
SmartCardException

findCardTypeAndSlot

public static tr.gov.tubitak.uekae.esya.api.common.util.bag.Pair<java.lang.Long,CardType> findCardTypeAndSlot()
                                                                                                       throws SmartCardException
Finds cardtype and slot number. If there are more than one smart card reader, a swing gui appears to allow user to select the card reader. If you don'e want to any gui apperance, you can use getCardTerminals and getSlotAndCardType functions. Works with Java 1.6.

Returns:
The first object of Pair is the slot number of card and the second object is card type. If card type is unkown, slot number is null. If slot number can not be defined, it is assigned to null.
Throws:
SmartCardException

findCardTypesAndSlots

public static java.util.List<tr.gov.tubitak.uekae.esya.api.common.util.bag.Pair<java.lang.Long,CardType>> findCardTypesAndSlots()
                                                                                                                         throws SmartCardException
Finds cardtype and slot number of connected cards. Works with Java 1.6

Returns:
List of slots. The first object of Pair is the slot number of card and the second object is card type. If card type is unkown, slot number is null. If slot number can not be defined, it is assigned to null.
Throws:
SmartCardException

getCardTerminals

public static java.lang.String[] getCardTerminals()
                                           throws SmartCardException
Gets list of terminals. Works with Java 1.6

Returns:
list of terminals
Throws:
SmartCardException

getSlotAndCardType

public static tr.gov.tubitak.uekae.esya.api.common.util.bag.Pair<java.lang.Long,CardType> getSlotAndCardType(java.lang.String terminal)
                                                                                                      throws SmartCardException
Gets slot and card type of requested terminal. Works with Java 1.6

Parameters:
terminal -
Returns:
The first object of Pair is the slot number of card and the second object is card type. If card type is unkown, slot number is null. If slot number can not be defined, it is assigned to null.
Throws:
SmartCardException