Class SmartCardHSM

Object
   |
   +--SmartCardHSM

class SmartCardHSM


Class implementing support for SmartCard-HSM access
Defined in smartcardhsm.js


Field Summary
 Object card
          
 Object idmap
          
 Object maxAPDU
          
 Object namemap
          
<static>  Object C_DevAut
          
<static>  Object CACERTIFICATEPREFIX
          
<static>  Object CONFIDENTIALDATAPREFIX
          
<static>  Object devAutPuk
          
<static>  Object EECERTIFICATEPREFIX
          
<static>  Object KEYMETAPREFIX
          
<static>  Object KEYPREFIX
          
<static>  Object PIN_User
          
<static>  Object PrK_DevAut
          
<static>  Object PRKDPREFIX
          
<static>  Object rootCerts
          
 
Constructor Summary
SmartCardHSM(<Card> card)
            Create a SmartCard-HSM access object
 
Method Summary
 void addKeyToMap(<HSMKey> key)
           Add a new key to the map of keys
 void changeUserPIN(<ByteString> currentPIN, <ByteString> newPIN)
           Change User PIN
 Object decipher(<Number> keyid, <Number> algo, <ByteString> data)
           Decipher cryptogram or agree shared secret using Diffie-Hellman
 Object deleteFile(<ByteString> fid)
           Delete file system object (EF or key)
 Number determineFreeKeyId()
           Determine an unused key identifier
 String[] enumerateKeys()
           Enumerate key objects in the SmartCard-HSM and build the map of keys
 Object enumerateObjects()
           Enumerate Objects
 ByteString generateAsymmetricKeyPair(<Number> newkid, <Number> signkid, <ByteString> keydata)
           Generate an asymmetric key pair
 Object generateRandom(<Number> length)
           Generate random data
 HSMCrypto getCrypto()
           Get crypto object
 Key getKey(label)
           Get a key reference object
 Object importKeyShare(<ByteString> keyshare)
           Import DKEK share or query status
 void initDevice(<ByteString> options, <ByteString> initialPIN, <ByteString> initializationCode, <Number> retryCounterInitial, <Number> keyshares)
           Initialize device and clear all keys and files
 void logout()
           Logout
 ISOSecureChannel openSecureChannel(<Crypto> crypto, <Key> devAuthPK)
           Open a secure channel using device authentication
 Number queryUserPINStatus()
           Request PIN Status Information
 ByteString readBinary(<ByteString> fid, <Number> offset, <Number> length)
           Read transparent EF referenced by file identifier
 Object sign(<Number> keyid, <algo> algo, <ByteString> data)
           Sign data using referenced key
 void unwrapKey(<Number> id, <ByteString> keyblob)
           Unwrap key with DKEK
 void updateBinary(<ByteString> fid, <Number> offset, <ByteString> data)
           Update transparent EF referenced by file identifier
 Object verifyUserPIN(<ByteString> userPIN)
           Verify User PIN
 ByteString wrapKey(<Number> id)
           Wrap key under DKEK
<static> ByteString buildGAKPwithECC(<PublicKeyReference> innerCAR, <ByteString> algo, <PublicKeyReference> chr, <Key> dp, <PublicKeyReference> outerCAR, priKey)
           Build input for Generate Asymmetric Key Pair command for generating an ECC key pair
<static> ByteString buildGAKPwithRSA(<PublicKeyReference> innerCAR, <ByteString> algo, <PublicKeyReference> chr, <Number> keysize, <PublicKeyReference> outerCAR)
           Build input for Generate Asymmetric Key Pair command for generating a RSA key pair
<static> ASN1 buildPrkDforECC(<Number> keyid, <String> label, keysize)
           Create a PKCS#15 PrivateECCKey description
<static> ASN1 buildPrkDforRSA(<Number> keyid, <String> label, <Number> modulussize)
           Create a PKCS#15 PrivateRSAKey description
<static> void dumpKeyData(<ByteString> keydata)
           Dump C-Data of Generate Asymmetric Key Pair command
<static> ByteString stripLeadingZeros(<ByteString> value)
           Strips leading zeros of a ByteString
<static> void test()
          
<static> Key validateCertificateChain(<Crypto> crypto, <ByteString> devAutCert)
           Validate device certificate chain

Field Detail

card

Object card

idmap

Object idmap

maxAPDU

Object maxAPDU

namemap

Object namemap

C_DevAut

<static> Object C_DevAut

CACERTIFICATEPREFIX

<static> Object CACERTIFICATEPREFIX

CONFIDENTIALDATAPREFIX

<static> Object CONFIDENTIALDATAPREFIX

devAutPuk

<static> Object devAutPuk

EECERTIFICATEPREFIX

<static> Object EECERTIFICATEPREFIX

KEYMETAPREFIX

<static> Object KEYMETAPREFIX

KEYPREFIX

<static> Object KEYPREFIX

PIN_User

<static> Object PIN_User

PrK_DevAut

<static> Object PrK_DevAut

PRKDPREFIX

<static> Object PRKDPREFIX

rootCerts

<static> Object rootCerts

Constructor Detail

SmartCardHSM

SmartCardHSM(<Card> card)

Method Detail

addKeyToMap

void addKeyToMap(<HSMKey> key)

changeUserPIN

void changeUserPIN(<ByteString> currentPIN, <ByteString> newPIN)

decipher

Object decipher(<Number> keyid, <Number> algo, <ByteString> data)

deleteFile

Object deleteFile(<ByteString> fid)

determineFreeKeyId

Number determineFreeKeyId()

enumerateKeys

String[] enumerateKeys()

enumerateObjects

Object enumerateObjects()

generateAsymmetricKeyPair

ByteString generateAsymmetricKeyPair(<Number> newkid, <Number> signkid, <ByteString> keydata)

generateRandom

Object generateRandom(<Number> length)

getCrypto

HSMCrypto getCrypto()

getKey

Key getKey(label)

importKeyShare

Object importKeyShare(<ByteString> keyshare)

initDevice

void initDevice(<ByteString> options, <ByteString> initialPIN, <ByteString> initializationCode, <Number> retryCounterInitial, <Number> keyshares)

logout

void logout()

openSecureChannel

ISOSecureChannel openSecureChannel(<Crypto> crypto, <Key> devAuthPK)

queryUserPINStatus

Number queryUserPINStatus()

readBinary

ByteString readBinary(<ByteString> fid, <Number> offset, <Number> length)

sign

Object sign(<Number> keyid, <algo> algo, <ByteString> data)

unwrapKey

void unwrapKey(<Number> id, <ByteString> keyblob)

updateBinary

void updateBinary(<ByteString> fid, <Number> offset, <ByteString> data)

verifyUserPIN

Object verifyUserPIN(<ByteString> userPIN)

wrapKey

ByteString wrapKey(<Number> id)

buildGAKPwithECC

<static> ByteString buildGAKPwithECC(<PublicKeyReference> innerCAR, <ByteString> algo, <PublicKeyReference> chr, <Key> dp, <PublicKeyReference> outerCAR, priKey)

buildGAKPwithRSA

<static> ByteString buildGAKPwithRSA(<PublicKeyReference> innerCAR, <ByteString> algo, <PublicKeyReference> chr, <Number> keysize, <PublicKeyReference> outerCAR)

buildPrkDforECC

<static> ASN1 buildPrkDforECC(<Number> keyid, <String> label, keysize)

buildPrkDforRSA

<static> ASN1 buildPrkDforRSA(<Number> keyid, <String> label, <Number> modulussize)

dumpKeyData

<static> void dumpKeyData(<ByteString> keydata)

stripLeadingZeros

<static> ByteString stripLeadingZeros(<ByteString> value)

test

<static> void test()

validateCertificateChain

<static> Key validateCertificateChain(<Crypto> crypto, <ByteString> devAutCert)


Documentation generated by JSDoc on Tue Sep 3 22:29:45 2013