diff --git a/certgen/CERT_IUT_C1_AT.xml b/certgen/CERT_IUT_C1_AT.xml
deleted file mode 100644
index b568a19193b54fef3b24d1bc7886c6dbf7bd6623..0000000000000000000000000000000000000000
--- a/certgen/CERT_IUT_C1_AT.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-
- 3
-
-
-
-
-
-
-
-
-
-
-
- >
-
-
-
-
-
-
-
-
- 01 FF FC
- 01 FF FF FF
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/certgen/asn1certgen.xslt b/certgen/asn1certgen.xslt
index dbfc34192c175bf93810cee835f37d64508f7784..c18b3336c06b7a5b2421e9a492f4ec8ec6dd2417 100644
--- a/certgen/asn1certgen.xslt
+++ b/certgen/asn1certgen.xslt
@@ -11,10 +11,10 @@
xmlns:date="http://exslt.org/dates-and-times"
extension-element-prefixes="date"
>
-
-
-
-
+
+
+
+
+
+
@@ -228,6 +278,8 @@
02 FF FF E0
01
01
+ 01
+ 01
01 FE
@@ -257,6 +309,8 @@
FF 00 00 1F
FF
FF
+ FF
+ FF
FF 01
@@ -269,6 +323,10 @@
+
+
+
+
@@ -296,7 +357,7 @@
-
+
@@ -315,6 +376,8 @@
+
+
@@ -609,9 +672,16 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -637,6 +707,9 @@
+
+
@@ -729,7 +802,6 @@
-
diff --git a/certgen/asncodec.vcxproj b/certgen/asncodec.vcxproj
index 2d4e2c91d25ed520f685d80fc4f91769fa36ab36..bd385eae0ecc2bfabbb2f5616670d2297f71d317 100644
--- a/certgen/asncodec.vcxproj
+++ b/certgen/asncodec.vcxproj
@@ -19,13 +19,243 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
@@ -38,7 +268,6 @@
-
@@ -79,7 +308,6 @@
-
@@ -89,7 +317,6 @@
-
@@ -156,10 +383,6 @@
-
-
-
-
@@ -194,7 +417,6 @@
-
@@ -231,14 +453,37 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
@@ -252,63 +497,123 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
@@ -316,23 +621,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -341,32 +677,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
@@ -375,14 +727,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -393,13 +785,20 @@
+
+
+
+
+
-
+
+
+
@@ -407,32 +806,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{D5918B85-FA45-4F75-9B50-C2D39FA45A17}
@@ -444,26 +861,26 @@
StaticLibrary
true
- v142
+ v143
MultiByte
StaticLibrary
true
- v142
+ v143
MultiByte
StaticLibrary
false
- v142
+ v143
true
MultiByte
StaticLibrary
false
- v142
+ v143
true
MultiByte
diff --git a/certgen/asncodec/ANY.c b/certgen/asncodec/ANY.c
new file mode 100644
index 0000000000000000000000000000000000000000..bf988dbda05981bf344587f614e079516f84cc6a
--- /dev/null
+++ b/certgen/asncodec/ANY.c
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2004-2017 Lev Walkin . All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#include
+#include
+
+asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs = {
+ sizeof(ANY_t),
+ offsetof(ANY_t, _asn_ctx),
+ ASN_OSUBV_ANY
+};
+asn_TYPE_operation_t asn_OP_ANY = {
+ OCTET_STRING_free,
+#if !defined(ASN_DISABLE_PRINT_SUPPORT)
+ OCTET_STRING_print,
+#else
+ 0,
+#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */
+ OCTET_STRING_compare,
+#if !defined(ASN_DISABLE_BER_SUPPORT)
+ OCTET_STRING_decode_ber,
+ OCTET_STRING_encode_der,
+#else
+ 0,
+ 0,
+#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */
+#if !defined(ASN_DISABLE_XER_SUPPORT)
+ OCTET_STRING_decode_xer_hex,
+ ANY_encode_xer,
+#else
+ 0,
+ 0,
+#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */
+#if !defined(ASN_DISABLE_JER_SUPPORT)
+ ANY_encode_jer,
+#else
+ 0,
+#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+ 0,
+#else
+ 0,
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT)
+ ANY_decode_uper,
+ ANY_encode_uper,
+#else
+ 0,
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */
+#if !defined(ASN_DISABLE_APER_SUPPORT)
+ ANY_decode_aper,
+ ANY_encode_aper,
+#else
+ 0,
+ 0,
+#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0, /* Random fill is not defined for ANY type */
+ 0 /* Use generic outmost tag fetcher */
+};
+asn_TYPE_descriptor_t asn_DEF_ANY = {
+ "ANY",
+ "ANY",
+ &asn_OP_ANY,
+ 0, 0, 0, 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ asn_generic_no_constraint
+ }, /* No constraints */
+ 0, 0, /* No members */
+ &asn_SPC_ANY_specs,
+};
diff --git a/certgen/asncodec/ANY.h b/certgen/asncodec/ANY.h
new file mode 100644
index 0000000000000000000000000000000000000000..871ed5ed393585c1d2f816c0341044f789f36897
--- /dev/null
+++ b/certgen/asncodec/ANY.h
@@ -0,0 +1,84 @@
+/*-
+ * Copyright (c) 2004-2017 Lev Walkin . All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef ASN_TYPE_ANY_H
+#define ASN_TYPE_ANY_H
+
+#include /* Implemented via OCTET STRING type */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct ANY {
+ uint8_t *buf; /* BER-encoded ANY contents */
+ int size; /* Size of the above buffer */
+
+ asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */
+} ANY_t;
+
+extern asn_TYPE_descriptor_t asn_DEF_ANY;
+extern asn_TYPE_operation_t asn_OP_ANY;
+extern asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs;
+
+#define ANY_free OCTET_STRING_free
+
+#if !defined(ASN_DISABLE_PRINT_SUPPORT)
+#define ANY_print OCTET_STRING_print
+#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */
+
+#define ANY_compare OCTET_STRING_compare
+
+#define ANY_constraint asn_generic_no_constraint
+
+#if !defined(ASN_DISABLE_BER_SUPPORT)
+#define ANY_decode_ber OCTET_STRING_decode_ber
+#define ANY_encode_der OCTET_STRING_encode_der
+#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */
+
+#if !defined(ASN_DISABLE_XER_SUPPORT)
+#define ANY_decode_xer OCTET_STRING_decode_xer_hex
+xer_type_encoder_f ANY_encode_xer;
+#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */
+
+#if !defined(ASN_DISABLE_JER_SUPPORT)
+jer_type_encoder_f ANY_encode_jer;
+#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
+
+#if !defined(ASN_DISABLE_UPER_SUPPORT)
+per_type_decoder_f ANY_decode_uper;
+per_type_encoder_f ANY_encode_uper;
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */
+#if !defined(ASN_DISABLE_APER_SUPPORT)
+per_type_decoder_f ANY_decode_aper;
+per_type_encoder_f ANY_encode_aper;
+#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */
+
+/******************************
+ * Handy conversion routines. *
+ ******************************/
+
+/* Convert another ASN.1 type into the ANY. This implies DER encoding. */
+int ANY_fromType(ANY_t *, asn_TYPE_descriptor_t *td, void *struct_ptr);
+ANY_t *ANY_new_fromType(asn_TYPE_descriptor_t *td, void *struct_ptr);
+#if !defined(ASN_DISABLE_APER_SUPPORT)
+int ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr);
+ANY_t *ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr);
+#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */
+
+/* Convert the contents of the ANY type into the specified type. */
+int ANY_to_type(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr);
+#if !defined(ASN_DISABLE_APER_SUPPORT)
+int ANY_to_type_aper(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr);
+#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */
+
+#define ANY_fromBuf(s, buf, size) OCTET_STRING_fromBuf((s), (buf), (size))
+#define ANY_new_fromBuf(buf, size) OCTET_STRING_new_fromBuf( \
+ &asn_DEF_ANY, (buf), (size))
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ASN_TYPE_ANY_H */
diff --git a/certgen/asncodec/ANY_xer.c b/certgen/asncodec/ANY_xer.c
new file mode 100644
index 0000000000000000000000000000000000000000..112c213287b13ba70fbb75214f29f6ec11f46c58
--- /dev/null
+++ b/certgen/asncodec/ANY_xer.c
@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2017 Lev Walkin .
+ * All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#include
+#include
+
+asn_enc_rval_t
+ANY_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
+ enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb,
+ void *app_key) {
+ if(flags & XER_F_CANONICAL) {
+ /*
+ * Canonical XER-encoding of ANY type is not supported.
+ */
+ ASN__ENCODE_FAILED;
+ }
+
+ /* Dump as binary */
+ return OCTET_STRING_encode_xer(td, sptr, ilevel, flags, cb, app_key);
+}
diff --git a/certgen/asncodec/AaEntry.c b/certgen/asncodec/AaEntry.c
index 2a00d60da581382dee5a35bdea1009f20bb60875..df15bb647a6426376f8edaf83aecbd79ad56f0ce 100644
--- a/certgen/asncodec/AaEntry.c
+++ b/certgen/asncodec/AaEntry.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941TrustLists"
- * found in "../asn1/EtsiTs102941/EtsiTs102941TrustLists.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941TrustLists.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "AaEntry.h"
@@ -13,7 +13,15 @@ asn_TYPE_member_t asn_MBR_AaEntry_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_EtsiTs103097Certificate,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"aaCertificate"
},
@@ -22,7 +30,15 @@ asn_TYPE_member_t asn_MBR_AaEntry_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_Url,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"accessPoint"
},
@@ -52,7 +68,15 @@ asn_TYPE_descriptor_t asn_DEF_AaEntry = {
asn_DEF_AaEntry_tags_1, /* Same as above */
sizeof(asn_DEF_AaEntry_tags_1)
/sizeof(asn_DEF_AaEntry_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
asn_MBR_AaEntry_1,
2, /* Elements count */
&asn_SPC_AaEntry_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/AaEntry.h b/certgen/asncodec/AaEntry.h
index ab0321a4e70756d2d3ed0a3b1eb76fb8083087be..f30344af85822053c0ba6f08994a1eb5ca920e48 100644
--- a/certgen/asncodec/AaEntry.h
+++ b/certgen/asncodec/AaEntry.h
@@ -1,20 +1,20 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941TrustLists"
- * found in "../asn1/EtsiTs102941/EtsiTs102941TrustLists.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941TrustLists.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
-#ifndef _AaEntry_H_
-#define _AaEntry_H_
-
-
-#include
/* Including external dependencies */
#include "EtsiTs103097Certificate.h"
#include "Url.h"
#include
+#ifndef _AaEntry_H_
+#define _AaEntry_H_
+
+
+#include
#ifdef __cplusplus
extern "C" {
diff --git a/certgen/asncodec/AcaEeCertResponse.c b/certgen/asncodec/AcaEeCertResponse.c
new file mode 100644
index 0000000000000000000000000000000000000000..b3585bd561e74e777829eb9a4ae94443dd69815f
--- /dev/null
+++ b/certgen/asncodec/AcaEeCertResponse.c
@@ -0,0 +1,183 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1AcaEeInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1AcaEeInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcaEeCertResponse.h"
+
+static int
+memb_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value == 2)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_privateKeyInfo_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = st->size;
+
+ if((size == 32)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_version_constr_2 CC_NOTUSED = {
+ { 1, 1 } /* (2..2) */,
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_privateKeyInfo_constr_5 CC_NOTUSED = {
+ { 0, 0 },
+ 32 /* (SIZE(32..32)) */};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+asn_TYPE_member_t asn_MBR_AcaEeCertResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct AcaEeCertResponse, version),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_Uint8,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_version_constr_2,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_version_constraint_1
+ },
+ 0, 0, /* No default value */
+ "version"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AcaEeCertResponse, generationTime),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_Time32,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "generationTime"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AcaEeCertResponse, certificate),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_Certificate,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "certificate"
+ },
+ { ATF_POINTER, 1, offsetof(struct AcaEeCertResponse, privateKeyInfo),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_OCTET_STRING,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_privateKeyInfo_constr_5,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_privateKeyInfo_constraint_1
+ },
+ 0, 0, /* No default value */
+ "privateKeyInfo"
+ },
+};
+static const int asn_MAP_AcaEeCertResponse_oms_1[] = { 3 };
+static const ber_tlv_tag_t asn_DEF_AcaEeCertResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_AcaEeCertResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* version */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* generationTime */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* certificate */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* privateKeyInfo */
+};
+asn_SEQUENCE_specifics_t asn_SPC_AcaEeCertResponse_specs_1 = {
+ sizeof(struct AcaEeCertResponse),
+ offsetof(struct AcaEeCertResponse, _asn_ctx),
+ asn_MAP_AcaEeCertResponse_tag2el_1,
+ 4, /* Count of tags in the map */
+ asn_MAP_AcaEeCertResponse_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 4, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_AcaEeCertResponse = {
+ "AcaEeCertResponse",
+ "AcaEeCertResponse",
+ &asn_OP_SEQUENCE,
+ asn_DEF_AcaEeCertResponse_tags_1,
+ sizeof(asn_DEF_AcaEeCertResponse_tags_1)
+ /sizeof(asn_DEF_AcaEeCertResponse_tags_1[0]), /* 1 */
+ asn_DEF_AcaEeCertResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_AcaEeCertResponse_tags_1)
+ /sizeof(asn_DEF_AcaEeCertResponse_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
+ asn_MBR_AcaEeCertResponse_1,
+ 4, /* Elements count */
+ &asn_SPC_AcaEeCertResponse_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AcaEeCertResponse.h b/certgen/asncodec/AcaEeCertResponse.h
new file mode 100644
index 0000000000000000000000000000000000000000..532d0bad2a31153063c1cf26239f0a0b4436954a
--- /dev/null
+++ b/certgen/asncodec/AcaEeCertResponse.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1AcaEeInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1AcaEeInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "Uint8.h"
+#include "Time32.h"
+#include "Certificate.h"
+#include
+#include
+#ifndef _AcaEeCertResponse_H_
+#define _AcaEeCertResponse_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AcaEeCertResponse */
+typedef struct AcaEeCertResponse {
+ Uint8_t version;
+ Time32_t generationTime;
+ Certificate_t certificate;
+ OCTET_STRING_t *privateKeyInfo; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} AcaEeCertResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcaEeCertResponse;
+extern asn_SEQUENCE_specifics_t asn_SPC_AcaEeCertResponse_specs_1;
+extern asn_TYPE_member_t asn_MBR_AcaEeCertResponse_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcaEeCertResponse_H_ */
+#include
diff --git a/certgen/asncodec/AcaEeCertResponseCubkSpdu.c b/certgen/asncodec/AcaEeCertResponseCubkSpdu.c
new file mode 100644
index 0000000000000000000000000000000000000000..305efa8df2fbac44663bec5cacb80641e08707aa
--- /dev/null
+++ b/certgen/asncodec/AcaEeCertResponseCubkSpdu.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcaEeCertResponseCubkSpdu.h"
+
+int
+AcaEeCertResponseCubkSpdu_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using Ieee1609Dot2Data_Encrypted_276P0,
+ * so here we adjust the DEF accordingly.
+ */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_AcaEeCertResponseCubkSpdu_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static const ber_tlv_tag_t asn_DEF_AcaEeCertResponseCubkSpdu_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AcaEeCertResponseCubkSpdu = {
+ "AcaEeCertResponseCubkSpdu",
+ "AcaEeCertResponseCubkSpdu",
+ &asn_OP_SEQUENCE,
+ asn_DEF_AcaEeCertResponseCubkSpdu_tags_1,
+ sizeof(asn_DEF_AcaEeCertResponseCubkSpdu_tags_1)
+ /sizeof(asn_DEF_AcaEeCertResponseCubkSpdu_tags_1[0]), /* 1 */
+ asn_DEF_AcaEeCertResponseCubkSpdu_tags_1, /* Same as above */
+ sizeof(asn_DEF_AcaEeCertResponseCubkSpdu_tags_1)
+ /sizeof(asn_DEF_AcaEeCertResponseCubkSpdu_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AcaEeCertResponseCubkSpdu_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ AcaEeCertResponseCubkSpdu_constraint
+ },
+ asn_MBR_Ieee1609Dot2Data_1,
+ 2, /* Elements count */
+ &asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AcaEeCertResponseCubkSpdu.h b/certgen/asncodec/AcaEeCertResponseCubkSpdu.h
new file mode 100644
index 0000000000000000000000000000000000000000..b34b1292fe94f4eb245560f009c9edd880a7a025
--- /dev/null
+++ b/certgen/asncodec/AcaEeCertResponseCubkSpdu.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "Ieee1609Dot2Data-Encrypted.h"
+#ifndef _AcaEeCertResponseCubkSpdu_H_
+#define _AcaEeCertResponseCubkSpdu_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AcaEeCertResponseCubkSpdu */
+typedef Ieee1609Dot2Data_Encrypted_276P0_t AcaEeCertResponseCubkSpdu_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcaEeCertResponseCubkSpdu;
+asn_struct_free_f AcaEeCertResponseCubkSpdu_free;
+asn_struct_print_f AcaEeCertResponseCubkSpdu_print;
+asn_constr_check_f AcaEeCertResponseCubkSpdu_constraint;
+xer_type_decoder_f AcaEeCertResponseCubkSpdu_decode_xer;
+xer_type_encoder_f AcaEeCertResponseCubkSpdu_encode_xer;
+oer_type_decoder_f AcaEeCertResponseCubkSpdu_decode_oer;
+oer_type_encoder_f AcaEeCertResponseCubkSpdu_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcaEeCertResponseCubkSpdu_H_ */
+#include
diff --git a/certgen/asncodec/AcaEeCertResponsePlainSpdu.c b/certgen/asncodec/AcaEeCertResponsePlainSpdu.c
new file mode 100644
index 0000000000000000000000000000000000000000..ba0cf2cec1841a9a768bffc68970059c0a58569c
--- /dev/null
+++ b/certgen/asncodec/AcaEeCertResponsePlainSpdu.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcaEeCertResponsePlainSpdu.h"
+
+int
+AcaEeCertResponsePlainSpdu_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using Ieee1609Dot2Data_Unsecured_216P0,
+ * so here we adjust the DEF accordingly.
+ */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_AcaEeCertResponsePlainSpdu_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static const ber_tlv_tag_t asn_DEF_AcaEeCertResponsePlainSpdu_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AcaEeCertResponsePlainSpdu = {
+ "AcaEeCertResponsePlainSpdu",
+ "AcaEeCertResponsePlainSpdu",
+ &asn_OP_SEQUENCE,
+ asn_DEF_AcaEeCertResponsePlainSpdu_tags_1,
+ sizeof(asn_DEF_AcaEeCertResponsePlainSpdu_tags_1)
+ /sizeof(asn_DEF_AcaEeCertResponsePlainSpdu_tags_1[0]), /* 1 */
+ asn_DEF_AcaEeCertResponsePlainSpdu_tags_1, /* Same as above */
+ sizeof(asn_DEF_AcaEeCertResponsePlainSpdu_tags_1)
+ /sizeof(asn_DEF_AcaEeCertResponsePlainSpdu_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AcaEeCertResponsePlainSpdu_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ AcaEeCertResponsePlainSpdu_constraint
+ },
+ asn_MBR_Ieee1609Dot2Data_1,
+ 2, /* Elements count */
+ &asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AcaEeCertResponsePlainSpdu.h b/certgen/asncodec/AcaEeCertResponsePlainSpdu.h
new file mode 100644
index 0000000000000000000000000000000000000000..449abdf226596ed0e63a3c412d476c10aa40b121
--- /dev/null
+++ b/certgen/asncodec/AcaEeCertResponsePlainSpdu.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "Ieee1609Dot2Data-Unsecured.h"
+#ifndef _AcaEeCertResponsePlainSpdu_H_
+#define _AcaEeCertResponsePlainSpdu_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AcaEeCertResponsePlainSpdu */
+typedef Ieee1609Dot2Data_Unsecured_216P0_t AcaEeCertResponsePlainSpdu_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcaEeCertResponsePlainSpdu;
+asn_struct_free_f AcaEeCertResponsePlainSpdu_free;
+asn_struct_print_f AcaEeCertResponsePlainSpdu_print;
+asn_constr_check_f AcaEeCertResponsePlainSpdu_constraint;
+xer_type_decoder_f AcaEeCertResponsePlainSpdu_decode_xer;
+xer_type_encoder_f AcaEeCertResponsePlainSpdu_encode_xer;
+oer_type_decoder_f AcaEeCertResponsePlainSpdu_decode_oer;
+oer_type_encoder_f AcaEeCertResponsePlainSpdu_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcaEeCertResponsePlainSpdu_H_ */
+#include
diff --git a/certgen/asncodec/AcaEeCertResponsePrivateSpdu.c b/certgen/asncodec/AcaEeCertResponsePrivateSpdu.c
new file mode 100644
index 0000000000000000000000000000000000000000..8e63864b26851559f5fe19a1af6f397dd7808138
--- /dev/null
+++ b/certgen/asncodec/AcaEeCertResponsePrivateSpdu.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcaEeCertResponsePrivateSpdu.h"
+
+int
+AcaEeCertResponsePrivateSpdu_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using Ieee1609Dot2Data_EncryptedSigned_379P0,
+ * so here we adjust the DEF accordingly.
+ */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_AcaEeCertResponsePrivateSpdu_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static const ber_tlv_tag_t asn_DEF_AcaEeCertResponsePrivateSpdu_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AcaEeCertResponsePrivateSpdu = {
+ "AcaEeCertResponsePrivateSpdu",
+ "AcaEeCertResponsePrivateSpdu",
+ &asn_OP_SEQUENCE,
+ asn_DEF_AcaEeCertResponsePrivateSpdu_tags_1,
+ sizeof(asn_DEF_AcaEeCertResponsePrivateSpdu_tags_1)
+ /sizeof(asn_DEF_AcaEeCertResponsePrivateSpdu_tags_1[0]), /* 1 */
+ asn_DEF_AcaEeCertResponsePrivateSpdu_tags_1, /* Same as above */
+ sizeof(asn_DEF_AcaEeCertResponsePrivateSpdu_tags_1)
+ /sizeof(asn_DEF_AcaEeCertResponsePrivateSpdu_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AcaEeCertResponsePrivateSpdu_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ AcaEeCertResponsePrivateSpdu_constraint
+ },
+ asn_MBR_Ieee1609Dot2Data_1,
+ 2, /* Elements count */
+ &asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AcaEeCertResponsePrivateSpdu.h b/certgen/asncodec/AcaEeCertResponsePrivateSpdu.h
new file mode 100644
index 0000000000000000000000000000000000000000..0175c0c54439e2add98264840cf40f4bb8a165b1
--- /dev/null
+++ b/certgen/asncodec/AcaEeCertResponsePrivateSpdu.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "Ieee1609Dot2Data-EncryptedSigned.h"
+#ifndef _AcaEeCertResponsePrivateSpdu_H_
+#define _AcaEeCertResponsePrivateSpdu_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AcaEeCertResponsePrivateSpdu */
+typedef Ieee1609Dot2Data_EncryptedSigned_379P0_t AcaEeCertResponsePrivateSpdu_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcaEeCertResponsePrivateSpdu;
+asn_struct_free_f AcaEeCertResponsePrivateSpdu_free;
+asn_struct_print_f AcaEeCertResponsePrivateSpdu_print;
+asn_constr_check_f AcaEeCertResponsePrivateSpdu_constraint;
+xer_type_decoder_f AcaEeCertResponsePrivateSpdu_decode_xer;
+xer_type_encoder_f AcaEeCertResponsePrivateSpdu_encode_xer;
+oer_type_decoder_f AcaEeCertResponsePrivateSpdu_decode_oer;
+oer_type_encoder_f AcaEeCertResponsePrivateSpdu_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcaEeCertResponsePrivateSpdu_H_ */
+#include
diff --git a/certgen/asncodec/AcaEeInterfacePdu.c b/certgen/asncodec/AcaEeInterfacePdu.c
new file mode 100644
index 0000000000000000000000000000000000000000..a5b07c4c6b470e21d221167b7affb336e5c043b1
--- /dev/null
+++ b/certgen/asncodec/AcaEeInterfacePdu.c
@@ -0,0 +1,68 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1AcaEeInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1AcaEeInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcaEeInterfacePdu.h"
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_AcaEeInterfacePdu_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+asn_TYPE_member_t asn_MBR_AcaEeInterfacePdu_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct AcaEeInterfacePdu, choice.acaEeCertResponse),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AcaEeCertResponse,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "acaEeCertResponse"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_AcaEeInterfacePdu_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* acaEeCertResponse */
+};
+asn_CHOICE_specifics_t asn_SPC_AcaEeInterfacePdu_specs_1 = {
+ sizeof(struct AcaEeInterfacePdu),
+ offsetof(struct AcaEeInterfacePdu, _asn_ctx),
+ offsetof(struct AcaEeInterfacePdu, present),
+ sizeof(((struct AcaEeInterfacePdu *)0)->present),
+ asn_MAP_AcaEeInterfacePdu_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ 1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_AcaEeInterfacePdu = {
+ "AcaEeInterfacePdu",
+ "AcaEeInterfacePdu",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AcaEeInterfacePdu_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CHOICE_constraint
+ },
+ asn_MBR_AcaEeInterfacePdu_1,
+ 1, /* Elements count */
+ &asn_SPC_AcaEeInterfacePdu_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AcaEeInterfacePdu.h b/certgen/asncodec/AcaEeInterfacePdu.h
new file mode 100644
index 0000000000000000000000000000000000000000..2ebb133415173d6dc64eb4c652c88110a65189d5
--- /dev/null
+++ b/certgen/asncodec/AcaEeInterfacePdu.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1AcaEeInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1AcaEeInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "AcaEeCertResponse.h"
+#include
+#ifndef _AcaEeInterfacePdu_H_
+#define _AcaEeInterfacePdu_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum AcaEeInterfacePdu_PR {
+ AcaEeInterfacePdu_PR_NOTHING, /* No components present */
+ AcaEeInterfacePdu_PR_acaEeCertResponse
+ /* Extensions may appear below */
+
+} AcaEeInterfacePdu_PR;
+
+/* AcaEeInterfacePdu */
+typedef struct AcaEeInterfacePdu {
+ AcaEeInterfacePdu_PR present;
+ union AcaEeInterfacePdu_u {
+ AcaEeCertResponse_t acaEeCertResponse;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} AcaEeInterfacePdu_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcaEeInterfacePdu;
+extern asn_CHOICE_specifics_t asn_SPC_AcaEeInterfacePdu_specs_1;
+extern asn_TYPE_member_t asn_MBR_AcaEeInterfacePdu_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcaEeInterfacePdu_H_ */
+#include
diff --git a/certgen/asncodec/AcaLaInterfacePdu.c b/certgen/asncodec/AcaLaInterfacePdu.c
new file mode 100644
index 0000000000000000000000000000000000000000..9c9dbc9498639c591926c760f226a8683af499b1
--- /dev/null
+++ b/certgen/asncodec/AcaLaInterfacePdu.c
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1AcaLaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1AcaLaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcaLaInterfacePdu.h"
+
+/*
+ * This type is implemented using NULL,
+ * so here we adjust the DEF accordingly.
+ */
+static const ber_tlv_tag_t asn_DEF_AcaLaInterfacePdu_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (5 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AcaLaInterfacePdu = {
+ "AcaLaInterfacePdu",
+ "AcaLaInterfacePdu",
+ &asn_OP_NULL,
+ asn_DEF_AcaLaInterfacePdu_tags_1,
+ sizeof(asn_DEF_AcaLaInterfacePdu_tags_1)
+ /sizeof(asn_DEF_AcaLaInterfacePdu_tags_1[0]), /* 1 */
+ asn_DEF_AcaLaInterfacePdu_tags_1, /* Same as above */
+ sizeof(asn_DEF_AcaLaInterfacePdu_tags_1)
+ /sizeof(asn_DEF_AcaLaInterfacePdu_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ NULL_constraint
+ },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/certgen/asncodec/AcaLaInterfacePdu.h b/certgen/asncodec/AcaLaInterfacePdu.h
new file mode 100644
index 0000000000000000000000000000000000000000..703948d017823855aa4397b8697b633d3cd30f62
--- /dev/null
+++ b/certgen/asncodec/AcaLaInterfacePdu.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1AcaLaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1AcaLaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include
+#ifndef _AcaLaInterfacePdu_H_
+#define _AcaLaInterfacePdu_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AcaLaInterfacePdu */
+typedef NULL_t AcaLaInterfacePdu_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcaLaInterfacePdu;
+asn_struct_free_f AcaLaInterfacePdu_free;
+asn_struct_print_f AcaLaInterfacePdu_print;
+asn_constr_check_f AcaLaInterfacePdu_constraint;
+xer_type_decoder_f AcaLaInterfacePdu_decode_xer;
+xer_type_encoder_f AcaLaInterfacePdu_encode_xer;
+oer_type_decoder_f AcaLaInterfacePdu_decode_oer;
+oer_type_encoder_f AcaLaInterfacePdu_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcaLaInterfacePdu_H_ */
+#include
diff --git a/certgen/asncodec/AcaMaInterfacePdu.c b/certgen/asncodec/AcaMaInterfacePdu.c
new file mode 100644
index 0000000000000000000000000000000000000000..508ed960aa6603fdc7720abe974f295d3728be10
--- /dev/null
+++ b/certgen/asncodec/AcaMaInterfacePdu.c
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1AcaMaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1AcaMaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcaMaInterfacePdu.h"
+
+/*
+ * This type is implemented using NULL,
+ * so here we adjust the DEF accordingly.
+ */
+static const ber_tlv_tag_t asn_DEF_AcaMaInterfacePdu_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (5 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AcaMaInterfacePdu = {
+ "AcaMaInterfacePdu",
+ "AcaMaInterfacePdu",
+ &asn_OP_NULL,
+ asn_DEF_AcaMaInterfacePdu_tags_1,
+ sizeof(asn_DEF_AcaMaInterfacePdu_tags_1)
+ /sizeof(asn_DEF_AcaMaInterfacePdu_tags_1[0]), /* 1 */
+ asn_DEF_AcaMaInterfacePdu_tags_1, /* Same as above */
+ sizeof(asn_DEF_AcaMaInterfacePdu_tags_1)
+ /sizeof(asn_DEF_AcaMaInterfacePdu_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ NULL_constraint
+ },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
diff --git a/certgen/asncodec/AcaMaInterfacePdu.h b/certgen/asncodec/AcaMaInterfacePdu.h
new file mode 100644
index 0000000000000000000000000000000000000000..0aba589dd26cfc4088ebdea6cad20a8abe9db797
--- /dev/null
+++ b/certgen/asncodec/AcaMaInterfacePdu.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1AcaMaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1AcaMaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include
+#ifndef _AcaMaInterfacePdu_H_
+#define _AcaMaInterfacePdu_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AcaMaInterfacePdu */
+typedef NULL_t AcaMaInterfacePdu_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcaMaInterfacePdu;
+asn_struct_free_f AcaMaInterfacePdu_free;
+asn_struct_print_f AcaMaInterfacePdu_print;
+asn_constr_check_f AcaMaInterfacePdu_constraint;
+xer_type_decoder_f AcaMaInterfacePdu_decode_xer;
+xer_type_encoder_f AcaMaInterfacePdu_encode_xer;
+oer_type_decoder_f AcaMaInterfacePdu_decode_oer;
+oer_type_encoder_f AcaMaInterfacePdu_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcaMaInterfacePdu_H_ */
+#include
diff --git a/certgen/asncodec/AcaRaCertResponse.c b/certgen/asncodec/AcaRaCertResponse.c
new file mode 100644
index 0000000000000000000000000000000000000000..e4834a9283578054d8ae3a7114cb78302ccc330e
--- /dev/null
+++ b/certgen/asncodec/AcaRaCertResponse.c
@@ -0,0 +1,150 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1AcaRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1AcaRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcaRaCertResponse.h"
+
+static int
+memb_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value == 2)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_version_constr_2 CC_NOTUSED = {
+ { 1, 1 } /* (2..2) */,
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+asn_TYPE_member_t asn_MBR_AcaRaCertResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct AcaRaCertResponse, version),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_Uint8,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_version_constr_2,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_version_constraint_1
+ },
+ 0, 0, /* No default value */
+ "version"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AcaRaCertResponse, generationTime),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_Time32,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "generationTime"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AcaRaCertResponse, requestHash),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_HashedId8,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "requestHash"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AcaRaCertResponse, acaResponse),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_AcaResponse,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "acaResponse"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_AcaRaCertResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_AcaRaCertResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* version */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* generationTime */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* requestHash */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* acaResponse */
+};
+asn_SEQUENCE_specifics_t asn_SPC_AcaRaCertResponse_specs_1 = {
+ sizeof(struct AcaRaCertResponse),
+ offsetof(struct AcaRaCertResponse, _asn_ctx),
+ asn_MAP_AcaRaCertResponse_tag2el_1,
+ 4, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 4, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_AcaRaCertResponse = {
+ "AcaRaCertResponse",
+ "AcaRaCertResponse",
+ &asn_OP_SEQUENCE,
+ asn_DEF_AcaRaCertResponse_tags_1,
+ sizeof(asn_DEF_AcaRaCertResponse_tags_1)
+ /sizeof(asn_DEF_AcaRaCertResponse_tags_1[0]), /* 1 */
+ asn_DEF_AcaRaCertResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_AcaRaCertResponse_tags_1)
+ /sizeof(asn_DEF_AcaRaCertResponse_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
+ asn_MBR_AcaRaCertResponse_1,
+ 4, /* Elements count */
+ &asn_SPC_AcaRaCertResponse_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AcaRaCertResponse.h b/certgen/asncodec/AcaRaCertResponse.h
new file mode 100644
index 0000000000000000000000000000000000000000..fd3ff4c7d3f9fae7ccd21c0ceeef8c03cf3e4b0a
--- /dev/null
+++ b/certgen/asncodec/AcaRaCertResponse.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1AcaRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1AcaRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "Uint8.h"
+#include "Time32.h"
+#include "HashedId8.h"
+#include "AcaResponse.h"
+#include
+#ifndef _AcaRaCertResponse_H_
+#define _AcaRaCertResponse_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AcaRaCertResponse */
+typedef struct AcaRaCertResponse {
+ Uint8_t version;
+ Time32_t generationTime;
+ HashedId8_t requestHash;
+ AcaResponse_t acaResponse;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} AcaRaCertResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcaRaCertResponse;
+extern asn_SEQUENCE_specifics_t asn_SPC_AcaRaCertResponse_specs_1;
+extern asn_TYPE_member_t asn_MBR_AcaRaCertResponse_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcaRaCertResponse_H_ */
+#include
diff --git a/certgen/asncodec/AcaRaCertResponseSpdu.c b/certgen/asncodec/AcaRaCertResponseSpdu.c
new file mode 100644
index 0000000000000000000000000000000000000000..2cf5ad720ee17855aa8b5993e1a5bc47b61dc7da
--- /dev/null
+++ b/certgen/asncodec/AcaRaCertResponseSpdu.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcaRaCertResponseSpdu.h"
+
+int
+AcaRaCertResponseSpdu_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using Ieee1609Dot2Data_Signed_228P2,
+ * so here we adjust the DEF accordingly.
+ */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_AcaRaCertResponseSpdu_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static const ber_tlv_tag_t asn_DEF_AcaRaCertResponseSpdu_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AcaRaCertResponseSpdu = {
+ "AcaRaCertResponseSpdu",
+ "AcaRaCertResponseSpdu",
+ &asn_OP_SEQUENCE,
+ asn_DEF_AcaRaCertResponseSpdu_tags_1,
+ sizeof(asn_DEF_AcaRaCertResponseSpdu_tags_1)
+ /sizeof(asn_DEF_AcaRaCertResponseSpdu_tags_1[0]), /* 1 */
+ asn_DEF_AcaRaCertResponseSpdu_tags_1, /* Same as above */
+ sizeof(asn_DEF_AcaRaCertResponseSpdu_tags_1)
+ /sizeof(asn_DEF_AcaRaCertResponseSpdu_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AcaRaCertResponseSpdu_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ AcaRaCertResponseSpdu_constraint
+ },
+ asn_MBR_Ieee1609Dot2Data_1,
+ 2, /* Elements count */
+ &asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AcaRaCertResponseSpdu.h b/certgen/asncodec/AcaRaCertResponseSpdu.h
new file mode 100644
index 0000000000000000000000000000000000000000..21e04e78d8da0154f2270a1a5d5b6d025cea1e6a
--- /dev/null
+++ b/certgen/asncodec/AcaRaCertResponseSpdu.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "Ieee1609Dot2Data-Signed.h"
+#ifndef _AcaRaCertResponseSpdu_H_
+#define _AcaRaCertResponseSpdu_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AcaRaCertResponseSpdu */
+typedef Ieee1609Dot2Data_Signed_228P2_t AcaRaCertResponseSpdu_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcaRaCertResponseSpdu;
+asn_struct_free_f AcaRaCertResponseSpdu_free;
+asn_struct_print_f AcaRaCertResponseSpdu_print;
+asn_constr_check_f AcaRaCertResponseSpdu_constraint;
+xer_type_decoder_f AcaRaCertResponseSpdu_decode_xer;
+xer_type_encoder_f AcaRaCertResponseSpdu_encode_xer;
+oer_type_decoder_f AcaRaCertResponseSpdu_decode_oer;
+oer_type_encoder_f AcaRaCertResponseSpdu_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcaRaCertResponseSpdu_H_ */
+#include
diff --git a/certgen/asncodec/AcaRaInterfacePdu.c b/certgen/asncodec/AcaRaInterfacePdu.c
new file mode 100644
index 0000000000000000000000000000000000000000..25a70f14acb7d1c0b4f56fe7f41fa6a1369cb8d4
--- /dev/null
+++ b/certgen/asncodec/AcaRaInterfacePdu.c
@@ -0,0 +1,86 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1AcaRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1AcaRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcaRaInterfacePdu.h"
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_AcaRaInterfacePdu_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+asn_TYPE_member_t asn_MBR_AcaRaInterfacePdu_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct AcaRaInterfacePdu, choice.raAcaCertRequest),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RaAcaCertRequest,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "raAcaCertRequest"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AcaRaInterfacePdu, choice.acaRaCertResponse),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AcaRaCertResponse,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "acaRaCertResponse"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_AcaRaInterfacePdu_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* raAcaCertRequest */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* acaRaCertResponse */
+};
+asn_CHOICE_specifics_t asn_SPC_AcaRaInterfacePdu_specs_1 = {
+ sizeof(struct AcaRaInterfacePdu),
+ offsetof(struct AcaRaInterfacePdu, _asn_ctx),
+ offsetof(struct AcaRaInterfacePdu, present),
+ sizeof(((struct AcaRaInterfacePdu *)0)->present),
+ asn_MAP_AcaRaInterfacePdu_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_AcaRaInterfacePdu = {
+ "AcaRaInterfacePdu",
+ "AcaRaInterfacePdu",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AcaRaInterfacePdu_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CHOICE_constraint
+ },
+ asn_MBR_AcaRaInterfacePdu_1,
+ 2, /* Elements count */
+ &asn_SPC_AcaRaInterfacePdu_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AcaRaInterfacePdu.h b/certgen/asncodec/AcaRaInterfacePdu.h
new file mode 100644
index 0000000000000000000000000000000000000000..b078de2376c5cbba73954be788512c2f3d72ba34
--- /dev/null
+++ b/certgen/asncodec/AcaRaInterfacePdu.h
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1AcaRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1AcaRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "RaAcaCertRequest.h"
+#include "AcaRaCertResponse.h"
+#include
+#ifndef _AcaRaInterfacePdu_H_
+#define _AcaRaInterfacePdu_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum AcaRaInterfacePdu_PR {
+ AcaRaInterfacePdu_PR_NOTHING, /* No components present */
+ AcaRaInterfacePdu_PR_raAcaCertRequest,
+ AcaRaInterfacePdu_PR_acaRaCertResponse
+ /* Extensions may appear below */
+
+} AcaRaInterfacePdu_PR;
+
+/* AcaRaInterfacePdu */
+typedef struct AcaRaInterfacePdu {
+ AcaRaInterfacePdu_PR present;
+ union AcaRaInterfacePdu_u {
+ RaAcaCertRequest_t raAcaCertRequest;
+ AcaRaCertResponse_t acaRaCertResponse;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} AcaRaInterfacePdu_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcaRaInterfacePdu;
+extern asn_CHOICE_specifics_t asn_SPC_AcaRaInterfacePdu_specs_1;
+extern asn_TYPE_member_t asn_MBR_AcaRaInterfacePdu_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcaRaInterfacePdu_H_ */
+#include
diff --git a/certgen/asncodec/AcaResponse.c b/certgen/asncodec/AcaResponse.c
new file mode 100644
index 0000000000000000000000000000000000000000..3ea14b7694af9afb2d1c569a3a4333e5366594dd
--- /dev/null
+++ b/certgen/asncodec/AcaResponse.c
@@ -0,0 +1,104 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1AcaRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1AcaRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcaResponse.h"
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_AcaResponse_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+asn_TYPE_member_t asn_MBR_AcaResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct AcaResponse, choice.plain),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AcaEeCertResponsePlainSpdu,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "plain"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AcaResponse, choice.Private),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AcaEeCertResponsePrivateSpdu,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "private"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AcaResponse, choice.cubk),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AcaEeCertResponseCubkSpdu,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "cubk"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_AcaResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* plain */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* private */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* cubk */
+};
+asn_CHOICE_specifics_t asn_SPC_AcaResponse_specs_1 = {
+ sizeof(struct AcaResponse),
+ offsetof(struct AcaResponse, _asn_ctx),
+ offsetof(struct AcaResponse, present),
+ sizeof(((struct AcaResponse *)0)->present),
+ asn_MAP_AcaResponse_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0,
+ 3 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_AcaResponse = {
+ "AcaResponse",
+ "AcaResponse",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AcaResponse_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CHOICE_constraint
+ },
+ asn_MBR_AcaResponse_1,
+ 3, /* Elements count */
+ &asn_SPC_AcaResponse_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AcaResponse.h b/certgen/asncodec/AcaResponse.h
new file mode 100644
index 0000000000000000000000000000000000000000..73af31dcd4e6415376dde0c0aee9d049f153fbf3
--- /dev/null
+++ b/certgen/asncodec/AcaResponse.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1AcaRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1AcaRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "AcaEeCertResponsePlainSpdu.h"
+#include "AcaEeCertResponsePrivateSpdu.h"
+#include "AcaEeCertResponseCubkSpdu.h"
+#include
+#ifndef _AcaResponse_H_
+#define _AcaResponse_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum AcaResponse_PR {
+ AcaResponse_PR_NOTHING, /* No components present */
+ AcaResponse_PR_plain,
+ AcaResponse_PR_private,
+ AcaResponse_PR_cubk
+ /* Extensions may appear below */
+
+} AcaResponse_PR;
+
+/* AcaResponse */
+typedef struct AcaResponse {
+ AcaResponse_PR present;
+ union AcaResponse_u {
+ AcaEeCertResponsePlainSpdu_t plain;
+ AcaEeCertResponsePrivateSpdu_t Private;
+ AcaEeCertResponseCubkSpdu_t cubk;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} AcaResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcaResponse;
+extern asn_CHOICE_specifics_t asn_SPC_AcaResponse_specs_1;
+extern asn_TYPE_member_t asn_MBR_AcaResponse_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcaResponse_H_ */
+#include
diff --git a/certgen/asncodec/AcaSsp.c b/certgen/asncodec/AcaSsp.c
new file mode 100644
index 0000000000000000000000000000000000000000..7e85f0d6715ab95b4be8af20205c955bf3570f90
--- /dev/null
+++ b/certgen/asncodec/AcaSsp.c
@@ -0,0 +1,96 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcaSsp.h"
+
+static int
+memb_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value == 2)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_version_constr_2 CC_NOTUSED = {
+ { 1, 1 } /* (2..2) */,
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+asn_TYPE_member_t asn_MBR_AcaSsp_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct AcaSsp, version),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_Uint8,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_version_constr_2,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_version_constraint_1
+ },
+ 0, 0, /* No default value */
+ "version"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_AcaSsp_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_AcaSsp_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* version */
+};
+asn_SEQUENCE_specifics_t asn_SPC_AcaSsp_specs_1 = {
+ sizeof(struct AcaSsp),
+ offsetof(struct AcaSsp, _asn_ctx),
+ asn_MAP_AcaSsp_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_AcaSsp = {
+ "AcaSsp",
+ "AcaSsp",
+ &asn_OP_SEQUENCE,
+ asn_DEF_AcaSsp_tags_1,
+ sizeof(asn_DEF_AcaSsp_tags_1)
+ /sizeof(asn_DEF_AcaSsp_tags_1[0]), /* 1 */
+ asn_DEF_AcaSsp_tags_1, /* Same as above */
+ sizeof(asn_DEF_AcaSsp_tags_1)
+ /sizeof(asn_DEF_AcaSsp_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
+ asn_MBR_AcaSsp_1,
+ 1, /* Elements count */
+ &asn_SPC_AcaSsp_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AcaSsp.h b/certgen/asncodec/AcaSsp.h
new file mode 100644
index 0000000000000000000000000000000000000000..b5620c8941a986a6e215d46b480fa8db7435019c
--- /dev/null
+++ b/certgen/asncodec/AcaSsp.h
@@ -0,0 +1,44 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "Uint8.h"
+#include
+#ifndef _AcaSsp_H_
+#define _AcaSsp_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AcaSsp */
+typedef struct AcaSsp {
+ Uint8_t version;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} AcaSsp_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcaSsp;
+extern asn_SEQUENCE_specifics_t asn_SPC_AcaSsp_specs_1;
+extern asn_TYPE_member_t asn_MBR_AcaSsp_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcaSsp_H_ */
+#include
diff --git a/certgen/asncodec/AcpcNodeValue.c b/certgen/asncodec/AcpcNodeValue.c
new file mode 100644
index 0000000000000000000000000000000000000000..d33e2eddcc5fb810ca17f0f974faa6155ef0cb95
--- /dev/null
+++ b/certgen/asncodec/AcpcNodeValue.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Acpc"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Acpc.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcpcNodeValue.h"
+
+int
+AcpcNodeValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = st->size;
+
+ if((size == 16)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_AcpcNodeValue_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ 16 /* (SIZE(16..16)) */};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static const ber_tlv_tag_t asn_DEF_AcpcNodeValue_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AcpcNodeValue = {
+ "AcpcNodeValue",
+ "AcpcNodeValue",
+ &asn_OP_OCTET_STRING,
+ asn_DEF_AcpcNodeValue_tags_1,
+ sizeof(asn_DEF_AcpcNodeValue_tags_1)
+ /sizeof(asn_DEF_AcpcNodeValue_tags_1[0]), /* 1 */
+ asn_DEF_AcpcNodeValue_tags_1, /* Same as above */
+ sizeof(asn_DEF_AcpcNodeValue_tags_1)
+ /sizeof(asn_DEF_AcpcNodeValue_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AcpcNodeValue_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ AcpcNodeValue_constraint
+ },
+ 0, 0, /* No members */
+ &asn_SPC_OCTET_STRING_specs /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AcpcNodeValue.h b/certgen/asncodec/AcpcNodeValue.h
new file mode 100644
index 0000000000000000000000000000000000000000..9294d9f9707f6aadac7eb5eb3f61f1ac9e459c03
--- /dev/null
+++ b/certgen/asncodec/AcpcNodeValue.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Acpc"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Acpc.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include
+#ifndef _AcpcNodeValue_H_
+#define _AcpcNodeValue_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AcpcNodeValue */
+typedef OCTET_STRING_t AcpcNodeValue_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcpcNodeValue;
+asn_struct_free_f AcpcNodeValue_free;
+asn_struct_print_f AcpcNodeValue_print;
+asn_constr_check_f AcpcNodeValue_constraint;
+xer_type_decoder_f AcpcNodeValue_decode_xer;
+xer_type_encoder_f AcpcNodeValue_encode_xer;
+oer_type_decoder_f AcpcNodeValue_decode_oer;
+oer_type_encoder_f AcpcNodeValue_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcpcNodeValue_H_ */
+#include
diff --git a/certgen/asncodec/AcpcPdu.c b/certgen/asncodec/AcpcPdu.c
new file mode 100644
index 0000000000000000000000000000000000000000..66833011687eb26d5dfe88b83a6a9c752d207157
--- /dev/null
+++ b/certgen/asncodec/AcpcPdu.c
@@ -0,0 +1,86 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Acpc"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Acpc.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcpcPdu.h"
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_AcpcPdu_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static asn_TYPE_member_t asn_MBR_AcpcPdu_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct AcpcPdu, choice.tree),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AprvBinaryTree,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "tree"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AcpcPdu, choice.aprv),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_IndividualAprv,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "aprv"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_AcpcPdu_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tree */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* aprv */
+};
+static asn_CHOICE_specifics_t asn_SPC_AcpcPdu_specs_1 = {
+ sizeof(struct AcpcPdu),
+ offsetof(struct AcpcPdu, _asn_ctx),
+ offsetof(struct AcpcPdu, present),
+ sizeof(((struct AcpcPdu *)0)->present),
+ asn_MAP_AcpcPdu_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_AcpcPdu = {
+ "AcpcPdu",
+ "AcpcPdu",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AcpcPdu_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CHOICE_constraint
+ },
+ asn_MBR_AcpcPdu_1,
+ 2, /* Elements count */
+ &asn_SPC_AcpcPdu_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AcpcPdu.h b/certgen/asncodec/AcpcPdu.h
new file mode 100644
index 0000000000000000000000000000000000000000..883d6da2ba1ed70e3069500cfe8da37f9ff70650
--- /dev/null
+++ b/certgen/asncodec/AcpcPdu.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Acpc"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Acpc.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "AprvBinaryTree.h"
+#include "IndividualAprv.h"
+#include
+#ifndef _AcpcPdu_H_
+#define _AcpcPdu_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum AcpcPdu_PR {
+ AcpcPdu_PR_NOTHING, /* No components present */
+ AcpcPdu_PR_tree,
+ AcpcPdu_PR_aprv
+ /* Extensions may appear below */
+
+} AcpcPdu_PR;
+
+/* AcpcPdu */
+typedef struct AcpcPdu {
+ AcpcPdu_PR present;
+ union AcpcPdu_u {
+ AprvBinaryTree_t tree;
+ IndividualAprv_t aprv;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} AcpcPdu_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcpcPdu;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcpcPdu_H_ */
+#include
diff --git a/certgen/asncodec/AcpcPsid.c b/certgen/asncodec/AcpcPsid.c
new file mode 100644
index 0000000000000000000000000000000000000000..f5572a56f197cfc96542a666464fe5bfa8ab9825
--- /dev/null
+++ b/certgen/asncodec/AcpcPsid.c
@@ -0,0 +1,69 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Acpc"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Acpc.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcpcPsid.h"
+
+int
+AcpcPsid_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const unsigned long *)sptr;
+
+ if((value == 2113696)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using Psid,
+ * so here we adjust the DEF accordingly.
+ */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_AcpcPsid_constr_1 CC_NOTUSED = {
+ { 4, 1 } /* (2113696..2113696) */,
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static const ber_tlv_tag_t asn_DEF_AcpcPsid_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AcpcPsid = {
+ "AcpcPsid",
+ "AcpcPsid",
+ &asn_OP_NativeInteger,
+ asn_DEF_AcpcPsid_tags_1,
+ sizeof(asn_DEF_AcpcPsid_tags_1)
+ /sizeof(asn_DEF_AcpcPsid_tags_1[0]), /* 1 */
+ asn_DEF_AcpcPsid_tags_1, /* Same as above */
+ sizeof(asn_DEF_AcpcPsid_tags_1)
+ /sizeof(asn_DEF_AcpcPsid_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AcpcPsid_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ AcpcPsid_constraint
+ },
+ 0, 0, /* No members */
+ &asn_SPC_Psid_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AcpcPsid.h b/certgen/asncodec/AcpcPsid.h
new file mode 100644
index 0000000000000000000000000000000000000000..de2c28b9127683b5ca77f697ac4aade532af62a0
--- /dev/null
+++ b/certgen/asncodec/AcpcPsid.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Acpc"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Acpc.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "Psid.h"
+#ifndef _AcpcPsid_H_
+#define _AcpcPsid_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AcpcPsid */
+typedef Psid_t AcpcPsid_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcpcPsid;
+asn_struct_free_f AcpcPsid_free;
+asn_struct_print_f AcpcPsid_print;
+asn_constr_check_f AcpcPsid_constraint;
+xer_type_decoder_f AcpcPsid_decode_xer;
+xer_type_encoder_f AcpcPsid_encode_xer;
+oer_type_decoder_f AcpcPsid_decode_oer;
+oer_type_encoder_f AcpcPsid_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcpcPsid_H_ */
+#include
diff --git a/certgen/asncodec/AcpcSsp.c b/certgen/asncodec/AcpcSsp.c
new file mode 100644
index 0000000000000000000000000000000000000000..75d5b8a80a57277435995c1a687135d1ac0e1f77
--- /dev/null
+++ b/certgen/asncodec/AcpcSsp.c
@@ -0,0 +1,68 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcpcSsp.h"
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_AcpcSsp_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static asn_TYPE_member_t asn_MBR_AcpcSsp_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct AcpcSsp, choice.cam),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CamSsp,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "cam"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_AcpcSsp_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* cam */
+};
+static asn_CHOICE_specifics_t asn_SPC_AcpcSsp_specs_1 = {
+ sizeof(struct AcpcSsp),
+ offsetof(struct AcpcSsp, _asn_ctx),
+ offsetof(struct AcpcSsp, present),
+ sizeof(((struct AcpcSsp *)0)->present),
+ asn_MAP_AcpcSsp_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ 1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_AcpcSsp = {
+ "AcpcSsp",
+ "AcpcSsp",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AcpcSsp_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CHOICE_constraint
+ },
+ asn_MBR_AcpcSsp_1,
+ 1, /* Elements count */
+ &asn_SPC_AcpcSsp_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AcpcSsp.h b/certgen/asncodec/AcpcSsp.h
new file mode 100644
index 0000000000000000000000000000000000000000..966d32981eeca7c3229c9a38a80e3edef5d4e300
--- /dev/null
+++ b/certgen/asncodec/AcpcSsp.h
@@ -0,0 +1,53 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "CamSsp.h"
+#include
+#ifndef _AcpcSsp_H_
+#define _AcpcSsp_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum AcpcSsp_PR {
+ AcpcSsp_PR_NOTHING, /* No components present */
+ AcpcSsp_PR_cam
+ /* Extensions may appear below */
+
+} AcpcSsp_PR;
+
+/* AcpcSsp */
+typedef struct AcpcSsp {
+ AcpcSsp_PR present;
+ union AcpcSsp_u {
+ CamSsp_t cam;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} AcpcSsp_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcpcSsp;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcpcSsp_H_ */
+#include
diff --git a/certgen/asncodec/AcpcTreeId.c b/certgen/asncodec/AcpcTreeId.c
new file mode 100644
index 0000000000000000000000000000000000000000..203b0cb3da1d349c6a1c89823768f605aca474b1
--- /dev/null
+++ b/certgen/asncodec/AcpcTreeId.c
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Acpc"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Acpc.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AcpcTreeId.h"
+
+int
+AcpcTreeId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = st->size;
+
+ if((size == 8)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+/*
+ * This type is implemented using OCTET_STRING,
+ * so here we adjust the DEF accordingly.
+ */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_AcpcTreeId_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ 8 /* (SIZE(8..8)) */};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static const ber_tlv_tag_t asn_DEF_AcpcTreeId_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_AcpcTreeId = {
+ "AcpcTreeId",
+ "AcpcTreeId",
+ &asn_OP_OCTET_STRING,
+ asn_DEF_AcpcTreeId_tags_1,
+ sizeof(asn_DEF_AcpcTreeId_tags_1)
+ /sizeof(asn_DEF_AcpcTreeId_tags_1[0]), /* 1 */
+ asn_DEF_AcpcTreeId_tags_1, /* Same as above */
+ sizeof(asn_DEF_AcpcTreeId_tags_1)
+ /sizeof(asn_DEF_AcpcTreeId_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AcpcTreeId_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ AcpcTreeId_constraint
+ },
+ 0, 0, /* No members */
+ &asn_SPC_OCTET_STRING_specs /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AcpcTreeId.h b/certgen/asncodec/AcpcTreeId.h
new file mode 100644
index 0000000000000000000000000000000000000000..f75429beb07981fc83a9c5bb0f6ba4e6937d51ef
--- /dev/null
+++ b/certgen/asncodec/AcpcTreeId.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Acpc"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Acpc.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include
+#ifndef _AcpcTreeId_H_
+#define _AcpcTreeId_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AcpcTreeId */
+typedef OCTET_STRING_t AcpcTreeId_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AcpcTreeId;
+asn_struct_free_f AcpcTreeId_free;
+asn_struct_print_f AcpcTreeId_print;
+asn_constr_check_f AcpcTreeId_constraint;
+xer_type_decoder_f AcpcTreeId_decode_xer;
+xer_type_encoder_f AcpcTreeId_encode_xer;
+oer_type_decoder_f AcpcTreeId_decode_oer;
+oer_type_encoder_f AcpcTreeId_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AcpcTreeId_H_ */
+#include
diff --git a/certgen/asncodec/AdditionalParams.c b/certgen/asncodec/AdditionalParams.c
new file mode 100644
index 0000000000000000000000000000000000000000..31cb215b898fa104a9d607a96396bd37aef9a897
--- /dev/null
+++ b/certgen/asncodec/AdditionalParams.c
@@ -0,0 +1,122 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1EeRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1EeRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AdditionalParams.h"
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_AdditionalParams_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+asn_TYPE_member_t asn_MBR_AdditionalParams_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct AdditionalParams, choice.original),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ButterflyParamsOriginal,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "original"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AdditionalParams, choice.unified),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ButterflyExpansion,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "unified"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AdditionalParams, choice.compactUnified),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ButterflyExpansion,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "compactUnified"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AdditionalParams, choice.encryptionKey),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PublicEncryptionKey,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "encryptionKey"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_AdditionalParams_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* original */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* unified */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* compactUnified */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* encryptionKey */
+};
+asn_CHOICE_specifics_t asn_SPC_AdditionalParams_specs_1 = {
+ sizeof(struct AdditionalParams),
+ offsetof(struct AdditionalParams, _asn_ctx),
+ offsetof(struct AdditionalParams, present),
+ sizeof(((struct AdditionalParams *)0)->present),
+ asn_MAP_AdditionalParams_tag2el_1,
+ 4, /* Count of tags in the map */
+ 0, 0,
+ 4 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_AdditionalParams = {
+ "AdditionalParams",
+ "AdditionalParams",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AdditionalParams_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CHOICE_constraint
+ },
+ asn_MBR_AdditionalParams_1,
+ 4, /* Elements count */
+ &asn_SPC_AdditionalParams_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AdditionalParams.h b/certgen/asncodec/AdditionalParams.h
new file mode 100644
index 0000000000000000000000000000000000000000..f31f1036ce7f7509586077ddb98580fa655c8270
--- /dev/null
+++ b/certgen/asncodec/AdditionalParams.h
@@ -0,0 +1,63 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1EeRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1EeRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "ButterflyParamsOriginal.h"
+#include "ButterflyExpansion.h"
+#include "PublicEncryptionKey.h"
+#include
+#ifndef _AdditionalParams_H_
+#define _AdditionalParams_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum AdditionalParams_PR {
+ AdditionalParams_PR_NOTHING, /* No components present */
+ AdditionalParams_PR_original,
+ AdditionalParams_PR_unified,
+ AdditionalParams_PR_compactUnified,
+ AdditionalParams_PR_encryptionKey
+ /* Extensions may appear below */
+
+} AdditionalParams_PR;
+
+/* AdditionalParams */
+typedef struct AdditionalParams {
+ AdditionalParams_PR present;
+ union AdditionalParams_u {
+ ButterflyParamsOriginal_t original;
+ ButterflyExpansion_t unified;
+ ButterflyExpansion_t compactUnified;
+ PublicEncryptionKey_t encryptionKey;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} AdditionalParams_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AdditionalParams;
+extern asn_CHOICE_specifics_t asn_SPC_AdditionalParams_specs_1;
+extern asn_TYPE_member_t asn_MBR_AdditionalParams_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AdditionalParams_H_ */
+#include
diff --git a/certgen/asncodec/Aes128CcmCiphertext.c b/certgen/asncodec/Aes128CcmCiphertext.c
new file mode 100644
index 0000000000000000000000000000000000000000..c161304c6955487004ced7df28eb31aca09eee2d
--- /dev/null
+++ b/certgen/asncodec/Aes128CcmCiphertext.c
@@ -0,0 +1,40 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "Aes128CcmCiphertext.h"
+
+/*
+ * This type is implemented using One28BitCcmCiphertext,
+ * so here we adjust the DEF accordingly.
+ */
+static const ber_tlv_tag_t asn_DEF_Aes128CcmCiphertext_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_Aes128CcmCiphertext = {
+ "Aes128CcmCiphertext",
+ "Aes128CcmCiphertext",
+ &asn_OP_SEQUENCE,
+ asn_DEF_Aes128CcmCiphertext_tags_1,
+ sizeof(asn_DEF_Aes128CcmCiphertext_tags_1)
+ /sizeof(asn_DEF_Aes128CcmCiphertext_tags_1[0]), /* 1 */
+ asn_DEF_Aes128CcmCiphertext_tags_1, /* Same as above */
+ sizeof(asn_DEF_Aes128CcmCiphertext_tags_1)
+ /sizeof(asn_DEF_Aes128CcmCiphertext_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
+ asn_MBR_One28BitCcmCiphertext_1,
+ 2, /* Elements count */
+ &asn_SPC_One28BitCcmCiphertext_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/Aes128CcmCiphertext.h b/certgen/asncodec/Aes128CcmCiphertext.h
new file mode 100644
index 0000000000000000000000000000000000000000..b49e9417464d3acae903bcb2808918560b34291e
--- /dev/null
+++ b/certgen/asncodec/Aes128CcmCiphertext.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "One28BitCcmCiphertext.h"
+#ifndef _Aes128CcmCiphertext_H_
+#define _Aes128CcmCiphertext_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Aes128CcmCiphertext */
+typedef One28BitCcmCiphertext_t Aes128CcmCiphertext_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_Aes128CcmCiphertext;
+asn_struct_free_f Aes128CcmCiphertext_free;
+asn_struct_print_f Aes128CcmCiphertext_print;
+asn_constr_check_f Aes128CcmCiphertext_constraint;
+xer_type_decoder_f Aes128CcmCiphertext_decode_xer;
+xer_type_encoder_f Aes128CcmCiphertext_encode_xer;
+oer_type_decoder_f Aes128CcmCiphertext_decode_oer;
+oer_type_encoder_f Aes128CcmCiphertext_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _Aes128CcmCiphertext_H_ */
+#include
diff --git a/certgen/asncodec/AesCcmCiphertext.c b/certgen/asncodec/AesCcmCiphertext.c
deleted file mode 100644
index 3855430ccb3bd1ef13ef7ec97744d4ffd798da0d..0000000000000000000000000000000000000000
--- a/certgen/asncodec/AesCcmCiphertext.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
- */
-
-#include "AesCcmCiphertext.h"
-
-static int
-memb_nonce_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
- size_t size;
-
- if(!sptr) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- size = st->size;
-
- if((size == 12)) {
- /* Constraint check succeeded */
- return 0;
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: constraint failed (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-}
-
-static asn_oer_constraints_t asn_OER_memb_nonce_constr_2 CC_NOTUSED = {
- { 0, 0 },
- 12 /* (SIZE(12..12)) */};
-asn_TYPE_member_t asn_MBR_AesCcmCiphertext_1[] = {
- { ATF_NOFLAGS, 0, offsetof(struct AesCcmCiphertext, nonce),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_OCTET_STRING,
- 0,
- { &asn_OER_memb_nonce_constr_2, 0, memb_nonce_constraint_1 },
- 0, 0, /* No default value */
- "nonce"
- },
- { ATF_NOFLAGS, 0, offsetof(struct AesCcmCiphertext, ccmCiphertext),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- -1, /* IMPLICIT tag at current level */
- &asn_DEF_Opaque,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "ccmCiphertext"
- },
-};
-static const ber_tlv_tag_t asn_DEF_AesCcmCiphertext_tags_1[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_AesCcmCiphertext_tag2el_1[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nonce */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ccmCiphertext */
-};
-asn_SEQUENCE_specifics_t asn_SPC_AesCcmCiphertext_specs_1 = {
- sizeof(struct AesCcmCiphertext),
- offsetof(struct AesCcmCiphertext, _asn_ctx),
- asn_MAP_AesCcmCiphertext_tag2el_1,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- -1, /* First extension addition */
-};
-asn_TYPE_descriptor_t asn_DEF_AesCcmCiphertext = {
- "AesCcmCiphertext",
- "AesCcmCiphertext",
- &asn_OP_SEQUENCE,
- asn_DEF_AesCcmCiphertext_tags_1,
- sizeof(asn_DEF_AesCcmCiphertext_tags_1)
- /sizeof(asn_DEF_AesCcmCiphertext_tags_1[0]), /* 1 */
- asn_DEF_AesCcmCiphertext_tags_1, /* Same as above */
- sizeof(asn_DEF_AesCcmCiphertext_tags_1)
- /sizeof(asn_DEF_AesCcmCiphertext_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_AesCcmCiphertext_1,
- 2, /* Elements count */
- &asn_SPC_AesCcmCiphertext_specs_1 /* Additional specs */
-};
-
diff --git a/certgen/asncodec/AesCcmCiphertext.h b/certgen/asncodec/AesCcmCiphertext.h
deleted file mode 100644
index 635387d7d916707ec3a2d11271b7173d4eb1976b..0000000000000000000000000000000000000000
--- a/certgen/asncodec/AesCcmCiphertext.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
- */
-
-#ifndef _AesCcmCiphertext_H_
-#define _AesCcmCiphertext_H_
-
-
-#include
-
-/* Including external dependencies */
-#include
-#include "Opaque.h"
-#include
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* AesCcmCiphertext */
-typedef struct AesCcmCiphertext {
- OCTET_STRING_t nonce;
- Opaque_t ccmCiphertext;
-
- /* Context for parsing across buffer boundaries */
- asn_struct_ctx_t _asn_ctx;
-} AesCcmCiphertext_t;
-
-/* Implementation */
-extern asn_TYPE_descriptor_t asn_DEF_AesCcmCiphertext;
-extern asn_SEQUENCE_specifics_t asn_SPC_AesCcmCiphertext_specs_1;
-extern asn_TYPE_member_t asn_MBR_AesCcmCiphertext_1[2];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _AesCcmCiphertext_H_ */
-#include
diff --git a/certgen/asncodec/AppExtension.c b/certgen/asncodec/AppExtension.c
new file mode 100644
index 0000000000000000000000000000000000000000..9ea862a8f4285b8b09f9746ea27927cbee85437f
--- /dev/null
+++ b/certgen/asncodec/AppExtension.c
@@ -0,0 +1,230 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AppExtension.h"
+
+static const long asn_VAL_2_certExtId_OperatingOrganization = 1;
+static const asn_ioc_cell_t asn_IOS_SetCertExtensions_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ExtId, &asn_VAL_2_certExtId_OperatingOrganization },
+ { "&App", aioc__type, &asn_DEF_OperatingOrganizationId },
+ { "&Issue", aioc__type, &asn_DEF_NULL },
+ { "&Req", aioc__type, &asn_DEF_NULL }
+};
+static const asn_ioc_set_t asn_IOS_SetCertExtensions_1[] = {
+ { 1, 4, asn_IOS_SetCertExtensions_1_rows }
+};
+static int
+memb_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 255)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_type_selector_result_t
+select_AppExtension_content_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
+ asn_type_selector_result_t result = {0, 0};
+ const asn_ioc_set_t *itable = asn_IOS_SetCertExtensions_1;
+ size_t constraining_column = 0; /* &id */
+ size_t for_column = 1; /* &App */
+ size_t row, presence_index = 0;
+ const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct AppExtension, id));
+
+ for(row=0; row < itable->rows_count; row++) {
+ const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
+ const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
+
+ if(type_cell->cell_kind == aioc__undefined)
+ continue;
+
+ presence_index++;
+ if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
+ result.type_descriptor = type_cell->type_descriptor;
+ result.presence_index = presence_index;
+ break;
+ }
+ }
+
+ return result;
+}
+
+static int
+memb_content_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_id_constr_2 CC_NOTUSED = {
+ { 1, 1 } /* (0..255) */,
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_content_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static asn_TYPE_member_t asn_MBR_content_3[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct AppExtension__content, choice.OperatingOrganizationId),
+ (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)),
+ 0,
+ &asn_DEF_OperatingOrganizationId,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "OperatingOrganizationId"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_content_tag2el_3[] = {
+ { (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 0, 0, 0 } /* OperatingOrganizationId */
+};
+static asn_CHOICE_specifics_t asn_SPC_content_specs_3 = {
+ sizeof(struct AppExtension__content),
+ offsetof(struct AppExtension__content, _asn_ctx),
+ offsetof(struct AppExtension__content, present),
+ sizeof(((struct AppExtension__content *)0)->present),
+ asn_MAP_content_tag2el_3,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ -1 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_content_3 = {
+ "content",
+ "content",
+ &asn_OP_OPEN_TYPE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ OPEN_TYPE_constraint
+ },
+ asn_MBR_content_3,
+ 1, /* Elements count */
+ &asn_SPC_content_specs_3 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_AppExtension_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct AppExtension, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ExtId,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_id_constr_2,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_id_constraint_1
+ },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct AppExtension, content),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_content_3,
+ select_AppExtension_content_type,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_content_constr_3,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_content_constraint_1
+ },
+ 0, 0, /* No default value */
+ "content"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_AppExtension_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_AppExtension_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* content */
+};
+asn_SEQUENCE_specifics_t asn_SPC_AppExtension_specs_1 = {
+ sizeof(struct AppExtension),
+ offsetof(struct AppExtension, _asn_ctx),
+ asn_MAP_AppExtension_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_AppExtension = {
+ "AppExtension",
+ "AppExtension",
+ &asn_OP_SEQUENCE,
+ asn_DEF_AppExtension_tags_1,
+ sizeof(asn_DEF_AppExtension_tags_1)
+ /sizeof(asn_DEF_AppExtension_tags_1[0]), /* 1 */
+ asn_DEF_AppExtension_tags_1, /* Same as above */
+ sizeof(asn_DEF_AppExtension_tags_1)
+ /sizeof(asn_DEF_AppExtension_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
+ asn_MBR_AppExtension_1,
+ 2, /* Elements count */
+ &asn_SPC_AppExtension_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AppExtension.h b/certgen/asncodec/AppExtension.h
new file mode 100644
index 0000000000000000000000000000000000000000..b2991bc7509cff14eb75e177ba9d7e134c95518d
--- /dev/null
+++ b/certgen/asncodec/AppExtension.h
@@ -0,0 +1,61 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "ExtId.h"
+#include
+#include
+#include "OperatingOrganizationId.h"
+#include
+#include
+#include
+#include
+#ifndef _AppExtension_H_
+#define _AppExtension_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum AppExtension__content_PR {
+ AppExtension__content_PR_NOTHING, /* No components present */
+ AppExtension__content_PR_OperatingOrganizationId
+} AppExtension__content_PR;
+
+/* AppExtension */
+typedef struct AppExtension {
+ ExtId_t id;
+ struct AppExtension__content {
+ AppExtension__content_PR present;
+ union AppExtension__content_u {
+ OperatingOrganizationId_t OperatingOrganizationId;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } content;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} AppExtension_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AppExtension;
+extern asn_SEQUENCE_specifics_t asn_SPC_AppExtension_specs_1;
+extern asn_TYPE_member_t asn_MBR_AppExtension_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AppExtension_H_ */
+#include
diff --git a/certgen/asncodec/AprvBinaryTree.c b/certgen/asncodec/AprvBinaryTree.c
new file mode 100644
index 0000000000000000000000000000000000000000..205d4a0e3ad92873cf825f21fc8f885783a890bc
--- /dev/null
+++ b/certgen/asncodec/AprvBinaryTree.c
@@ -0,0 +1,293 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Acpc"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Acpc.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AprvBinaryTree.h"
+
+static int
+memb_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value == 2)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_nodeValueList_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ /* Determine the number of elements */
+ size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
+
+ if((size >= 1)) {
+ /* Perform validation of the inner elements */
+ return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key);
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_nodeValueList_constr_8 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..MAX)) */};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_version_constr_2 CC_NOTUSED = {
+ { 1, 1 } /* (2..2) */,
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_nodeValueList_constr_8 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..MAX)) */};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static asn_TYPE_member_t asn_MBR_nodeValueList_8[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_AcpcNodeValue,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_nodeValueList_tags_8[] = {
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_nodeValueList_specs_8 = {
+ sizeof(struct AprvBinaryTree__nodeValueList),
+ offsetof(struct AprvBinaryTree__nodeValueList, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_nodeValueList_8 = {
+ "nodeValueList",
+ "nodeValueList",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_nodeValueList_tags_8,
+ sizeof(asn_DEF_nodeValueList_tags_8)
+ /sizeof(asn_DEF_nodeValueList_tags_8[0]) - 1, /* 1 */
+ asn_DEF_nodeValueList_tags_8, /* Same as above */
+ sizeof(asn_DEF_nodeValueList_tags_8)
+ /sizeof(asn_DEF_nodeValueList_tags_8[0]), /* 2 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_nodeValueList_constr_8,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_OF_constraint
+ },
+ asn_MBR_nodeValueList_8,
+ 1, /* Single element */
+ &asn_SPC_nodeValueList_specs_8 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_AprvBinaryTree_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct AprvBinaryTree, version),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_Uint8,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_version_constr_2,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_version_constraint_1
+ },
+ 0, 0, /* No default value */
+ "version"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AprvBinaryTree, generationTime),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_Time32,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "generationTime"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AprvBinaryTree, currentI),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_IValue,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "currentI"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AprvBinaryTree, acpcTreeId),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AcpcTreeId,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "acpcTreeId"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AprvBinaryTree, hashAlgorithmId),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_HashAlgorithm,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "hashAlgorithmId"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AprvBinaryTree, tree),
+ (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "tree"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AprvBinaryTree, nodeValueList),
+ (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
+ 0,
+ &asn_DEF_nodeValueList_8,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_nodeValueList_constr_8,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_nodeValueList_constraint_1
+ },
+ 0, 0, /* No default value */
+ "nodeValueList"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_AprvBinaryTree_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_AprvBinaryTree_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* version */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* generationTime */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* currentI */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* acpcTreeId */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* hashAlgorithmId */
+ { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* tree */
+ { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* nodeValueList */
+};
+asn_SEQUENCE_specifics_t asn_SPC_AprvBinaryTree_specs_1 = {
+ sizeof(struct AprvBinaryTree),
+ offsetof(struct AprvBinaryTree, _asn_ctx),
+ asn_MAP_AprvBinaryTree_tag2el_1,
+ 7, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 7, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_AprvBinaryTree = {
+ "AprvBinaryTree",
+ "AprvBinaryTree",
+ &asn_OP_SEQUENCE,
+ asn_DEF_AprvBinaryTree_tags_1,
+ sizeof(asn_DEF_AprvBinaryTree_tags_1)
+ /sizeof(asn_DEF_AprvBinaryTree_tags_1[0]), /* 1 */
+ asn_DEF_AprvBinaryTree_tags_1, /* Same as above */
+ sizeof(asn_DEF_AprvBinaryTree_tags_1)
+ /sizeof(asn_DEF_AprvBinaryTree_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
+ asn_MBR_AprvBinaryTree_1,
+ 7, /* Elements count */
+ &asn_SPC_AprvBinaryTree_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AprvBinaryTree.h b/certgen/asncodec/AprvBinaryTree.h
new file mode 100644
index 0000000000000000000000000000000000000000..48919dcbb49e2fdebd548d084114fb4bdff48a1c
--- /dev/null
+++ b/certgen/asncodec/AprvBinaryTree.h
@@ -0,0 +1,63 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Acpc"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Acpc.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "Uint8.h"
+#include "Time32.h"
+#include "IValue.h"
+#include "AcpcTreeId.h"
+#include "HashAlgorithm.h"
+#include
+#include "AcpcNodeValue.h"
+#include
+#include
+#include
+#ifndef _AprvBinaryTree_H_
+#define _AprvBinaryTree_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AprvBinaryTree */
+typedef struct AprvBinaryTree {
+ Uint8_t version;
+ Time32_t generationTime;
+ IValue_t currentI;
+ AcpcTreeId_t acpcTreeId;
+ HashAlgorithm_t hashAlgorithmId;
+ BIT_STRING_t tree;
+ struct AprvBinaryTree__nodeValueList {
+ A_SEQUENCE_OF(AcpcNodeValue_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } nodeValueList;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} AprvBinaryTree_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AprvBinaryTree;
+extern asn_SEQUENCE_specifics_t asn_SPC_AprvBinaryTree_specs_1;
+extern asn_TYPE_member_t asn_MBR_AprvBinaryTree_1[7];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AprvBinaryTree_H_ */
+#include
diff --git a/certgen/asncodec/AprvHashCalculationInput.c b/certgen/asncodec/AprvHashCalculationInput.c
new file mode 100644
index 0000000000000000000000000000000000000000..a8dbd6161ef8aa38de94f568b9c86b99d3373594
--- /dev/null
+++ b/certgen/asncodec/AprvHashCalculationInput.c
@@ -0,0 +1,199 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Acpc"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Acpc.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "AprvHashCalculationInput.h"
+
+static int
+memb_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value == 2)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_parentNodeValue_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = st->size;
+
+ if((size == 16)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_version_constr_2 CC_NOTUSED = {
+ { 1, 1 } /* (2..2) */,
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_parentNodeValue_constr_6 CC_NOTUSED = {
+ { 0, 0 },
+ 16 /* (SIZE(16..16)) */};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static asn_TYPE_member_t asn_MBR_AprvHashCalculationInput_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct AprvHashCalculationInput, version),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_Uint8,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_version_constr_2,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_version_constraint_1
+ },
+ 0, 0, /* No default value */
+ "version"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AprvHashCalculationInput, acpcTreeId),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_AcpcTreeId,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "acpcTreeId"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AprvHashCalculationInput, acpcPeriod),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_IValue,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "acpcPeriod"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AprvHashCalculationInput, childNodeId),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BIT_STRING,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "childNodeId"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct AprvHashCalculationInput, parentNodeValue),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_OCTET_STRING,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_parentNodeValue_constr_6,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_parentNodeValue_constraint_1
+ },
+ 0, 0, /* No default value */
+ "parentNodeValue"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_AprvHashCalculationInput_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_AprvHashCalculationInput_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* version */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* acpcTreeId */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* acpcPeriod */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* childNodeId */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* parentNodeValue */
+};
+static asn_SEQUENCE_specifics_t asn_SPC_AprvHashCalculationInput_specs_1 = {
+ sizeof(struct AprvHashCalculationInput),
+ offsetof(struct AprvHashCalculationInput, _asn_ctx),
+ asn_MAP_AprvHashCalculationInput_tag2el_1,
+ 5, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 5, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_AprvHashCalculationInput = {
+ "AprvHashCalculationInput",
+ "AprvHashCalculationInput",
+ &asn_OP_SEQUENCE,
+ asn_DEF_AprvHashCalculationInput_tags_1,
+ sizeof(asn_DEF_AprvHashCalculationInput_tags_1)
+ /sizeof(asn_DEF_AprvHashCalculationInput_tags_1[0]), /* 1 */
+ asn_DEF_AprvHashCalculationInput_tags_1, /* Same as above */
+ sizeof(asn_DEF_AprvHashCalculationInput_tags_1)
+ /sizeof(asn_DEF_AprvHashCalculationInput_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
+ asn_MBR_AprvHashCalculationInput_1,
+ 5, /* Elements count */
+ &asn_SPC_AprvHashCalculationInput_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/AprvHashCalculationInput.h b/certgen/asncodec/AprvHashCalculationInput.h
new file mode 100644
index 0000000000000000000000000000000000000000..5f4fd31974afc00d1bf492a4f66f15b3747a8db9
--- /dev/null
+++ b/certgen/asncodec/AprvHashCalculationInput.h
@@ -0,0 +1,50 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Acpc"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Acpc.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "Uint8.h"
+#include "AcpcTreeId.h"
+#include "IValue.h"
+#include
+#include
+#include
+#ifndef _AprvHashCalculationInput_H_
+#define _AprvHashCalculationInput_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* AprvHashCalculationInput */
+typedef struct AprvHashCalculationInput {
+ Uint8_t version;
+ AcpcTreeId_t acpcTreeId;
+ IValue_t acpcPeriod;
+ BIT_STRING_t childNodeId;
+ OCTET_STRING_t parentNodeValue;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} AprvHashCalculationInput_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_AprvHashCalculationInput;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _AprvHashCalculationInput_H_ */
+#include
diff --git a/certgen/asncodec/AuthorizationRequestMessage.c b/certgen/asncodec/AuthorizationRequestMessage.c
index 863a4950fcb2154af554ed1a43c724825ce7583f..8b2abbd0c74bb8c1b68bf41692d4a8f3a959c324 100644
--- a/certgen/asncodec/AuthorizationRequestMessage.c
+++ b/certgen/asncodec/AuthorizationRequestMessage.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "AuthorizationRequestMessage.h"
@@ -27,12 +27,14 @@ AuthorizationRequestMessage_constraint(const asn_TYPE_descriptor_t *td, const vo
}
/*
- * This type is implemented using EtsiTs103097Data_Encrypted_Unicast_52P1,
+ * This type is implemented using EtsiTs103097Data_Encrypted_Unicast_107P0,
* so here we adjust the DEF accordingly.
*/
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_AuthorizationRequestMessage_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_AuthorizationRequestMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
@@ -46,7 +48,15 @@ asn_TYPE_descriptor_t asn_DEF_AuthorizationRequestMessage = {
asn_DEF_AuthorizationRequestMessage_tags_1, /* Same as above */
sizeof(asn_DEF_AuthorizationRequestMessage_tags_1)
/sizeof(asn_DEF_AuthorizationRequestMessage_tags_1[0]), /* 1 */
- { &asn_OER_type_AuthorizationRequestMessage_constr_1, 0, AuthorizationRequestMessage_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AuthorizationRequestMessage_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ AuthorizationRequestMessage_constraint
+ },
asn_MBR_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/AuthorizationRequestMessage.h b/certgen/asncodec/AuthorizationRequestMessage.h
index 1479cd283ea96c57b75007c5d87a2a1f180795a8..da4769fcbdc90ef1697352959840254b56c0fd3b 100644
--- a/certgen/asncodec/AuthorizationRequestMessage.h
+++ b/certgen/asncodec/AuthorizationRequestMessage.h
@@ -1,33 +1,31 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include "EtsiTs103097Data-Encrypted-Unicast.h"
#ifndef _AuthorizationRequestMessage_H_
#define _AuthorizationRequestMessage_H_
#include
-/* Including external dependencies */
-#include "EtsiTs103097Data-Encrypted-Unicast.h"
-
#ifdef __cplusplus
extern "C" {
#endif
/* AuthorizationRequestMessage */
-typedef EtsiTs103097Data_Encrypted_Unicast_52P1_t AuthorizationRequestMessage_t;
+typedef EtsiTs103097Data_Encrypted_Unicast_107P0_t AuthorizationRequestMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AuthorizationRequestMessage;
asn_struct_free_f AuthorizationRequestMessage_free;
asn_struct_print_f AuthorizationRequestMessage_print;
asn_constr_check_f AuthorizationRequestMessage_constraint;
-ber_type_decoder_f AuthorizationRequestMessage_decode_ber;
-der_type_encoder_f AuthorizationRequestMessage_encode_der;
xer_type_decoder_f AuthorizationRequestMessage_decode_xer;
xer_type_encoder_f AuthorizationRequestMessage_encode_xer;
oer_type_decoder_f AuthorizationRequestMessage_decode_oer;
diff --git a/certgen/asncodec/AuthorizationRequestMessageWithPop.c b/certgen/asncodec/AuthorizationRequestMessageWithPop.c
index 32381133cf316ddacbefe7eb3079d98cce07a0bc..ebcdc1122b69add9d36f7c85f1996e4d2ca5d097 100644
--- a/certgen/asncodec/AuthorizationRequestMessageWithPop.c
+++ b/certgen/asncodec/AuthorizationRequestMessageWithPop.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "AuthorizationRequestMessageWithPop.h"
@@ -27,12 +27,14 @@ AuthorizationRequestMessageWithPop_constraint(const asn_TYPE_descriptor_t *td, c
}
/*
- * This type is implemented using EtsiTs103097Data_SignedAndEncrypted_Unicast_61P0,
+ * This type is implemented using EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0,
* so here we adjust the DEF accordingly.
*/
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_AuthorizationRequestMessageWithPop_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_AuthorizationRequestMessageWithPop_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
@@ -46,7 +48,15 @@ asn_TYPE_descriptor_t asn_DEF_AuthorizationRequestMessageWithPop = {
asn_DEF_AuthorizationRequestMessageWithPop_tags_1, /* Same as above */
sizeof(asn_DEF_AuthorizationRequestMessageWithPop_tags_1)
/sizeof(asn_DEF_AuthorizationRequestMessageWithPop_tags_1[0]), /* 1 */
- { &asn_OER_type_AuthorizationRequestMessageWithPop_constr_1, 0, AuthorizationRequestMessageWithPop_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AuthorizationRequestMessageWithPop_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ AuthorizationRequestMessageWithPop_constraint
+ },
asn_MBR_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/AuthorizationRequestMessageWithPop.h b/certgen/asncodec/AuthorizationRequestMessageWithPop.h
index 302ecdce1fd269e7baf1561a4c7744fbece8a787..16a2d7cff878552330fe893e1ba729a043633d23 100644
--- a/certgen/asncodec/AuthorizationRequestMessageWithPop.h
+++ b/certgen/asncodec/AuthorizationRequestMessageWithPop.h
@@ -1,33 +1,31 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
#ifndef _AuthorizationRequestMessageWithPop_H_
#define _AuthorizationRequestMessageWithPop_H_
#include
-/* Including external dependencies */
-#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
-
#ifdef __cplusplus
extern "C" {
#endif
/* AuthorizationRequestMessageWithPop */
-typedef EtsiTs103097Data_SignedAndEncrypted_Unicast_61P0_t AuthorizationRequestMessageWithPop_t;
+typedef EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0_t AuthorizationRequestMessageWithPop_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AuthorizationRequestMessageWithPop;
asn_struct_free_f AuthorizationRequestMessageWithPop_free;
asn_struct_print_f AuthorizationRequestMessageWithPop_print;
asn_constr_check_f AuthorizationRequestMessageWithPop_constraint;
-ber_type_decoder_f AuthorizationRequestMessageWithPop_decode_ber;
-der_type_encoder_f AuthorizationRequestMessageWithPop_encode_der;
xer_type_decoder_f AuthorizationRequestMessageWithPop_decode_xer;
xer_type_encoder_f AuthorizationRequestMessageWithPop_encode_xer;
oer_type_decoder_f AuthorizationRequestMessageWithPop_decode_oer;
diff --git a/certgen/asncodec/AuthorizationResponseCode.c b/certgen/asncodec/AuthorizationResponseCode.c
index 9997f6b99bc93a5ea134a6ab140181ad5fe68ad4..016912948854062528e47d5aac00d06f26347b5a 100644
--- a/certgen/asncodec/AuthorizationResponseCode.c
+++ b/certgen/asncodec/AuthorizationResponseCode.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941TypesAuthorization"
- * found in "../asn1/EtsiTs102941/EtsiTs102941TypesAuthorization.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941TypesAuthorization.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "AuthorizationResponseCode.h"
@@ -11,9 +11,11 @@
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_AuthorizationResponseCode_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
static const asn_INTEGER_enum_map_t asn_MAP_AuthorizationResponseCode_value2enum_1[] = {
{ 0, 2, "ok" },
{ 1, 16, "its-aa-cantparse" },
@@ -96,7 +98,15 @@ asn_TYPE_descriptor_t asn_DEF_AuthorizationResponseCode = {
asn_DEF_AuthorizationResponseCode_tags_1, /* Same as above */
sizeof(asn_DEF_AuthorizationResponseCode_tags_1)
/sizeof(asn_DEF_AuthorizationResponseCode_tags_1[0]), /* 1 */
- { &asn_OER_type_AuthorizationResponseCode_constr_1, 0, NativeEnumerated_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AuthorizationResponseCode_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ NativeEnumerated_constraint
+ },
0, 0, /* Defined elsewhere */
&asn_SPC_AuthorizationResponseCode_specs_1 /* Additional specs */
};
diff --git a/certgen/asncodec/AuthorizationResponseCode.h b/certgen/asncodec/AuthorizationResponseCode.h
index 7fb1d4ab1b29c5ee502025e7a7513f3cde0c3427..1df76899d691e2cd118619d51e245534f84cd5ef 100644
--- a/certgen/asncodec/AuthorizationResponseCode.h
+++ b/certgen/asncodec/AuthorizationResponseCode.h
@@ -1,19 +1,19 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941TypesAuthorization"
- * found in "../asn1/EtsiTs102941/EtsiTs102941TypesAuthorization.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941TypesAuthorization.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include
#ifndef _AuthorizationResponseCode_H_
#define _AuthorizationResponseCode_H_
#include
-/* Including external dependencies */
-#include
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -61,8 +61,6 @@ extern const asn_INTEGER_specifics_t asn_SPC_AuthorizationResponseCode_specs_1;
asn_struct_free_f AuthorizationResponseCode_free;
asn_struct_print_f AuthorizationResponseCode_print;
asn_constr_check_f AuthorizationResponseCode_constraint;
-ber_type_decoder_f AuthorizationResponseCode_decode_ber;
-der_type_encoder_f AuthorizationResponseCode_encode_der;
xer_type_decoder_f AuthorizationResponseCode_decode_xer;
xer_type_encoder_f AuthorizationResponseCode_encode_xer;
oer_type_decoder_f AuthorizationResponseCode_decode_oer;
diff --git a/certgen/asncodec/AuthorizationResponseMessage.c b/certgen/asncodec/AuthorizationResponseMessage.c
index ea582b3e9fda71a0749389b47319d880b4989ffe..2802ec108b7c16091f82cfb264a6800e0827dce2 100644
--- a/certgen/asncodec/AuthorizationResponseMessage.c
+++ b/certgen/asncodec/AuthorizationResponseMessage.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "AuthorizationResponseMessage.h"
@@ -27,12 +27,14 @@ AuthorizationResponseMessage_constraint(const asn_TYPE_descriptor_t *td, const v
}
/*
- * This type is implemented using EtsiTs103097Data_SignedAndEncrypted_Unicast_61P0,
+ * This type is implemented using EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0,
* so here we adjust the DEF accordingly.
*/
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_AuthorizationResponseMessage_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_AuthorizationResponseMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
@@ -46,7 +48,15 @@ asn_TYPE_descriptor_t asn_DEF_AuthorizationResponseMessage = {
asn_DEF_AuthorizationResponseMessage_tags_1, /* Same as above */
sizeof(asn_DEF_AuthorizationResponseMessage_tags_1)
/sizeof(asn_DEF_AuthorizationResponseMessage_tags_1[0]), /* 1 */
- { &asn_OER_type_AuthorizationResponseMessage_constr_1, 0, AuthorizationResponseMessage_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AuthorizationResponseMessage_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ AuthorizationResponseMessage_constraint
+ },
asn_MBR_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/AuthorizationResponseMessage.h b/certgen/asncodec/AuthorizationResponseMessage.h
index 48adb1077a9569716422be507b81226871166b0c..748efe0ed2725d432ccac6843815cff577046891 100644
--- a/certgen/asncodec/AuthorizationResponseMessage.h
+++ b/certgen/asncodec/AuthorizationResponseMessage.h
@@ -1,33 +1,31 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
#ifndef _AuthorizationResponseMessage_H_
#define _AuthorizationResponseMessage_H_
#include
-/* Including external dependencies */
-#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
-
#ifdef __cplusplus
extern "C" {
#endif
/* AuthorizationResponseMessage */
-typedef EtsiTs103097Data_SignedAndEncrypted_Unicast_61P0_t AuthorizationResponseMessage_t;
+typedef EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0_t AuthorizationResponseMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AuthorizationResponseMessage;
asn_struct_free_f AuthorizationResponseMessage_free;
asn_struct_print_f AuthorizationResponseMessage_print;
asn_constr_check_f AuthorizationResponseMessage_constraint;
-ber_type_decoder_f AuthorizationResponseMessage_decode_ber;
-der_type_encoder_f AuthorizationResponseMessage_encode_der;
xer_type_decoder_f AuthorizationResponseMessage_decode_xer;
xer_type_encoder_f AuthorizationResponseMessage_encode_xer;
oer_type_decoder_f AuthorizationResponseMessage_decode_oer;
diff --git a/certgen/asncodec/AuthorizationValidationRequest.c b/certgen/asncodec/AuthorizationValidationRequest.c
index 3cc103202d73f4c28bfdbfe5934fbaca5c4a733d..ebde641a86fe7bbb45d9ee2b8940473af4a78b65 100644
--- a/certgen/asncodec/AuthorizationValidationRequest.c
+++ b/certgen/asncodec/AuthorizationValidationRequest.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
- * found in "../asn1/EtsiTs102941/EtsiTs102941TypesAuthorizationValidation.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941TypesAuthorizationValidation.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "AuthorizationValidationRequest.h"
@@ -13,7 +13,15 @@ asn_TYPE_member_t asn_MBR_AuthorizationValidationRequest_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_SharedAtRequest,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"sharedAtRequest"
},
@@ -22,7 +30,15 @@ asn_TYPE_member_t asn_MBR_AuthorizationValidationRequest_1[] = {
+1, /* EXPLICIT tag at current level */
&asn_DEF_EcSignature,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"ecSignature"
},
@@ -52,7 +68,15 @@ asn_TYPE_descriptor_t asn_DEF_AuthorizationValidationRequest = {
asn_DEF_AuthorizationValidationRequest_tags_1, /* Same as above */
sizeof(asn_DEF_AuthorizationValidationRequest_tags_1)
/sizeof(asn_DEF_AuthorizationValidationRequest_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
asn_MBR_AuthorizationValidationRequest_1,
2, /* Elements count */
&asn_SPC_AuthorizationValidationRequest_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/AuthorizationValidationRequest.h b/certgen/asncodec/AuthorizationValidationRequest.h
index f2c6b91ba8c518829fbf3f330eef96e5622a605e..7bd77eca1c279f3cb5de236a7c842b537f62e1ce 100644
--- a/certgen/asncodec/AuthorizationValidationRequest.h
+++ b/certgen/asncodec/AuthorizationValidationRequest.h
@@ -1,20 +1,20 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
- * found in "../asn1/EtsiTs102941/EtsiTs102941TypesAuthorizationValidation.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941TypesAuthorizationValidation.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
-#ifndef _AuthorizationValidationRequest_H_
-#define _AuthorizationValidationRequest_H_
-
-
-#include
/* Including external dependencies */
#include "SharedAtRequest.h"
#include "EcSignature.h"
#include
+#ifndef _AuthorizationValidationRequest_H_
+#define _AuthorizationValidationRequest_H_
+
+
+#include
#ifdef __cplusplus
extern "C" {
diff --git a/certgen/asncodec/AuthorizationValidationRequestMessage.c b/certgen/asncodec/AuthorizationValidationRequestMessage.c
index 5e3694ae6cf44ef2057dae58475910819c603393..d398ffb3a3680ed19977e6b883512ab073a2eba5 100644
--- a/certgen/asncodec/AuthorizationValidationRequestMessage.c
+++ b/certgen/asncodec/AuthorizationValidationRequestMessage.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "AuthorizationValidationRequestMessage.h"
@@ -27,12 +27,14 @@ AuthorizationValidationRequestMessage_constraint(const asn_TYPE_descriptor_t *td
}
/*
- * This type is implemented using EtsiTs103097Data_SignedAndEncrypted_Unicast_61P0,
+ * This type is implemented using EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0,
* so here we adjust the DEF accordingly.
*/
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_AuthorizationValidationRequestMessage_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_AuthorizationValidationRequestMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
@@ -46,7 +48,15 @@ asn_TYPE_descriptor_t asn_DEF_AuthorizationValidationRequestMessage = {
asn_DEF_AuthorizationValidationRequestMessage_tags_1, /* Same as above */
sizeof(asn_DEF_AuthorizationValidationRequestMessage_tags_1)
/sizeof(asn_DEF_AuthorizationValidationRequestMessage_tags_1[0]), /* 1 */
- { &asn_OER_type_AuthorizationValidationRequestMessage_constr_1, 0, AuthorizationValidationRequestMessage_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AuthorizationValidationRequestMessage_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ AuthorizationValidationRequestMessage_constraint
+ },
asn_MBR_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/AuthorizationValidationRequestMessage.h b/certgen/asncodec/AuthorizationValidationRequestMessage.h
index dba520a2080a7393cf32fd3c797a0fad52e82f6f..531213bf3f96517c792d593594f2ac7c9a5b4446 100644
--- a/certgen/asncodec/AuthorizationValidationRequestMessage.h
+++ b/certgen/asncodec/AuthorizationValidationRequestMessage.h
@@ -1,33 +1,31 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
#ifndef _AuthorizationValidationRequestMessage_H_
#define _AuthorizationValidationRequestMessage_H_
#include
-/* Including external dependencies */
-#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
-
#ifdef __cplusplus
extern "C" {
#endif
/* AuthorizationValidationRequestMessage */
-typedef EtsiTs103097Data_SignedAndEncrypted_Unicast_61P0_t AuthorizationValidationRequestMessage_t;
+typedef EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0_t AuthorizationValidationRequestMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AuthorizationValidationRequestMessage;
asn_struct_free_f AuthorizationValidationRequestMessage_free;
asn_struct_print_f AuthorizationValidationRequestMessage_print;
asn_constr_check_f AuthorizationValidationRequestMessage_constraint;
-ber_type_decoder_f AuthorizationValidationRequestMessage_decode_ber;
-der_type_encoder_f AuthorizationValidationRequestMessage_encode_der;
xer_type_decoder_f AuthorizationValidationRequestMessage_decode_xer;
xer_type_encoder_f AuthorizationValidationRequestMessage_encode_xer;
oer_type_decoder_f AuthorizationValidationRequestMessage_decode_oer;
diff --git a/certgen/asncodec/AuthorizationValidationResponse.c b/certgen/asncodec/AuthorizationValidationResponse.c
index 8478084941290e89cdf90a429bb08efbce87fd08..a1eb9851d9e0edd5c82f66a44662b82910580ca9 100644
--- a/certgen/asncodec/AuthorizationValidationResponse.c
+++ b/certgen/asncodec/AuthorizationValidationResponse.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
- * found in "../asn1/EtsiTs102941/EtsiTs102941TypesAuthorizationValidation.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941TypesAuthorizationValidation.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "AuthorizationValidationResponse.h"
@@ -52,19 +52,36 @@ memb_confirmedSubjectAttributes_constraint_1(const asn_TYPE_descriptor_t *td, co
return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
}
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_requestHash_constr_2 CC_NOTUSED = {
{ 0, 0 },
16 /* (SIZE(16..16)) */};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_confirmedSubjectAttributes_constr_4 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_AuthorizationValidationResponse_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
asn_TYPE_member_t asn_MBR_AuthorizationValidationResponse_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct AuthorizationValidationResponse, requestHash),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
0,
- { &asn_OER_memb_requestHash_constr_2, 0, memb_requestHash_constraint_1 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_requestHash_constr_2,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_requestHash_constraint_1
+ },
0, 0, /* No default value */
"requestHash"
},
@@ -73,7 +90,15 @@ asn_TYPE_member_t asn_MBR_AuthorizationValidationResponse_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_AuthorizationValidationResponseCode,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"responseCode"
},
@@ -82,7 +107,15 @@ asn_TYPE_member_t asn_MBR_AuthorizationValidationResponse_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_CertificateSubjectAttributes,
0,
- { &asn_OER_memb_confirmedSubjectAttributes_constr_4, 0, memb_confirmedSubjectAttributes_constraint_1 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_confirmedSubjectAttributes_constr_4,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_confirmedSubjectAttributes_constraint_1
+ },
0, 0, /* No default value */
"confirmedSubjectAttributes"
},
@@ -115,7 +148,15 @@ asn_TYPE_descriptor_t asn_DEF_AuthorizationValidationResponse = {
asn_DEF_AuthorizationValidationResponse_tags_1, /* Same as above */
sizeof(asn_DEF_AuthorizationValidationResponse_tags_1)
/sizeof(asn_DEF_AuthorizationValidationResponse_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AuthorizationValidationResponse_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
asn_MBR_AuthorizationValidationResponse_1,
3, /* Elements count */
&asn_SPC_AuthorizationValidationResponse_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/AuthorizationValidationResponse.h b/certgen/asncodec/AuthorizationValidationResponse.h
index ca479fe33fbe26898ebac5fcfe5b1d242d30a5ed..7c491034e5ec20d2601e403269a86cd6fd075d85 100644
--- a/certgen/asncodec/AuthorizationValidationResponse.h
+++ b/certgen/asncodec/AuthorizationValidationResponse.h
@@ -1,20 +1,20 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
- * found in "../asn1/EtsiTs102941/EtsiTs102941TypesAuthorizationValidation.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941TypesAuthorizationValidation.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
-#ifndef _AuthorizationValidationResponse_H_
-#define _AuthorizationValidationResponse_H_
-
-
-#include
/* Including external dependencies */
#include
#include "AuthorizationValidationResponseCode.h"
#include
+#ifndef _AuthorizationValidationResponse_H_
+#define _AuthorizationValidationResponse_H_
+
+
+#include
#ifdef __cplusplus
extern "C" {
@@ -27,7 +27,7 @@ struct CertificateSubjectAttributes;
typedef struct AuthorizationValidationResponse {
OCTET_STRING_t requestHash;
AuthorizationValidationResponseCode_t responseCode;
- struct CertificateSubjectAttributes *confirmedSubjectAttributes /* OPTIONAL */;
+ struct CertificateSubjectAttributes *confirmedSubjectAttributes; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
diff --git a/certgen/asncodec/AuthorizationValidationResponseCode.c b/certgen/asncodec/AuthorizationValidationResponseCode.c
index b3d85509b47b093922f2c62809c8b8c2411d6d1b..61dbf411ec428e3a26d6036adad25a892ffbf2bf 100644
--- a/certgen/asncodec/AuthorizationValidationResponseCode.c
+++ b/certgen/asncodec/AuthorizationValidationResponseCode.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
- * found in "../asn1/EtsiTs102941/EtsiTs102941TypesAuthorizationValidation.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941TypesAuthorizationValidation.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "AuthorizationValidationResponseCode.h"
@@ -11,9 +11,11 @@
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_AuthorizationValidationResponseCode_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
static const asn_INTEGER_enum_map_t asn_MAP_AuthorizationValidationResponseCode_value2enum_1[] = {
{ 0, 2, "ok" },
{ 1, 9, "cantparse" },
@@ -72,7 +74,15 @@ asn_TYPE_descriptor_t asn_DEF_AuthorizationValidationResponseCode = {
asn_DEF_AuthorizationValidationResponseCode_tags_1, /* Same as above */
sizeof(asn_DEF_AuthorizationValidationResponseCode_tags_1)
/sizeof(asn_DEF_AuthorizationValidationResponseCode_tags_1[0]), /* 1 */
- { &asn_OER_type_AuthorizationValidationResponseCode_constr_1, 0, NativeEnumerated_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AuthorizationValidationResponseCode_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ NativeEnumerated_constraint
+ },
0, 0, /* Defined elsewhere */
&asn_SPC_AuthorizationValidationResponseCode_specs_1 /* Additional specs */
};
diff --git a/certgen/asncodec/AuthorizationValidationResponseCode.h b/certgen/asncodec/AuthorizationValidationResponseCode.h
index f0e2edd201e123c480ddccfbd17fdfb1de304efc..b122f92140671363b71a87c55a765dbae2ba37ec 100644
--- a/certgen/asncodec/AuthorizationValidationResponseCode.h
+++ b/certgen/asncodec/AuthorizationValidationResponseCode.h
@@ -1,19 +1,19 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941TypesAuthorizationValidation"
- * found in "../asn1/EtsiTs102941/EtsiTs102941TypesAuthorizationValidation.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941TypesAuthorizationValidation.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include
#ifndef _AuthorizationValidationResponseCode_H_
#define _AuthorizationValidationResponseCode_H_
#include
-/* Including external dependencies */
-#include
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -49,8 +49,6 @@ extern const asn_INTEGER_specifics_t asn_SPC_AuthorizationValidationResponseCode
asn_struct_free_f AuthorizationValidationResponseCode_free;
asn_struct_print_f AuthorizationValidationResponseCode_print;
asn_constr_check_f AuthorizationValidationResponseCode_constraint;
-ber_type_decoder_f AuthorizationValidationResponseCode_decode_ber;
-der_type_encoder_f AuthorizationValidationResponseCode_encode_der;
xer_type_decoder_f AuthorizationValidationResponseCode_decode_xer;
xer_type_encoder_f AuthorizationValidationResponseCode_encode_xer;
oer_type_decoder_f AuthorizationValidationResponseCode_decode_oer;
diff --git a/certgen/asncodec/AuthorizationValidationResponseMessage.c b/certgen/asncodec/AuthorizationValidationResponseMessage.c
index c1c5edab926a28cbc272dda0c34225f682d87d0d..8361495f70be28ef0d64464a6a8a329c0167a5fe 100644
--- a/certgen/asncodec/AuthorizationValidationResponseMessage.c
+++ b/certgen/asncodec/AuthorizationValidationResponseMessage.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "AuthorizationValidationResponseMessage.h"
@@ -27,12 +27,14 @@ AuthorizationValidationResponseMessage_constraint(const asn_TYPE_descriptor_t *t
}
/*
- * This type is implemented using EtsiTs103097Data_SignedAndEncrypted_Unicast_61P0,
+ * This type is implemented using EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0,
* so here we adjust the DEF accordingly.
*/
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_AuthorizationValidationResponseMessage_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_AuthorizationValidationResponseMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
@@ -46,7 +48,15 @@ asn_TYPE_descriptor_t asn_DEF_AuthorizationValidationResponseMessage = {
asn_DEF_AuthorizationValidationResponseMessage_tags_1, /* Same as above */
sizeof(asn_DEF_AuthorizationValidationResponseMessage_tags_1)
/sizeof(asn_DEF_AuthorizationValidationResponseMessage_tags_1[0]), /* 1 */
- { &asn_OER_type_AuthorizationValidationResponseMessage_constr_1, 0, AuthorizationValidationResponseMessage_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_AuthorizationValidationResponseMessage_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ AuthorizationValidationResponseMessage_constraint
+ },
asn_MBR_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/AuthorizationValidationResponseMessage.h b/certgen/asncodec/AuthorizationValidationResponseMessage.h
index fe29736c07ef59ebda2ca5566ca138c97e970dcd..1038744db7d7ba2170530c42eef40b82d5d14290 100644
--- a/certgen/asncodec/AuthorizationValidationResponseMessage.h
+++ b/certgen/asncodec/AuthorizationValidationResponseMessage.h
@@ -1,33 +1,31 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
#ifndef _AuthorizationValidationResponseMessage_H_
#define _AuthorizationValidationResponseMessage_H_
#include
-/* Including external dependencies */
-#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
-
#ifdef __cplusplus
extern "C" {
#endif
/* AuthorizationValidationResponseMessage */
-typedef EtsiTs103097Data_SignedAndEncrypted_Unicast_61P0_t AuthorizationValidationResponseMessage_t;
+typedef EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0_t AuthorizationValidationResponseMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_AuthorizationValidationResponseMessage;
asn_struct_free_f AuthorizationValidationResponseMessage_free;
asn_struct_print_f AuthorizationValidationResponseMessage_print;
asn_constr_check_f AuthorizationValidationResponseMessage_constraint;
-ber_type_decoder_f AuthorizationValidationResponseMessage_decode_ber;
-der_type_encoder_f AuthorizationValidationResponseMessage_encode_der;
xer_type_decoder_f AuthorizationValidationResponseMessage_decode_xer;
xer_type_encoder_f AuthorizationValidationResponseMessage_encode_xer;
oer_type_decoder_f AuthorizationValidationResponseMessage_decode_oer;
diff --git a/certgen/asncodec/BIT_STRING.c b/certgen/asncodec/BIT_STRING.c
index 4b9b25d31b34a059da138fd2f02429f548218dfc..b5ba94017ca31ac9cf6ee29a4388a029bf9bf5ae 100644
--- a/certgen/asncodec/BIT_STRING.c
+++ b/certgen/asncodec/BIT_STRING.c
@@ -1,652 +1,213 @@
-/*-
- * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved.
- * Redistribution and modifications are permitted subject to BSD license.
- */
-#include
-#include
-#include
-
-/*
- * BIT STRING basic type description.
- */
-static const ber_tlv_tag_t asn_DEF_BIT_STRING_tags[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
-};
-asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs = {
- sizeof(BIT_STRING_t),
- offsetof(BIT_STRING_t, _asn_ctx),
- ASN_OSUBV_BIT
-};
-asn_TYPE_operation_t asn_OP_BIT_STRING = {
- OCTET_STRING_free, /* Implemented in terms of OCTET STRING */
- BIT_STRING_print,
- BIT_STRING_compare,
- OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */
- OCTET_STRING_encode_der, /* Implemented in terms of OCTET STRING */
- OCTET_STRING_decode_xer_binary,
- BIT_STRING_encode_xer,
-#ifdef ASN_DISABLE_OER_SUPPORT
- 0,
- 0,
-#else
- BIT_STRING_decode_oer,
- BIT_STRING_encode_oer,
-#endif /* ASN_DISABLE_OER_SUPPORT */
-#ifdef ASN_DISABLE_PER_SUPPORT
- 0,
- 0,
-#else
- BIT_STRING_decode_uper, /* Unaligned PER decoder */
- BIT_STRING_encode_uper, /* Unaligned PER encoder */
-#endif /* ASN_DISABLE_PER_SUPPORT */
- BIT_STRING_random_fill,
- 0 /* Use generic outmost tag fetcher */
-};
-asn_TYPE_descriptor_t asn_DEF_BIT_STRING = {
- "BIT STRING",
- "BIT_STRING",
- &asn_OP_BIT_STRING,
- asn_DEF_BIT_STRING_tags,
- sizeof(asn_DEF_BIT_STRING_tags)
- / sizeof(asn_DEF_BIT_STRING_tags[0]),
- asn_DEF_BIT_STRING_tags, /* Same as above */
- sizeof(asn_DEF_BIT_STRING_tags)
- / sizeof(asn_DEF_BIT_STRING_tags[0]),
- { 0, 0, BIT_STRING_constraint },
- 0, 0, /* No members */
- &asn_SPC_BIT_STRING_specs
-};
-
-/*
- * BIT STRING generic constraint.
- */
-int
-BIT_STRING_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
- asn_app_constraint_failed_f *ctfailcb, void *app_key) {
- const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
-
- if(st && st->buf) {
- if((st->size == 0 && st->bits_unused)
- || st->bits_unused < 0 || st->bits_unused > 7) {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: invalid padding byte (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
- } else {
- ASN__CTFAIL(app_key, td, sptr,
- "%s: value not given (%s:%d)",
- td->name, __FILE__, __LINE__);
- return -1;
- }
-
- return 0;
-}
-
-static const char *_bit_pattern[16] = {
- "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",
- "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"
-};
-
-asn_enc_rval_t
-BIT_STRING_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- asn_enc_rval_t er;
- char scratch[128];
- char *p = scratch;
- char *scend = scratch + (sizeof(scratch) - 10);
- const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
- int xcan = (flags & XER_F_CANONICAL);
- uint8_t *buf;
- uint8_t *end;
-
- if(!st || !st->buf)
- ASN__ENCODE_FAILED;
-
- er.encoded = 0;
-
- buf = st->buf;
- end = buf + st->size - 1; /* Last byte is special */
-
- /*
- * Binary dump
- */
- for(; buf < end; buf++) {
- int v = *buf;
- int nline = xcan?0:(((buf - st->buf) % 8) == 0);
- if(p >= scend || nline) {
- ASN__CALLBACK(scratch, p - scratch);
- p = scratch;
- if(nline) ASN__TEXT_INDENT(1, ilevel);
- }
- memcpy(p + 0, _bit_pattern[v >> 4], 4);
- memcpy(p + 4, _bit_pattern[v & 0x0f], 4);
- p += 8;
- }
-
- if(!xcan && ((buf - st->buf) % 8) == 0)
- ASN__TEXT_INDENT(1, ilevel);
- ASN__CALLBACK(scratch, p - scratch);
- p = scratch;
-
- if(buf == end) {
- int v = *buf;
- int ubits = st->bits_unused;
- int i;
- for(i = 7; i >= ubits; i--)
- *p++ = (v & (1 << i)) ? 0x31 : 0x30;
- ASN__CALLBACK(scratch, p - scratch);
- }
-
- if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1);
-
- ASN__ENCODED_OK(er);
-cb_failed:
- ASN__ENCODE_FAILED;
-}
-
-
-/*
- * BIT STRING specific contents printer.
- */
-int
-BIT_STRING_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
- asn_app_consume_bytes_f *cb, void *app_key) {
- const char * const h2c = "0123456789ABCDEF";
- char scratch[64];
- const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
- uint8_t *buf;
- uint8_t *end;
- char *p = scratch;
-
- (void)td; /* Unused argument */
-
- if(!st || !st->buf)
- return (cb("", 8, app_key) < 0) ? -1 : 0;
-
- ilevel++;
- buf = st->buf;
- end = buf + st->size;
-
- /*
- * Hexadecimal dump.
- */
- for(; buf < end; buf++) {
- if((buf - st->buf) % 16 == 0 && (st->size > 16)
- && buf != st->buf) {
- _i_INDENT(1);
- /* Dump the string */
- if(cb(scratch, p - scratch, app_key) < 0) return -1;
- p = scratch;
- }
- *p++ = h2c[*buf >> 4];
- *p++ = h2c[*buf & 0x0F];
- *p++ = 0x20;
- }
-
- if(p > scratch) {
- p--; /* Eat the tailing space */
-
- if((st->size > 16)) {
- _i_INDENT(1);
- }
-
- /* Dump the incomplete 16-bytes row */
- if(cb(scratch, p - scratch, app_key) < 0)
- return -1;
- }
-
- if(st->bits_unused) {
- int ret = snprintf(scratch, sizeof(scratch), " (%d bit%s unused)",
- st->bits_unused, st->bits_unused == 1 ? "" : "s");
- assert(ret > 0 && ret < (ssize_t)sizeof(scratch));
- if(ret > 0 && ret < (ssize_t)sizeof(scratch)
- && cb(scratch, ret, app_key) < 0)
- return -1;
- }
-
- return 0;
-}
-
-/*
- * Non-destructively remove the trailing 0-bits from the given bit string.
- */
-static const BIT_STRING_t *
-BIT_STRING__compactify(const BIT_STRING_t *st, BIT_STRING_t *tmp) {
- const uint8_t *b;
- union {
- const uint8_t *c_buf;
- uint8_t *nc_buf;
- } unconst;
-
- if(st->size == 0) {
- assert(st->bits_unused == 0);
- return st;
- } else {
- for(b = &st->buf[st->size - 1]; b > st->buf && *b == 0; b--) {
- ;
- }
- /* b points to the last byte which may contain data */
- if(*b) {
- int unused = 7;
- uint8_t v = *b;
- v &= -(int8_t)v;
- if(v & 0x0F) unused -= 4;
- if(v & 0x33) unused -= 2;
- if(v & 0x55) unused -= 1;
- tmp->size = b-st->buf + 1;
- tmp->bits_unused = unused;
- } else {
- tmp->size = b-st->buf;
- tmp->bits_unused = 0;
- }
-
- assert(b >= st->buf);
- }
-
- unconst.c_buf = st->buf;
- tmp->buf = unconst.nc_buf;
- return tmp;
-}
-
-/*
- * Lexicographically compare the common prefix of both strings,
- * and if it is the same return -1 for the smallest string.
- */
-int
-BIT_STRING_compare(const asn_TYPE_descriptor_t *td, const void *aptr,
- const void *bptr) {
- /*
- * Remove information about trailing bits, since
- * X.680 (08/2015) #22.7 "ensure that different semantics are not"
- * "associated with [values that differ only in] the trailing 0 bits."
- */
- BIT_STRING_t compact_a, compact_b;
- const BIT_STRING_t *a = BIT_STRING__compactify(aptr, &compact_a);
- const BIT_STRING_t *b = BIT_STRING__compactify(bptr, &compact_b);
- const asn_OCTET_STRING_specifics_t *specs = td->specifics;
-
- assert(specs && specs->subvariant == ASN_OSUBV_BIT);
-
- if(a && b) {
- size_t common_prefix_size = a->size <= b->size ? a->size : b->size;
- int ret = memcmp(a->buf, b->buf, common_prefix_size);
- if(ret == 0) {
- /* Figure out which string with equal prefixes is longer. */
- if(a->size < b->size) {
- return -1;
- } else if(a->size > b->size) {
- return 1;
- } else {
- /* Figure out how many unused bits */
- if(a->bits_unused > b->bits_unused) {
- return -1;
- } else if(a->bits_unused < b->bits_unused) {
- return 1;
- } else {
- return 0;
- }
- }
- } else {
- return ret;
- }
- } else if(!a && !b) {
- return 0;
- } else if(!a) {
- return -1;
- } else {
- return 1;
- }
-}
-
-#ifndef ASN_DISABLE_PER_SUPPORT
-
-#undef RETURN
-#define RETURN(_code) \
- do { \
- asn_dec_rval_t tmprval; \
- tmprval.code = _code; \
- tmprval.consumed = consumed_myself; \
- return tmprval; \
- } while(0)
-
-static asn_per_constraint_t asn_DEF_BIT_STRING_constraint_size = {
- APC_SEMI_CONSTRAINED, -1, -1, 0, 0};
-
-asn_dec_rval_t
-BIT_STRING_decode_uper(const asn_codec_ctx_t *opt_codec_ctx,
- const asn_TYPE_descriptor_t *td,
- const asn_per_constraints_t *constraints, void **sptr,
- asn_per_data_t *pd) {
- const asn_OCTET_STRING_specifics_t *specs = td->specifics
- ? (const asn_OCTET_STRING_specifics_t *)td->specifics
- : &asn_SPC_BIT_STRING_specs;
- const asn_per_constraints_t *pc =
- constraints ? constraints : td->encoding_constraints.per_constraints;
- const asn_per_constraint_t *csiz;
- asn_dec_rval_t rval = { RC_OK, 0 };
- BIT_STRING_t *st = (BIT_STRING_t *)*sptr;
- ssize_t consumed_myself = 0;
- int repeat;
-
- (void)opt_codec_ctx;
-
- if(pc) {
- csiz = &pc->size;
- } else {
- csiz = &asn_DEF_BIT_STRING_constraint_size;
- }
-
- if(specs->subvariant != ASN_OSUBV_BIT) {
- ASN_DEBUG("Subvariant %d is not BIT OSUBV_BIT", specs->subvariant);
- RETURN(RC_FAIL);
- }
-
- /*
- * Allocate the string.
- */
- if(!st) {
- st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size));
- if(!st) RETURN(RC_FAIL);
- }
-
- ASN_DEBUG("PER Decoding %s size %ld .. %ld bits %d",
- csiz->flags & APC_EXTENSIBLE ? "extensible" : "non-extensible",
- csiz->lower_bound, csiz->upper_bound, csiz->effective_bits);
-
- if(csiz->flags & APC_EXTENSIBLE) {
- int inext = per_get_few_bits(pd, 1);
- if(inext < 0) RETURN(RC_WMORE);
- if(inext) {
- csiz = &asn_DEF_BIT_STRING_constraint_size;
- }
- }
-
- if(csiz->effective_bits >= 0) {
- FREEMEM(st->buf);
- st->size = (csiz->upper_bound + 7) >> 3;
- st->buf = (uint8_t *)MALLOC(st->size + 1);
- if(!st->buf) { st->size = 0; RETURN(RC_FAIL); }
- }
-
- /* X.691, #16.5: zero-length encoding */
- /* X.691, #16.6: short fixed length encoding (up to 2 octets) */
- /* X.691, #16.7: long fixed length encoding (up to 64K octets) */
- if(csiz->effective_bits == 0) {
- int ret;
- ASN_DEBUG("Encoding BIT STRING size %ld", csiz->upper_bound);
- ret = per_get_many_bits(pd, st->buf, 0, csiz->upper_bound);
- if(ret < 0) RETURN(RC_WMORE);
- consumed_myself += csiz->upper_bound;
- st->buf[st->size] = 0;
- st->bits_unused = (8 - (csiz->upper_bound & 0x7)) & 0x7;
- RETURN(RC_OK);
- }
-
- st->size = 0;
- do {
- ssize_t raw_len;
- ssize_t len_bytes;
- ssize_t len_bits;
- void *p;
- int ret;
-
- /* Get the PER length */
- raw_len = uper_get_length(pd, csiz->effective_bits, csiz->lower_bound,
- &repeat);
- if(raw_len < 0) RETURN(RC_WMORE);
- if(raw_len == 0 && st->buf) break;
-
- ASN_DEBUG("Got PER length eb %ld, len %ld, %s (%s)",
- (long)csiz->effective_bits, (long)raw_len,
- repeat ? "repeat" : "once", td->name);
- len_bits = raw_len;
- len_bytes = (len_bits + 7) >> 3;
- if(len_bits & 0x7) st->bits_unused = 8 - (len_bits & 0x7);
- /* len_bits be multiple of 16K if repeat is set */
- p = REALLOC(st->buf, st->size + len_bytes + 1);
- if(!p) RETURN(RC_FAIL);
- st->buf = (uint8_t *)p;
-
- ret = per_get_many_bits(pd, &st->buf[st->size], 0, len_bits);
- if(ret < 0) RETURN(RC_WMORE);
- st->size += len_bytes;
- } while(repeat);
- st->buf[st->size] = 0; /* nul-terminate */
-
- return rval;
-}
-
-asn_enc_rval_t
-BIT_STRING_encode_uper(const asn_TYPE_descriptor_t *td,
- const asn_per_constraints_t *constraints,
- const void *sptr, asn_per_outp_t *po) {
- const asn_OCTET_STRING_specifics_t *specs =
- td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics
- : &asn_SPC_BIT_STRING_specs;
- const asn_per_constraints_t *pc =
- constraints ? constraints : td->encoding_constraints.per_constraints;
- const asn_per_constraint_t *csiz;
- const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
- BIT_STRING_t compact_bstr; /* Do not modify this directly! */
- asn_enc_rval_t er = { 0, 0, 0 };
- int inext = 0; /* Lies not within extension root */
- size_t size_in_bits;
- const uint8_t *buf;
- int ret;
- int ct_extensible;
-
- if(!st || (!st->buf && st->size))
- ASN__ENCODE_FAILED;
-
- if(specs->subvariant == ASN_OSUBV_BIT) {
- if((st->size == 0 && st->bits_unused) || (st->bits_unused & ~7))
- ASN__ENCODE_FAILED;
- } else {
- ASN__ENCODE_FAILED;
- }
-
- if(pc) {
- csiz = &pc->size;
- } else {
- csiz = &asn_DEF_BIT_STRING_constraint_size;
- }
- ct_extensible = csiz->flags & APC_EXTENSIBLE;
-
- /* Figure out the size without the trailing bits */
- st = BIT_STRING__compactify(st, &compact_bstr);
- size_in_bits = 8 * st->size - st->bits_unused;
-
- ASN_DEBUG(
- "Encoding %s into %" ASN_PRI_SIZE " bits"
- " (%ld..%ld, effective %d)%s",
- td->name, size_in_bits, csiz->lower_bound, csiz->upper_bound,
- csiz->effective_bits, ct_extensible ? " EXT" : "");
-
- /* Figure out whether size lies within PER visible constraint */
-
- if(csiz->effective_bits >= 0) {
- if((ssize_t)size_in_bits > csiz->upper_bound) {
- if(ct_extensible) {
- csiz = &asn_DEF_BIT_STRING_constraint_size;
- inext = 1;
- } else {
- ASN__ENCODE_FAILED;
- }
- }
- } else {
- inext = 0;
- }
-
- if(ct_extensible) {
- /* Declare whether length is [not] within extension root */
- if(per_put_few_bits(po, inext, 1))
- ASN__ENCODE_FAILED;
- }
-
- if(csiz->effective_bits >= 0 && !inext) {
- int add_trailer = (ssize_t)size_in_bits < csiz->lower_bound;
- ASN_DEBUG(
- "Encoding %" ASN_PRI_SIZE " bytes (%ld), length (in %d bits) trailer %d; actual "
- "value %" ASN_PRI_SSIZE "",
- st->size, size_in_bits - csiz->lower_bound, csiz->effective_bits,
- add_trailer,
- add_trailer ? 0 : (ssize_t)size_in_bits - csiz->lower_bound);
- ret = per_put_few_bits(
- po, add_trailer ? 0 : (ssize_t)size_in_bits - csiz->lower_bound,
- csiz->effective_bits);
- if(ret) ASN__ENCODE_FAILED;
- ret = per_put_many_bits(po, st->buf, size_in_bits);
- if(ret) ASN__ENCODE_FAILED;
- if(add_trailer) {
- static const uint8_t zeros[16];
- size_t trailing_zero_bits = csiz->lower_bound - size_in_bits;
- while(trailing_zero_bits > 0) {
- if(trailing_zero_bits > 8 * sizeof(zeros)) {
- ret = per_put_many_bits(po, zeros, 8 * sizeof(zeros));
- trailing_zero_bits -= 8 * sizeof(zeros);
- } else {
- ret = per_put_many_bits(po, zeros, trailing_zero_bits);
- trailing_zero_bits = 0;
- }
- if(ret) ASN__ENCODE_FAILED;
- }
- }
- ASN__ENCODED_OK(er);
- }
-
- ASN_DEBUG("Encoding %" ASN_PRI_SIZE " bytes", st->size);
-
- buf = st->buf;
- do {
- int need_eom = 0;
- ssize_t maySave = uper_put_length(po, size_in_bits, &need_eom);
- if(maySave < 0) ASN__ENCODE_FAILED;
-
- ASN_DEBUG("Encoding %" ASN_PRI_SSIZE " of %" ASN_PRI_SIZE "", maySave, size_in_bits);
-
- ret = per_put_many_bits(po, buf, maySave);
- if(ret) ASN__ENCODE_FAILED;
-
- buf += maySave >> 3;
- size_in_bits -= maySave;
- assert(!(maySave & 0x07) || !size_in_bits);
- if(need_eom && uper_put_length(po, 0, 0))
- ASN__ENCODE_FAILED; /* End of Message length */
- } while(size_in_bits);
-
- ASN__ENCODED_OK(er);
-}
-
-#endif /* ASN_DISABLE_PER_SUPPORT */
-
-asn_random_fill_result_t
-BIT_STRING_random_fill(const asn_TYPE_descriptor_t *td, void **sptr,
- const asn_encoding_constraints_t *constraints,
- size_t max_length) {
- const asn_OCTET_STRING_specifics_t *specs =
- td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics
- : &asn_SPC_BIT_STRING_specs;
- asn_random_fill_result_t result_ok = {ARFILL_OK, 1};
- asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0};
- asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0};
- static unsigned lengths[] = {0, 1, 2, 3, 4, 8,
- 126, 127, 128, 16383, 16384, 16385,
- 65534, 65535, 65536, 65537};
- uint8_t *buf;
- uint8_t *bend;
- uint8_t *b;
- size_t rnd_bits, rnd_len;
- BIT_STRING_t *st;
-
- if(max_length == 0) return result_skipped;
-
- switch(specs->subvariant) {
- case ASN_OSUBV_ANY:
- return result_failed;
- case ASN_OSUBV_BIT:
- break;
- default:
- break;
- }
-
- /* Figure out how far we should go */
- rnd_bits = lengths[asn_random_between(
- 0, sizeof(lengths) / sizeof(lengths[0]) - 1)];
- if(!constraints || !constraints->per_constraints)
- constraints = &td->encoding_constraints;
- if(constraints->per_constraints) {
- const asn_per_constraint_t *pc = &constraints->per_constraints->size;
- if(pc->flags & APC_CONSTRAINED) {
- long suggested_upper_bound = pc->upper_bound < (ssize_t)max_length
- ? pc->upper_bound
- : (ssize_t)max_length;
- if(max_length < (size_t)pc->lower_bound) {
- return result_skipped;
- }
- if(pc->flags & APC_EXTENSIBLE) {
- switch(asn_random_between(0, 5)) {
- case 0:
- if(pc->lower_bound > 0) {
- rnd_bits = pc->lower_bound - 1;
- break;
- }
- /* Fall through */
- case 1:
- rnd_bits = pc->upper_bound + 1;
- break;
- case 2:
- /* Keep rnd_bits from the table */
- if(rnd_bits < max_length) {
- break;
- }
- /* Fall through */
- default:
- rnd_bits = asn_random_between(pc->lower_bound,
- suggested_upper_bound);
- }
- } else {
- rnd_bits =
- asn_random_between(pc->lower_bound, suggested_upper_bound);
- }
- } else {
- rnd_bits = asn_random_between(0, max_length - 1);
- }
- } else if(rnd_bits >= max_length) {
- rnd_bits = asn_random_between(0, max_length - 1);
- }
-
- rnd_len = (rnd_bits + 7) / 8;
- buf = CALLOC(1, rnd_len + 1);
- if(!buf) return result_failed;
-
- bend = &buf[rnd_len];
-
- for(b = buf; b < bend; b++) {
- *(uint8_t *)b = asn_random_between(0, 255);
- }
- *b = 0; /* Zero-terminate just in case. */
-
- if(*sptr) {
- st = *sptr;
- FREEMEM(st->buf);
- } else {
- st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size));
- if(!st) {
- FREEMEM(buf);
- return result_failed;
- }
- }
-
- st->buf = buf;
- st->size = rnd_len;
- st->bits_unused = (8 - (rnd_bits & 0x7)) & 0x7;
- if(st->bits_unused) {
- assert(st->size > 0);
- st->buf[st->size-1] &= 0xff << st->bits_unused;
- }
-
- result_ok.length = st->size;
- return result_ok;
-}
+/*-
+ * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#include
+#include
+
+/*
+ * BIT STRING basic type description.
+ */
+static const ber_tlv_tag_t asn_DEF_BIT_STRING_tags[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (3 << 2))
+};
+asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs = {
+ sizeof(BIT_STRING_t),
+ offsetof(BIT_STRING_t, _asn_ctx),
+ ASN_OSUBV_BIT
+};
+asn_TYPE_operation_t asn_OP_BIT_STRING = {
+ OCTET_STRING_free, /* Implemented in terms of OCTET STRING */
+#if !defined(ASN_DISABLE_PRINT_SUPPORT)
+ BIT_STRING_print,
+#else
+ 0,
+#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */
+ BIT_STRING_compare,
+#if !defined(ASN_DISABLE_BER_SUPPORT)
+ OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */
+ OCTET_STRING_encode_der, /* Implemented in terms of OCTET STRING */
+#else
+ 0,
+ 0,
+#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */
+#if !defined(ASN_DISABLE_XER_SUPPORT)
+ OCTET_STRING_decode_xer_binary,
+ BIT_STRING_encode_xer,
+#else
+ 0,
+ 0,
+#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */
+#if !defined(ASN_DISABLE_JER_SUPPORT)
+ BIT_STRING_encode_jer,
+#else
+ 0,
+#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ BIT_STRING_decode_oer,
+ BIT_STRING_encode_oer,
+#else
+ 0,
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT)
+ BIT_STRING_decode_uper, /* Unaligned PER decoder */
+ BIT_STRING_encode_uper, /* Unaligned PER encoder */
+#else
+ 0,
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */
+#if !defined(ASN_DISABLE_APER_SUPPORT)
+ OCTET_STRING_decode_aper, /* Aligned PER decoder */
+ OCTET_STRING_encode_aper, /* Aligned PER encoder */
+#else
+ 0,
+ 0,
+#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */
+#if !defined(ASN_DISABLE_RFILL_SUPPORT)
+ BIT_STRING_random_fill,
+#else
+ 0,
+#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */
+ 0 /* Use generic outmost tag fetcher */
+};
+asn_TYPE_descriptor_t asn_DEF_BIT_STRING = {
+ "BIT STRING",
+ "BIT_STRING",
+ &asn_OP_BIT_STRING,
+ asn_DEF_BIT_STRING_tags,
+ sizeof(asn_DEF_BIT_STRING_tags)
+ / sizeof(asn_DEF_BIT_STRING_tags[0]),
+ asn_DEF_BIT_STRING_tags, /* Same as above */
+ sizeof(asn_DEF_BIT_STRING_tags)
+ / sizeof(asn_DEF_BIT_STRING_tags[0]),
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ BIT_STRING_constraint
+ },
+ 0, 0, /* No members */
+ &asn_SPC_BIT_STRING_specs
+};
+
+/*
+ * BIT STRING generic constraint.
+ */
+int
+BIT_STRING_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+
+ if(st && st->buf) {
+ if((st->size == 0 && st->bits_unused)
+ || st->bits_unused < 0 || st->bits_unused > 7) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: invalid padding byte (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ return 0;
+}
+
+/*
+ * Non-destructively remove the trailing 0-bits from the given bit string.
+ */
+const BIT_STRING_t *
+BIT_STRING__compactify(const BIT_STRING_t *st, BIT_STRING_t *tmp) {
+ const uint8_t *b;
+ union {
+ const uint8_t *c_buf;
+ uint8_t *nc_buf;
+ } unconst;
+
+ if(st->size == 0) {
+ assert(st->bits_unused == 0);
+ return st;
+ } else {
+ for(b = &st->buf[st->size - 1]; b > st->buf && *b == 0; b--) {
+ ;
+ }
+ /* b points to the last byte which may contain data */
+ if(*b) {
+ int unused = 7;
+ uint8_t v = *b;
+ v &= -(int8_t)v;
+ if(v & 0x0F) unused -= 4;
+ if(v & 0x33) unused -= 2;
+ if(v & 0x55) unused -= 1;
+ tmp->size = b-st->buf + 1;
+ tmp->bits_unused = unused;
+ } else {
+ tmp->size = b-st->buf;
+ tmp->bits_unused = 0;
+ }
+
+ assert(b >= st->buf);
+ }
+
+ unconst.c_buf = st->buf;
+ tmp->buf = unconst.nc_buf;
+ return tmp;
+}
+
+/*
+ * Lexicographically compare the common prefix of both strings,
+ * and if it is the same return -1 for the smallest string.
+ */
+int
+BIT_STRING_compare(const asn_TYPE_descriptor_t *td, const void *aptr,
+ const void *bptr) {
+ /*
+ * Remove information about trailing bits, since
+ * X.680 (08/2015) #22.7 "ensure that different semantics are not"
+ * "associated with [values that differ only in] the trailing 0 bits."
+ */
+ BIT_STRING_t compact_a, compact_b;
+ const BIT_STRING_t *a = BIT_STRING__compactify(aptr, &compact_a);
+ const BIT_STRING_t *b = BIT_STRING__compactify(bptr, &compact_b);
+ const asn_OCTET_STRING_specifics_t *specs = td->specifics;
+
+ (void)specs;
+ assert(specs && specs->subvariant == ASN_OSUBV_BIT);
+
+ if(a && b) {
+ size_t common_prefix_size = a->size <= b->size ? a->size : b->size;
+ int ret = memcmp(a->buf, b->buf, common_prefix_size);
+ if(ret == 0) {
+ /* Figure out which string with equal prefixes is longer. */
+ if(a->size < b->size) {
+ return -1;
+ } else if(a->size > b->size) {
+ return 1;
+ } else {
+ /* Figure out how many unused bits */
+ if(a->bits_unused > b->bits_unused) {
+ return -1;
+ } else if(a->bits_unused < b->bits_unused) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
+ } else {
+ return ret;
+ }
+ } else if(!a && !b) {
+ return 0;
+ } else if(!a) {
+ return -1;
+ } else {
+ return 1;
+ }
+}
diff --git a/certgen/asncodec/BIT_STRING.h b/certgen/asncodec/BIT_STRING.h
index a43d333016e93aedfbb900013468b60cd0680661..e755fe9f5c40c1743016d90af6715bd2c81fab51 100644
--- a/certgen/asncodec/BIT_STRING.h
+++ b/certgen/asncodec/BIT_STRING.h
@@ -1,46 +1,75 @@
-/*-
- * Copyright (c) 2003-2017 Lev Walkin . All rights reserved.
- * Redistribution and modifications are permitted subject to BSD license.
- */
-#ifndef _BIT_STRING_H_
-#define _BIT_STRING_H_
-
-#include /* Some help from OCTET STRING */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct BIT_STRING_s {
- uint8_t *buf; /* BIT STRING body */
- size_t size; /* Size of the above buffer */
-
- int bits_unused;/* Unused trailing bits in the last octet (0..7) */
-
- asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */
-} BIT_STRING_t;
-
-extern asn_TYPE_descriptor_t asn_DEF_BIT_STRING;
-extern asn_TYPE_operation_t asn_OP_BIT_STRING;
-extern asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs;
-
-asn_struct_print_f BIT_STRING_print; /* Human-readable output */
-asn_struct_compare_f BIT_STRING_compare;
-asn_constr_check_f BIT_STRING_constraint;
-xer_type_encoder_f BIT_STRING_encode_xer;
-oer_type_decoder_f BIT_STRING_decode_oer;
-oer_type_encoder_f BIT_STRING_encode_oer;
-per_type_decoder_f BIT_STRING_decode_uper;
-per_type_encoder_f BIT_STRING_encode_uper;
-asn_random_fill_f BIT_STRING_random_fill;
-
-#define BIT_STRING_free OCTET_STRING_free
-#define BIT_STRING_decode_ber OCTET_STRING_decode_ber
-#define BIT_STRING_encode_der OCTET_STRING_encode_der
-#define BIT_STRING_decode_xer OCTET_STRING_decode_xer_binary
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _BIT_STRING_H_ */
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin . All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef _BIT_STRING_H_
+#define _BIT_STRING_H_
+
+#include /* Some help from OCTET STRING */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct BIT_STRING_s {
+ uint8_t *buf; /* BIT STRING body */
+ size_t size; /* Size of the above buffer */
+
+ int bits_unused;/* Unused trailing bits in the last octet (0..7) */
+
+ asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */
+} BIT_STRING_t;
+
+extern asn_TYPE_descriptor_t asn_DEF_BIT_STRING;
+extern asn_TYPE_operation_t asn_OP_BIT_STRING;
+extern asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs;
+
+#define BIT_STRING_free OCTET_STRING_free
+
+#if !defined(ASN_DISABLE_PRINT_SUPPORT)
+asn_struct_print_f BIT_STRING_print; /* Human-readable output */
+#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */
+
+asn_struct_compare_f BIT_STRING_compare;
+
+asn_constr_check_f BIT_STRING_constraint;
+
+#if !defined(ASN_DISABLE_BER_SUPPORT)
+#define BIT_STRING_decode_ber OCTET_STRING_decode_ber
+#define BIT_STRING_encode_der OCTET_STRING_encode_der
+#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */
+
+#if !defined(ASN_DISABLE_XER_SUPPORT)
+#define BIT_STRING_decode_xer OCTET_STRING_decode_xer_binary
+xer_type_encoder_f BIT_STRING_encode_xer;
+#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */
+
+#if !defined(ASN_DISABLE_JER_SUPPORT)
+jer_type_encoder_f BIT_STRING_encode_jer;
+#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+oer_type_decoder_f BIT_STRING_decode_oer;
+oer_type_encoder_f BIT_STRING_encode_oer;
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+
+#if !defined(ASN_DISABLE_UPER_SUPPORT)
+per_type_decoder_f BIT_STRING_decode_uper;
+per_type_encoder_f BIT_STRING_encode_uper;
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */
+#if !defined(ASN_DISABLE_APER_SUPPORT)
+#define BIT_STRING_decode_aper OCTET_STRING_decode_aper
+#define BIT_STRING_encode_aper OCTET_STRING_encode_aper
+#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */
+
+#if !defined(ASN_DISABLE_RFILL_SUPPORT)
+asn_random_fill_f BIT_STRING_random_fill;
+#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */
+
+const BIT_STRING_t *BIT_STRING__compactify(const BIT_STRING_t *st, BIT_STRING_t *tmp);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _BIT_STRING_H_ */
diff --git a/certgen/asncodec/BIT_STRING_oer.c b/certgen/asncodec/BIT_STRING_oer.c
index c7d94b589b4601f800d4be028b120eb638bdda37..95c9558964645afa7cd80565c05bdfa5eae79fdd 100644
--- a/certgen/asncodec/BIT_STRING_oer.c
+++ b/certgen/asncodec/BIT_STRING_oer.c
@@ -1,174 +1,168 @@
-/*
- * Copyright (c) 2017 Lev Walkin .
- * All rights reserved.
- * Redistribution and modifications are permitted subject to BSD license.
- */
-#ifndef ASN_DISABLE_OER_SUPPORT
-
-#include
-#include
-#include
-
-asn_dec_rval_t
-BIT_STRING_decode_oer(const asn_codec_ctx_t *opt_codec_ctx,
- const asn_TYPE_descriptor_t *td,
- const asn_oer_constraints_t *constraints, void **sptr,
- const void *ptr, size_t size) {
- BIT_STRING_t *st = (BIT_STRING_t *)*sptr;
- const asn_oer_constraints_t *cts =
- constraints ? constraints : td->encoding_constraints.oer_constraints;
- ssize_t ct_size = cts ? cts->size : -1;
- asn_dec_rval_t rval = {RC_OK, 0};
- size_t expected_length = 0;
-
- (void)opt_codec_ctx;
-
- if(!st) {
- st = (BIT_STRING_t *)(*sptr = CALLOC(1, sizeof(*st)));
- if(!st) ASN__DECODE_FAILED;
- }
-
- if(ct_size >= 0) {
- expected_length = (ct_size + 7) >> 3;
- st->bits_unused = (8 - (ct_size & 7)) & 7;
- } else {
- /*
- * X.696 (08/2015) #13.3.1
- * Encode length determinant as _number of octets_, but only
- * if upper bound is not equal to lower bound.
- */
- ssize_t len_len = oer_fetch_length(ptr, size, &expected_length);
- if(len_len > 0) {
- ptr = (const char *)ptr + len_len;
- size -= len_len;
- } else if(len_len == 0) {
- ASN__DECODE_STARVED;
- } else if(len_len < 0) {
- ASN__DECODE_FAILED;
- }
-
- if(expected_length < 1) {
- ASN__DECODE_FAILED;
- } else if(expected_length > size) {
- ASN__DECODE_STARVED;
- }
-
- st->bits_unused = ((const uint8_t *)ptr)[0];
- if(st->bits_unused & ~7) {
- ASN_DEBUG("%s: unused bits outside of 0..7 range", td->name);
- ASN__DECODE_FAILED;
- }
- ptr = (const char *)ptr + 1;
- size--;
- expected_length--;
- rval.consumed = len_len + 1;
- }
-
- if(size < expected_length) {
- ASN__DECODE_STARVED;
- } else {
- uint8_t *buf = MALLOC(expected_length + 1);
- if(buf == NULL) {
- ASN__DECODE_FAILED;
- } else {
- memcpy(buf, ptr, expected_length);
- buf[expected_length] = '\0';
- }
- FREEMEM(st->buf);
- st->buf = buf;
- st->size = expected_length;
- if(expected_length > 0) {
- buf[expected_length - 1] &= (0xff << st->bits_unused);
- }
-
- rval.consumed += expected_length;
- return rval;
- }
-}
-
-/*
- * Encode as Canonical OER.
- */
-asn_enc_rval_t
-BIT_STRING_encode_oer(const asn_TYPE_descriptor_t *td,
- const asn_oer_constraints_t *constraints,
- const void *sptr, asn_app_consume_bytes_f *cb,
- void *app_key) {
- const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
- asn_enc_rval_t erval = {0, 0, 0};
- const asn_oer_constraints_t *cts =
- constraints ? constraints : td->encoding_constraints.oer_constraints;
- ssize_t ct_size = cts ? cts->size : -1;
- size_t trailing_zeros = 0;
- int fix_last_byte = 0;
-
- if(!st) ASN__ENCODE_FAILED;
-
- if(st->bits_unused & ~7) {
- ASN_DEBUG("BIT STRING unused bits %d out of 0..7 range",
- st->bits_unused);
- ASN__ENCODE_FAILED;
- }
- if(st->bits_unused && !(st->size && st->buf)) {
- ASN_DEBUG("BIT STRING %s size 0 can't support unused bits %d", td->name,
- st->bits_unused);
- ASN__ENCODE_FAILED;
- }
-
- if(ct_size >= 0) {
- size_t ct_bytes = (ct_size + 7) >> 3;
- if(st->size > ct_bytes) {
- ASN_DEBUG("More bits in BIT STRING %s (%" ASN_PRI_SSIZE ") than constrained %" ASN_PRI_SSIZE "",
- td->name, 8 * st->size - st->bits_unused, ct_size);
- ASN__ENCODE_FAILED;
- }
- trailing_zeros = ct_bytes - st->size; /* Allow larger constraint */
- } else {
- uint8_t ub = st->bits_unused & 7;
- ssize_t len_len = oer_serialize_length(1 + st->size, cb, app_key);
- if(len_len < 0) ASN__ENCODE_FAILED;
- if(cb(&ub, 1, app_key) < 0) {
- ASN__ENCODE_FAILED;
- }
- erval.encoded += len_len + 1;
- }
-
- if(st->bits_unused) {
- if(st->buf[st->size - 1] & (0xff << st->bits_unused)) {
- fix_last_byte = 1;
- }
- }
-
- if(cb(st->buf, st->size - fix_last_byte, app_key) < 0) {
- ASN__ENCODE_FAILED;
- }
-
- if(fix_last_byte) {
- uint8_t b = st->buf[st->size - 1] & (0xff << st->bits_unused);
- if(cb(&b, 1, app_key) < 0) {
- ASN__ENCODE_FAILED;
- }
- }
-
- erval.encoded += st->size;
-
- if(trailing_zeros) {
- static uint8_t zeros[16];
- while(trailing_zeros > 0) {
- int ret;
- if(trailing_zeros < sizeof(zeros)) {
- ret = cb(zeros, trailing_zeros, app_key);
- erval.encoded += trailing_zeros;
- } else {
- ret = cb(zeros, sizeof(zeros), app_key);
- erval.encoded += sizeof(zeros);
- }
- if(ret < 0) ASN__ENCODE_FAILED;
- }
- }
-
- return erval;
-}
-
-
-#endif /* ASN_DISABLE_OER_SUPPORT */
+/*
+ * Copyright (c) 2017 Lev Walkin .
+ * All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#include
+#include
+
+asn_dec_rval_t
+BIT_STRING_decode_oer(const asn_codec_ctx_t *opt_codec_ctx,
+ const asn_TYPE_descriptor_t *td,
+ const asn_oer_constraints_t *constraints, void **sptr,
+ const void *ptr, size_t size) {
+ BIT_STRING_t *st = (BIT_STRING_t *)*sptr;
+ const asn_oer_constraints_t *cts =
+ constraints ? constraints : td->encoding_constraints.oer_constraints;
+ ssize_t ct_size = cts ? cts->size : -1;
+ asn_dec_rval_t rval = {RC_OK, 0};
+ size_t expected_length = 0;
+
+ (void)opt_codec_ctx;
+
+ if(!st) {
+ st = (BIT_STRING_t *)(*sptr = CALLOC(1, sizeof(*st)));
+ if(!st) ASN__DECODE_FAILED;
+ }
+
+ if(ct_size >= 0) {
+ expected_length = (ct_size + 7) >> 3;
+ st->bits_unused = (8 - (ct_size & 7)) & 7;
+ } else {
+ /*
+ * X.696 (08/2015) #13.3.1
+ * Encode length determinant as _number of octets_, but only
+ * if upper bound is not equal to lower bound.
+ */
+ ssize_t len_len = oer_fetch_length(ptr, size, &expected_length);
+ if(len_len > 0) {
+ ptr = (const char *)ptr + len_len;
+ size -= len_len;
+ } else if(len_len == 0) {
+ ASN__DECODE_STARVED;
+ } else if(len_len < 0) {
+ ASN__DECODE_FAILED;
+ }
+
+ if(expected_length < 1) {
+ ASN__DECODE_FAILED;
+ } else if(expected_length > size) {
+ ASN__DECODE_STARVED;
+ }
+
+ st->bits_unused = ((const uint8_t *)ptr)[0];
+ if(st->bits_unused & ~7) {
+ ASN_DEBUG("%s: unused bits outside of 0..7 range", td->name);
+ ASN__DECODE_FAILED;
+ }
+ ptr = (const char *)ptr + 1;
+ size--;
+ expected_length--;
+ rval.consumed = len_len + 1;
+ }
+
+ if(size < expected_length) {
+ ASN__DECODE_STARVED;
+ } else {
+ uint8_t *buf = MALLOC(expected_length + 1);
+ if(buf == NULL) {
+ ASN__DECODE_FAILED;
+ } else {
+ memcpy(buf, ptr, expected_length);
+ buf[expected_length] = '\0';
+ }
+ FREEMEM(st->buf);
+ st->buf = buf;
+ st->size = expected_length;
+ if(expected_length > 0) {
+ buf[expected_length - 1] &= (0xff << st->bits_unused);
+ }
+
+ rval.consumed += expected_length;
+ return rval;
+ }
+}
+
+/*
+ * Encode as Canonical OER.
+ */
+asn_enc_rval_t
+BIT_STRING_encode_oer(const asn_TYPE_descriptor_t *td,
+ const asn_oer_constraints_t *constraints,
+ const void *sptr, asn_app_consume_bytes_f *cb,
+ void *app_key) {
+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+ asn_enc_rval_t erval = {0, 0, 0};
+ const asn_oer_constraints_t *cts =
+ constraints ? constraints : td->encoding_constraints.oer_constraints;
+ ssize_t ct_size = cts ? cts->size : -1;
+ size_t trailing_zeros = 0;
+ int fix_last_byte = 0;
+
+ if(!st) ASN__ENCODE_FAILED;
+
+ if(st->bits_unused & ~7) {
+ ASN_DEBUG("BIT STRING unused bits %d out of 0..7 range",
+ st->bits_unused);
+ ASN__ENCODE_FAILED;
+ }
+ if(st->bits_unused && !(st->size && st->buf)) {
+ ASN_DEBUG("BIT STRING %s size 0 can't support unused bits %d", td->name,
+ st->bits_unused);
+ ASN__ENCODE_FAILED;
+ }
+
+ if(ct_size >= 0) {
+ size_t ct_bytes = (ct_size + 7) >> 3;
+ if(st->size > ct_bytes) {
+ ASN_DEBUG("More bits in BIT STRING %s (%" ASN_PRI_SSIZE ") than constrained %" ASN_PRI_SSIZE "",
+ td->name, 8 * st->size - st->bits_unused, ct_size);
+ ASN__ENCODE_FAILED;
+ }
+ trailing_zeros = ct_bytes - st->size; /* Allow larger constraint */
+ } else {
+ uint8_t ub = st->bits_unused & 7;
+ ssize_t len_len = oer_serialize_length(1 + st->size, cb, app_key);
+ if(len_len < 0) ASN__ENCODE_FAILED;
+ if(cb(&ub, 1, app_key) < 0) {
+ ASN__ENCODE_FAILED;
+ }
+ erval.encoded += len_len + 1;
+ }
+
+ if(st->bits_unused) {
+ if(st->buf[st->size - 1] & (0xff << st->bits_unused)) {
+ fix_last_byte = 1;
+ }
+ }
+
+ if(cb(st->buf, st->size - fix_last_byte, app_key) < 0) {
+ ASN__ENCODE_FAILED;
+ }
+
+ if(fix_last_byte) {
+ uint8_t b = st->buf[st->size - 1] & (0xff << st->bits_unused);
+ if(cb(&b, 1, app_key) < 0) {
+ ASN__ENCODE_FAILED;
+ }
+ }
+
+ erval.encoded += st->size;
+
+ if(trailing_zeros) {
+ static uint8_t zeros[16];
+ while(trailing_zeros > 0) {
+ int ret;
+ if(trailing_zeros < sizeof(zeros)) {
+ ret = cb(zeros, trailing_zeros, app_key);
+ erval.encoded += trailing_zeros;
+ } else {
+ ret = cb(zeros, sizeof(zeros), app_key);
+ erval.encoded += sizeof(zeros);
+ }
+ if(ret < 0) ASN__ENCODE_FAILED;
+ }
+ }
+
+ return erval;
+}
diff --git a/certgen/asncodec/BIT_STRING_print.c b/certgen/asncodec/BIT_STRING_print.c
new file mode 100644
index 0000000000000000000000000000000000000000..bab1ea522f9c6b7490356174aa68c84930a1fd8e
--- /dev/null
+++ b/certgen/asncodec/BIT_STRING_print.c
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2017 Lev Walkin .
+ * All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#include
+#include
+
+/*
+ * BIT STRING specific contents printer.
+ */
+int
+BIT_STRING_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ const char * const h2c = "0123456789ABCDEF";
+ char scratch[64];
+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+ uint8_t *buf;
+ uint8_t *end;
+ char *p = scratch;
+
+ (void)td; /* Unused argument */
+
+ if(!st || !st->buf)
+ return (cb("", 8, app_key) < 0) ? -1 : 0;
+
+ ilevel++;
+ buf = st->buf;
+ end = buf + st->size;
+
+ /*
+ * Hexadecimal dump.
+ */
+ for(; buf < end; buf++) {
+ if((buf - st->buf) % 16 == 0 && (st->size > 16)
+ && buf != st->buf) {
+ _i_INDENT(1);
+ /* Dump the string */
+ if(cb(scratch, p - scratch, app_key) < 0) return -1;
+ p = scratch;
+ }
+ *p++ = h2c[*buf >> 4];
+ *p++ = h2c[*buf & 0x0F];
+ *p++ = 0x20;
+ }
+
+ if(p > scratch) {
+ p--; /* Eat the tailing space */
+
+ if((st->size > 16)) {
+ _i_INDENT(1);
+ }
+
+ /* Dump the incomplete 16-bytes row */
+ if(cb(scratch, p - scratch, app_key) < 0)
+ return -1;
+ }
+
+ if(st->bits_unused) {
+ int ret = snprintf(scratch, sizeof(scratch), " (%d bit%s unused)",
+ st->bits_unused, st->bits_unused == 1 ? "" : "s");
+ assert(ret > 0 && ret < (ssize_t)sizeof(scratch));
+ if(ret > 0 && ret < (ssize_t)sizeof(scratch)
+ && cb(scratch, ret, app_key) < 0)
+ return -1;
+ }
+
+ return 0;
+}
diff --git a/certgen/asncodec/BIT_STRING_xer.c b/certgen/asncodec/BIT_STRING_xer.c
new file mode 100644
index 0000000000000000000000000000000000000000..67d5cb8db21b18d7afa4ded0b8d1369950bede7b
--- /dev/null
+++ b/certgen/asncodec/BIT_STRING_xer.c
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2017 Lev Walkin .
+ * All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#include
+#include
+
+static const char *_bit_pattern[16] = {
+ "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111",
+ "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111"
+};
+
+asn_enc_rval_t
+BIT_STRING_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ asn_enc_rval_t er = {0, 0, 0};
+ char scratch[128];
+ char *p = scratch;
+ char *scend = scratch + (sizeof(scratch) - 10);
+ const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
+ int xcan = (flags & XER_F_CANONICAL);
+ uint8_t *buf;
+ uint8_t *end;
+
+ if(!st || !st->buf)
+ ASN__ENCODE_FAILED;
+
+ er.encoded = 0;
+
+ buf = st->buf;
+ end = buf + st->size - 1; /* Last byte is special */
+
+ /*
+ * Binary dump
+ */
+ for(; buf < end; buf++) {
+ int v = *buf;
+ int nline = xcan?0:(((buf - st->buf) % 8) == 0);
+ if(p >= scend || nline) {
+ ASN__CALLBACK(scratch, p - scratch);
+ p = scratch;
+ if(nline) ASN__TEXT_INDENT(1, ilevel);
+ }
+ memcpy(p + 0, _bit_pattern[v >> 4], 4);
+ memcpy(p + 4, _bit_pattern[v & 0x0f], 4);
+ p += 8;
+ }
+
+ if(!xcan && ((buf - st->buf) % 8) == 0)
+ ASN__TEXT_INDENT(1, ilevel);
+ ASN__CALLBACK(scratch, p - scratch);
+ p = scratch;
+
+ if(buf == end) {
+ int v = *buf;
+ int ubits = st->bits_unused;
+ int i;
+ for(i = 7; i >= ubits; i--)
+ *p++ = (v & (1 << i)) ? 0x31 : 0x30;
+ ASN__CALLBACK(scratch, p - scratch);
+ }
+
+ if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1);
+
+ ASN__ENCODED_OK(er);
+cb_failed:
+ ASN__ENCODE_FAILED;
+}
diff --git a/certgen/asncodec/BOOLEAN.c b/certgen/asncodec/BOOLEAN.c
index 04741d48c8ef12fe9c08b85d3fbeb82011212c16..1373a6f15b218a18b2367accfd733ec121b2f1e6 100644
--- a/certgen/asncodec/BOOLEAN.c
+++ b/certgen/asncodec/BOOLEAN.c
@@ -1,434 +1,128 @@
-/*-
- * Copyright (c) 2003, 2005 Lev Walkin . All rights reserved.
- * Redistribution and modifications are permitted subject to BSD license.
- */
-#include
-#include
-#include
-
-/*
- * BOOLEAN basic type description.
- */
-static const ber_tlv_tag_t asn_DEF_BOOLEAN_tags[] = {
- (ASN_TAG_CLASS_UNIVERSAL | (1 << 2))
-};
-asn_TYPE_operation_t asn_OP_BOOLEAN = {
- BOOLEAN_free,
- BOOLEAN_print,
- BOOLEAN_compare,
- BOOLEAN_decode_ber,
- BOOLEAN_encode_der,
- BOOLEAN_decode_xer,
- BOOLEAN_encode_xer,
-#ifdef ASN_DISABLE_OER_SUPPORT
- 0,
- 0,
-#else
- BOOLEAN_decode_oer,
- BOOLEAN_encode_oer,
-#endif /* ASN_DISABLE_OER_SUPPORT */
-#ifdef ASN_DISABLE_PER_SUPPORT
- 0,
- 0,
-#else
- BOOLEAN_decode_uper, /* Unaligned PER decoder */
- BOOLEAN_encode_uper, /* Unaligned PER encoder */
-#endif /* ASN_DISABLE_PER_SUPPORT */
- BOOLEAN_random_fill,
- 0 /* Use generic outmost tag fetcher */
-};
-asn_TYPE_descriptor_t asn_DEF_BOOLEAN = {
- "BOOLEAN",
- "BOOLEAN",
- &asn_OP_BOOLEAN,
- asn_DEF_BOOLEAN_tags,
- sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
- asn_DEF_BOOLEAN_tags, /* Same as above */
- sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
- { 0, 0, asn_generic_no_constraint },
- 0, 0, /* No members */
- 0 /* No specifics */
-};
-
-/*
- * Decode BOOLEAN type.
- */
-asn_dec_rval_t
-BOOLEAN_decode_ber(const asn_codec_ctx_t *opt_codec_ctx,
- const asn_TYPE_descriptor_t *td, void **bool_value,
- const void *buf_ptr, size_t size, int tag_mode) {
- BOOLEAN_t *st = (BOOLEAN_t *)*bool_value;
- asn_dec_rval_t rval;
- ber_tlv_len_t length;
- ber_tlv_len_t lidx;
-
- if(st == NULL) {
- st = (BOOLEAN_t *)(*bool_value = CALLOC(1, sizeof(*st)));
- if(st == NULL) {
- rval.code = RC_FAIL;
- rval.consumed = 0;
- return rval;
- }
- }
-
- ASN_DEBUG("Decoding %s as BOOLEAN (tm=%d)",
- td->name, tag_mode);
-
- /*
- * Check tags.
- */
- rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size,
- tag_mode, 0, &length, 0);
- if(rval.code != RC_OK)
- return rval;
-
- ASN_DEBUG("Boolean length is %d bytes", (int)length);
-
- buf_ptr = ((const char *)buf_ptr) + rval.consumed;
- size -= rval.consumed;
- if(length > (ber_tlv_len_t)size) {
- rval.code = RC_WMORE;
- rval.consumed = 0;
- return rval;
- }
-
- /*
- * Compute boolean value.
- */
- for(*st = 0, lidx = 0;
- (lidx < length) && *st == 0; lidx++) {
- /*
- * Very simple approach: read bytes until the end or
- * value is already TRUE.
- * BOOLEAN is not supposed to contain meaningful data anyway.
- */
- *st |= ((const uint8_t *)buf_ptr)[lidx];
- }
-
- rval.code = RC_OK;
- rval.consumed += length;
-
- ASN_DEBUG("Took %ld/%ld bytes to encode %s, value=%d",
- (long)rval.consumed, (long)length,
- td->name, *st);
-
- return rval;
-}
-
-asn_enc_rval_t
-BOOLEAN_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr,
- int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb,
- void *app_key) {
- asn_enc_rval_t erval;
- const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
-
- erval.encoded = der_write_tags(td, 1, tag_mode, 0, tag, cb, app_key);
- if(erval.encoded == -1) {
- erval.failed_type = td;
- erval.structure_ptr = sptr;
- return erval;
- }
-
- if(cb) {
- uint8_t bool_value;
-
- bool_value = *st ? 0xff : 0; /* 0xff mandated by DER */
-
- if(cb(&bool_value, 1, app_key) < 0) {
- erval.encoded = -1;
- erval.failed_type = td;
- erval.structure_ptr = sptr;
- return erval;
- }
- }
-
- erval.encoded += 1;
-
- ASN__ENCODED_OK(erval);
-}
-
-
-/*
- * Decode the chunk of XML text encoding INTEGER.
- */
-static enum xer_pbd_rval
-BOOLEAN__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr,
- const void *chunk_buf, size_t chunk_size) {
- BOOLEAN_t *st = (BOOLEAN_t *)sptr;
- const char *p = (const char *)chunk_buf;
-
- (void)td;
-
- if(chunk_size && p[0] == 0x3c /* '<' */) {
- switch(xer_check_tag(chunk_buf, chunk_size, "false")) {
- case XCT_BOTH:
- /* "" */
- *st = 0;
- break;
- case XCT_UNKNOWN_BO:
- if(xer_check_tag(chunk_buf, chunk_size, "true")
- != XCT_BOTH)
- return XPBD_BROKEN_ENCODING;
- /* "" */
- *st = 1; /* Or 0xff as in DER?.. */
- break;
- default:
- return XPBD_BROKEN_ENCODING;
- }
- return XPBD_BODY_CONSUMED;
- } else {
- return XPBD_BROKEN_ENCODING;
- }
-}
-
-
-asn_dec_rval_t
-BOOLEAN_decode_xer(const asn_codec_ctx_t *opt_codec_ctx,
- const asn_TYPE_descriptor_t *td, void **sptr,
- const char *opt_mname, const void *buf_ptr, size_t size) {
- return xer_decode_primitive(opt_codec_ctx, td,
- sptr, sizeof(BOOLEAN_t), opt_mname, buf_ptr, size,
- BOOLEAN__xer_body_decode);
-}
-
-asn_enc_rval_t
-BOOLEAN_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr,
- int ilevel, enum xer_encoder_flags_e flags,
- asn_app_consume_bytes_f *cb, void *app_key) {
- const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
- asn_enc_rval_t er = {0, 0, 0};
-
- (void)ilevel;
- (void)flags;
-
- if(!st) ASN__ENCODE_FAILED;
-
- if(*st) {
- ASN__CALLBACK("", 7);
- } else {
- ASN__CALLBACK("", 8);
- }
-
- ASN__ENCODED_OK(er);
-cb_failed:
- ASN__ENCODE_FAILED;
-}
-
-int
-BOOLEAN_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
- asn_app_consume_bytes_f *cb, void *app_key) {
- const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
- const char *buf;
- size_t buflen;
-
- (void)td; /* Unused argument */
- (void)ilevel; /* Unused argument */
-
- if(st) {
- if(*st) {
- buf = "TRUE";
- buflen = 4;
- } else {
- buf = "FALSE";
- buflen = 5;
- }
- } else {
- buf = "";
- buflen = 8;
- }
-
- return (cb(buf, buflen, app_key) < 0) ? -1 : 0;
-}
-
-void
-BOOLEAN_free(const asn_TYPE_descriptor_t *td, void *ptr,
- enum asn_struct_free_method method) {
- if(td && ptr) {
- switch(method) {
- case ASFM_FREE_EVERYTHING:
- FREEMEM(ptr);
- break;
- case ASFM_FREE_UNDERLYING:
- break;
- case ASFM_FREE_UNDERLYING_AND_RESET:
- memset(ptr, 0, sizeof(BOOLEAN_t));
- break;
- }
- }
-}
-
-#ifndef ASN_DISABLE_PER_SUPPORT
-
-asn_dec_rval_t
-BOOLEAN_decode_uper(const asn_codec_ctx_t *opt_codec_ctx,
- const asn_TYPE_descriptor_t *td,
- const asn_per_constraints_t *constraints, void **sptr,
- asn_per_data_t *pd) {
- asn_dec_rval_t rv;
- BOOLEAN_t *st = (BOOLEAN_t *)*sptr;
-
- (void)opt_codec_ctx;
- (void)td;
- (void)constraints;
-
- if(!st) {
- st = (BOOLEAN_t *)(*sptr = MALLOC(sizeof(*st)));
- if(!st) ASN__DECODE_FAILED;
- }
-
- /*
- * Extract a single bit
- */
- switch(per_get_few_bits(pd, 1)) {
- case 1: *st = 1; break;
- case 0: *st = 0; break;
- case -1: default: ASN__DECODE_STARVED;
- }
-
- ASN_DEBUG("%s decoded as %s", td->name, *st ? "TRUE" : "FALSE");
-
- rv.code = RC_OK;
- rv.consumed = 1;
- return rv;
-}
-
-
-asn_enc_rval_t
-BOOLEAN_encode_uper(const asn_TYPE_descriptor_t *td,
- const asn_per_constraints_t *constraints, const void *sptr,
- asn_per_outp_t *po) {
- const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
- asn_enc_rval_t er = { 0, 0, 0 };
-
- (void)constraints;
-
- if(!st) ASN__ENCODE_FAILED;
-
- if(per_put_few_bits(po, *st ? 1 : 0, 1))
- ASN__ENCODE_FAILED;
-
- ASN__ENCODED_OK(er);
-}
-
-#endif /* ASN_DISABLE_PER_SUPPORT */
-
-#ifndef ASN_DISABLE_OER_SUPPORT
-
-/*
- * Encode as Canonical OER.
- */
-asn_enc_rval_t
-BOOLEAN_encode_oer(const asn_TYPE_descriptor_t *td,
- const asn_oer_constraints_t *constraints, const void *sptr,
- asn_app_consume_bytes_f *cb, void *app_key) {
- asn_enc_rval_t er = { 1, 0, 0 };
- const BOOLEAN_t *st = sptr;
- uint8_t bool_value = *st ? 0xff : 0; /* 0xff mandated by OER */
-
- (void)td;
- (void)constraints; /* Constraints are unused in OER */
-
- if(cb(&bool_value, 1, app_key) < 0) {
- ASN__ENCODE_FAILED;
- } else {
- ASN__ENCODED_OK(er);
- }
-}
-
-asn_dec_rval_t
-BOOLEAN_decode_oer(const asn_codec_ctx_t *opt_codec_ctx,
- const asn_TYPE_descriptor_t *td,
- const asn_oer_constraints_t *constraints, void **sptr,
- const void *ptr, size_t size) {
- asn_dec_rval_t ok = {RC_OK, 1};
- BOOLEAN_t *st;
-
- (void)opt_codec_ctx;
- (void)td;
- (void)constraints; /* Constraints are unused in OER */
-
- if(size < 1) {
- ASN__DECODE_STARVED;
- }
-
- if(!(st = *sptr)) {
- st = (BOOLEAN_t *)(*sptr = CALLOC(1, sizeof(*st)));
- if(!st) ASN__DECODE_FAILED;
- }
-
- *st = *(const uint8_t *)ptr;
-
- return ok;
-}
-
-
-
-#endif
-
-int
-BOOLEAN_compare(const asn_TYPE_descriptor_t *td, const void *aptr,
- const void *bptr) {
- const BOOLEAN_t *a = aptr;
- const BOOLEAN_t *b = bptr;
-
- (void)td;
-
- if(a && b) {
- if(!*a == !*b) { /* TRUE can be encoded by any non-zero byte. */
- return 0;
- } else if(!*a) {
- return -1;
- } else {
- return 1;
- }
- } else if(!a) {
- return -1;
- } else {
- return 1;
- }
-}
-
-asn_random_fill_result_t
-BOOLEAN_random_fill(const asn_TYPE_descriptor_t *td, void **sptr,
- const asn_encoding_constraints_t *constraints,
- size_t max_length) {
- asn_random_fill_result_t result_ok = {ARFILL_OK, 1};
- asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0};
- asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0};
- BOOLEAN_t *st = *sptr;
-
- if(max_length == 0) return result_skipped;
-
- if(st == NULL) {
- st = (BOOLEAN_t *)(*sptr = CALLOC(1, sizeof(*st)));
- if(st == NULL) {
- return result_failed;
- }
- }
-
- if(!constraints || !constraints->per_constraints)
- constraints = &td->encoding_constraints;
- if(constraints->per_constraints) {
- const asn_per_constraint_t *pc = &constraints->per_constraints->value;
- if(pc->flags & APC_CONSTRAINED) {
- *st = asn_random_between(pc->lower_bound, pc->upper_bound);
- return result_ok;
- }
- }
-
- /* Simulate booleans that are sloppily set and biased. */
- switch(asn_random_between(0, 7)) {
- case 0:
- case 1:
- case 2:
- *st = 0; break;
- case 3: *st = -1; break;
- case 4: *st = 1; break;
- case 5: *st = INT_MIN; break;
- case 6: *st = INT_MAX; break;
- default:
- *st = asn_random_between(INT_MIN, INT_MAX);
- break;
- }
- return result_ok;
-}
+/*-
+ * Copyright (c) 2003, 2005 Lev Walkin . All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#include
+#include
+
+/*
+ * BOOLEAN basic type description.
+ */
+static const ber_tlv_tag_t asn_DEF_BOOLEAN_tags[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (1 << 2))
+};
+asn_TYPE_operation_t asn_OP_BOOLEAN = {
+ BOOLEAN_free,
+#if !defined(ASN_DISABLE_PRINT_SUPPORT)
+ BOOLEAN_print,
+#else
+ 0,
+#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */
+ BOOLEAN_compare,
+#if !defined(ASN_DISABLE_BER_SUPPORT)
+ BOOLEAN_decode_ber,
+ BOOLEAN_encode_der,
+#else
+ 0,
+ 0,
+#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */
+#if !defined(ASN_DISABLE_XER_SUPPORT)
+ BOOLEAN_decode_xer,
+ BOOLEAN_encode_xer,
+#else
+ 0,
+ 0,
+#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */
+#if !defined(ASN_DISABLE_JER_SUPPORT)
+ BOOLEAN_encode_jer,
+#else
+ 0,
+#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ BOOLEAN_decode_oer,
+ BOOLEAN_encode_oer,
+#else
+ 0,
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT)
+ BOOLEAN_decode_uper, /* Unaligned PER decoder */
+ BOOLEAN_encode_uper, /* Unaligned PER encoder */
+#else
+ 0,
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */
+#if !defined(ASN_DISABLE_APER_SUPPORT)
+ BOOLEAN_decode_aper, /* Aligned PER decoder */
+ BOOLEAN_encode_aper, /* Aligned PER encoder */
+#else
+ 0,
+ 0,
+#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */
+#if !defined(ASN_DISABLE_RFILL_SUPPORT)
+ BOOLEAN_random_fill,
+#else
+ 0,
+#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */
+ 0 /* Use generic outmost tag fetcher */
+};
+asn_TYPE_descriptor_t asn_DEF_BOOLEAN = {
+ "BOOLEAN",
+ "BOOLEAN",
+ &asn_OP_BOOLEAN,
+ asn_DEF_BOOLEAN_tags,
+ sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
+ asn_DEF_BOOLEAN_tags, /* Same as above */
+ sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]),
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ asn_generic_no_constraint
+ },
+ 0, 0, /* No members */
+ 0 /* No specifics */
+};
+
+void
+BOOLEAN_free(const asn_TYPE_descriptor_t *td, void *ptr,
+ enum asn_struct_free_method method) {
+ if(td && ptr) {
+ switch(method) {
+ case ASFM_FREE_EVERYTHING:
+ FREEMEM(ptr);
+ break;
+ case ASFM_FREE_UNDERLYING:
+ break;
+ case ASFM_FREE_UNDERLYING_AND_RESET:
+ memset(ptr, 0, sizeof(BOOLEAN_t));
+ break;
+ }
+ }
+}
+
+int
+BOOLEAN_compare(const asn_TYPE_descriptor_t *td, const void *aptr,
+ const void *bptr) {
+ const BOOLEAN_t *a = aptr;
+ const BOOLEAN_t *b = bptr;
+
+ (void)td;
+
+ if(a && b) {
+ if(!*a == !*b) { /* TRUE can be encoded by any non-zero byte. */
+ return 0;
+ } else if(!*a) {
+ return -1;
+ } else {
+ return 1;
+ }
+ } else if(!a) {
+ return -1;
+ } else {
+ return 1;
+ }
+}
diff --git a/certgen/asncodec/BOOLEAN.h b/certgen/asncodec/BOOLEAN.h
index 1191fdef841342d080e854998b7f298ec2a5e7a5..2cbbe71011a6f7c3b7163f560b89495fdb8234c5 100644
--- a/certgen/asncodec/BOOLEAN.h
+++ b/certgen/asncodec/BOOLEAN.h
@@ -1,43 +1,70 @@
-/*-
- * Copyright (c) 2003-2017 Lev Walkin . All rights reserved.
- * Redistribution and modifications are permitted subject to BSD license.
- */
-#ifndef _BOOLEAN_H_
-#define _BOOLEAN_H_
-
-#include
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * The underlying integer may contain various values, but everything
- * non-zero is capped to 0xff by the DER encoder. The BER decoder may
- * yield non-zero values different from 1, beware.
- */
-typedef int BOOLEAN_t;
-
-extern asn_TYPE_descriptor_t asn_DEF_BOOLEAN;
-extern asn_TYPE_operation_t asn_OP_BOOLEAN;
-
-asn_struct_free_f BOOLEAN_free;
-asn_struct_print_f BOOLEAN_print;
-asn_struct_compare_f BOOLEAN_compare;
-ber_type_decoder_f BOOLEAN_decode_ber;
-der_type_encoder_f BOOLEAN_encode_der;
-oer_type_decoder_f BOOLEAN_decode_oer;
-oer_type_encoder_f BOOLEAN_encode_oer;
-per_type_decoder_f BOOLEAN_decode_uper;
-per_type_encoder_f BOOLEAN_encode_uper;
-xer_type_decoder_f BOOLEAN_decode_xer;
-xer_type_encoder_f BOOLEAN_encode_xer;
-asn_random_fill_f BOOLEAN_random_fill;
-
-#define BOOLEAN_constraint asn_generic_no_constraint
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _BOOLEAN_H_ */
+/*-
+ * Copyright (c) 2003-2017 Lev Walkin . All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#ifndef _BOOLEAN_H_
+#define _BOOLEAN_H_
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * The underlying integer may contain various values, but everything
+ * non-zero is capped to 0xff by the DER encoder. The BER decoder may
+ * yield non-zero values different from 1, beware.
+ */
+typedef unsigned BOOLEAN_t;
+
+extern asn_TYPE_descriptor_t asn_DEF_BOOLEAN;
+extern asn_TYPE_operation_t asn_OP_BOOLEAN;
+
+asn_struct_free_f BOOLEAN_free;
+
+#if !defined(ASN_DISABLE_PRINT_SUPPORT)
+asn_struct_print_f BOOLEAN_print;
+#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */
+
+asn_struct_compare_f BOOLEAN_compare;
+
+#define BOOLEAN_constraint asn_generic_no_constraint
+
+#if !defined(ASN_DISABLE_BER_SUPPORT)
+ber_type_decoder_f BOOLEAN_decode_ber;
+der_type_encoder_f BOOLEAN_encode_der;
+#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */
+
+#if !defined(ASN_DISABLE_XER_SUPPORT)
+xer_type_decoder_f BOOLEAN_decode_xer;
+xer_type_encoder_f BOOLEAN_encode_xer;
+#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */
+
+#if !defined(ASN_DISABLE_JER_SUPPORT)
+jer_type_encoder_f BOOLEAN_encode_jer;
+#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+oer_type_decoder_f BOOLEAN_decode_oer;
+oer_type_encoder_f BOOLEAN_encode_oer;
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+
+#if !defined(ASN_DISABLE_UPER_SUPPORT)
+per_type_decoder_f BOOLEAN_decode_uper;
+per_type_encoder_f BOOLEAN_encode_uper;
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */
+#if !defined(ASN_DISABLE_APER_SUPPORT)
+per_type_decoder_f BOOLEAN_decode_aper;
+per_type_encoder_f BOOLEAN_encode_aper;
+#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */
+
+#if !defined(ASN_DISABLE_RFILL_SUPPORT)
+asn_random_fill_f BOOLEAN_random_fill;
+#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _BOOLEAN_H_ */
diff --git a/certgen/asncodec/BOOLEAN_oer.c b/certgen/asncodec/BOOLEAN_oer.c
new file mode 100644
index 0000000000000000000000000000000000000000..0e92e602bd4d52ea3bd4fc990a5fa6cdf4288c62
--- /dev/null
+++ b/certgen/asncodec/BOOLEAN_oer.c
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2017 Lev Walkin .
+ * All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#include
+#include
+
+/*
+ * Encode as Canonical OER.
+ */
+asn_enc_rval_t
+BOOLEAN_encode_oer(const asn_TYPE_descriptor_t *td,
+ const asn_oer_constraints_t *constraints, const void *sptr,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ asn_enc_rval_t er = { 1, 0, 0 };
+ const BOOLEAN_t *st = sptr;
+ uint8_t bool_value = *st ? 0xff : 0; /* 0xff mandated by OER */
+
+ (void)td;
+ (void)constraints; /* Constraints are unused in OER */
+
+ if(cb(&bool_value, 1, app_key) < 0) {
+ ASN__ENCODE_FAILED;
+ } else {
+ ASN__ENCODED_OK(er);
+ }
+}
+
+asn_dec_rval_t
+BOOLEAN_decode_oer(const asn_codec_ctx_t *opt_codec_ctx,
+ const asn_TYPE_descriptor_t *td,
+ const asn_oer_constraints_t *constraints, void **sptr,
+ const void *ptr, size_t size) {
+ asn_dec_rval_t ok = {RC_OK, 1};
+ BOOLEAN_t *st;
+
+ (void)opt_codec_ctx;
+ (void)td;
+ (void)constraints; /* Constraints are unused in OER */
+
+ if(size < 1) {
+ ASN__DECODE_STARVED;
+ }
+
+ if(!(st = *sptr)) {
+ st = (BOOLEAN_t *)(*sptr = CALLOC(1, sizeof(*st)));
+ if(!st) ASN__DECODE_FAILED;
+ }
+
+ *st = *(const uint8_t *)ptr;
+
+ return ok;
+}
diff --git a/certgen/asncodec/BOOLEAN_print.c b/certgen/asncodec/BOOLEAN_print.c
new file mode 100644
index 0000000000000000000000000000000000000000..23aaadea84d09fc5b5abee6bbebbfd636eaec952
--- /dev/null
+++ b/certgen/asncodec/BOOLEAN_print.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2017 Lev Walkin .
+ * All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#include
+#include
+
+int
+BOOLEAN_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
+ const char *buf;
+ size_t buflen;
+
+ (void)td; /* Unused argument */
+ (void)ilevel; /* Unused argument */
+
+ if(st) {
+ if(*st) {
+ buf = "TRUE";
+ buflen = 4;
+ } else {
+ buf = "FALSE";
+ buflen = 5;
+ }
+ } else {
+ buf = "";
+ buflen = 8;
+ }
+
+ return (cb(buf, buflen, app_key) < 0) ? -1 : 0;
+}
diff --git a/certgen/asncodec/BOOLEAN_xer.c b/certgen/asncodec/BOOLEAN_xer.c
new file mode 100644
index 0000000000000000000000000000000000000000..7e9d8f8537e880c807711510c31da13575469001
--- /dev/null
+++ b/certgen/asncodec/BOOLEAN_xer.c
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2017 Lev Walkin .
+ * All rights reserved.
+ * Redistribution and modifications are permitted subject to BSD license.
+ */
+#include
+#include
+#include
+#include
+
+/*
+ * Decode the chunk of XML text encoding INTEGER.
+ */
+static enum xer_pbd_rval
+BOOLEAN__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr,
+ const void *chunk_buf, size_t chunk_size) {
+ BOOLEAN_t *st = (BOOLEAN_t *)sptr;
+ const char *p = (const char *)chunk_buf;
+
+ (void)td;
+
+ if(chunk_size && p[0] == 0x3c /* '<' */) {
+ switch(xer_check_tag(chunk_buf, chunk_size, "false")) {
+ case XCT_BOTH:
+ /* "" */
+ *st = 0;
+ break;
+ case XCT_UNKNOWN_BO:
+ if(xer_check_tag(chunk_buf, chunk_size, "true") != XCT_BOTH)
+ return XPBD_BROKEN_ENCODING;
+ /* "" */
+ *st = 1; /* Or 0xff as in DER?.. */
+ break;
+ default:
+ return XPBD_BROKEN_ENCODING;
+ }
+ return XPBD_BODY_CONSUMED;
+ } else {
+ return XPBD_BROKEN_ENCODING;
+ }
+}
+
+
+asn_dec_rval_t
+BOOLEAN_decode_xer(const asn_codec_ctx_t *opt_codec_ctx,
+ const asn_TYPE_descriptor_t *td, void **sptr,
+ const char *opt_mname, const void *buf_ptr, size_t size) {
+ return xer_decode_primitive(opt_codec_ctx, td,
+ sptr, sizeof(BOOLEAN_t), opt_mname, buf_ptr, size,
+ BOOLEAN__xer_body_decode);
+}
+
+asn_enc_rval_t
+BOOLEAN_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr,
+ int ilevel, enum xer_encoder_flags_e flags,
+ asn_app_consume_bytes_f *cb, void *app_key) {
+ const BOOLEAN_t *st = (const BOOLEAN_t *)sptr;
+ asn_enc_rval_t er = {0, 0, 0};
+
+ (void)ilevel;
+ (void)flags;
+
+ if(!st) ASN__ENCODE_FAILED;
+
+ if(*st) {
+ ASN__CALLBACK("", 7);
+ } else {
+ ASN__CALLBACK("", 8);
+ }
+
+ ASN__ENCODED_OK(er);
+cb_failed:
+ ASN__ENCODE_FAILED;
+}
diff --git a/certgen/asncodec/BasePublicEncryptionKey.c b/certgen/asncodec/BasePublicEncryptionKey.c
index 7a6bb58aeb350277a49368968c1fe228be116781..35ba5c00dc39e826837d947ce8abcb522ee2c211 100644
--- a/certgen/asncodec/BasePublicEncryptionKey.c
+++ b/certgen/asncodec/BasePublicEncryptionKey.c
@@ -1,22 +1,32 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2BaseTypes"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2BaseTypes.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2BaseTypes"
+ * found in "asn1/ieee1609.2/IEEE1609dot2BaseTypes.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "BasePublicEncryptionKey.h"
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_BasePublicEncryptionKey_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
asn_TYPE_member_t asn_MBR_BasePublicEncryptionKey_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BasePublicEncryptionKey, choice.eciesNistP256),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_EccP256CurvePoint,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"eciesNistP256"
},
@@ -25,14 +35,40 @@ asn_TYPE_member_t asn_MBR_BasePublicEncryptionKey_1[] = {
+1, /* EXPLICIT tag at current level */
&asn_DEF_EccP256CurvePoint,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"eciesBrainpoolP256r1"
},
+ { ATF_NOFLAGS, 0, offsetof(struct BasePublicEncryptionKey, choice.ecencSm2),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_EccP256CurvePoint,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "ecencSm2"
+ },
};
static const asn_TYPE_tag2member_t asn_MAP_BasePublicEncryptionKey_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eciesNistP256 */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* eciesBrainpoolP256r1 */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eciesBrainpoolP256r1 */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ecencSm2 */
};
asn_CHOICE_specifics_t asn_SPC_BasePublicEncryptionKey_specs_1 = {
sizeof(struct BasePublicEncryptionKey),
@@ -40,7 +76,7 @@ asn_CHOICE_specifics_t asn_SPC_BasePublicEncryptionKey_specs_1 = {
offsetof(struct BasePublicEncryptionKey, present),
sizeof(((struct BasePublicEncryptionKey *)0)->present),
asn_MAP_BasePublicEncryptionKey_tag2el_1,
- 2, /* Count of tags in the map */
+ 3, /* Count of tags in the map */
0, 0,
2 /* Extensions start */
};
@@ -52,9 +88,17 @@ asn_TYPE_descriptor_t asn_DEF_BasePublicEncryptionKey = {
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
- { &asn_OER_type_BasePublicEncryptionKey_constr_1, 0, CHOICE_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_BasePublicEncryptionKey_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CHOICE_constraint
+ },
asn_MBR_BasePublicEncryptionKey_1,
- 2, /* Elements count */
+ 3, /* Elements count */
&asn_SPC_BasePublicEncryptionKey_specs_1 /* Additional specs */
};
diff --git a/certgen/asncodec/BasePublicEncryptionKey.h b/certgen/asncodec/BasePublicEncryptionKey.h
index c5cb3e7aed9b92c5781975f2c59a2f888ce9e5f0..f73f5ebe892bf65d79f8d272613a8af6d5aa2be7 100644
--- a/certgen/asncodec/BasePublicEncryptionKey.h
+++ b/certgen/asncodec/BasePublicEncryptionKey.h
@@ -1,20 +1,20 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2BaseTypes"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2BaseTypes.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2BaseTypes"
+ * found in "asn1/ieee1609.2/IEEE1609dot2BaseTypes.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include "EccP256CurvePoint.h"
+#include
#ifndef _BasePublicEncryptionKey_H_
#define _BasePublicEncryptionKey_H_
#include
-/* Including external dependencies */
-#include "EccP256CurvePoint.h"
-#include
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -23,9 +23,9 @@ extern "C" {
typedef enum BasePublicEncryptionKey_PR {
BasePublicEncryptionKey_PR_NOTHING, /* No components present */
BasePublicEncryptionKey_PR_eciesNistP256,
- BasePublicEncryptionKey_PR_eciesBrainpoolP256r1
+ BasePublicEncryptionKey_PR_eciesBrainpoolP256r1,
/* Extensions may appear below */
-
+ BasePublicEncryptionKey_PR_ecencSm2
} BasePublicEncryptionKey_PR;
/* BasePublicEncryptionKey */
@@ -38,6 +38,7 @@ typedef struct BasePublicEncryptionKey {
* This type is extensible,
* possible extensions are below.
*/
+ EccP256CurvePoint_t ecencSm2;
} choice;
/* Context for parsing across buffer boundaries */
@@ -47,7 +48,7 @@ typedef struct BasePublicEncryptionKey {
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_BasePublicEncryptionKey;
extern asn_CHOICE_specifics_t asn_SPC_BasePublicEncryptionKey_specs_1;
-extern asn_TYPE_member_t asn_MBR_BasePublicEncryptionKey_1[2];
+extern asn_TYPE_member_t asn_MBR_BasePublicEncryptionKey_1[3];
#ifdef __cplusplus
}
diff --git a/certgen/asncodec/BitmapSsp.c b/certgen/asncodec/BitmapSsp.c
index 364a63fe0a03bfd23d62bfa2ce20ad4a2fe29953..27be61399879adbbc2841b2164f950610b12d090 100644
--- a/certgen/asncodec/BitmapSsp.c
+++ b/certgen/asncodec/BitmapSsp.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2BaseTypes"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2BaseTypes.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2BaseTypes"
+ * found in "asn1/ieee1609.2/IEEE1609dot2BaseTypes.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "BitmapSsp.h"
@@ -37,9 +37,11 @@ BitmapSsp_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using OCTET_STRING,
* so here we adjust the DEF accordingly.
*/
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_BitmapSsp_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(0..31)) */};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_BitmapSsp_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
};
@@ -53,7 +55,15 @@ asn_TYPE_descriptor_t asn_DEF_BitmapSsp = {
asn_DEF_BitmapSsp_tags_1, /* Same as above */
sizeof(asn_DEF_BitmapSsp_tags_1)
/sizeof(asn_DEF_BitmapSsp_tags_1[0]), /* 1 */
- { &asn_OER_type_BitmapSsp_constr_1, 0, BitmapSsp_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_BitmapSsp_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ BitmapSsp_constraint
+ },
0, 0, /* No members */
&asn_SPC_OCTET_STRING_specs /* Additional specs */
};
diff --git a/certgen/asncodec/BitmapSsp.h b/certgen/asncodec/BitmapSsp.h
index dd7ff6d53f195caa6848ce87d2ae82a6507796f8..592ed1bb899ee03e23d3aa4e9e195785bfa8f970 100644
--- a/certgen/asncodec/BitmapSsp.h
+++ b/certgen/asncodec/BitmapSsp.h
@@ -1,19 +1,19 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2BaseTypes"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2BaseTypes.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2BaseTypes"
+ * found in "asn1/ieee1609.2/IEEE1609dot2BaseTypes.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include
#ifndef _BitmapSsp_H_
#define _BitmapSsp_H_
#include
-/* Including external dependencies */
-#include
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -26,8 +26,6 @@ extern asn_TYPE_descriptor_t asn_DEF_BitmapSsp;
asn_struct_free_f BitmapSsp_free;
asn_struct_print_f BitmapSsp_print;
asn_constr_check_f BitmapSsp_constraint;
-ber_type_decoder_f BitmapSsp_decode_ber;
-der_type_encoder_f BitmapSsp_encode_der;
xer_type_decoder_f BitmapSsp_decode_xer;
xer_type_encoder_f BitmapSsp_encode_xer;
oer_type_decoder_f BitmapSsp_decode_oer;
diff --git a/certgen/asncodec/BitmapSspRange.c b/certgen/asncodec/BitmapSspRange.c
index 2284a28c1836a07c5fd3fd921196f630316434c8..b02f88f43c8ca5b84708a3a25952348beb5db03f 100644
--- a/certgen/asncodec/BitmapSspRange.c
+++ b/certgen/asncodec/BitmapSspRange.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2BaseTypes"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2BaseTypes.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2BaseTypes"
+ * found in "asn1/ieee1609.2/IEEE1609dot2BaseTypes.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "BitmapSspRange.h"
@@ -59,19 +59,31 @@ memb_sspBitmask_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
}
}
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_sspValue_constr_2 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(1..32)) */};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_sspBitmask_constr_3 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(1..32)) */};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
asn_TYPE_member_t asn_MBR_BitmapSspRange_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct BitmapSspRange, sspValue),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
0,
- { &asn_OER_memb_sspValue_constr_2, 0, memb_sspValue_constraint_1 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_sspValue_constr_2,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_sspValue_constraint_1
+ },
0, 0, /* No default value */
"sspValue"
},
@@ -80,7 +92,15 @@ asn_TYPE_member_t asn_MBR_BitmapSspRange_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
0,
- { &asn_OER_memb_sspBitmask_constr_3, 0, memb_sspBitmask_constraint_1 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_sspBitmask_constr_3,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_sspBitmask_constraint_1
+ },
0, 0, /* No default value */
"sspBitmask"
},
@@ -110,7 +130,15 @@ asn_TYPE_descriptor_t asn_DEF_BitmapSspRange = {
asn_DEF_BitmapSspRange_tags_1, /* Same as above */
sizeof(asn_DEF_BitmapSspRange_tags_1)
/sizeof(asn_DEF_BitmapSspRange_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
asn_MBR_BitmapSspRange_1,
2, /* Elements count */
&asn_SPC_BitmapSspRange_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/BitmapSspRange.h b/certgen/asncodec/BitmapSspRange.h
index 2c08e8ae11204562384375dcd6397397bfdcf7a3..47fd99a26c56c202fc62781203bf8e4aebc000d3 100644
--- a/certgen/asncodec/BitmapSspRange.h
+++ b/certgen/asncodec/BitmapSspRange.h
@@ -1,20 +1,20 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2BaseTypes"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2BaseTypes.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2BaseTypes"
+ * found in "asn1/ieee1609.2/IEEE1609dot2BaseTypes.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include
+#include
#ifndef _BitmapSspRange_H_
#define _BitmapSspRange_H_
#include
-/* Including external dependencies */
-#include
-#include
-
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/certgen/asncodec/BlindedKey.c b/certgen/asncodec/BlindedKey.c
new file mode 100644
index 0000000000000000000000000000000000000000..cacbb35724e876b4215393cd1fe9976c47cab8ce
--- /dev/null
+++ b/certgen/asncodec/BlindedKey.c
@@ -0,0 +1,40 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1CamRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1CamRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "BlindedKey.h"
+
+/*
+ * This type is implemented using EccP256CurvePoint,
+ * so here we adjust the DEF accordingly.
+ */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_BlindedKey_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+asn_TYPE_descriptor_t asn_DEF_BlindedKey = {
+ "BlindedKey",
+ "BlindedKey",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CHOICE_constraint
+ },
+ asn_MBR_EccP256CurvePoint_1,
+ 5, /* Elements count */
+ &asn_SPC_EccP256CurvePoint_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/BlindedKey.h b/certgen/asncodec/BlindedKey.h
new file mode 100644
index 0000000000000000000000000000000000000000..0d46124578153357c75df85056fa1fed8278cefe
--- /dev/null
+++ b/certgen/asncodec/BlindedKey.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1CamRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1CamRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "EccP256CurvePoint.h"
+#ifndef _BlindedKey_H_
+#define _BlindedKey_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* BlindedKey */
+typedef EccP256CurvePoint_t BlindedKey_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_BlindedKey;
+asn_struct_free_f BlindedKey_free;
+asn_struct_print_f BlindedKey_print;
+asn_constr_check_f BlindedKey_constraint;
+xer_type_decoder_f BlindedKey_decode_xer;
+xer_type_encoder_f BlindedKey_encode_xer;
+oer_type_decoder_f BlindedKey_decode_oer;
+oer_type_encoder_f BlindedKey_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _BlindedKey_H_ */
+#include
diff --git a/certgen/asncodec/ButterflyAtDownloadRequestMessage.c b/certgen/asncodec/ButterflyAtDownloadRequestMessage.c
new file mode 100644
index 0000000000000000000000000000000000000000..2cdae21c927ef0ced6d56ce4e7930ae8b88efa66
--- /dev/null
+++ b/certgen/asncodec/ButterflyAtDownloadRequestMessage.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "EtsiTs102941MessagesCa"
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "ButterflyAtDownloadRequestMessage.h"
+
+int
+ButterflyAtDownloadRequestMessage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0,
+ * so here we adjust the DEF accordingly.
+ */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_ButterflyAtDownloadRequestMessage_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static const ber_tlv_tag_t asn_DEF_ButterflyAtDownloadRequestMessage_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ButterflyAtDownloadRequestMessage = {
+ "ButterflyAtDownloadRequestMessage",
+ "ButterflyAtDownloadRequestMessage",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ButterflyAtDownloadRequestMessage_tags_1,
+ sizeof(asn_DEF_ButterflyAtDownloadRequestMessage_tags_1)
+ /sizeof(asn_DEF_ButterflyAtDownloadRequestMessage_tags_1[0]), /* 1 */
+ asn_DEF_ButterflyAtDownloadRequestMessage_tags_1, /* Same as above */
+ sizeof(asn_DEF_ButterflyAtDownloadRequestMessage_tags_1)
+ /sizeof(asn_DEF_ButterflyAtDownloadRequestMessage_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_ButterflyAtDownloadRequestMessage_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ ButterflyAtDownloadRequestMessage_constraint
+ },
+ asn_MBR_Ieee1609Dot2Data_1,
+ 2, /* Elements count */
+ &asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/ButterflyAtDownloadRequestMessage.h b/certgen/asncodec/ButterflyAtDownloadRequestMessage.h
new file mode 100644
index 0000000000000000000000000000000000000000..aa2a79277844d76c58f69fa9b8afb65c318dcc0f
--- /dev/null
+++ b/certgen/asncodec/ButterflyAtDownloadRequestMessage.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "EtsiTs102941MessagesCa"
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
+#ifndef _ButterflyAtDownloadRequestMessage_H_
+#define _ButterflyAtDownloadRequestMessage_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ButterflyAtDownloadRequestMessage */
+typedef EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0_t ButterflyAtDownloadRequestMessage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ButterflyAtDownloadRequestMessage;
+asn_struct_free_f ButterflyAtDownloadRequestMessage_free;
+asn_struct_print_f ButterflyAtDownloadRequestMessage_print;
+asn_constr_check_f ButterflyAtDownloadRequestMessage_constraint;
+xer_type_decoder_f ButterflyAtDownloadRequestMessage_decode_xer;
+xer_type_encoder_f ButterflyAtDownloadRequestMessage_encode_xer;
+oer_type_decoder_f ButterflyAtDownloadRequestMessage_decode_oer;
+oer_type_encoder_f ButterflyAtDownloadRequestMessage_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ButterflyAtDownloadRequestMessage_H_ */
+#include
diff --git a/certgen/asncodec/ButterflyAuthorizationRequestMessage.c b/certgen/asncodec/ButterflyAuthorizationRequestMessage.c
new file mode 100644
index 0000000000000000000000000000000000000000..efe297014cc502e333b82359af748414d09b5b3c
--- /dev/null
+++ b/certgen/asncodec/ButterflyAuthorizationRequestMessage.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "EtsiTs102941MessagesCa"
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "ButterflyAuthorizationRequestMessage.h"
+
+int
+ButterflyAuthorizationRequestMessage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0,
+ * so here we adjust the DEF accordingly.
+ */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_ButterflyAuthorizationRequestMessage_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static const ber_tlv_tag_t asn_DEF_ButterflyAuthorizationRequestMessage_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ButterflyAuthorizationRequestMessage = {
+ "ButterflyAuthorizationRequestMessage",
+ "ButterflyAuthorizationRequestMessage",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ButterflyAuthorizationRequestMessage_tags_1,
+ sizeof(asn_DEF_ButterflyAuthorizationRequestMessage_tags_1)
+ /sizeof(asn_DEF_ButterflyAuthorizationRequestMessage_tags_1[0]), /* 1 */
+ asn_DEF_ButterflyAuthorizationRequestMessage_tags_1, /* Same as above */
+ sizeof(asn_DEF_ButterflyAuthorizationRequestMessage_tags_1)
+ /sizeof(asn_DEF_ButterflyAuthorizationRequestMessage_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_ButterflyAuthorizationRequestMessage_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ ButterflyAuthorizationRequestMessage_constraint
+ },
+ asn_MBR_Ieee1609Dot2Data_1,
+ 2, /* Elements count */
+ &asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/ButterflyAuthorizationRequestMessage.h b/certgen/asncodec/ButterflyAuthorizationRequestMessage.h
new file mode 100644
index 0000000000000000000000000000000000000000..f05d59fa15b32132565a7141ae1833e60dae6fc4
--- /dev/null
+++ b/certgen/asncodec/ButterflyAuthorizationRequestMessage.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "EtsiTs102941MessagesCa"
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
+#ifndef _ButterflyAuthorizationRequestMessage_H_
+#define _ButterflyAuthorizationRequestMessage_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ButterflyAuthorizationRequestMessage */
+typedef EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0_t ButterflyAuthorizationRequestMessage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ButterflyAuthorizationRequestMessage;
+asn_struct_free_f ButterflyAuthorizationRequestMessage_free;
+asn_struct_print_f ButterflyAuthorizationRequestMessage_print;
+asn_constr_check_f ButterflyAuthorizationRequestMessage_constraint;
+xer_type_decoder_f ButterflyAuthorizationRequestMessage_decode_xer;
+xer_type_encoder_f ButterflyAuthorizationRequestMessage_encode_xer;
+oer_type_decoder_f ButterflyAuthorizationRequestMessage_decode_oer;
+oer_type_encoder_f ButterflyAuthorizationRequestMessage_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ButterflyAuthorizationRequestMessage_H_ */
+#include
diff --git a/certgen/asncodec/ButterflyAuthorizationResponseMessage.c b/certgen/asncodec/ButterflyAuthorizationResponseMessage.c
new file mode 100644
index 0000000000000000000000000000000000000000..3cc412beb2a10ee49a0f769350ea30fd2358a97b
--- /dev/null
+++ b/certgen/asncodec/ButterflyAuthorizationResponseMessage.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "EtsiTs102941MessagesCa"
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "ButterflyAuthorizationResponseMessage.h"
+
+int
+ButterflyAuthorizationResponseMessage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using EtsiTs103097Data_Signed_63P0,
+ * so here we adjust the DEF accordingly.
+ */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_ButterflyAuthorizationResponseMessage_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static const ber_tlv_tag_t asn_DEF_ButterflyAuthorizationResponseMessage_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ButterflyAuthorizationResponseMessage = {
+ "ButterflyAuthorizationResponseMessage",
+ "ButterflyAuthorizationResponseMessage",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ButterflyAuthorizationResponseMessage_tags_1,
+ sizeof(asn_DEF_ButterflyAuthorizationResponseMessage_tags_1)
+ /sizeof(asn_DEF_ButterflyAuthorizationResponseMessage_tags_1[0]), /* 1 */
+ asn_DEF_ButterflyAuthorizationResponseMessage_tags_1, /* Same as above */
+ sizeof(asn_DEF_ButterflyAuthorizationResponseMessage_tags_1)
+ /sizeof(asn_DEF_ButterflyAuthorizationResponseMessage_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_ButterflyAuthorizationResponseMessage_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ ButterflyAuthorizationResponseMessage_constraint
+ },
+ asn_MBR_Ieee1609Dot2Data_1,
+ 2, /* Elements count */
+ &asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/ButterflyAuthorizationResponseMessage.h b/certgen/asncodec/ButterflyAuthorizationResponseMessage.h
new file mode 100644
index 0000000000000000000000000000000000000000..bb4a3eea91867b85e20311a19635553830dede68
--- /dev/null
+++ b/certgen/asncodec/ButterflyAuthorizationResponseMessage.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "EtsiTs102941MessagesCa"
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "EtsiTs103097Data-Signed.h"
+#ifndef _ButterflyAuthorizationResponseMessage_H_
+#define _ButterflyAuthorizationResponseMessage_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ButterflyAuthorizationResponseMessage */
+typedef EtsiTs103097Data_Signed_63P0_t ButterflyAuthorizationResponseMessage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ButterflyAuthorizationResponseMessage;
+asn_struct_free_f ButterflyAuthorizationResponseMessage_free;
+asn_struct_print_f ButterflyAuthorizationResponseMessage_print;
+asn_constr_check_f ButterflyAuthorizationResponseMessage_constraint;
+xer_type_decoder_f ButterflyAuthorizationResponseMessage_decode_xer;
+xer_type_encoder_f ButterflyAuthorizationResponseMessage_encode_xer;
+oer_type_decoder_f ButterflyAuthorizationResponseMessage_decode_oer;
+oer_type_encoder_f ButterflyAuthorizationResponseMessage_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ButterflyAuthorizationResponseMessage_H_ */
+#include
diff --git a/certgen/asncodec/ButterflyCertRequestMessage.c b/certgen/asncodec/ButterflyCertRequestMessage.c
new file mode 100644
index 0000000000000000000000000000000000000000..6beff727c7c1082674b3b8c3f7a0554d9e1ee6c0
--- /dev/null
+++ b/certgen/asncodec/ButterflyCertRequestMessage.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "EtsiTs102941MessagesCa"
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "ButterflyCertRequestMessage.h"
+
+int
+ButterflyCertRequestMessage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0,
+ * so here we adjust the DEF accordingly.
+ */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_ButterflyCertRequestMessage_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static const ber_tlv_tag_t asn_DEF_ButterflyCertRequestMessage_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ButterflyCertRequestMessage = {
+ "ButterflyCertRequestMessage",
+ "ButterflyCertRequestMessage",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ButterflyCertRequestMessage_tags_1,
+ sizeof(asn_DEF_ButterflyCertRequestMessage_tags_1)
+ /sizeof(asn_DEF_ButterflyCertRequestMessage_tags_1[0]), /* 1 */
+ asn_DEF_ButterflyCertRequestMessage_tags_1, /* Same as above */
+ sizeof(asn_DEF_ButterflyCertRequestMessage_tags_1)
+ /sizeof(asn_DEF_ButterflyCertRequestMessage_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_ButterflyCertRequestMessage_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ ButterflyCertRequestMessage_constraint
+ },
+ asn_MBR_Ieee1609Dot2Data_1,
+ 2, /* Elements count */
+ &asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/ButterflyCertRequestMessage.h b/certgen/asncodec/ButterflyCertRequestMessage.h
new file mode 100644
index 0000000000000000000000000000000000000000..85240f1d3654bdb42bece8d022fffb80e7cea117
--- /dev/null
+++ b/certgen/asncodec/ButterflyCertRequestMessage.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "EtsiTs102941MessagesCa"
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
+#ifndef _ButterflyCertRequestMessage_H_
+#define _ButterflyCertRequestMessage_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ButterflyCertRequestMessage */
+typedef EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0_t ButterflyCertRequestMessage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ButterflyCertRequestMessage;
+asn_struct_free_f ButterflyCertRequestMessage_free;
+asn_struct_print_f ButterflyCertRequestMessage_print;
+asn_constr_check_f ButterflyCertRequestMessage_constraint;
+xer_type_decoder_f ButterflyCertRequestMessage_decode_xer;
+xer_type_encoder_f ButterflyCertRequestMessage_encode_xer;
+oer_type_decoder_f ButterflyCertRequestMessage_decode_oer;
+oer_type_encoder_f ButterflyCertRequestMessage_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ButterflyCertRequestMessage_H_ */
+#include
diff --git a/certgen/asncodec/ButterflyCertResponseMessage.c b/certgen/asncodec/ButterflyCertResponseMessage.c
new file mode 100644
index 0000000000000000000000000000000000000000..ecdaff73cd2caf338eddca6f49d014f861af33ef
--- /dev/null
+++ b/certgen/asncodec/ButterflyCertResponseMessage.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "EtsiTs102941MessagesCa"
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "ButterflyCertResponseMessage.h"
+
+int
+ButterflyCertResponseMessage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0,
+ * so here we adjust the DEF accordingly.
+ */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_ButterflyCertResponseMessage_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static const ber_tlv_tag_t asn_DEF_ButterflyCertResponseMessage_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_ButterflyCertResponseMessage = {
+ "ButterflyCertResponseMessage",
+ "ButterflyCertResponseMessage",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ButterflyCertResponseMessage_tags_1,
+ sizeof(asn_DEF_ButterflyCertResponseMessage_tags_1)
+ /sizeof(asn_DEF_ButterflyCertResponseMessage_tags_1[0]), /* 1 */
+ asn_DEF_ButterflyCertResponseMessage_tags_1, /* Same as above */
+ sizeof(asn_DEF_ButterflyCertResponseMessage_tags_1)
+ /sizeof(asn_DEF_ButterflyCertResponseMessage_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_ButterflyCertResponseMessage_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ ButterflyCertResponseMessage_constraint
+ },
+ asn_MBR_Ieee1609Dot2Data_1,
+ 2, /* Elements count */
+ &asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/ButterflyCertResponseMessage.h b/certgen/asncodec/ButterflyCertResponseMessage.h
new file mode 100644
index 0000000000000000000000000000000000000000..d2aee9e7cf5802563e600e16916d11c8c9781d58
--- /dev/null
+++ b/certgen/asncodec/ButterflyCertResponseMessage.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "EtsiTs102941MessagesCa"
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "EtsiTs103097Data-SignedAndEncrypted-Unicast.h"
+#ifndef _ButterflyCertResponseMessage_H_
+#define _ButterflyCertResponseMessage_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ButterflyCertResponseMessage */
+typedef EtsiTs103097Data_SignedAndEncrypted_Unicast_115P0_t ButterflyCertResponseMessage_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ButterflyCertResponseMessage;
+asn_struct_free_f ButterflyCertResponseMessage_free;
+asn_struct_print_f ButterflyCertResponseMessage_print;
+asn_constr_check_f ButterflyCertResponseMessage_constraint;
+xer_type_decoder_f ButterflyCertResponseMessage_decode_xer;
+xer_type_encoder_f ButterflyCertResponseMessage_encode_xer;
+oer_type_decoder_f ButterflyCertResponseMessage_decode_oer;
+oer_type_encoder_f ButterflyCertResponseMessage_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ButterflyCertResponseMessage_H_ */
+#include
diff --git a/certgen/asncodec/ButterflyExpansion.c b/certgen/asncodec/ButterflyExpansion.c
new file mode 100644
index 0000000000000000000000000000000000000000..a494a2b81fb287e03d28385a2f1232a825f333a5
--- /dev/null
+++ b/certgen/asncodec/ButterflyExpansion.c
@@ -0,0 +1,99 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1EeRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1EeRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "ButterflyExpansion.h"
+
+static int
+memb_aes128_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = st->size;
+
+ if((size == 16)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_aes128_constr_2 CC_NOTUSED = {
+ { 0, 0 },
+ 16 /* (SIZE(16..16)) */};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_ButterflyExpansion_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+asn_TYPE_member_t asn_MBR_ButterflyExpansion_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct ButterflyExpansion, choice.aes128),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_OCTET_STRING,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_aes128_constr_2,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_aes128_constraint_1
+ },
+ 0, 0, /* No default value */
+ "aes128"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_ButterflyExpansion_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* aes128 */
+};
+asn_CHOICE_specifics_t asn_SPC_ButterflyExpansion_specs_1 = {
+ sizeof(struct ButterflyExpansion),
+ offsetof(struct ButterflyExpansion, _asn_ctx),
+ offsetof(struct ButterflyExpansion, present),
+ sizeof(((struct ButterflyExpansion *)0)->present),
+ asn_MAP_ButterflyExpansion_tag2el_1,
+ 1, /* Count of tags in the map */
+ 0, 0,
+ 1 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_ButterflyExpansion = {
+ "ButterflyExpansion",
+ "ButterflyExpansion",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_ButterflyExpansion_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CHOICE_constraint
+ },
+ asn_MBR_ButterflyExpansion_1,
+ 1, /* Elements count */
+ &asn_SPC_ButterflyExpansion_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/ButterflyExpansion.h b/certgen/asncodec/ButterflyExpansion.h
new file mode 100644
index 0000000000000000000000000000000000000000..3ac2b54456edb5379b6f21349a1ea4350d835aec
--- /dev/null
+++ b/certgen/asncodec/ButterflyExpansion.h
@@ -0,0 +1,55 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1EeRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1EeRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include
+#include
+#ifndef _ButterflyExpansion_H_
+#define _ButterflyExpansion_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ButterflyExpansion_PR {
+ ButterflyExpansion_PR_NOTHING, /* No components present */
+ ButterflyExpansion_PR_aes128
+ /* Extensions may appear below */
+
+} ButterflyExpansion_PR;
+
+/* ButterflyExpansion */
+typedef struct ButterflyExpansion {
+ ButterflyExpansion_PR present;
+ union ButterflyExpansion_u {
+ OCTET_STRING_t aes128;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} ButterflyExpansion_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ButterflyExpansion;
+extern asn_CHOICE_specifics_t asn_SPC_ButterflyExpansion_specs_1;
+extern asn_TYPE_member_t asn_MBR_ButterflyExpansion_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ButterflyExpansion_H_ */
+#include
diff --git a/certgen/asncodec/ButterflyParamsOriginal.c b/certgen/asncodec/ButterflyParamsOriginal.c
new file mode 100644
index 0000000000000000000000000000000000000000..a33f2c6d92d4da4f5efc2673805905a7a21cc22d
--- /dev/null
+++ b/certgen/asncodec/ButterflyParamsOriginal.c
@@ -0,0 +1,102 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1EeRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1EeRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "ButterflyParamsOriginal.h"
+
+asn_TYPE_member_t asn_MBR_ButterflyParamsOriginal_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct ButterflyParamsOriginal, signingExpansion),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ButterflyExpansion,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "signingExpansion"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct ButterflyParamsOriginal, encryptionKey),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PublicEncryptionKey,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "encryptionKey"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct ButterflyParamsOriginal, encryptionExpansion),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ButterflyExpansion,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "encryptionExpansion"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_ButterflyParamsOriginal_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_ButterflyParamsOriginal_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* signingExpansion */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* encryptionKey */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* encryptionExpansion */
+};
+asn_SEQUENCE_specifics_t asn_SPC_ButterflyParamsOriginal_specs_1 = {
+ sizeof(struct ButterflyParamsOriginal),
+ offsetof(struct ButterflyParamsOriginal, _asn_ctx),
+ asn_MAP_ButterflyParamsOriginal_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_ButterflyParamsOriginal = {
+ "ButterflyParamsOriginal",
+ "ButterflyParamsOriginal",
+ &asn_OP_SEQUENCE,
+ asn_DEF_ButterflyParamsOriginal_tags_1,
+ sizeof(asn_DEF_ButterflyParamsOriginal_tags_1)
+ /sizeof(asn_DEF_ButterflyParamsOriginal_tags_1[0]), /* 1 */
+ asn_DEF_ButterflyParamsOriginal_tags_1, /* Same as above */
+ sizeof(asn_DEF_ButterflyParamsOriginal_tags_1)
+ /sizeof(asn_DEF_ButterflyParamsOriginal_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
+ asn_MBR_ButterflyParamsOriginal_1,
+ 3, /* Elements count */
+ &asn_SPC_ButterflyParamsOriginal_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/ButterflyParamsOriginal.h b/certgen/asncodec/ButterflyParamsOriginal.h
new file mode 100644
index 0000000000000000000000000000000000000000..58dd4c81038c9ab3da41c20688dbe9c7af81bec8
--- /dev/null
+++ b/certgen/asncodec/ButterflyParamsOriginal.h
@@ -0,0 +1,43 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1EeRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1EeRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "ButterflyExpansion.h"
+#include "PublicEncryptionKey.h"
+#include
+#ifndef _ButterflyParamsOriginal_H_
+#define _ButterflyParamsOriginal_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ButterflyParamsOriginal */
+typedef struct ButterflyParamsOriginal {
+ ButterflyExpansion_t signingExpansion;
+ PublicEncryptionKey_t encryptionKey;
+ ButterflyExpansion_t encryptionExpansion;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} ButterflyParamsOriginal_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ButterflyParamsOriginal;
+extern asn_SEQUENCE_specifics_t asn_SPC_ButterflyParamsOriginal_specs_1;
+extern asn_TYPE_member_t asn_MBR_ButterflyParamsOriginal_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _ButterflyParamsOriginal_H_ */
+#include
diff --git a/certgen/asncodec/CaCertificateRekeyingMessage.c b/certgen/asncodec/CaCertificateRekeyingMessage.c
index 73558caf0336e01bcb3e5484b0c14834e57d213e..eae16cb240a7b3055900f49e16c7a0bc9bb4ea0d 100644
--- a/certgen/asncodec/CaCertificateRekeyingMessage.c
+++ b/certgen/asncodec/CaCertificateRekeyingMessage.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "CaCertificateRekeyingMessage.h"
@@ -27,12 +27,14 @@ CaCertificateRekeyingMessage_constraint(const asn_TYPE_descriptor_t *td, const v
}
/*
- * This type is implemented using EtsiTs103097Data_Signed_60P1,
+ * This type is implemented using EtsiTs103097Data_Signed_63P1,
* so here we adjust the DEF accordingly.
*/
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_CaCertificateRekeyingMessage_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_CaCertificateRekeyingMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
@@ -46,7 +48,15 @@ asn_TYPE_descriptor_t asn_DEF_CaCertificateRekeyingMessage = {
asn_DEF_CaCertificateRekeyingMessage_tags_1, /* Same as above */
sizeof(asn_DEF_CaCertificateRekeyingMessage_tags_1)
/sizeof(asn_DEF_CaCertificateRekeyingMessage_tags_1[0]), /* 1 */
- { &asn_OER_type_CaCertificateRekeyingMessage_constr_1, 0, CaCertificateRekeyingMessage_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_CaCertificateRekeyingMessage_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CaCertificateRekeyingMessage_constraint
+ },
asn_MBR_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/CaCertificateRekeyingMessage.h b/certgen/asncodec/CaCertificateRekeyingMessage.h
index 14e291dbfbb88876aa1f19e7d2486a41b93d20d7..23840950d9dc4e3e119886bc8145538a460855f0 100644
--- a/certgen/asncodec/CaCertificateRekeyingMessage.h
+++ b/certgen/asncodec/CaCertificateRekeyingMessage.h
@@ -1,33 +1,31 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include "EtsiTs103097Data-Signed.h"
#ifndef _CaCertificateRekeyingMessage_H_
#define _CaCertificateRekeyingMessage_H_
#include
-/* Including external dependencies */
-#include "EtsiTs103097Data-Signed.h"
-
#ifdef __cplusplus
extern "C" {
#endif
/* CaCertificateRekeyingMessage */
-typedef EtsiTs103097Data_Signed_60P1_t CaCertificateRekeyingMessage_t;
+typedef EtsiTs103097Data_Signed_63P1_t CaCertificateRekeyingMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_CaCertificateRekeyingMessage;
asn_struct_free_f CaCertificateRekeyingMessage_free;
asn_struct_print_f CaCertificateRekeyingMessage_print;
asn_constr_check_f CaCertificateRekeyingMessage_constraint;
-ber_type_decoder_f CaCertificateRekeyingMessage_decode_ber;
-der_type_encoder_f CaCertificateRekeyingMessage_encode_der;
xer_type_decoder_f CaCertificateRekeyingMessage_decode_xer;
xer_type_encoder_f CaCertificateRekeyingMessage_encode_xer;
oer_type_decoder_f CaCertificateRekeyingMessage_decode_oer;
diff --git a/certgen/asncodec/CaCertificateRequest.c b/certgen/asncodec/CaCertificateRequest.c
index 83a23777a66c15441352816607d961d2201927ba..7952a89bdc1313988ff3300cf4c1e36672617cdd 100644
--- a/certgen/asncodec/CaCertificateRequest.c
+++ b/certgen/asncodec/CaCertificateRequest.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941TypesCaManagement"
- * found in "../asn1/EtsiTs102941/EtsiTs102941TypesCaManagement.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941TypesCaManagement.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "CaCertificateRequest.h"
@@ -13,7 +13,15 @@ asn_TYPE_member_t asn_MBR_CaCertificateRequest_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_PublicKeys,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"publicKeys"
},
@@ -22,7 +30,15 @@ asn_TYPE_member_t asn_MBR_CaCertificateRequest_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_CertificateSubjectAttributes,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"requestedSubjectAttributes"
},
@@ -52,7 +68,15 @@ asn_TYPE_descriptor_t asn_DEF_CaCertificateRequest = {
asn_DEF_CaCertificateRequest_tags_1, /* Same as above */
sizeof(asn_DEF_CaCertificateRequest_tags_1)
/sizeof(asn_DEF_CaCertificateRequest_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
asn_MBR_CaCertificateRequest_1,
2, /* Elements count */
&asn_SPC_CaCertificateRequest_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/CaCertificateRequest.h b/certgen/asncodec/CaCertificateRequest.h
index d84ef63e84486a5730bc197fced1f973de01460d..3a7b22e1d15eeff76e74f4b920805696840cbaf7 100644
--- a/certgen/asncodec/CaCertificateRequest.h
+++ b/certgen/asncodec/CaCertificateRequest.h
@@ -1,20 +1,20 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941TypesCaManagement"
- * found in "../asn1/EtsiTs102941/EtsiTs102941TypesCaManagement.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941TypesCaManagement.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
-#ifndef _CaCertificateRequest_H_
-#define _CaCertificateRequest_H_
-
-
-#include
/* Including external dependencies */
#include "PublicKeys.h"
#include "CertificateSubjectAttributes.h"
#include
+#ifndef _CaCertificateRequest_H_
+#define _CaCertificateRequest_H_
+
+
+#include
#ifdef __cplusplus
extern "C" {
diff --git a/certgen/asncodec/CaCertificateRequestMessage.c b/certgen/asncodec/CaCertificateRequestMessage.c
index 7b38ddc52ddbb0f924932268146d8ae467db6363..d99bdea1ee6a03071c5c2a8fdca5ec5c227627e3 100644
--- a/certgen/asncodec/CaCertificateRequestMessage.c
+++ b/certgen/asncodec/CaCertificateRequestMessage.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "CaCertificateRequestMessage.h"
@@ -27,12 +27,14 @@ CaCertificateRequestMessage_constraint(const asn_TYPE_descriptor_t *td, const vo
}
/*
- * This type is implemented using EtsiTs103097Data_Signed_60P0,
+ * This type is implemented using EtsiTs103097Data_Signed_63P0,
* so here we adjust the DEF accordingly.
*/
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_CaCertificateRequestMessage_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_CaCertificateRequestMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
@@ -46,7 +48,15 @@ asn_TYPE_descriptor_t asn_DEF_CaCertificateRequestMessage = {
asn_DEF_CaCertificateRequestMessage_tags_1, /* Same as above */
sizeof(asn_DEF_CaCertificateRequestMessage_tags_1)
/sizeof(asn_DEF_CaCertificateRequestMessage_tags_1[0]), /* 1 */
- { &asn_OER_type_CaCertificateRequestMessage_constr_1, 0, CaCertificateRequestMessage_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_CaCertificateRequestMessage_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CaCertificateRequestMessage_constraint
+ },
asn_MBR_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/CaCertificateRequestMessage.h b/certgen/asncodec/CaCertificateRequestMessage.h
index 868430bf084aa7126164dd84a41de55530b69886..7fd495569e3eb272479c3ce81752e7402386a5de 100644
--- a/certgen/asncodec/CaCertificateRequestMessage.h
+++ b/certgen/asncodec/CaCertificateRequestMessage.h
@@ -1,33 +1,31 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include "EtsiTs103097Data-Signed.h"
#ifndef _CaCertificateRequestMessage_H_
#define _CaCertificateRequestMessage_H_
#include
-/* Including external dependencies */
-#include "EtsiTs103097Data-Signed.h"
-
#ifdef __cplusplus
extern "C" {
#endif
/* CaCertificateRequestMessage */
-typedef EtsiTs103097Data_Signed_60P0_t CaCertificateRequestMessage_t;
+typedef EtsiTs103097Data_Signed_63P0_t CaCertificateRequestMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_CaCertificateRequestMessage;
asn_struct_free_f CaCertificateRequestMessage_free;
asn_struct_print_f CaCertificateRequestMessage_print;
asn_constr_check_f CaCertificateRequestMessage_constraint;
-ber_type_decoder_f CaCertificateRequestMessage_decode_ber;
-der_type_encoder_f CaCertificateRequestMessage_encode_der;
xer_type_decoder_f CaCertificateRequestMessage_decode_xer;
xer_type_encoder_f CaCertificateRequestMessage_encode_xer;
oer_type_decoder_f CaCertificateRequestMessage_decode_oer;
diff --git a/certgen/asncodec/CamRaBatchResponse.c b/certgen/asncodec/CamRaBatchResponse.c
new file mode 100644
index 0000000000000000000000000000000000000000..2f52528c15b4fdcce7212c481204ba26f19c6266
--- /dev/null
+++ b/certgen/asncodec/CamRaBatchResponse.c
@@ -0,0 +1,185 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1CamRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1CamRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "CamRaBatchResponse.h"
+
+static int
+memb_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value == 2)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_version_constr_2 CC_NOTUSED = {
+ { 1, 1 } /* (2..2) */,
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static asn_TYPE_member_t asn_MBR_batch_4[] = {
+ { ATF_POINTER, 0, 0,
+ -1 /* Ambiguous tag (CHOICE?) */,
+ 0,
+ &asn_DEF_BlindedKey,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_batch_tags_4[] = {
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_batch_specs_4 = {
+ sizeof(struct CamRaBatchResponse__batch),
+ offsetof(struct CamRaBatchResponse__batch, _asn_ctx),
+ 2, /* XER encoding is XMLValueList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_batch_4 = {
+ "batch",
+ "batch",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_batch_tags_4,
+ sizeof(asn_DEF_batch_tags_4)
+ /sizeof(asn_DEF_batch_tags_4[0]) - 1, /* 1 */
+ asn_DEF_batch_tags_4, /* Same as above */
+ sizeof(asn_DEF_batch_tags_4)
+ /sizeof(asn_DEF_batch_tags_4[0]), /* 2 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_OF_constraint
+ },
+ asn_MBR_batch_4,
+ 1, /* Single element */
+ &asn_SPC_batch_specs_4 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_CamRaBatchResponse_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct CamRaBatchResponse, version),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_Uint8,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_version_constr_2,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_version_constraint_1
+ },
+ 0, 0, /* No default value */
+ "version"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CamRaBatchResponse, requestHash),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_HashedId8,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "requestHash"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CamRaBatchResponse, batch),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ 0,
+ &asn_DEF_batch_4,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "batch"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_CamRaBatchResponse_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_CamRaBatchResponse_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* version */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* requestHash */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* batch */
+};
+asn_SEQUENCE_specifics_t asn_SPC_CamRaBatchResponse_specs_1 = {
+ sizeof(struct CamRaBatchResponse),
+ offsetof(struct CamRaBatchResponse, _asn_ctx),
+ asn_MAP_CamRaBatchResponse_tag2el_1,
+ 3, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 3, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_CamRaBatchResponse = {
+ "CamRaBatchResponse",
+ "CamRaBatchResponse",
+ &asn_OP_SEQUENCE,
+ asn_DEF_CamRaBatchResponse_tags_1,
+ sizeof(asn_DEF_CamRaBatchResponse_tags_1)
+ /sizeof(asn_DEF_CamRaBatchResponse_tags_1[0]), /* 1 */
+ asn_DEF_CamRaBatchResponse_tags_1, /* Same as above */
+ sizeof(asn_DEF_CamRaBatchResponse_tags_1)
+ /sizeof(asn_DEF_CamRaBatchResponse_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
+ asn_MBR_CamRaBatchResponse_1,
+ 3, /* Elements count */
+ &asn_SPC_CamRaBatchResponse_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/CamRaBatchResponse.h b/certgen/asncodec/CamRaBatchResponse.h
new file mode 100644
index 0000000000000000000000000000000000000000..01421904df77cbfb7c5478a17624a5fb16adb3e3
--- /dev/null
+++ b/certgen/asncodec/CamRaBatchResponse.h
@@ -0,0 +1,60 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1CamRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1CamRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "Uint8.h"
+#include "HashedId8.h"
+#include
+#include
+#include
+#ifndef _CamRaBatchResponse_H_
+#define _CamRaBatchResponse_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct BlindedKey;
+
+/* CamRaBatchResponse */
+typedef struct CamRaBatchResponse {
+ Uint8_t version;
+ HashedId8_t requestHash;
+ struct CamRaBatchResponse__batch {
+ A_SEQUENCE_OF(struct BlindedKey) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } batch;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} CamRaBatchResponse_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CamRaBatchResponse;
+extern asn_SEQUENCE_specifics_t asn_SPC_CamRaBatchResponse_specs_1;
+extern asn_TYPE_member_t asn_MBR_CamRaBatchResponse_1[3];
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "BlindedKey.h"
+
+#endif /* _CamRaBatchResponse_H_ */
+#include
diff --git a/certgen/asncodec/CamRaInterfacePdu.c b/certgen/asncodec/CamRaInterfacePdu.c
new file mode 100644
index 0000000000000000000000000000000000000000..a601a1decd840a660d53a881321346a4a830b037
--- /dev/null
+++ b/certgen/asncodec/CamRaInterfacePdu.c
@@ -0,0 +1,86 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1CamRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1CamRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "CamRaInterfacePdu.h"
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_CamRaInterfacePdu_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static asn_TYPE_member_t asn_MBR_CamRaInterfacePdu_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct CamRaInterfacePdu, choice.raCamBatchRequest),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_RaCamBatchRequest,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "raCamBatchRequest"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CamRaInterfacePdu, choice.camRaBatchResponse),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CamRaBatchResponse,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "camRaBatchResponse"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_CamRaInterfacePdu_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* raCamBatchRequest */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* camRaBatchResponse */
+};
+static asn_CHOICE_specifics_t asn_SPC_CamRaInterfacePdu_specs_1 = {
+ sizeof(struct CamRaInterfacePdu),
+ offsetof(struct CamRaInterfacePdu, _asn_ctx),
+ offsetof(struct CamRaInterfacePdu, present),
+ sizeof(((struct CamRaInterfacePdu *)0)->present),
+ asn_MAP_CamRaInterfacePdu_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ 2 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_CamRaInterfacePdu = {
+ "CamRaInterfacePdu",
+ "CamRaInterfacePdu",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_CamRaInterfacePdu_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CHOICE_constraint
+ },
+ asn_MBR_CamRaInterfacePdu_1,
+ 2, /* Elements count */
+ &asn_SPC_CamRaInterfacePdu_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/CamRaInterfacePdu.h b/certgen/asncodec/CamRaInterfacePdu.h
new file mode 100644
index 0000000000000000000000000000000000000000..42c3d8044bb9b844fad14ab42dea32c83073c572
--- /dev/null
+++ b/certgen/asncodec/CamRaInterfacePdu.h
@@ -0,0 +1,56 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1CamRaInterface"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1CamRaInterface.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "RaCamBatchRequest.h"
+#include "CamRaBatchResponse.h"
+#include
+#ifndef _CamRaInterfacePdu_H_
+#define _CamRaInterfacePdu_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CamRaInterfacePdu_PR {
+ CamRaInterfacePdu_PR_NOTHING, /* No components present */
+ CamRaInterfacePdu_PR_raCamBatchRequest,
+ CamRaInterfacePdu_PR_camRaBatchResponse
+ /* Extensions may appear below */
+
+} CamRaInterfacePdu_PR;
+
+/* CamRaInterfacePdu */
+typedef struct CamRaInterfacePdu {
+ CamRaInterfacePdu_PR present;
+ union CamRaInterfacePdu_u {
+ RaCamBatchRequest_t raCamBatchRequest;
+ CamRaBatchResponse_t camRaBatchResponse;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} CamRaInterfacePdu_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CamRaInterfacePdu;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CamRaInterfacePdu_H_ */
+#include
diff --git a/certgen/asncodec/CamSsp.c b/certgen/asncodec/CamSsp.c
new file mode 100644
index 0000000000000000000000000000000000000000..a8c7a3599fef76a2f478b3119c04a347db01ae2f
--- /dev/null
+++ b/certgen/asncodec/CamSsp.c
@@ -0,0 +1,65 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "CamSsp.h"
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_CamSsp_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(1..MAX)) */};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+asn_TYPE_member_t asn_MBR_CamSsp_1[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)),
+ 0,
+ &asn_DEF_AcpcTreeId,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_CamSsp_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_SET_OF_specifics_t asn_SPC_CamSsp_specs_1 = {
+ sizeof(struct CamSsp),
+ offsetof(struct CamSsp, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+asn_TYPE_descriptor_t asn_DEF_CamSsp = {
+ "CamSsp",
+ "CamSsp",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_CamSsp_tags_1,
+ sizeof(asn_DEF_CamSsp_tags_1)
+ /sizeof(asn_DEF_CamSsp_tags_1[0]), /* 1 */
+ asn_DEF_CamSsp_tags_1, /* Same as above */
+ sizeof(asn_DEF_CamSsp_tags_1)
+ /sizeof(asn_DEF_CamSsp_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_CamSsp_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_OF_constraint
+ },
+ asn_MBR_CamSsp_1,
+ 1, /* Single element */
+ &asn_SPC_CamSsp_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/CamSsp.h b/certgen/asncodec/CamSsp.h
new file mode 100644
index 0000000000000000000000000000000000000000..611d76373dac3a0d3d15cbf008645f43f47a9170
--- /dev/null
+++ b/certgen/asncodec/CamSsp.h
@@ -0,0 +1,41 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "AcpcTreeId.h"
+#include
+#include
+#ifndef _CamSsp_H_
+#define _CamSsp_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* CamSsp */
+typedef struct CamSsp {
+ A_SEQUENCE_OF(AcpcTreeId_t) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} CamSsp_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CamSsp;
+extern asn_SET_OF_specifics_t asn_SPC_CamSsp_specs_1;
+extern asn_TYPE_member_t asn_MBR_CamSsp_1[1];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CamSsp_H_ */
+#include
diff --git a/certgen/asncodec/CertIssueExtension.c b/certgen/asncodec/CertIssueExtension.c
new file mode 100644
index 0000000000000000000000000000000000000000..e240c652c7c5314b1161a4e2a4622086b9745216
--- /dev/null
+++ b/certgen/asncodec/CertIssueExtension.c
@@ -0,0 +1,226 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "CertIssueExtension.h"
+
+static const long asn_VAL_2_certExtId_OperatingOrganization = 1;
+static const asn_ioc_cell_t asn_IOS_SetCertExtensions_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ExtId, &asn_VAL_2_certExtId_OperatingOrganization },
+ { "&App", aioc__type, &asn_DEF_OperatingOrganizationId },
+ { "&Issue", aioc__type, &asn_DEF_NULL },
+ { "&Req", aioc__type, &asn_DEF_NULL }
+};
+static const asn_ioc_set_t asn_IOS_SetCertExtensions_1[] = {
+ { 1, 4, asn_IOS_SetCertExtensions_1_rows }
+};
+static int
+memb_specific_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 255)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_specific_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_permissions_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_id_constr_2 CC_NOTUSED = {
+ { 1, 1 } /* (0..255) */,
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static asn_TYPE_member_t asn_MBR_permissions_3[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct CertIssueExtension__permissions, choice.specific),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ANY,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_specific_constr_4,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_specific_constraint_3
+ },
+ 0, 0, /* No default value */
+ "specific"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CertIssueExtension__permissions, choice.all),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NULL,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "all"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_permissions_tag2el_3[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* specific */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* all */
+};
+static asn_CHOICE_specifics_t asn_SPC_permissions_specs_3 = {
+ sizeof(struct CertIssueExtension__permissions),
+ offsetof(struct CertIssueExtension__permissions, _asn_ctx),
+ offsetof(struct CertIssueExtension__permissions, present),
+ sizeof(((struct CertIssueExtension__permissions *)0)->present),
+ asn_MAP_permissions_tag2el_3,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ -1 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_permissions_3 = {
+ "permissions",
+ "permissions",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_permissions_constr_3,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CHOICE_constraint
+ },
+ asn_MBR_permissions_3,
+ 2, /* Elements count */
+ &asn_SPC_permissions_specs_3 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_CertIssueExtension_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct CertIssueExtension, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ExtId,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_id_constr_2,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_id_constraint_1
+ },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CertIssueExtension, permissions),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_permissions_3,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "permissions"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_CertIssueExtension_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_CertIssueExtension_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* permissions */
+};
+asn_SEQUENCE_specifics_t asn_SPC_CertIssueExtension_specs_1 = {
+ sizeof(struct CertIssueExtension),
+ offsetof(struct CertIssueExtension, _asn_ctx),
+ asn_MAP_CertIssueExtension_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_CertIssueExtension = {
+ "CertIssueExtension",
+ "CertIssueExtension",
+ &asn_OP_SEQUENCE,
+ asn_DEF_CertIssueExtension_tags_1,
+ sizeof(asn_DEF_CertIssueExtension_tags_1)
+ /sizeof(asn_DEF_CertIssueExtension_tags_1[0]), /* 1 */
+ asn_DEF_CertIssueExtension_tags_1, /* Same as above */
+ sizeof(asn_DEF_CertIssueExtension_tags_1)
+ /sizeof(asn_DEF_CertIssueExtension_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
+ asn_MBR_CertIssueExtension_1,
+ 2, /* Elements count */
+ &asn_SPC_CertIssueExtension_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/CertIssueExtension.h b/certgen/asncodec/CertIssueExtension.h
new file mode 100644
index 0000000000000000000000000000000000000000..5a722c785e5d9d62c14fd9a483fdf69e165f196e
--- /dev/null
+++ b/certgen/asncodec/CertIssueExtension.h
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "ExtId.h"
+#include
+#include "OperatingOrganizationId.h"
+#include
+#include
+#include
+#include
+#ifndef _CertIssueExtension_H_
+#define _CertIssueExtension_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CertIssueExtension__permissions_PR {
+ CertIssueExtension__permissions_PR_NOTHING, /* No components present */
+ CertIssueExtension__permissions_PR_specific,
+ CertIssueExtension__permissions_PR_all
+} CertIssueExtension__permissions_PR;
+
+/* CertIssueExtension */
+typedef struct CertIssueExtension {
+ ExtId_t id;
+ struct CertIssueExtension__permissions {
+ CertIssueExtension__permissions_PR present;
+ union CertIssueExtension__permissions_u {
+ ANY_t specific;
+ NULL_t all;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } permissions;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} CertIssueExtension_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CertIssueExtension;
+extern asn_SEQUENCE_specifics_t asn_SPC_CertIssueExtension_specs_1;
+extern asn_TYPE_member_t asn_MBR_CertIssueExtension_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CertIssueExtension_H_ */
+#include
diff --git a/certgen/asncodec/CertManagementPdu.c b/certgen/asncodec/CertManagementPdu.c
new file mode 100644
index 0000000000000000000000000000000000000000..ac4cc5ff8e881b9580d619a6683541e277e59b78
--- /dev/null
+++ b/certgen/asncodec/CertManagementPdu.c
@@ -0,0 +1,140 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1CertManagement"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1CertManagement.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "CertManagementPdu.h"
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_CertManagementPdu_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+asn_TYPE_member_t asn_MBR_CertManagementPdu_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct CertManagementPdu, choice.compositeCrl),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CompositeCrl,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "compositeCrl"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CertManagementPdu, choice.certificateChain),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CertificateChain,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "certificateChain"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CertManagementPdu, choice.multiSignedCtl),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MultiSignedCtl,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "multiSignedCtl"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CertManagementPdu, choice.tbsCtlSignature),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ToBeSignedCtlSignature,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "tbsCtlSignature"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CertManagementPdu, choice.infoStatus),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_CertificateManagementInfoStatus,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "infoStatus"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_CertManagementPdu_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* compositeCrl */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* certificateChain */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* multiSignedCtl */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* tbsCtlSignature */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* infoStatus */
+};
+asn_CHOICE_specifics_t asn_SPC_CertManagementPdu_specs_1 = {
+ sizeof(struct CertManagementPdu),
+ offsetof(struct CertManagementPdu, _asn_ctx),
+ offsetof(struct CertManagementPdu, present),
+ sizeof(((struct CertManagementPdu *)0)->present),
+ asn_MAP_CertManagementPdu_tag2el_1,
+ 5, /* Count of tags in the map */
+ 0, 0,
+ 5 /* Extensions start */
+};
+asn_TYPE_descriptor_t asn_DEF_CertManagementPdu = {
+ "CertManagementPdu",
+ "CertManagementPdu",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_CertManagementPdu_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CHOICE_constraint
+ },
+ asn_MBR_CertManagementPdu_1,
+ 5, /* Elements count */
+ &asn_SPC_CertManagementPdu_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/CertManagementPdu.h b/certgen/asncodec/CertManagementPdu.h
new file mode 100644
index 0000000000000000000000000000000000000000..498321726538d97f27db1067a0566b11de9f4ed3
--- /dev/null
+++ b/certgen/asncodec/CertManagementPdu.h
@@ -0,0 +1,67 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1CertManagement"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1CertManagement.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "CompositeCrl.h"
+#include "CertificateChain.h"
+#include "MultiSignedCtl.h"
+#include "ToBeSignedCtlSignature.h"
+#include "CertificateManagementInfoStatus.h"
+#include
+#ifndef _CertManagementPdu_H_
+#define _CertManagementPdu_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CertManagementPdu_PR {
+ CertManagementPdu_PR_NOTHING, /* No components present */
+ CertManagementPdu_PR_compositeCrl,
+ CertManagementPdu_PR_certificateChain,
+ CertManagementPdu_PR_multiSignedCtl,
+ CertManagementPdu_PR_tbsCtlSignature,
+ CertManagementPdu_PR_infoStatus
+ /* Extensions may appear below */
+
+} CertManagementPdu_PR;
+
+/* CertManagementPdu */
+typedef struct CertManagementPdu {
+ CertManagementPdu_PR present;
+ union CertManagementPdu_u {
+ CompositeCrl_t compositeCrl;
+ CertificateChain_t certificateChain;
+ MultiSignedCtl_t multiSignedCtl;
+ ToBeSignedCtlSignature_t tbsCtlSignature;
+ CertificateManagementInfoStatus_t infoStatus;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} CertManagementPdu_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CertManagementPdu;
+extern asn_CHOICE_specifics_t asn_SPC_CertManagementPdu_specs_1;
+extern asn_TYPE_member_t asn_MBR_CertManagementPdu_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CertManagementPdu_H_ */
+#include
diff --git a/certgen/asncodec/CertRequestExtension.c b/certgen/asncodec/CertRequestExtension.c
new file mode 100644
index 0000000000000000000000000000000000000000..e8887c27f1c42ac07b013c3a29498ff0475c708b
--- /dev/null
+++ b/certgen/asncodec/CertRequestExtension.c
@@ -0,0 +1,226 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "CertRequestExtension.h"
+
+static const long asn_VAL_2_certExtId_OperatingOrganization = 1;
+static const asn_ioc_cell_t asn_IOS_SetCertExtensions_1_rows[] = {
+ { "&id", aioc__value, &asn_DEF_ExtId, &asn_VAL_2_certExtId_OperatingOrganization },
+ { "&App", aioc__type, &asn_DEF_OperatingOrganizationId },
+ { "&Issue", aioc__type, &asn_DEF_NULL },
+ { "&Req", aioc__type, &asn_DEF_NULL }
+};
+static const asn_ioc_set_t asn_IOS_SetCertExtensions_1[] = {
+ { 1, 4, asn_IOS_SetCertExtensions_1_rows }
+};
+static int
+memb_content_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+static int
+memb_id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ long value;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ value = *(const long *)sptr;
+
+ if((value >= 0 && value <= 255)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_content_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_permissions_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_id_constr_2 CC_NOTUSED = {
+ { 1, 1 } /* (0..255) */,
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static asn_TYPE_member_t asn_MBR_permissions_3[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct CertRequestExtension__permissions, choice.content),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_ANY,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_content_constr_4,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_content_constraint_3
+ },
+ 0, 0, /* No default value */
+ "content"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CertRequestExtension__permissions, choice.all),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_NULL,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "all"
+ },
+};
+static const asn_TYPE_tag2member_t asn_MAP_permissions_tag2el_3[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* content */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* all */
+};
+static asn_CHOICE_specifics_t asn_SPC_permissions_specs_3 = {
+ sizeof(struct CertRequestExtension__permissions),
+ offsetof(struct CertRequestExtension__permissions, _asn_ctx),
+ offsetof(struct CertRequestExtension__permissions, present),
+ sizeof(((struct CertRequestExtension__permissions *)0)->present),
+ asn_MAP_permissions_tag2el_3,
+ 2, /* Count of tags in the map */
+ 0, 0,
+ -1 /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_permissions_3 = {
+ "permissions",
+ "permissions",
+ &asn_OP_CHOICE,
+ 0, /* No effective tags (pointer) */
+ 0, /* No effective tags (count) */
+ 0, /* No tags (pointer) */
+ 0, /* No tags (count) */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_permissions_constr_3,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CHOICE_constraint
+ },
+ asn_MBR_permissions_3,
+ 2, /* Elements count */
+ &asn_SPC_permissions_specs_3 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_CertRequestExtension_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct CertRequestExtension, id),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ExtId,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_id_constr_2,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_id_constraint_1
+ },
+ 0, 0, /* No default value */
+ "id"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CertRequestExtension, permissions),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ +1, /* EXPLICIT tag at current level */
+ &asn_DEF_permissions_3,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "permissions"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_CertRequestExtension_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_CertRequestExtension_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* permissions */
+};
+asn_SEQUENCE_specifics_t asn_SPC_CertRequestExtension_specs_1 = {
+ sizeof(struct CertRequestExtension),
+ offsetof(struct CertRequestExtension, _asn_ctx),
+ asn_MAP_CertRequestExtension_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ -1, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_CertRequestExtension = {
+ "CertRequestExtension",
+ "CertRequestExtension",
+ &asn_OP_SEQUENCE,
+ asn_DEF_CertRequestExtension_tags_1,
+ sizeof(asn_DEF_CertRequestExtension_tags_1)
+ /sizeof(asn_DEF_CertRequestExtension_tags_1[0]), /* 1 */
+ asn_DEF_CertRequestExtension_tags_1, /* Same as above */
+ sizeof(asn_DEF_CertRequestExtension_tags_1)
+ /sizeof(asn_DEF_CertRequestExtension_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
+ asn_MBR_CertRequestExtension_1,
+ 2, /* Elements count */
+ &asn_SPC_CertRequestExtension_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/CertRequestExtension.h b/certgen/asncodec/CertRequestExtension.h
new file mode 100644
index 0000000000000000000000000000000000000000..321d5dbd3fbe8e391ef1240532c17dc72900b98f
--- /dev/null
+++ b/certgen/asncodec/CertRequestExtension.h
@@ -0,0 +1,62 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "ExtId.h"
+#include
+#include "OperatingOrganizationId.h"
+#include
+#include
+#include
+#include
+#ifndef _CertRequestExtension_H_
+#define _CertRequestExtension_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum CertRequestExtension__permissions_PR {
+ CertRequestExtension__permissions_PR_NOTHING, /* No components present */
+ CertRequestExtension__permissions_PR_content,
+ CertRequestExtension__permissions_PR_all
+} CertRequestExtension__permissions_PR;
+
+/* CertRequestExtension */
+typedef struct CertRequestExtension {
+ ExtId_t id;
+ struct CertRequestExtension__permissions {
+ CertRequestExtension__permissions_PR present;
+ union CertRequestExtension__permissions_u {
+ ANY_t content;
+ NULL_t all;
+ } choice;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } permissions;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} CertRequestExtension_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CertRequestExtension;
+extern asn_SEQUENCE_specifics_t asn_SPC_CertRequestExtension_specs_1;
+extern asn_TYPE_member_t asn_MBR_CertRequestExtension_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CertRequestExtension_H_ */
+#include
diff --git a/certgen/asncodec/Certificate.c b/certgen/asncodec/Certificate.c
index 6da4c98c7a91e8464b74fddf40c3fa3a894d25e9..ffc208faac72fa1e722e153cc12a76338e693d4c 100644
--- a/certgen/asncodec/Certificate.c
+++ b/certgen/asncodec/Certificate.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "Certificate.h"
@@ -30,9 +30,11 @@ Certificate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using CertificateBase,
* so here we adjust the DEF accordingly.
*/
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_Certificate_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_Certificate_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
@@ -46,7 +48,15 @@ asn_TYPE_descriptor_t asn_DEF_Certificate = {
asn_DEF_Certificate_tags_1, /* Same as above */
sizeof(asn_DEF_Certificate_tags_1)
/sizeof(asn_DEF_Certificate_tags_1[0]), /* 1 */
- { &asn_OER_type_Certificate_constr_1, 0, Certificate_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_Certificate_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ Certificate_constraint
+ },
asn_MBR_CertificateBase_1,
5, /* Elements count */
&asn_SPC_CertificateBase_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/Certificate.h b/certgen/asncodec/Certificate.h
index b89a1633ae3d528efc58482eac9ce9ade21a25f9..3416ab6f5b23014c03ff4f974ab7c45e81b73723 100644
--- a/certgen/asncodec/Certificate.h
+++ b/certgen/asncodec/Certificate.h
@@ -1,19 +1,19 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include "CertificateBase.h"
#ifndef _Certificate_H_
#define _Certificate_H_
#include
-/* Including external dependencies */
-#include "CertificateBase.h"
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -26,8 +26,6 @@ extern asn_TYPE_descriptor_t asn_DEF_Certificate;
asn_struct_free_f Certificate_free;
asn_struct_print_f Certificate_print;
asn_constr_check_f Certificate_constraint;
-ber_type_decoder_f Certificate_decode_ber;
-der_type_encoder_f Certificate_encode_der;
xer_type_decoder_f Certificate_decode_xer;
xer_type_encoder_f Certificate_encode_xer;
oer_type_decoder_f Certificate_decode_oer;
diff --git a/certgen/asncodec/CertificateBase.c b/certgen/asncodec/CertificateBase.c
index 5a4a4ac2d8f9c573ba9971be86c438a5df013bad..7f8297372953fcaa1ef3b2f479ebd80212825223 100644
--- a/certgen/asncodec/CertificateBase.c
+++ b/certgen/asncodec/CertificateBase.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "CertificateBase.h"
@@ -32,16 +32,26 @@ memb_version_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
}
}
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_version_constr_2 CC_NOTUSED = {
{ 1, 1 } /* (3..3) */,
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
asn_TYPE_member_t asn_MBR_CertificateBase_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct CertificateBase, version),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_Uint8,
0,
- { &asn_OER_memb_version_constr_2, 0, memb_version_constraint_1 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_version_constr_2,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_version_constraint_1
+ },
0, 0, /* No default value */
"version"
},
@@ -50,7 +60,15 @@ asn_TYPE_member_t asn_MBR_CertificateBase_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_CertificateType,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"type"
},
@@ -59,7 +77,15 @@ asn_TYPE_member_t asn_MBR_CertificateBase_1[] = {
+1, /* EXPLICIT tag at current level */
&asn_DEF_IssuerIdentifier,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"issuer"
},
@@ -68,7 +94,15 @@ asn_TYPE_member_t asn_MBR_CertificateBase_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_ToBeSignedCertificate,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"toBeSigned"
},
@@ -77,7 +111,15 @@ asn_TYPE_member_t asn_MBR_CertificateBase_1[] = {
+1, /* EXPLICIT tag at current level */
&asn_DEF_Signature,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"signature"
},
@@ -112,7 +154,15 @@ asn_TYPE_descriptor_t asn_DEF_CertificateBase = {
asn_DEF_CertificateBase_tags_1, /* Same as above */
sizeof(asn_DEF_CertificateBase_tags_1)
/sizeof(asn_DEF_CertificateBase_tags_1[0]), /* 1 */
- { 0, 0, SEQUENCE_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
asn_MBR_CertificateBase_1,
5, /* Elements count */
&asn_SPC_CertificateBase_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/CertificateBase.h b/certgen/asncodec/CertificateBase.h
index 7c0aa8b52fbde983421e433384d4fc7ab5053cc9..3cd19316232bdc9b717719e7fa6c401d54531cc3 100644
--- a/certgen/asncodec/CertificateBase.h
+++ b/certgen/asncodec/CertificateBase.h
@@ -1,15 +1,10 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
-#ifndef _CertificateBase_H_
-#define _CertificateBase_H_
-
-
-#include
/* Including external dependencies */
#include "Uint8.h"
@@ -17,6 +12,11 @@
#include "IssuerIdentifier.h"
#include "ToBeSignedCertificate.h"
#include
+#ifndef _CertificateBase_H_
+#define _CertificateBase_H_
+
+
+#include
#ifdef __cplusplus
extern "C" {
@@ -31,7 +31,7 @@ typedef struct CertificateBase {
CertificateType_t type;
IssuerIdentifier_t issuer;
ToBeSignedCertificate_t toBeSigned;
- struct Signature *signature /* OPTIONAL */;
+ struct Signature *signature; /* OPTIONAL */
/* Context for parsing across buffer boundaries */
asn_struct_ctx_t _asn_ctx;
diff --git a/certgen/asncodec/CertificateChain.c b/certgen/asncodec/CertificateChain.c
new file mode 100644
index 0000000000000000000000000000000000000000..b21bc826f5dea57ea2874b85b358b500568d7eee
--- /dev/null
+++ b/certgen/asncodec/CertificateChain.c
@@ -0,0 +1,166 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1CertManagement"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1CertManagement.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "CertificateChain.h"
+
+static int
+memb_others_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_others_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..MAX)) */};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_memb_others_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..MAX)) */};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static asn_TYPE_member_t asn_MBR_others_3[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_Certificate,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_others_tags_3[] = {
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_others_specs_3 = {
+ sizeof(struct CertificateChain__others),
+ offsetof(struct CertificateChain__others, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_others_3 = {
+ "others",
+ "others",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_others_tags_3,
+ sizeof(asn_DEF_others_tags_3)
+ /sizeof(asn_DEF_others_tags_3[0]) - 1, /* 1 */
+ asn_DEF_others_tags_3, /* Same as above */
+ sizeof(asn_DEF_others_tags_3)
+ /sizeof(asn_DEF_others_tags_3[0]), /* 2 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_others_constr_3,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_OF_constraint
+ },
+ asn_MBR_others_3,
+ 1, /* Single element */
+ &asn_SPC_others_specs_3 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_CertificateChain_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct CertificateChain, homeCtl),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_MultiSignedCtlSpdu,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "homeCtl"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CertificateChain, others),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ 0,
+ &asn_DEF_others_3,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_others_constr_3,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_others_constraint_1
+ },
+ 0, 0, /* No default value */
+ "others"
+ },
+};
+static const ber_tlv_tag_t asn_DEF_CertificateChain_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_CertificateChain_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* homeCtl */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* others */
+};
+asn_SEQUENCE_specifics_t asn_SPC_CertificateChain_specs_1 = {
+ sizeof(struct CertificateChain),
+ offsetof(struct CertificateChain, _asn_ctx),
+ asn_MAP_CertificateChain_tag2el_1,
+ 2, /* Count of tags in the map */
+ 0, 0, 0, /* Optional elements (not needed) */
+ 2, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_CertificateChain = {
+ "CertificateChain",
+ "CertificateChain",
+ &asn_OP_SEQUENCE,
+ asn_DEF_CertificateChain_tags_1,
+ sizeof(asn_DEF_CertificateChain_tags_1)
+ /sizeof(asn_DEF_CertificateChain_tags_1[0]), /* 1 */
+ asn_DEF_CertificateChain_tags_1, /* Same as above */
+ sizeof(asn_DEF_CertificateChain_tags_1)
+ /sizeof(asn_DEF_CertificateChain_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
+ asn_MBR_CertificateChain_1,
+ 2, /* Elements count */
+ &asn_SPC_CertificateChain_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/CertificateChain.h b/certgen/asncodec/CertificateChain.h
new file mode 100644
index 0000000000000000000000000000000000000000..c57e9411fd004e784f49a4db8b72a01f8d798dfc
--- /dev/null
+++ b/certgen/asncodec/CertificateChain.h
@@ -0,0 +1,58 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1CertManagement"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1CertManagement.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "MultiSignedCtlSpdu.h"
+#include
+#include
+#include
+#ifndef _CertificateChain_H_
+#define _CertificateChain_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct Certificate;
+
+/* CertificateChain */
+typedef struct CertificateChain {
+ MultiSignedCtlSpdu_t homeCtl;
+ struct CertificateChain__others {
+ A_SEQUENCE_OF(struct Certificate) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } others;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} CertificateChain_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CertificateChain;
+extern asn_SEQUENCE_specifics_t asn_SPC_CertificateChain_specs_1;
+extern asn_TYPE_member_t asn_MBR_CertificateChain_1[2];
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "Certificate.h"
+
+#endif /* _CertificateChain_H_ */
+#include
diff --git a/certgen/asncodec/CertificateChainSpdu.c b/certgen/asncodec/CertificateChainSpdu.c
new file mode 100644
index 0000000000000000000000000000000000000000..74731f973abf8fe9afdaadc178dd23b2c55b79bf
--- /dev/null
+++ b/certgen/asncodec/CertificateChainSpdu.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "CertificateChainSpdu.h"
+
+int
+CertificateChainSpdu_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using Ieee1609Dot2Data_Unsecured_216P0,
+ * so here we adjust the DEF accordingly.
+ */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_CertificateChainSpdu_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static const ber_tlv_tag_t asn_DEF_CertificateChainSpdu_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_CertificateChainSpdu = {
+ "CertificateChainSpdu",
+ "CertificateChainSpdu",
+ &asn_OP_SEQUENCE,
+ asn_DEF_CertificateChainSpdu_tags_1,
+ sizeof(asn_DEF_CertificateChainSpdu_tags_1)
+ /sizeof(asn_DEF_CertificateChainSpdu_tags_1[0]), /* 1 */
+ asn_DEF_CertificateChainSpdu_tags_1, /* Same as above */
+ sizeof(asn_DEF_CertificateChainSpdu_tags_1)
+ /sizeof(asn_DEF_CertificateChainSpdu_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_CertificateChainSpdu_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CertificateChainSpdu_constraint
+ },
+ asn_MBR_Ieee1609Dot2Data_1,
+ 2, /* Elements count */
+ &asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/CertificateChainSpdu.h b/certgen/asncodec/CertificateChainSpdu.h
new file mode 100644
index 0000000000000000000000000000000000000000..b42bca3695db4e4eb815d9531e9c7483e7431155
--- /dev/null
+++ b/certgen/asncodec/CertificateChainSpdu.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "Ieee1609Dot2Data-Unsecured.h"
+#ifndef _CertificateChainSpdu_H_
+#define _CertificateChainSpdu_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* CertificateChainSpdu */
+typedef Ieee1609Dot2Data_Unsecured_216P0_t CertificateChainSpdu_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CertificateChainSpdu;
+asn_struct_free_f CertificateChainSpdu_free;
+asn_struct_print_f CertificateChainSpdu_print;
+asn_constr_check_f CertificateChainSpdu_constraint;
+xer_type_decoder_f CertificateChainSpdu_decode_xer;
+xer_type_encoder_f CertificateChainSpdu_encode_xer;
+oer_type_decoder_f CertificateChainSpdu_decode_oer;
+oer_type_encoder_f CertificateChainSpdu_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CertificateChainSpdu_H_ */
+#include
diff --git a/certgen/asncodec/CertificateFormat.c b/certgen/asncodec/CertificateFormat.c
index 48c82a4bd535708e04552eb6774225bddf2770e1..f76fbffb50bb8402ceb6d3c900ac5d5025d9f5d9 100644
--- a/certgen/asncodec/CertificateFormat.c
+++ b/certgen/asncodec/CertificateFormat.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941BaseTypes"
- * found in "../asn1/EtsiTs102941/EtsiTs102941BaseTypes.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941BaseTypes.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "CertificateFormat.h"
@@ -36,9 +36,11 @@ CertificateFormat_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
* This type is implemented using NativeInteger,
* so here we adjust the DEF accordingly.
*/
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_CertificateFormat_constr_1 CC_NOTUSED = {
{ 1, 1 } /* (1..255) */,
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_CertificateFormat_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
};
@@ -52,7 +54,15 @@ asn_TYPE_descriptor_t asn_DEF_CertificateFormat = {
asn_DEF_CertificateFormat_tags_1, /* Same as above */
sizeof(asn_DEF_CertificateFormat_tags_1)
/sizeof(asn_DEF_CertificateFormat_tags_1[0]), /* 1 */
- { &asn_OER_type_CertificateFormat_constr_1, 0, CertificateFormat_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_CertificateFormat_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CertificateFormat_constraint
+ },
0, 0, /* Defined elsewhere */
0 /* No specifics */
};
diff --git a/certgen/asncodec/CertificateFormat.h b/certgen/asncodec/CertificateFormat.h
index 011c56fb4e1f052974be3a00e1545754f7cda7e5..0660fd75393d2ced4654065f256883e96c6dab18 100644
--- a/certgen/asncodec/CertificateFormat.h
+++ b/certgen/asncodec/CertificateFormat.h
@@ -1,19 +1,19 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941BaseTypes"
- * found in "../asn1/EtsiTs102941/EtsiTs102941BaseTypes.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941BaseTypes.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include
#ifndef _CertificateFormat_H_
#define _CertificateFormat_H_
#include
-/* Including external dependencies */
-#include
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -31,8 +31,6 @@ extern asn_TYPE_descriptor_t asn_DEF_CertificateFormat;
asn_struct_free_f CertificateFormat_free;
asn_struct_print_f CertificateFormat_print;
asn_constr_check_f CertificateFormat_constraint;
-ber_type_decoder_f CertificateFormat_decode_ber;
-der_type_encoder_f CertificateFormat_encode_der;
xer_type_decoder_f CertificateFormat_decode_xer;
xer_type_encoder_f CertificateFormat_encode_xer;
oer_type_decoder_f CertificateFormat_decode_oer;
diff --git a/certgen/asncodec/CertificateId.c b/certgen/asncodec/CertificateId.c
index cbf99630b64005364637bb9f8e2a0e43d3e897b6..bcfaf26436bbd040376d8bdaf13c33704978c87d 100644
--- a/certgen/asncodec/CertificateId.c
+++ b/certgen/asncodec/CertificateId.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "CertificateId.h"
@@ -33,19 +33,31 @@ memb_binaryId_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
}
}
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_memb_binaryId_constr_4 CC_NOTUSED = {
{ 0, 0 },
-1 /* (SIZE(1..64)) */};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_CertificateId_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
asn_TYPE_member_t asn_MBR_CertificateId_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct CertificateId, choice.linkageData),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_LinkageData,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"linkageData"
},
@@ -54,7 +66,15 @@ asn_TYPE_member_t asn_MBR_CertificateId_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_Hostname,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"name"
},
@@ -63,7 +83,15 @@ asn_TYPE_member_t asn_MBR_CertificateId_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_OCTET_STRING,
0,
- { &asn_OER_memb_binaryId_constr_4, 0, memb_binaryId_constraint_1 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_memb_binaryId_constr_4,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ memb_binaryId_constraint_1
+ },
0, 0, /* No default value */
"binaryId"
},
@@ -72,7 +100,15 @@ asn_TYPE_member_t asn_MBR_CertificateId_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_NULL,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"none"
},
@@ -101,7 +137,15 @@ asn_TYPE_descriptor_t asn_DEF_CertificateId = {
0, /* No effective tags (count) */
0, /* No tags (pointer) */
0, /* No tags (count) */
- { &asn_OER_type_CertificateId_constr_1, 0, CHOICE_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_CertificateId_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CHOICE_constraint
+ },
asn_MBR_CertificateId_1,
4, /* Elements count */
&asn_SPC_CertificateId_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/CertificateId.h b/certgen/asncodec/CertificateId.h
index 141f2361a6d7c585a8380f75c5f0c098c1cce9f3..685d9d3c8117864b597be01f37fac495a9f4df05 100644
--- a/certgen/asncodec/CertificateId.h
+++ b/certgen/asncodec/CertificateId.h
@@ -1,15 +1,10 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
-#ifndef _CertificateId_H_
-#define _CertificateId_H_
-
-
-#include
/* Including external dependencies */
#include "LinkageData.h"
@@ -17,6 +12,11 @@
#include
#include
#include
+#ifndef _CertificateId_H_
+#define _CertificateId_H_
+
+
+#include
#ifdef __cplusplus
extern "C" {
diff --git a/certgen/asncodec/CertificateManagementInfoStatus.c b/certgen/asncodec/CertificateManagementInfoStatus.c
new file mode 100644
index 0000000000000000000000000000000000000000..ffa40d267e6e5da59161b2d5d64156fe4497337d
--- /dev/null
+++ b/certgen/asncodec/CertificateManagementInfoStatus.c
@@ -0,0 +1,140 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1CertManagement"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1CertManagement.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "CertificateManagementInfoStatus.h"
+
+asn_TYPE_member_t asn_MBR_CertificateManagementInfoStatus_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct CertificateManagementInfoStatus, crl),
+ (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_SequenceOfCrlInfoStatus,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "crl"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CertificateManagementInfoStatus, ctl),
+ (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_SequenceOfCtlInfoStatus,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "ctl"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CertificateManagementInfoStatus, caCcf),
+ (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_Time32,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "caCcf"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct CertificateManagementInfoStatus, ma),
+ (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_SequenceOfMaInfoStatus,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "ma"
+ },
+ { ATF_POINTER, 1, offsetof(struct CertificateManagementInfoStatus, ra),
+ (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_Time32,
+ 0,
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
+ 0, 0, /* No default value */
+ "ra"
+ },
+};
+static const int asn_MAP_CertificateManagementInfoStatus_oms_1[] = { 4 };
+static const ber_tlv_tag_t asn_DEF_CertificateManagementInfoStatus_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_CertificateManagementInfoStatus_tag2el_1[] = {
+ { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* crl */
+ { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ctl */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* caCcf */
+ { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ma */
+ { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* ra */
+};
+asn_SEQUENCE_specifics_t asn_SPC_CertificateManagementInfoStatus_specs_1 = {
+ sizeof(struct CertificateManagementInfoStatus),
+ offsetof(struct CertificateManagementInfoStatus, _asn_ctx),
+ asn_MAP_CertificateManagementInfoStatus_tag2el_1,
+ 5, /* Count of tags in the map */
+ asn_MAP_CertificateManagementInfoStatus_oms_1, /* Optional members */
+ 1, 0, /* Root/Additions */
+ 5, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_CertificateManagementInfoStatus = {
+ "CertificateManagementInfoStatus",
+ "CertificateManagementInfoStatus",
+ &asn_OP_SEQUENCE,
+ asn_DEF_CertificateManagementInfoStatus_tags_1,
+ sizeof(asn_DEF_CertificateManagementInfoStatus_tags_1)
+ /sizeof(asn_DEF_CertificateManagementInfoStatus_tags_1[0]), /* 1 */
+ asn_DEF_CertificateManagementInfoStatus_tags_1, /* Same as above */
+ sizeof(asn_DEF_CertificateManagementInfoStatus_tags_1)
+ /sizeof(asn_DEF_CertificateManagementInfoStatus_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
+ asn_MBR_CertificateManagementInfoStatus_1,
+ 5, /* Elements count */
+ &asn_SPC_CertificateManagementInfoStatus_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/CertificateManagementInfoStatus.h b/certgen/asncodec/CertificateManagementInfoStatus.h
new file mode 100644
index 0000000000000000000000000000000000000000..25a75316c075de1ead9c27b539dbaa0d6dec5b91
--- /dev/null
+++ b/certgen/asncodec/CertificateManagementInfoStatus.h
@@ -0,0 +1,51 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1CertManagement"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1CertManagement.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "SequenceOfCrlInfoStatus.h"
+#include "SequenceOfCtlInfoStatus.h"
+#include "Time32.h"
+#include "SequenceOfMaInfoStatus.h"
+#include
+#ifndef _CertificateManagementInfoStatus_H_
+#define _CertificateManagementInfoStatus_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* CertificateManagementInfoStatus */
+typedef struct CertificateManagementInfoStatus {
+ SequenceOfCrlInfoStatus_t crl;
+ SequenceOfCtlInfoStatus_t ctl;
+ Time32_t caCcf;
+ SequenceOfMaInfoStatus_t ma;
+ Time32_t *ra; /* OPTIONAL */
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} CertificateManagementInfoStatus_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CertificateManagementInfoStatus;
+extern asn_SEQUENCE_specifics_t asn_SPC_CertificateManagementInfoStatus_specs_1;
+extern asn_TYPE_member_t asn_MBR_CertificateManagementInfoStatus_1[5];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CertificateManagementInfoStatus_H_ */
+#include
diff --git a/certgen/asncodec/CertificateManagementInformationStatusSpdu.c b/certgen/asncodec/CertificateManagementInformationStatusSpdu.c
new file mode 100644
index 0000000000000000000000000000000000000000..2c3aaa2aef3e69778b3c0fad40374db71b675ab0
--- /dev/null
+++ b/certgen/asncodec/CertificateManagementInformationStatusSpdu.c
@@ -0,0 +1,64 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+#include "CertificateManagementInformationStatusSpdu.h"
+
+int
+CertificateManagementInformationStatusSpdu_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+
+ if(1 /* No applicable constraints whatsoever */) {
+ /* Nothing is here. See below */
+ }
+
+ return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
+}
+
+/*
+ * This type is implemented using Ieee1609Dot2Data_Signed_228P2,
+ * so here we adjust the DEF accordingly.
+ */
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+static asn_oer_constraints_t asn_OER_type_CertificateManagementInformationStatusSpdu_constr_1 CC_NOTUSED = {
+ { 0, 0 },
+ -1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+static const ber_tlv_tag_t asn_DEF_CertificateManagementInformationStatusSpdu_tags_1[] = {
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+asn_TYPE_descriptor_t asn_DEF_CertificateManagementInformationStatusSpdu = {
+ "CertificateManagementInformationStatusSpdu",
+ "CertificateManagementInformationStatusSpdu",
+ &asn_OP_SEQUENCE,
+ asn_DEF_CertificateManagementInformationStatusSpdu_tags_1,
+ sizeof(asn_DEF_CertificateManagementInformationStatusSpdu_tags_1)
+ /sizeof(asn_DEF_CertificateManagementInformationStatusSpdu_tags_1[0]), /* 1 */
+ asn_DEF_CertificateManagementInformationStatusSpdu_tags_1, /* Same as above */
+ sizeof(asn_DEF_CertificateManagementInformationStatusSpdu_tags_1)
+ /sizeof(asn_DEF_CertificateManagementInformationStatusSpdu_tags_1[0]), /* 1 */
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_CertificateManagementInformationStatusSpdu_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CertificateManagementInformationStatusSpdu_constraint
+ },
+ asn_MBR_Ieee1609Dot2Data_1,
+ 2, /* Elements count */
+ &asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
+};
+
diff --git a/certgen/asncodec/CertificateManagementInformationStatusSpdu.h b/certgen/asncodec/CertificateManagementInformationStatusSpdu.h
new file mode 100644
index 0000000000000000000000000000000000000000..6081b5f0fe724076b9bb85d6ee0043c0ed0796a2
--- /dev/null
+++ b/certgen/asncodec/CertificateManagementInformationStatusSpdu.h
@@ -0,0 +1,39 @@
+/*
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2Dot1Protocol"
+ * found in "asn1/ieee1609.2.1/Ieee1609Dot2Dot1Protocol.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
+ */
+
+
+/* Including external dependencies */
+#include "Ieee1609Dot2Data-Signed.h"
+#ifndef _CertificateManagementInformationStatusSpdu_H_
+#define _CertificateManagementInformationStatusSpdu_H_
+
+
+#include
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* CertificateManagementInformationStatusSpdu */
+typedef Ieee1609Dot2Data_Signed_228P2_t CertificateManagementInformationStatusSpdu_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_CertificateManagementInformationStatusSpdu;
+asn_struct_free_f CertificateManagementInformationStatusSpdu_free;
+asn_struct_print_f CertificateManagementInformationStatusSpdu_print;
+asn_constr_check_f CertificateManagementInformationStatusSpdu_constraint;
+xer_type_decoder_f CertificateManagementInformationStatusSpdu_decode_xer;
+xer_type_encoder_f CertificateManagementInformationStatusSpdu_encode_xer;
+oer_type_decoder_f CertificateManagementInformationStatusSpdu_decode_oer;
+oer_type_encoder_f CertificateManagementInformationStatusSpdu_encode_oer;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _CertificateManagementInformationStatusSpdu_H_ */
+#include
diff --git a/certgen/asncodec/CertificateRevocationListMessage.c b/certgen/asncodec/CertificateRevocationListMessage.c
index 77cb6435d0ac25108192bee6c2e54630f2639522..b84234ee0c5d7b5511b457472bc3652e1b45412d 100644
--- a/certgen/asncodec/CertificateRevocationListMessage.c
+++ b/certgen/asncodec/CertificateRevocationListMessage.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "CertificateRevocationListMessage.h"
@@ -27,12 +27,14 @@ CertificateRevocationListMessage_constraint(const asn_TYPE_descriptor_t *td, con
}
/*
- * This type is implemented using EtsiTs103097Data_Signed_60P0,
+ * This type is implemented using EtsiTs103097Data_Signed_63P0,
* so here we adjust the DEF accordingly.
*/
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_CertificateRevocationListMessage_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
static const ber_tlv_tag_t asn_DEF_CertificateRevocationListMessage_tags_1[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
@@ -46,7 +48,15 @@ asn_TYPE_descriptor_t asn_DEF_CertificateRevocationListMessage = {
asn_DEF_CertificateRevocationListMessage_tags_1, /* Same as above */
sizeof(asn_DEF_CertificateRevocationListMessage_tags_1)
/sizeof(asn_DEF_CertificateRevocationListMessage_tags_1[0]), /* 1 */
- { &asn_OER_type_CertificateRevocationListMessage_constr_1, 0, CertificateRevocationListMessage_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_CertificateRevocationListMessage_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ CertificateRevocationListMessage_constraint
+ },
asn_MBR_Ieee1609Dot2Data_1,
2, /* Elements count */
&asn_SPC_Ieee1609Dot2Data_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/CertificateRevocationListMessage.h b/certgen/asncodec/CertificateRevocationListMessage.h
index 683fcb89b182ed9c6d043de5e46afb78b2be8181..29a37fd56c6ba3039d2554f7e0bb24a992bc83c2 100644
--- a/certgen/asncodec/CertificateRevocationListMessage.h
+++ b/certgen/asncodec/CertificateRevocationListMessage.h
@@ -1,33 +1,31 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941MessagesCa"
- * found in "../asn1/EtsiTs102941/EtsiTs102941MessagesCA.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941MessagesCA.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include "EtsiTs103097Data-Signed.h"
#ifndef _CertificateRevocationListMessage_H_
#define _CertificateRevocationListMessage_H_
#include
-/* Including external dependencies */
-#include "EtsiTs103097Data-Signed.h"
-
#ifdef __cplusplus
extern "C" {
#endif
/* CertificateRevocationListMessage */
-typedef EtsiTs103097Data_Signed_60P0_t CertificateRevocationListMessage_t;
+typedef EtsiTs103097Data_Signed_63P0_t CertificateRevocationListMessage_t;
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_CertificateRevocationListMessage;
asn_struct_free_f CertificateRevocationListMessage_free;
asn_struct_print_f CertificateRevocationListMessage_print;
asn_constr_check_f CertificateRevocationListMessage_constraint;
-ber_type_decoder_f CertificateRevocationListMessage_decode_ber;
-der_type_encoder_f CertificateRevocationListMessage_encode_der;
xer_type_decoder_f CertificateRevocationListMessage_decode_xer;
xer_type_encoder_f CertificateRevocationListMessage_encode_xer;
oer_type_decoder_f CertificateRevocationListMessage_decode_oer;
diff --git a/certgen/asncodec/CertificateSubjectAttributes.c b/certgen/asncodec/CertificateSubjectAttributes.c
index f3e29c45d9a106f07716a88826fcc5fd497fd7f4..4871fda9bcd3f4d7b2217c8ea037fd2f91e65ae9 100644
--- a/certgen/asncodec/CertificateSubjectAttributes.c
+++ b/certgen/asncodec/CertificateSubjectAttributes.c
@@ -1,22 +1,32 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941BaseTypes"
- * found in "../asn1/EtsiTs102941/EtsiTs102941BaseTypes.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941BaseTypes.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "CertificateSubjectAttributes.h"
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_CertificateSubjectAttributes_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
asn_TYPE_member_t asn_MBR_CertificateSubjectAttributes_1[] = {
{ ATF_POINTER, 6, offsetof(struct CertificateSubjectAttributes, id),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+1, /* EXPLICIT tag at current level */
&asn_DEF_CertificateId,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"id"
},
@@ -25,7 +35,15 @@ asn_TYPE_member_t asn_MBR_CertificateSubjectAttributes_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_ValidityPeriod,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"validityPeriod"
},
@@ -34,7 +52,15 @@ asn_TYPE_member_t asn_MBR_CertificateSubjectAttributes_1[] = {
+1, /* EXPLICIT tag at current level */
&asn_DEF_GeographicRegion,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"region"
},
@@ -43,7 +69,15 @@ asn_TYPE_member_t asn_MBR_CertificateSubjectAttributes_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_SubjectAssurance,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"assuranceLevel"
},
@@ -52,7 +86,15 @@ asn_TYPE_member_t asn_MBR_CertificateSubjectAttributes_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_SequenceOfPsidSsp,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"appPermissions"
},
@@ -61,7 +103,15 @@ asn_TYPE_member_t asn_MBR_CertificateSubjectAttributes_1[] = {
-1, /* IMPLICIT tag at current level */
&asn_DEF_SequenceOfPsidGroupPermissions,
0,
- { 0, 0, 0 },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ 0
+ },
0, 0, /* No default value */
"certIssuePermissions"
},
@@ -97,7 +147,15 @@ asn_TYPE_descriptor_t asn_DEF_CertificateSubjectAttributes = {
asn_DEF_CertificateSubjectAttributes_tags_1, /* Same as above */
sizeof(asn_DEF_CertificateSubjectAttributes_tags_1)
/sizeof(asn_DEF_CertificateSubjectAttributes_tags_1[0]), /* 1 */
- { &asn_OER_type_CertificateSubjectAttributes_constr_1, 0, SEQUENCE_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_CertificateSubjectAttributes_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ SEQUENCE_constraint
+ },
asn_MBR_CertificateSubjectAttributes_1,
6, /* Elements count */
&asn_SPC_CertificateSubjectAttributes_specs_1 /* Additional specs */
diff --git a/certgen/asncodec/CertificateSubjectAttributes.h b/certgen/asncodec/CertificateSubjectAttributes.h
index 65ca149854478ccb0f41cdb61cb8ec0f1657e9c8..65d0da43a44f855518ae8385f6ca57af4a6df859 100644
--- a/certgen/asncodec/CertificateSubjectAttributes.h
+++ b/certgen/asncodec/CertificateSubjectAttributes.h
@@ -1,20 +1,20 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
* From ASN.1 module "EtsiTs102941BaseTypes"
- * found in "../asn1/EtsiTs102941/EtsiTs102941BaseTypes.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * found in "asn1/pki_ts102941/EtsiTs102941BaseTypes.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include "SubjectAssurance.h"
+#include
#ifndef _CertificateSubjectAttributes_H_
#define _CertificateSubjectAttributes_H_
#include
-/* Including external dependencies */
-#include "SubjectAssurance.h"
-#include
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -28,12 +28,12 @@ struct SequenceOfPsidGroupPermissions;
/* CertificateSubjectAttributes */
typedef struct CertificateSubjectAttributes {
- struct CertificateId *id /* OPTIONAL */;
- struct ValidityPeriod *validityPeriod /* OPTIONAL */;
- struct GeographicRegion *region /* OPTIONAL */;
- SubjectAssurance_t *assuranceLevel /* OPTIONAL */;
- struct SequenceOfPsidSsp *appPermissions /* OPTIONAL */;
- struct SequenceOfPsidGroupPermissions *certIssuePermissions /* OPTIONAL */;
+ struct CertificateId *id; /* OPTIONAL */
+ struct ValidityPeriod *validityPeriod; /* OPTIONAL */
+ struct GeographicRegion *region; /* OPTIONAL */
+ SubjectAssurance_t *assuranceLevel; /* OPTIONAL */
+ struct SequenceOfPsidSsp *appPermissions; /* OPTIONAL */
+ struct SequenceOfPsidGroupPermissions *certIssuePermissions; /* OPTIONAL */
/*
* This type is extensible,
* possible extensions are below.
diff --git a/certgen/asncodec/CertificateType.c b/certgen/asncodec/CertificateType.c
index 2628441953291581c152b0fdd4ca17eea5cc93bc..ff35abff7f1bcdf8d3f237cd289833982238a45d 100644
--- a/certgen/asncodec/CertificateType.c
+++ b/certgen/asncodec/CertificateType.c
@@ -1,8 +1,8 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
#include "CertificateType.h"
@@ -11,9 +11,11 @@
* This type is implemented using NativeEnumerated,
* so here we adjust the DEF accordingly.
*/
+#if !defined(ASN_DISABLE_OER_SUPPORT)
static asn_oer_constraints_t asn_OER_type_CertificateType_constr_1 CC_NOTUSED = {
{ 0, 0 },
-1};
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
static const asn_INTEGER_enum_map_t asn_MAP_CertificateType_value2enum_1[] = {
{ 0, 8, "explicit" },
{ 1, 8, "implicit" }
@@ -46,7 +48,15 @@ asn_TYPE_descriptor_t asn_DEF_CertificateType = {
asn_DEF_CertificateType_tags_1, /* Same as above */
sizeof(asn_DEF_CertificateType_tags_1)
/sizeof(asn_DEF_CertificateType_tags_1[0]), /* 1 */
- { &asn_OER_type_CertificateType_constr_1, 0, NativeEnumerated_constraint },
+ {
+#if !defined(ASN_DISABLE_OER_SUPPORT)
+ &asn_OER_type_CertificateType_constr_1,
+#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */
+#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT)
+ 0,
+#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */
+ NativeEnumerated_constraint
+ },
0, 0, /* Defined elsewhere */
&asn_SPC_CertificateType_specs_1 /* Additional specs */
};
diff --git a/certgen/asncodec/CertificateType.h b/certgen/asncodec/CertificateType.h
index 946fec4401ad1155851226d870cce3d793809bb1..8223d3f86f147afb24bb0656b34d6f09fd69e19c 100644
--- a/certgen/asncodec/CertificateType.h
+++ b/certgen/asncodec/CertificateType.h
@@ -1,19 +1,19 @@
/*
- * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
- * From ASN.1 module "IEEE1609dot2"
- * found in "../asn1/1609Dot2-ASN1/asn1c/IEEE1609dot2.asn"
- * `asn1c -S ../../asn1c/skeletons -fcompound-names -no-gen-PER -gen-autotools -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage`
+ * Generated by asn1c-0.9.29-DF (http://lionet.info/asn1c)
+ * From ASN.1 module "Ieee1609Dot2"
+ * found in "asn1/ieee1609.2/IEEE1609dot2.asn"
+ * `asn1c -S ../../../../asn1c-fillabs2/skeletons -fcompound-names -no-gen-BER -no-gen-JER -no-gen-UPER -no-gen-APER -no-gen-random-fill -no-gen-example -pdu=EtsiTs103097Data -pdu=EnrolmentRequestMessage -pdu=EnrolmentResponseMessage -pdu=AuthorizationRequestMessage -pdu=AuthorizationRequestMessageWithPop -pdu=AuthorizationResponseMessage -pdu=CertificateRevocationListMessage -pdu=TlmCertificateTrustListMessage -pdu=RcaCertificateTrustListMessage -pdu=AuthorizationValidationRequestMessage -pdu=AuthorizationValidationResponseMessage -pdu=CaCertificateRequestMessage -pdu=EtsiTs103097Certificate`
*/
+
+/* Including external dependencies */
+#include
#ifndef _CertificateType_H_
#define _CertificateType_H_
#include
-/* Including external dependencies */
-#include