Class ChipAuthenticationPublicKeyInfo
This class encodes and decodes ChipAuthenticationPublicKeyInfo objects.
The class implements the following ASN.1 syntax:
ChipAuthenticationPublicKeyInfo ::= SEQUENCE {
protocol OBJECT IDENTIFIER(id-PK-DH | id-PK-ECDH),
chipAuthenticationPublicKey SubjectPublicKeyInfo,
keyId INTEGER OPTIONAL
}
SubjectPublicKeyInfo ::= SEQUENCE {
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING
}
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL
}
Defined in: ChipAuthentication.js.
| Constructor Attributes | Constructor Name and Description |
|---|---|
|
Create a ChipAuthenticationPublicKeyInfo object
|
| Method Attributes | Method Name and Description |
|---|---|
| <static> |
ChipAuthenticationPublicKeyInfo.convertUnsignedInteger(value)
Removes leading zeros and prepends a single '00' to ByteStrings which have the most significant bit set.
|
| <static> |
ChipAuthenticationPublicKeyInfo.createECSubjectPublicKeyInfo(publicKey, encodeECDomainParameter)
Creates the EC Public Key as subjectPublicKeyInfo TLV structure object.
|
|
toTLV()
Convert object to TLV structure
|
Class Detail
ChipAuthenticationPublicKeyInfo(the)
Create a ChipAuthenticationPublicKeyInfo object
- Parameters:
- {ASN1} the
- optional tlv structure to initialize the object
Method Detail
<static>
{ByteString}
ChipAuthenticationPublicKeyInfo.convertUnsignedInteger(value)
Removes leading zeros and prepends a single '00' to ByteStrings which have the most significant bit set.
This prevent interpretation of the integer representation if converted into
a signed ASN1 INTEGER.
- Parameters:
- {ByteString} value
- the value to convert
- Returns:
- the converted value
<static>
{ASN1}
ChipAuthenticationPublicKeyInfo.createECSubjectPublicKeyInfo(publicKey, encodeECDomainParameter)
Creates the EC Public Key as subjectPublicKeyInfo TLV structure object.
The structure is defined as:
SubjectPublicKeyInfo ::= SEQUENCE {
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING }
AlgorithmIdentifier ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL }
id-ecPublicKey OBJECT IDENTIFIER ::= {
iso(1) member-body(2) us(840) ansi-X9-62(10045) keyType(2) 1 }
ECParameters ::= CHOICE {
namedCurve OBJECT IDENTIFIER,
implicitCurve NULL,
specifiedCurve SpecifiedECDomain }
- Parameters:
- publicKey
- encodeECDomainParameter
- Returns:
- the subjectPublicKey TLV structure
{ASN1}
toTLV()
Convert object to TLV structure
- Returns:
- the TLV structure