ca_ctx Struct Reference

Context for the Chip Authentication protocol. More...

`#include <eac.h>`

## Data Fields

unsigned char | version
| (currently unused) Version of the CA protocol, MUST be 1 or 2
int | protocol
| Identifier of the protocol's OID specifying the exact CA parameters to use.
int | id
| identifier of this CA context
int | flags
| Flags to control some of the behaviour of the CA.
KA_CTX * | ka_ctx
| Key agreement object used with the PICC's private key.
X509_lookup_csca_cert | lookup_csca_cert
| callback for finding the X.509 trust anchor

## Detailed Description

Context for the Chip Authentication protocol.

Definition at line 304 of file eac.h.

## Field Documentation

## flags

int ca_ctx::flags

Flags to control some of the behaviour of the CA.

Accepts the following values:

- `CA_FLAG_DISABLE_PASSIVE_AUTH`

Definition at line 327 of file eac.h.

## id

int ca_ctx::id

identifier of this CA context

Definition at line 321 of file eac.h.

## ka_ctx

KA_CTX* ca_ctx::ka_ctx

Key agreement object used with the PICC's private key.

Definition at line 329 of file eac.h.

## lookup_csca_cert

X509_lookup_csca_cert ca_ctx::lookup_csca_cert

callback for finding the X.509 trust anchor

This function is called when passive authentication with the signed public key of the card.

See also
  CA_get_pubkey()

Definition at line 338 of file eac.h.

## protocol

int ca_ctx::protocol

Identifier of the protocol's OID specifying the exact CA parameters to use.

Accepts the following values:

- `NID_id_CA_DH_3DES_CBC_CBC`
- `NID_id_CA_DH_AES_CBC_CMAC_128`
- `NID_id_CA_DH_AES_CBC_CMAC_192`
- `NID_id_CA_DH_AES_CBC_CMAC_256`
- `NID_id_CA_ECDH_3DES_CBC_CBC`
- `NID_id_CA_ECDH_AES_CBC_CMAC_128`
- `NID_id_CA_ECDH_AES_CBC_CMAC_192`
- `NID_id_CA_ECDH_AES_CBC_CMAC_256`

Definition at line 319 of file eac.h.

## version

unsigned char ca_ctx::version

(currently unused) Version of the CA protocol, MUST be 1 or 2

Definition at line 306 of file eac.h.

The documentation for this struct was generated from the following file:

- eac/eac.h