Class ChipAuthentication

Object
   |
   +--ChipAuthentication

class ChipAuthentication


This class implements the ChipAuthentication protocol
Defined in chipauthentication.js


Field Summary
 Object algo
          
 Object crypto
          
 Object domparam
          
 Object includeDPinAuthToken
          
 Object noPadding
          
<static>  Object id_CA_ECDH_3DES_CBC_CBC
          
<static>  Object id_CA_ECDH_AES_CBC_CMAC_128
          
<static>  Object id_CA_ECDH_AES_CBC_CMAC_192
          
<static>  Object id_CA_ECDH_AES_CBC_CMAC_256
          
<static>  Object standardizedDomainParameter
          
 
Constructor Summary
ChipAuthentication(<Crypto> crypto, <ByteString> algo, <Key> domparam)
            Create a ChipAuthentication protocol object
 
Method Summary
 Boolean calculateAuthenticationToken()
           Calculate the authentication token over the public key received from the other side
 ByteString decodeEphemeralPublicKey(encodedKey)
           Decodes the ephemeral public key
 Key deriveKey(<ByteString> input, <Number> counter, nonce)
           Derive key from input parameter, counter and optional nonce
 void generateEphemeralCAKeyPair()
           Generate ephemeral key pair
 ByteString getCompressedPublicKey()
           Returns the x coordinate of the public key
 ByteString getEphemeralPublicKey()
           Returns the ephemeral public key
 void performKeyAgreement(<ByteString> publicKey, nonce)
           Performs the mapping operation with mapping data from the other side
 void setKeyPair(<Key> prk, <Key> puk)
           Set chip authentication keys
 Boolean verifyAuthenticationToken(authToken)
           Calculate and verify the authentication token over the public key received from the other side
<static> Object encodePublicKey(<String> oid, <Key> key, <Boolean> withDP)
           Encode an ECC public key in the format defined by the EAC 2.0 specification
<static> ByteString stripLeadingZeros(<ByteString> value)
           Strips leading zeros of a ByteString

Field Detail

algo

Object algo

crypto

Object crypto

domparam

Object domparam

includeDPinAuthToken

Object includeDPinAuthToken

noPadding

Object noPadding

id_CA_ECDH_3DES_CBC_CBC

<static> Object id_CA_ECDH_3DES_CBC_CBC

id_CA_ECDH_AES_CBC_CMAC_128

<static> Object id_CA_ECDH_AES_CBC_CMAC_128

id_CA_ECDH_AES_CBC_CMAC_192

<static> Object id_CA_ECDH_AES_CBC_CMAC_192

id_CA_ECDH_AES_CBC_CMAC_256

<static> Object id_CA_ECDH_AES_CBC_CMAC_256

standardizedDomainParameter

<static> Object standardizedDomainParameter

Constructor Detail

ChipAuthentication

ChipAuthentication(<Crypto> crypto, <ByteString> algo, <Key> domparam)

Method Detail

calculateAuthenticationToken

Boolean calculateAuthenticationToken()

decodeEphemeralPublicKey

ByteString decodeEphemeralPublicKey(encodedKey)

deriveKey

Key deriveKey(<ByteString> input, <Number> counter, nonce)

generateEphemeralCAKeyPair

void generateEphemeralCAKeyPair()

getCompressedPublicKey

ByteString getCompressedPublicKey()

getEphemeralPublicKey

ByteString getEphemeralPublicKey()

performKeyAgreement

void performKeyAgreement(<ByteString> publicKey, nonce)

setKeyPair

void setKeyPair(<Key> prk, <Key> puk)

verifyAuthenticationToken

Boolean verifyAuthenticationToken(authToken)

encodePublicKey

<static> Object encodePublicKey(<String> oid, <Key> key, <Boolean> withDP)

stripLeadingZeros

<static> ByteString stripLeadingZeros(<ByteString> value)


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