ITS
decodeSecurity.cpp File Reference
#include <decodeSecurity.h>
#include <api.h>
Include dependency graph for decodeSecurity.cpp:

Go to the source code of this file.

Functions

int nbX (uchar v, quint64 *ret)
 nbX Count the number of bytes used by the IntX. More...
 
quint64 extractINTX (uchar *field, int *n)
 extractINTX Decode an IntX. More...
 
quint64 decode_Time64 (uchar *field, Time64_t *time)
 decode_Time64 Decode a Time64. More...
 
quint64 decode_Time32 (uchar *field, Time32_t *time)
 decode_Time32 Decode a Time32. More...
 
quint64 decode_INT32 (uchar *field, INT32_t *int32)
 decode_INT32 Decode an Int32. More...
 
quint64 decode_UINT16 (uchar *field, UINT16_t *uint16)
 decode_UINT16 Decode an UINT16. More...
 
quint64 decode_Duration (uchar *field, Duration_t *duration)
 decode_Duration Decode a Duration. More...
 
quint64 decode_HashedId (uchar *field, OCTET_STRING_t *hash, int length)
 decode_HashedId Decode an HashedId. More...
 
quint64 decode_HashedId8 (uchar *field, HashedId8_t *hash)
 decode_HashedId8 Decode an HashedId8. More...
 
quint64 decode_HashedId3 (uchar *field, HashedId3_t *hash)
 decode_HashedId3 Decode an HashedId3. More...
 
quint64 decode_Opaque (uchar *field, Opaque_t *opaque, int length)
 decode_Opaque Decode an Opaque. More...
 
quint64 decode_EccPoint (uchar *field, EccPoint_t *point)
 decode_EccPoint Decode an EccPoint. More...
 
quint64 decode_EciesEncryptedKey (uchar *field, EciesEncryptedKey_t *ecies)
 decode_EciesEncryptedKey Decode an EciesEncryptedKey. More...
 
quint64 decode_Time64WithStandardDeviation (uchar *field, Time64WithStandardDeviation_t *time)
 decode_Time64WithStandardDeviation Decode a Time64WithStandardDeviation. More...
 
quint64 decode_ThreeDLocation (uchar *field, ThreeDLocation_t *location)
 decode_ThreeDLocation Decode a ThreeDLocation. More...
 
quint64 decode_SubjectInfo (uchar *field, SubjectInfo_t *info)
 decode_SubjectInfo Decode a SubjectInfo. More...
 
quint64 decode_ItsAidSsp (uchar *field, ItsAidSsp_t *ssp)
 decode_ItsAidSsp Decode an ItsAidSsp. More...
 
quint64 decode_PublicKey (uchar *field, PublicKey_t *key)
 decode_PublicKey Decode a PublicKey. More...
 
quint64 decode_SubjectAssurance (uchar *field, SubjectAssurance_t *subject)
 decode_SubjectAssurance Decode a SubjectAssurance. More...
 
quint64 decode_SubjectAttribute (uchar *field, SubjectAttribute_t *subject)
 decode_SubjectAttribute Decode a SubjectAttribute. More...
 
quint64 decode_TwoDLocation (uchar *field, TwoDLocation_t *location)
 decode_TwoDLocation Decode a TwoDLocation. More...
 
quint64 decode_CircularRegion (uchar *field, CircularRegion_t *region)
 decode_CircularRegion Decode a CircularRegion. More...
 
quint64 decode_RectangularRegion (uchar *field, RectangularRegion_t *region)
 decode_RectangularRegion Decode a RectangularRegion. More...
 
quint64 decode_PolygonalRegion (uchar *field, PolygonalRegion_t *polygon)
 decode_PolygonalRegion Decode a PolygonalRegion. More...
 
quint64 decode_IdentifiedRegion (uchar *field, IdentifiedRegion_t *id)
 decode_IdentifiedRegion Decode a IdentifiedRegion. More...
 
quint64 decode_GeographicRegion (uchar *field, GeographicRegion_t *region)
 decode_GeographicRegion Decode a GeographicRegion. More...
 
quint64 decode_ValidityRestriction (uchar *field, ValidityRestriction_t *validityRestriction)
 decode_ValidityRestriction Decode a ValidityRestriction. More...
 
quint64 decode_EcdsaSignature (uchar *field, EcdsaSignature_t *ecdsa)
 decode_EcdsaSignature Decode a EcdsaSignature. More...
 
quint64 decode_Signature (uchar *field, Signature_t *signature)
 decode_Signature Decode a Signature. More...
 
quint64 decode_Certificate (uchar *field, Certificate_t *certificate)
 decode_Certificate Decode a Certificate. More...
 
quint64 decode_SignerInfo (uchar *field, SignerInfo_t *signerInfo)
 decode_SignerInfo Decode a SignerInfo. More...
 
quint64 decode_EncryptionParameters (uchar *field, EncryptionParameters_t *encParams)
 decode_EncryptionParameters Decode an EncryptionParameters. More...
 
quint64 decode_RecipientInfo (uchar *field, RecipientInfo_t *recipient)
 decode_RecipientInfo Decode a RecipientInfo. More...
 
SecuredHeader_t decode_SecuredHeader (uchar *field)
 decode_SecuredHeader Decode a SecuredHeader. More...
 
SecureTrailer_t decode_SecureTrailer (uchar *field)
 decode_SecureTrailer Decode a SecureTrailer. More...
 

Variables

static IntX_t intx [NSECURE_FIELDS]
 
static ItsAidSsp_t ssp [NSECURE_FIELDS]
 
static TwoDLocation_t twoDLocation [NSECURE_FIELDS]
 
static RectangularRegion_t rectangularRegion [NSECURE_FIELDS]
 
static SubjectAttribute_t subjAttr [NSECURE_FIELDS]
 
static ValidityRestriction_t validityRestriction [NSECURE_FIELDS]
 
static Certificate_t certificate [NSECURE_FIELDS]
 
static HashedId3_t hashedID3 [NSECURE_FIELDS]
 
static RecipientInfo_t recipient [NSECURE_FIELDS]
 
static HeaderField_t headerField [NSECURE_FIELDS]
 
static TrailerField_t trailerField [NSECURE_FIELDS]
 
static int cptIntX
 
static int cptSsp
 
static int cptTwoDLocation
 
static int cptRectangularRegion
 
static int cptSubjectAttr
 
static int cptValidityRestriction
 
static int cptCertificate
 
static int cptRecipients
 
static int cptRequest
 
static int cptHeaderField
 
static int cptTrailerField
 

Function Documentation

◆ decode_Certificate()

quint64 decode_Certificate ( uchar *  field,
Certificate_t certificate 
)

decode_Certificate Decode a Certificate.

Parameters
fieldThe encoded Certificate.
certificateThe decoded Certificate.
Returns
The number of read bytes.

Definition at line 527 of file decodeSecurity.cpp.

References ASN_SEQUENCE_ADD, certificate, cptSubjectAttr, cptValidityRestriction, decode_Signature(), decode_SignerInfo(), decode_SubjectAttribute(), decode_SubjectInfo(), decode_ValidityRestriction(), extractINTX(), Certificate::signature_certificate, Certificate::signer_info_certificate, subjAttr, Certificate::subject_attributes, Certificate::subject_info, Certificate::validity_restrictions, validityRestriction, and Certificate::version.

Referenced by decode_SignerInfo(), GeoNet::getSecuredPayload(), help(), and SecurityManager::SecurityManager().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_CircularRegion()

quint64 decode_CircularRegion ( uchar *  field,
CircularRegion_t region 
)

decode_CircularRegion Decode a CircularRegion.

Parameters
fieldThe encoded CircularRegion.
regionThe decoded CircularRegion.
Returns
The number of read bytes.

Definition at line 351 of file decodeSecurity.cpp.

References CircularRegion::center, decode_TwoDLocation(), decode_UINT16(), and CircularRegion::radius.

Referenced by decode_GeographicRegion().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_Duration()

quint64 decode_Duration ( uchar *  field,
Duration_t duration 
)

decode_Duration Decode a Duration.

Parameters
fieldThe encoded Duration.
durationThe decoded Duration.
Returns
The number of read bytes.

Definition at line 101 of file decodeSecurity.cpp.

References decode_UINT16().

Referenced by decode_ValidityRestriction().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_EccPoint()

quint64 decode_EccPoint ( uchar *  field,
EccPoint_t point 
)

◆ decode_EcdsaSignature()

quint64 decode_EcdsaSignature ( uchar *  field,
EcdsaSignature_t ecdsa 
)

decode_EcdsaSignature Decode a EcdsaSignature.

Parameters
fieldThe encoded EcdsaSignature.
ecdsaThe decoded EcdsaSignature.
Returns
The number of read bytes.

Definition at line 497 of file decodeSecurity.cpp.

References decode_EccPoint(), decode_Opaque(), EcdsaSignature::r, and EcdsaSignature::s.

Referenced by decode_Signature().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_EciesEncryptedKey()

quint64 decode_EciesEncryptedKey ( uchar *  field,
EciesEncryptedKey_t ecies 
)

decode_EciesEncryptedKey Decode an EciesEncryptedKey.

Parameters
fieldThe encoded EciesEncryptedKey.
eciesThe decoded EciesEncryptedKey.
Returns
The number of read bytes.

Definition at line 174 of file decodeSecurity.cpp.

References EciesEncryptedKey::c, decode_EccPoint(), decode_Opaque(), EciesEncryptedKey::t, and EciesEncryptedKey::v.

Referenced by decode_RecipientInfo().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_EncryptionParameters()

◆ decode_GeographicRegion()

quint64 decode_GeographicRegion ( uchar *  field,
GeographicRegion_t region 
)

decode_GeographicRegion Decode a GeographicRegion.

Parameters
fieldThe encoded GeographicRegion.
regionThe decoded GeographicRegion.
Returns
The number of read bytes.

Definition at line 408 of file decodeSecurity.cpp.

References ASN_SEQUENCE_ADD, GeographicRegion::geographic_region::choice, GeographicRegion::geographic_region::GeographicRegion__geographic_region_u::circle, GeographicRegion::geographic_region::GeographicRegion__geographic_region_u::circle::circular_region, cptRectangularRegion, decode_CircularRegion(), decode_IdentifiedRegion(), decode_Opaque(), decode_PolygonalRegion(), decode_RectangularRegion(), extractINTX(), GeographicRegion::geographic_region, geographic_region_PR_circle, geographic_region_PR_id, geographic_region_PR_none, geographic_region_PR_polygon, geographic_region_PR_rectangle, geographic_region_PR_unknown_geographic_region, GeographicRegion::geographic_region::GeographicRegion__geographic_region_u::id, GeographicRegion::geographic_region::GeographicRegion__geographic_region_u::id::id_region, GeographicRegion::geographic_region::GeographicRegion__geographic_region_u::unknown_geographic_region::other_region, GeographicRegion::geographic_region::GeographicRegion__geographic_region_u::polygon, GeographicRegion::geographic_region::GeographicRegion__geographic_region_u::polygon::polygonal_region, GeographicRegion::geographic_region::present, GeographicRegion::geographic_region::GeographicRegion__geographic_region_u::rectangle, GeographicRegion::geographic_region::GeographicRegion__geographic_region_u::rectangle::rectangular_region, rectangularRegion, GeographicRegion::region_type, RegionType_circle, RegionType_id, RegionType_none, RegionType_polygon, RegionType_rectangle, and GeographicRegion::geographic_region::GeographicRegion__geographic_region_u::unknown_geographic_region.

Referenced by decode_ValidityRestriction().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_HashedId()

quint64 decode_HashedId ( uchar *  field,
OCTET_STRING_t hash,
int  length 
)

decode_HashedId Decode an HashedId.

Parameters
fieldThe encoded HashedId.
hashThe decoded HashedId.
lengthLength of the HashedId.
Returns
The number of read bytes.

Definition at line 106 of file decodeSecurity.cpp.

References OCTET_STRING::buf, and OCTET_STRING::size.

Referenced by decode_HashedId3(), and decode_HashedId8().

Here is the caller graph for this function:

◆ decode_HashedId3()

quint64 decode_HashedId3 ( uchar *  field,
HashedId3_t hash 
)

decode_HashedId3 Decode an HashedId3.

Parameters
fieldThe encoded HashedId3.
hashThe decoded HashedId3.
Returns
The number of read bytes.

Definition at line 122 of file decodeSecurity.cpp.

References decode_HashedId().

Referenced by decode_SecuredHeader().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_HashedId8()

quint64 decode_HashedId8 ( uchar *  field,
HashedId8_t hash 
)

decode_HashedId8 Decode an HashedId8.

Parameters
fieldThe encoded HashedId8.
hashThe decoded HashedId8.
Returns
The number of read bytes.

Definition at line 117 of file decodeSecurity.cpp.

References decode_HashedId().

Referenced by decode_RecipientInfo(), and decode_SignerInfo().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_IdentifiedRegion()

quint64 decode_IdentifiedRegion ( uchar *  field,
IdentifiedRegion_t id 
)

decode_IdentifiedRegion Decode a IdentifiedRegion.

Parameters
fieldThe encoded IdentifiedRegion.
idThe decoded IdentifiedRegion.
Returns
The number of read bytes.

Definition at line 395 of file decodeSecurity.cpp.

References decode_UINT16(), extractINTX(), and IdentifiedRegion::region_identifier.

Referenced by decode_GeographicRegion().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_INT32()

quint64 decode_INT32 ( uchar *  field,
INT32_t int32 
)

decode_INT32 Decode an Int32.

Parameters
fieldThe encoded Int32.
int32The decoded Int32.
Returns
The number of read bytes.

Definition at line 78 of file decodeSecurity.cpp.

Referenced by decode_ThreeDLocation(), and decode_TwoDLocation().

Here is the caller graph for this function:

◆ decode_ItsAidSsp()

quint64 decode_ItsAidSsp ( uchar *  field,
ItsAidSsp_t ssp 
)

decode_ItsAidSsp Decode an ItsAidSsp.

Parameters
fieldThe encoded ItsAidSsp.
sspThe decoded ItsAidSsp.
Returns
The number of read bytes.

Definition at line 216 of file decodeSecurity.cpp.

References decode_Opaque(), extractINTX(), ItsAidSsp::its_aid_ssp, ItsAidSsp::service_specific_permissions, and ssp.

Referenced by decode_SubjectAttribute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_Opaque()

quint64 decode_Opaque ( uchar *  field,
Opaque_t opaque,
int  length = 0 
)

decode_Opaque Decode an Opaque.

Parameters
fieldThe encoded Opaque.
opaqueThe decoded Opaque.
lengthIs the length none?
Returns
The number of read bytes.

Definition at line 127 of file decodeSecurity.cpp.

References OCTET_STRING::buf, extractINTX(), Opaque::length, OCTET_STRING::size, and Opaque::value.

Referenced by decode_EccPoint(), decode_EcdsaSignature(), decode_EciesEncryptedKey(), decode_EncryptionParameters(), decode_GeographicRegion(), decode_ItsAidSsp(), decode_PublicKey(), decode_RecipientInfo(), decode_SecuredHeader(), decode_SecureTrailer(), decode_Signature(), decode_SignerInfo(), decode_SubjectAssurance(), decode_SubjectAttribute(), decode_SubjectInfo(), decode_ThreeDLocation(), and decode_ValidityRestriction().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_PolygonalRegion()

quint64 decode_PolygonalRegion ( uchar *  field,
PolygonalRegion_t polygon 
)

decode_PolygonalRegion Decode a PolygonalRegion.

Parameters
fieldThe encoded PolygonalRegion.
polygonThe decoded PolygonalRegion.
Returns
The number of read bytes.

Definition at line 371 of file decodeSecurity.cpp.

References ASN_SEQUENCE_ADD, cptTwoDLocation, decode_TwoDLocation(), extractINTX(), and twoDLocation.

Referenced by decode_GeographicRegion().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_PublicKey()

quint64 decode_PublicKey ( uchar *  field,
PublicKey_t key 
)

◆ decode_RecipientInfo()

quint64 decode_RecipientInfo ( uchar *  field,
RecipientInfo_t recipient 
)

◆ decode_RectangularRegion()

quint64 decode_RectangularRegion ( uchar *  field,
RectangularRegion_t region 
)

decode_RectangularRegion Decode a RectangularRegion.

Parameters
fieldThe encoded RectangularRegion.
regionThe decoded RectangularRegion.
Returns
The number of read bytes.

Definition at line 361 of file decodeSecurity.cpp.

References decode_TwoDLocation(), RectangularRegion::northwest, and RectangularRegion::southeast.

Referenced by decode_GeographicRegion().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_SecuredHeader()

SecuredHeader_t decode_SecuredHeader ( uchar *  field)

decode_SecuredHeader Decode a SecuredHeader.

Parameters
fieldThe encoded SecuredHeader.
Returns
The decoded SecuredHeader.

Definition at line 673 of file decodeSecurity.cpp.

References ASN_SEQUENCE_ADD, HeaderField::header_field::choice, cptHeaderField, cptRecipients, cptRequest, decode_EncryptionParameters(), decode_HashedId3(), decode_Opaque(), decode_RecipientInfo(), decode_SignerInfo(), decode_ThreeDLocation(), decode_Time32(), decode_Time64(), decode_Time64WithStandardDeviation(), HeaderField::header_field::HeaderField__header_field_u::request_unrecognized_certificate::digests, extractINTX(), hashedID3, HeaderField::header_field, header_field_PR_encryption_parameters_header_field, header_field_PR_expiration, header_field_PR_generation_location, header_field_PR_generation_time, header_field_PR_generation_time_with_standard_deviation, header_field_PR_its_aid_header_field, header_field_PR_recipient_info_header_field, header_field_PR_request_unrecognized_certificate, header_field_PR_signer_info_header_field, header_field_PR_unknown_header_field, SecuredHeader::header_fields, headerField, HeaderFieldType_encryption_parameters, HeaderFieldType_expiration, HeaderFieldType_generation_location, HeaderFieldType_generation_time, HeaderFieldType_generation_time_with_standard_deviation, HeaderFieldType_its_aid, HeaderFieldType_recipient_info, HeaderFieldType_request_unrecognized_certificate, HeaderFieldType_signer_info, HeaderField::header_field::HeaderField__header_field_u::its_aid_header_field, HeaderField::header_field::HeaderField__header_field_u::its_aid_header_field::its_aid_value, HeaderField::header_field::present, SecuredHeader::protocol_version, recipient, HeaderField::header_field::HeaderField__header_field_u::recipient_info_header_field, HeaderField::header_field::HeaderField__header_field_u::recipient_info_header_field::recipients, HeaderField::header_field::HeaderField__header_field_u::request_unrecognized_certificate, SecuredHeader::secured_header_length, SecuredHeader::type, ValidityRestriction::type, and HeaderField::type.

Here is the call graph for this function:

◆ decode_SecureTrailer()

SecureTrailer_t decode_SecureTrailer ( uchar *  field)

decode_SecureTrailer Decode a SecureTrailer.

Parameters
fieldThe encoded SecureTrailer.
Returns
The decoded SecureTrailer.

Definition at line 788 of file decodeSecurity.cpp.

References ASN_SEQUENCE_ADD, cptTrailerField, decode_Opaque(), decode_Signature(), extractINTX(), TrailerField::trailer_field::present, SecureTrailer::secured_trailer_length, TrailerField::trailer_field, trailer_field_PR_signature_trailer_field, trailer_field_PR_unknown_trailer_field, SecureTrailer::trailer_fields, trailerField, TrailerFieldType_signature, TrailerField::type, and ValidityRestriction::type.

Here is the call graph for this function:

◆ decode_Signature()

quint64 decode_Signature ( uchar *  field,
Signature_t signature 
)

decode_Signature Decode a Signature.

Parameters
fieldThe encoded Signature.
signatureThe decoded Signature.
Returns
The number of read bytes.

Definition at line 507 of file decodeSecurity.cpp.

References Signature::algorithm, Signature::sign::choice, decode_EcdsaSignature(), decode_Opaque(), Signature::sign::Signature__sign_u::ecdsa_nistp256_with_sha256_signature, Signature::sign::Signature__sign_u::ecdsa_nistp256_with_sha256_signature::ecdsa_signature, Signature::sign::present, PublicKeyAlgorithm_ecdsa_nistp256_with_sha256, Signature::sign, sign_PR_ecdsa_nistp256_with_sha256_signature, sign_PR_unknown_signature, Signature::sign::Signature__sign_u::unknown_signature::signature, and Signature::sign::Signature__sign_u::unknown_signature.

Referenced by decode_Certificate(), and decode_SecureTrailer().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_SignerInfo()

quint64 decode_SignerInfo ( uchar *  field,
SignerInfo_t signerInfo 
)

decode_SignerInfo Decode a SignerInfo.

Parameters
fieldThe encoded SignerInfo.
signerInfoThe decoded SignerInfo.
Returns
The number of read bytes.

Definition at line 576 of file decodeSecurity.cpp.

References SignerInfo::signer_info::SignerInfo__signer_info_u::certificate_digest_with_other_algorithm::algorithm, ASN_SEQUENCE_ADD, SignerInfo::signer_info::SignerInfo__signer_info_u::certificate::certif, certificate, SignerInfo::signer_info::SignerInfo__signer_info_u::certificate, SignerInfo::signer_info::SignerInfo__signer_info_u::certificate_chain, SignerInfo::signer_info::SignerInfo__signer_info_u::certificate_digest_with_other_algorithm, SignerInfo::signer_info::SignerInfo__signer_info_u::certificate_digest_with_sha256, SignerInfo::signer_info::SignerInfo__signer_info_u::certificate_chain::certificates, SignerInfo::signer_info::choice, cptCertificate, decode_Certificate(), decode_HashedId8(), decode_Opaque(), SignerInfo::signer_info::SignerInfo__signer_info_u::certificate_digest_with_sha256::digest, SignerInfo::signer_info::SignerInfo__signer_info_u::certificate_digest_with_other_algorithm::digest, extractINTX(), SignerInfo::signer_info::SignerInfo__signer_info_u::unknown_signer_info::info, SignerInfo::signer_info::present, SignerInfo::signer_info, signer_info_PR_certificate, signer_info_PR_certificate_chain, signer_info_PR_certificate_digest_with_other_algorithm, signer_info_PR_certificate_digest_with_sha256, signer_info_PR_self, signer_info_PR_unknown_signer_info, SignerInfoType_certificate, SignerInfoType_certificate_chain, SignerInfoType_certificate_digest_with_other_algorithm, SignerInfoType_certificate_digest_with_sha256, SignerInfoType_self, SignerInfo::type, and SignerInfo::signer_info::SignerInfo__signer_info_u::unknown_signer_info.

Referenced by decode_Certificate(), and decode_SecuredHeader().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_SubjectAssurance()

quint64 decode_SubjectAssurance ( uchar *  field,
SubjectAssurance_t subject 
)

decode_SubjectAssurance Decode a SubjectAssurance.

Parameters
fieldThe encoded SubjectAssurance.
subjectThe decoded SubjectAssurance.
Returns
The number of read bytes.

Definition at line 252 of file decodeSecurity.cpp.

References decode_Opaque().

Referenced by decode_SubjectAttribute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_SubjectAttribute()

quint64 decode_SubjectAttribute ( uchar *  field,
SubjectAttribute_t subject 
)

decode_SubjectAttribute Decode a SubjectAttribute.

Parameters
fieldThe encoded SubjectAttribute.
subjectThe decoded SubjectAttribute.
Returns
The number of read bytes.

Definition at line 261 of file decodeSecurity.cpp.

References ASN_SEQUENCE_ADD, SubjectAttribute::subject_attribute::SubjectAttribute__subject_attribute_u::assurance_level::assurance, SubjectAttribute::subject_attribute::SubjectAttribute__subject_attribute_u::assurance_level, SubjectAttribute::subject_attribute::choice, cptIntX, cptSsp, decode_EccPoint(), decode_ItsAidSsp(), decode_Opaque(), decode_PublicKey(), decode_SubjectAssurance(), SubjectAttribute::subject_attribute::SubjectAttribute__subject_attribute_u::encryption_key, extractINTX(), intx, SubjectAttribute::subject_attribute::SubjectAttribute__subject_attribute_u::its_aid_list::its_aid, SubjectAttribute::subject_attribute::SubjectAttribute__subject_attribute_u::its_aid_list, SubjectAttribute::subject_attribute::SubjectAttribute__subject_attribute_u::its_aid_ssp_list::its_aid_ssp, SubjectAttribute::subject_attribute::SubjectAttribute__subject_attribute_u::its_aid_ssp_list, SubjectAttribute::subject_attribute::SubjectAttribute__subject_attribute_u::verification_key::key, SubjectAttribute::subject_attribute::SubjectAttribute__subject_attribute_u::encryption_key::key, SubjectAttribute::subject_attribute::SubjectAttribute__subject_attribute_u::unknown_subject_attribute::other_attribute, SubjectAttribute::subject_attribute::present, SubjectAttribute::subject_attribute::SubjectAttribute__subject_attribute_u::recontruction_value, SubjectAttribute::subject_attribute::SubjectAttribute__subject_attribute_u::recontruction_value::rv, ssp, SubjectAttribute::subject_attribute, subject_attribute_PR_assurance_level, subject_attribute_PR_encryption_key, subject_attribute_PR_its_aid_list, subject_attribute_PR_its_aid_ssp_list, subject_attribute_PR_recontruction_value, subject_attribute_PR_unknown_subject_attribute, subject_attribute_PR_verification_key, SubjectAttributeType_assurance_level, SubjectAttributeType_encryption_key, SubjectAttributeType_its_aid_list, SubjectAttributeType_its_aid_ssp_list, SubjectAttributeType_reconstruction_value, SubjectAttributeType_verification_key, SubjectAttribute::type, SubjectAttribute::subject_attribute::SubjectAttribute__subject_attribute_u::unknown_subject_attribute, and SubjectAttribute::subject_attribute::SubjectAttribute__subject_attribute_u::verification_key.

Referenced by decode_Certificate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_SubjectInfo()

quint64 decode_SubjectInfo ( uchar *  field,
SubjectInfo_t info 
)

decode_SubjectInfo Decode a SubjectInfo.

Parameters
fieldThe encoded SubjectInfo.
infoThe decoded SubjectInfo.
Returns
The number of read bytes.

Definition at line 206 of file decodeSecurity.cpp.

References decode_Opaque(), SubjectInfo::subject_name, and SubjectInfo::subject_type.

Referenced by decode_Certificate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_ThreeDLocation()

quint64 decode_ThreeDLocation ( uchar *  field,
ThreeDLocation_t location 
)

decode_ThreeDLocation Decode a ThreeDLocation.

Parameters
fieldThe encoded ThreeDLocation.
locationThe decoded ThreeDLocation.
Returns
The number of read bytes.

Definition at line 195 of file decodeSecurity.cpp.

References decode_INT32(), decode_Opaque(), ThreeDLocation::elevation, ThreeDLocation::latitude, and ThreeDLocation::longitude.

Referenced by decode_SecuredHeader().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_Time32()

quint64 decode_Time32 ( uchar *  field,
Time32_t time 
)

decode_Time32 Decode a Time32.

Parameters
fieldThe encoded Time32.
timeThe decoded Time32
Returns
The number of read bytes.

Definition at line 64 of file decodeSecurity.cpp.

Referenced by decode_SecuredHeader(), and decode_ValidityRestriction().

Here is the caller graph for this function:

◆ decode_Time64()

quint64 decode_Time64 ( uchar *  field,
Time64_t time 
)

decode_Time64 Decode a Time64.

Parameters
fieldThe encoded Time64.
timeThe decoded Time64
Returns
The number of read bytes.

Definition at line 53 of file decodeSecurity.cpp.

References OCTET_STRING::buf, and OCTET_STRING::size.

Referenced by decode_SecuredHeader(), and decode_Time64WithStandardDeviation().

Here is the caller graph for this function:

◆ decode_Time64WithStandardDeviation()

quint64 decode_Time64WithStandardDeviation ( uchar *  field,
Time64WithStandardDeviation_t time 
)

decode_Time64WithStandardDeviation Decode a Time64WithStandardDeviation.

Parameters
fieldThe encoded Time64WithStandardDeviation.
timeThe decoded Time64WithStandardDeviation.
Returns
The number of read bytes.

Definition at line 185 of file decodeSecurity.cpp.

References decode_Time64(), Time64WithStandardDeviation::log_std_dev, and Time64WithStandardDeviation::time.

Referenced by decode_SecuredHeader().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_TwoDLocation()

quint64 decode_TwoDLocation ( uchar *  field,
TwoDLocation_t location 
)

decode_TwoDLocation Decode a TwoDLocation.

Parameters
fieldThe encoded TwoDLocation.
locationThe decoded TwoDLocation.
Returns
The number of read bytes.

Definition at line 341 of file decodeSecurity.cpp.

References decode_INT32(), TwoDLocation::latitude, and TwoDLocation::longitude.

Referenced by decode_CircularRegion(), decode_PolygonalRegion(), and decode_RectangularRegion().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ decode_UINT16()

quint64 decode_UINT16 ( uchar *  field,
UINT16_t uint16 
)

decode_UINT16 Decode an UINT16.

Parameters
fieldThe encoded UINT16.
UINT16The decoded UINT16.
Returns
The number of read bytes.

Definition at line 92 of file decodeSecurity.cpp.

Referenced by decode_CircularRegion(), decode_Duration(), and decode_IdentifiedRegion().

Here is the caller graph for this function:

◆ decode_ValidityRestriction()

quint64 decode_ValidityRestriction ( uchar *  field,
ValidityRestriction_t validityRestriction 
)

decode_ValidityRestriction Decode a ValidityRestriction.

Parameters
fieldThe encoded ValidityRestriction.
validityRestrictionThe decoded ValidityRestriction.
Returns
The number of read bytes.

Definition at line 463 of file decodeSecurity.cpp.

References ValidityRestriction::validity_restriction::choice, ValidityRestriction::validity_restriction::ValidityRestriction__validity_restriction_u::unknown_validity_restriction::data, decode_Duration(), decode_GeographicRegion(), decode_Opaque(), decode_Time32(), ValidityRestriction::validity_restriction::ValidityRestriction__validity_restriction_u::time_start_and_duration::duration, ValidityRestriction::validity_restriction::ValidityRestriction__validity_restriction_u::time_end::end_validity, ValidityRestriction::validity_restriction::ValidityRestriction__validity_restriction_u::time_start_and_end::end_validity, ValidityRestriction::validity_restriction::ValidityRestriction__validity_restriction_u::region::geographic_region, ValidityRestriction::validity_restriction::present, ValidityRestriction::validity_restriction::ValidityRestriction__validity_restriction_u::region, ValidityRestriction::validity_restriction::ValidityRestriction__validity_restriction_u::time_start_and_end::start_validity, ValidityRestriction::validity_restriction::ValidityRestriction__validity_restriction_u::time_start_and_duration::start_validity, ValidityRestriction::validity_restriction::ValidityRestriction__validity_restriction_u::time_end, ValidityRestriction::validity_restriction::ValidityRestriction__validity_restriction_u::time_start_and_duration, ValidityRestriction::validity_restriction::ValidityRestriction__validity_restriction_u::time_start_and_end, ValidityRestriction::type, ValidityRestriction::validity_restriction::ValidityRestriction__validity_restriction_u::unknown_validity_restriction, ValidityRestriction::validity_restriction, validity_restriction_PR_region, validity_restriction_PR_time_end, validity_restriction_PR_time_start_and_duration, validity_restriction_PR_time_start_and_end, validity_restriction_PR_unknown_validity_restriction, validityRestriction, ValidityRestrictionType_region, ValidityRestrictionType_time_end, ValidityRestrictionType_time_start_and_duration, and ValidityRestrictionType_time_start_and_end.

Referenced by decode_Certificate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ extractINTX()

quint64 extractINTX ( uchar *  packet,
int *  n 
)

extractINTX Decode an IntX.

Parameters
packetThe encoded IntX.
nThe number of bytes used.
Returns
The decoded IntX.

Definition at line 35 of file decodeSecurity.cpp.

References nbX().

Referenced by decode_Certificate(), decode_GeographicRegion(), decode_IdentifiedRegion(), decode_ItsAidSsp(), decode_Opaque(), decode_PolygonalRegion(), decode_SecuredHeader(), decode_SecureTrailer(), decode_SignerInfo(), and decode_SubjectAttribute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ nbX()

int nbX ( uchar  v,
quint64 *  ret 
)

nbX Count the number of bytes used by the IntX.

Parameters
vThe first byte.
retThe first byte value.
Returns
The number of bytes used by the IntX.

Definition at line 20 of file decodeSecurity.cpp.

Referenced by extractINTX().

Here is the caller graph for this function:

Variable Documentation

◆ certificate

◆ cptCertificate

int cptCertificate
static

Definition at line 17 of file decodeSecurity.cpp.

Referenced by decode_SignerInfo().

◆ cptHeaderField

int cptHeaderField
static

Definition at line 17 of file decodeSecurity.cpp.

Referenced by decode_SecuredHeader().

◆ cptIntX

int cptIntX
static

Definition at line 17 of file decodeSecurity.cpp.

Referenced by decode_SubjectAttribute().

◆ cptRecipients

int cptRecipients
static

Definition at line 17 of file decodeSecurity.cpp.

Referenced by decode_SecuredHeader().

◆ cptRectangularRegion

int cptRectangularRegion
static

Definition at line 17 of file decodeSecurity.cpp.

Referenced by decode_GeographicRegion().

◆ cptRequest

int cptRequest
static

Definition at line 17 of file decodeSecurity.cpp.

Referenced by decode_SecuredHeader().

◆ cptSsp

int cptSsp
static

Definition at line 17 of file decodeSecurity.cpp.

Referenced by decode_SubjectAttribute().

◆ cptSubjectAttr

int cptSubjectAttr
static

Definition at line 17 of file decodeSecurity.cpp.

Referenced by decode_Certificate().

◆ cptTrailerField

int cptTrailerField
static

Definition at line 17 of file decodeSecurity.cpp.

Referenced by decode_SecureTrailer().

◆ cptTwoDLocation

int cptTwoDLocation
static

Definition at line 17 of file decodeSecurity.cpp.

Referenced by decode_PolygonalRegion().

◆ cptValidityRestriction

int cptValidityRestriction
static

Definition at line 17 of file decodeSecurity.cpp.

Referenced by decode_Certificate().

◆ hashedID3

HashedId3_t hashedID3[NSECURE_FIELDS]
static

Definition at line 12 of file decodeSecurity.cpp.

Referenced by decode_SecuredHeader().

◆ headerField

HeaderField_t headerField[NSECURE_FIELDS]
static

Definition at line 14 of file decodeSecurity.cpp.

Referenced by decode_SecuredHeader().

◆ intx

IntX_t intx[NSECURE_FIELDS]
static

Definition at line 5 of file decodeSecurity.cpp.

Referenced by decode_SubjectAttribute(), and encode_INTX().

◆ recipient

◆ rectangularRegion

RectangularRegion_t rectangularRegion[NSECURE_FIELDS]
static

Definition at line 8 of file decodeSecurity.cpp.

Referenced by decode_GeographicRegion(), and encode_GeographicRegion().

◆ ssp

◆ subjAttr

Definition at line 9 of file decodeSecurity.cpp.

Referenced by decode_Certificate().

◆ trailerField

TrailerField_t trailerField[NSECURE_FIELDS]
static

Definition at line 15 of file decodeSecurity.cpp.

Referenced by decode_SecureTrailer().

◆ twoDLocation

TwoDLocation_t twoDLocation[NSECURE_FIELDS]
static

Definition at line 7 of file decodeSecurity.cpp.

Referenced by decode_PolygonalRegion().

◆ validityRestriction