PACESecurityProtocol
internal enum PACESecurityProtocol : UInt8, SecurityProtocol
The PACESecurityProtocol
enum represents various security protocols used in PACE for
electronic Machine Readable Travel Documents (eMRTD).
These protocols are identified by a unique ObjectIdentifier
(OID) and
specific EncryptionAlgorithm
, KeyAgreementAlgorithm
and PACEMapping
function.
-
PACE security protocol using DH key agreement with Generic Mapping, 3DES encryption and CBC chaining mode.
Declaration
Swift
case ID_PACE_DH_GM_3DES_CBC_CBC = 0x01
-
PACE security protocol using DH key agreement with Generic Mapping, AES-128 encryption and CMAC.
Declaration
Swift
case ID_PACE_DH_GM_AES_CBC_CMAC_128 = 0x02
-
PACE security protocol using DH key agreement with Generic Mapping, AES-192 encryption and CMAC.
Declaration
Swift
case ID_PACE_DH_GM_AES_CBC_CMAC_192 = 0x03
-
PACE security protocol using DH key agreement with Generic Mapping, AES-256 encryption and CMAC.
Declaration
Swift
case ID_PACE_DH_GM_AES_CBC_CMAC_256 = 0x04
-
PACE security protocol using ECDH key agreement with Generic Mapping, 3DES encryption and CBC chaining mode.
Declaration
Swift
case ID_PACE_ECDH_GM_3DES_CBC_CBC = 0x05
-
PACE security protocol using ECDH key agreement with Generic Mapping, AES-128 encryption and CMAC.
Declaration
Swift
case ID_PACE_ECDH_GM_AES_CBC_CMAC_128 = 0x06
-
PACE security protocol using ECDH key agreement with Generic Mapping, AES-191 encryption and CMAC.
Declaration
Swift
case ID_PACE_ECDH_GM_AES_CBC_CMAC_192 = 0x07
-
PACE security protocol using ECDH key agreement with Generic Mapping, AES-256 encryption and CMAC.
Declaration
Swift
case ID_PACE_ECDH_GM_AES_CBC_CMAC_256 = 0x08
-
PACE security protocol using DH key agreement with Integrated Mapping, 3DES encryption and CBC chaining mode.
Declaration
Swift
case ID_PACE_DH_IM_3DES_CBC_CBC = 0x09
-
PACE security protocol using DH key agreement with Integrated Mapping, AES-128 encryption and CMAC.
Declaration
Swift
case ID_PACE_DH_IM_AES_CBC_CMAC_128 = 0x0A
-
PACE security protocol using DH key agreement with Integrated Mapping, AES-192 encryption and CMAC.
Declaration
Swift
case ID_PACE_DH_IM_AES_CBC_CMAC_192 = 0x0B
-
PACE security protocol using DH key agreement with Integrated Mapping, AES-256 encryption and CMAC.
Declaration
Swift
case ID_PACE_DH_IM_AES_CBC_CMAC_256 = 0x0C
-
PACE security protocol using ECDH key agreement with Integrated Mapping, 3DES encryption and CBC chaining mode.
Declaration
Swift
case ID_PACE_ECDH_IM_3DES_CBC_CBC = 0x0D
-
PACE security protocol using ECDH key agreement with Integrated Mapping, AES-128 encryption and CMAC.
Declaration
Swift
case ID_PACE_ECDH_IM_AES_CBC_CMAC_128 = 0x0E
-
PACE security protocol using ECDH key agreement with Integrated Mapping, AES-192 encryption and CMAC.
Declaration
Swift
case ID_PACE_ECDH_IM_AES_CBC_CMAC_192 = 0x0F
-
PACE security protocol using ECDH key agreement with Integrated Mapping, AES-256 encryption and CMAC.
Declaration
Swift
case ID_PACE_ECDH_IM_AES_CBC_CMAC_256 = 0x10
-
PACE security protocol using ECDH key agreement with Chip Authentication Mapping, AES-128 encryption and CMAC.
Declaration
Swift
case ID_PACE_ECDH_CAM_AES_CBC_CMAC_128 = 0x11
-
PACE security protocol using ECDH key agreement with Chip Authentication Mapping, AES-192 encryption and CMAC.
Declaration
Swift
case ID_PACE_ECDH_CAM_AES_CBC_CMAC_192 = 0x12
-
PACE security protocol using ECDH key agreement with Chip Authentication Mapping, AES-256 encryption and CMAC.
Declaration
Swift
case ID_PACE_ECDH_CAM_AES_CBC_CMAC_256 = 0x13
-
The
ObjectIdentifier
(OID) representing the PACE security protocol.Declaration
Swift
internal var oid: ObjectIdentifier { get }
-
The
EncryptionAlgorithm
associated with the PACE security protocol.Declaration
Swift
internal var usedEncryptionAlgorithm: EncryptionAlgorithm { get }
-
The
KeyAgreementAlgorithm
associated with the PACE security protocol.Declaration
Swift
internal var usedKeyAgreementAlgorithm: KeyAgreementAlgorithm { get }
-
The
PACEMapping
associated with the PACE security protocol.Declaration
Swift
internal var usedMappingFunction: PACEMapping { get }