IC Data Authentication
-
PassiveAuthenticationHandleris responsible for performing passive authentication on data groups of an eMRTD.Passive Authentication proves that the contents of the Document Security Object (
SOD) and LDS are authentic and not changed.Note
This verification mechanism does not require processing capabilities of the contactless IC in the Therefore it is called “Passive Authentication” of the contactless IC’s contents.
Important
It does not prevent exact copying of the contactless IC’s content or chip substitution. See
ChipAuthenticationHandlerfor more about that.See moreSee also
SODandHashAlgorithmDeclaration
Swift
internal final class PassiveAuthenticationHandler -
PKCS7is a class for handling PKCS#7 messages, extracting X.509 certificates.See moreSee also
X509CertificateDeclaration
Swift
internal final class PKCS7 -
SignedDatais a class representing data contained in a signed data structure found in eMRTDSODdata group.The ASN.1 data structure
SignedDatais defined as follows:SignedData ::= SEQUENCE { INTEGER version CMSVersion, SET digestAlgorithms DigestAlgorithmIdentifiers, SEQUENCE encapContentInfo EncapsulatedContentInfo, certificates [0] IMPLICIT CertificateSet OPTIONAL, crls [1] IMPLICIT RevocationInfoChoices OPTIONAL, SET signerInfos SignerInfos } DigestAlgorithmIdentifiers ::= AlgorithmIdentifier AlgorithmIdentifier ::= SEQUENCE { algorithm OBJECT IDENTIFIER, parameters ANY OPTIONAL } EncapsulatedContentInfo ::= SEQUENCE { eContentType ContentType, eContent [0] EXPLICIT OCTET STRING OPTIONAL } ContentType ::= OBJECT IDENTIFIER SignerInfos ::= SET OF SignerInfo SignerInfo ::= SEQUENCE { version CMSVersion, sid SignerIdentifier, digestAlgorithm DigestAlgorithmIdentifier, signedAttrs [0] IMPLICIT SignedAttributes OPTIONAL, signatureAlgorithm SignatureAlgorithmIdentifier, signature SignatureValue, unsignedAttrs [1] IMPLICIT UnsignedAttributes OPTIONAL } SignerIdentifier ::= CHOICE { issuerAndSerialNumber IssuerAndSerialNumber, subjectKeyIdentifier [0] SubjectKeyIdentifier } SignedAttributes ::= SET SIZE (1..MAX) OF Attribute UnsignedAttributes ::= SET SIZE (1..MAX) OF Attribute Attribute ::= SEQUENCE { attrType OBJECT IDENTIFIER, attrValues SET OF AttributeValue } AttributeValue ::= ANY SignatureValue ::= OCTET STRINGIn addition, the class allows to verify the signed data against the stored certificate.
See moreDeclaration
Swift
internal final class SignedData -
See moreX509Certificateis a class representing an X.509 certificate.Declaration
Swift
internal final class X509Certificate -
X509CertificateDetailsis a structure representing the details of an X.509 certificate.See moreSee also
X509CertificateDeclaration
Swift
public struct X509CertificateDetails
View on GitHub
IC Data Authentication Reference