GETCOMPD
This rule_array keyword causes all data to be returned in one VUD block. The described structure also comprises extra data fields that contains output if the SIG2STAT keyword is specified.
The VUD block header and data has a layout as described in Table 1:
Offset | Size | Field | Subordinate data type | Description |
---|---|---|---|---|
Begin outer templating | ||||
4 | 1 | Struct name | Signed_data_t |
Structure name Type: binary integer Value: mbif_types.h:118:#define SIGNED_DATA_T 0x82 |
5 | 1 | Struct version | Signed_data_t |
Structure version Type: binary integer Value: 0x00 |
6 | 4 | Signed data len | Signed_data_t | Length of entire Signed_data_t structure, including appended data and
signature Type: binary integer, big-endian |
10 | 4 | Data offset | Signed_data_t | Offset from start of the data sub-struct (here) to the start of the actual data payload.
Type: binary integer, big-endian Value: 0x14 |
14 | 4 | Data len | Signed_data_t |
Length of the data payload Type: binary integer, big-endian |
18 | 4 | Sig offset | Signed_data_t | Offset from start of the signature sub-structure (here) to the start of the actual signature.
Type: binary integer, big-endian |
22 | 4 | Sig len | Signed_data_t |
Length of the signature Type: binary integer, big-endian |
26 | 4 | Sig type | Signed_data_t |
Type of the signature Type: binary integer, big-endian Value: 0x63 (# define CCA_DUAL_SIG 0x63) 0x00 (no signature) |
Begin payload | ||||
30 | 7 | VE | xcVpd_t:VE field |
Card secure part number field from VPD Type: ASCII, not NULL terminated |
37 | 1 | Reserved1 | n/a | Reserved field Type: binary integer |
38 | 7 | EC | xcVpd_t:EC field |
Card EC field from VPD Type: ASCII, not NULL terminated |
45 | 1 | Reserved1 | n/a | Reserved field Type: binary integer |
46 | 12 | SN | xcVpd_t:[sn_hdr | sn] fields | Card serial number header and serial number concatenated;
making up a 12 byte quantity.
Type: ASCII, not NULL terminated |
58 | 16 | Current_clock | Cca_gentime_t structure |
The current card clock time maintained by the RTC hardware.
Type: ASCII characters for the date in the following layout of 14 characters, with 2 NULL
characters at the end since the day-of-week is not returned.
Note: This is similar to ASN.1 Generalized Time format for Local time.
Since the adapter reports whatever time it has been set to, and has no external reference for
timezone verification, it is not appropriate to have a Z indicating UTC or to specify an offset
from UTC.
|
74 | 8 | Cca_version | Same value reported for other CSUACFQ calls that report the CCA version
Type: ASCII, not NULL terminated |
|
82 | 8 | Udx_version1 | Ccax_version1 | UDX supplied version field (first), should be none for PCI-HSM 2016 capable firmware
Type: ASCII, not NULL terminated |
90 | 8 | Udx_version2 | Ccax_version2 | UDX supplied version field (second), should be none for PCI-HSM 2016 capable firmware
Type: ASCII, not NULL terminated |
98 | 16 | Build_date | Cca_gentime_t structure | Build time_date: Local Date and time on machine where firmware was built.
Type: ASCII characters for the date in the following layout of 14 characters, with 2 NULL characters at the end since the day-of-week is not returned.
Note: This is similar to ASN.1 Generalized Time format for
Local time. Since the adapter reports whatever time it has been set to, and has no external
reference for timezone verification, it is not appropriate to have a Z indicating UTC or to specify
an offset from UTC.
|
114 | 4 | Card_action | cmp_srdi_hdr_t:action_flags |
Card scope action flags Type: binary integer, big-endian
|
118 | 4 | Comp_issues | DRAM variable CCA_comp_issue_flags | Returns any issues with compliance: reasons the card cannot support a compliance setting. Type: binary integer, big-endian Flags are defined:
|
122 | 4 | Sec_log_max | Not in a structure | Maximum count of events for this domain, this is not a byte count.
This is the same for the life of a card, but the API will live beyond one card.
Type: binary integer, big-endian |
126 | 2 |
Sec_log_event _size |
Not in a structure | Maximum size of one event in bytes. This is the same for the life of a card, but the API will
live beyond one card.
Type: binary integer, big-endian
|
128 | 2 | Dmn_kdf | Kdf value from DRAM | KDF value that maps to the compliance flags.
Type: binary integer, big-endian
|
130 | 4 | Dmn_action | cmp_srdi_mbr_t:action_flags | Domain scope action flags.
Type: binary integer, big-endian (description continued in next row) |
Description continued for Dmn_action (offset 130, size 4):
|
||||
Description continued for Dmn_action (offset 130, size 4):
|
||||
134 | 4 | Dmn_compl | cmp_srdi_mbr_t:compl_flags | Domain scope compliance flags
Type: binary integer, big-endian
(description continued in next row) |
Description continued for Dmn_compl (offset 134, size 4):
|
||||
138 | 4 | Sec_log_cnt | Not in a structure | Current count of events for this domain, this is not a byte count.
Type: binary integer, big-endian
Will be 0x00000000 if Secure Log is not enabled at domain scope.
|
142 | 2 | Owner2 | Rom_status_t:owner2 |
Type: binary integer, big-endian
two byte owner-ID field. |
144 | 2 | Owner3 | Rom_status_t:owner3 |
Type: binary integer, big-endian
two byte owner-ID field. |
146 | 4 | Miniboot versions | xcMB_Version_t |
Type: binary integer, big-endian
two bytes for miniboot 0, two bytes for miniboot 1 |
150 | 4 | Adapter type | Adapter_type : CardRevId from xcAdapterInfo_t |
Type: binary integer, big-endian
four byte field from adapter info |
Begin signature section sig-section (if SIG2STAT passed) | ||||
154 | 132 | ECDSA signature | Raw r and s values | Raw r and s values for signature over SHA-512 hash of payload. The r and s values are 66 bytes each, r is first. |
286 | 4668 | CRDL-DSA signature | A byte string | The CRDL-DSA signature is the concatenation of a bit-packed representation of z and encodings of h and c in that order. |
4954 | 64 | Payload hash | Raw hash value | Raw SHA-512 hash over the payload. This is the value used for calculating the signature. |