public class ChipAuthenticationInfo extends SecurityInfo
protocol
SHALL identify the
algorithms to be used (i.e. key agreement, symmetric cipher and MAC).version
SHALL identify the version of the protocol.
Currently, versions 1 and 2 are supported.keyId
MAY be used to indicate the local key identifier.
It MUST be used if the MRTD chip provides multiple public keys for Chip
Authentication.Modifier and Type | Field and Description |
---|---|
static int |
VERSION_1
Chip Authentication version 1.
|
static int |
VERSION_2
Chip Authentication version 2.
|
ID_AA, ID_CA_DH_3DES_CBC_CBC, ID_CA_DH_AES_CBC_CMAC_128, ID_CA_DH_AES_CBC_CMAC_192, ID_CA_DH_AES_CBC_CMAC_256, ID_CA_ECDH_3DES_CBC_CBC, ID_CA_ECDH_AES_CBC_CMAC_128, ID_CA_ECDH_AES_CBC_CMAC_192, ID_CA_ECDH_AES_CBC_CMAC_256, ID_EC_PUBLIC_KEY, ID_EC_PUBLIC_KEY_TYPE, ID_PACE, ID_PACE_DH_GM, ID_PACE_DH_GM_3DES_CBC_CBC, ID_PACE_DH_GM_AES_CBC_CMAC_128, ID_PACE_DH_GM_AES_CBC_CMAC_192, ID_PACE_DH_GM_AES_CBC_CMAC_256, ID_PACE_DH_IM, ID_PACE_DH_IM_3DES_CBC_CBC, ID_PACE_DH_IM_AES_CBC_CMAC_128, ID_PACE_DH_IM_AES_CBC_CMAC_192, ID_PACE_DH_IM_AES_CBC_CMAC_256, ID_PACE_ECDH_CAM, ID_PACE_ECDH_CAM_AES_CBC_CMAC_128, ID_PACE_ECDH_CAM_AES_CBC_CMAC_192, ID_PACE_ECDH_CAM_AES_CBC_CMAC_256, ID_PACE_ECDH_GM, ID_PACE_ECDH_GM_3DES_CBC_CBC, ID_PACE_ECDH_GM_AES_CBC_CMAC_128, ID_PACE_ECDH_GM_AES_CBC_CMAC_192, ID_PACE_ECDH_GM_AES_CBC_CMAC_256, ID_PACE_ECDH_IM, ID_PACE_ECDH_IM_3DES_CBC_CBC, ID_PACE_ECDH_IM_AES_CBC_CMAC_128, ID_PACE_ECDH_IM_AES_CBC_CMAC_192, ID_PACE_ECDH_IM_AES_CBC_CMAC_256, ID_PK_DH, ID_PK_ECDH, ID_TA, ID_TA_ECDSA, ID_TA_ECDSA_SHA_1, ID_TA_ECDSA_SHA_224, ID_TA_ECDSA_SHA_256, ID_TA_RSA, ID_TA_RSA_PSS_SHA_1, ID_TA_RSA_PSS_SHA_256, ID_TA_RSA_V1_5_SHA_1, ID_TA_RSA_V1_5_SHA_256
Constructor and Description |
---|
ChipAuthenticationInfo(String oid,
int version)
Constructs a new object.
|
ChipAuthenticationInfo(String oid,
int version,
BigInteger keyId)
Constructs a new object.
|
Modifier and Type | Method and Description |
---|---|
protected void |
checkFields()
Checks the correctness of the data for this instance of SecurityInfo.
|
boolean |
equals(Object other) |
ASN1Primitive |
getDERObject()
Deprecated.
Remove this method from visible interface (because of dependency on BC API)
|
BigInteger |
getKeyId()
Returns a key identifier stored in this ChipAuthenticationInfo structure,
null if not present. |
String |
getObjectIdentifier()
Returns the protocol object identifier.
|
String |
getProtocolOIDString()
Returns the protocol object identifier as a human readable string.
|
int |
getVersion()
Returns the Chip Authentication version (either 1 or 2).
|
int |
hashCode() |
static String |
toCipherAlgorithm(String oid)
Returns the encryption algorithm (
"DESede" or "AES" )
for the given EAC-CA info object identifier. |
static String |
toDigestAlgorithm(String oid)
Returns the digest algorithm (
"SHA-1" or "SHA-256" )
for the given EAC-CA protocol object identifier. |
static String |
toKeyAgreementAlgorithm(String oid)
Returns the key agreement algorithm (
"DH" or "ECDH"
for the given Chip Authentication info object identifier. |
static int |
toKeyLength(String oid)
Returns the key length in bits (128, 192, or 256)
for the given EAC-CA protocol object identifier.
|
String |
toString() |
getInstance, writeObject
getEncoded
public static final int VERSION_1
public static final int VERSION_2
public ChipAuthenticationInfo(String oid, int version)
oid
- a proper EAC identifierversion
- has to be 1 or 2public ChipAuthenticationInfo(String oid, int version, BigInteger keyId)
oid
- a proper EAC identifierversion
- has to be 1 or 2keyId
- the key identifier@Deprecated public ASN1Primitive getDERObject()
getDERObject
in class SecurityInfo
public String getObjectIdentifier()
getObjectIdentifier
in class SecurityInfo
ID_CA_
object identifier indicating the Chip Authentication protocolpublic int getVersion()
public String getProtocolOIDString()
getProtocolOIDString
in class SecurityInfo
public BigInteger getKeyId()
null
if not present.protected void checkFields()
IllegalArgumentException
when not correct.public static String toKeyAgreementAlgorithm(String oid)
"DH"
or "ECDH"
for the given Chip Authentication info object identifier.oid
- a EAC-CA protocol object identifierpublic static String toCipherAlgorithm(String oid)
"DESede"
or "AES"
)
for the given EAC-CA info object identifier.oid
- a EAC-CA protocol object identifierpublic static String toDigestAlgorithm(String oid)
"SHA-1"
or "SHA-256"
)
for the given EAC-CA protocol object identifier.oid
- a EAC-CA protocol object identifierpublic static int toKeyLength(String oid)
oid
- a EAC-CA protocol object identifierCopyright © 2021. All rights reserved.