 +
 +const ASN1_ITEM CRMF_ENCKEYWITHID_IDENTIFIER_it = {
 +	.itype = ASN1_ITYPE_CHOICE,
-+	.utype = V_ASN1_SEQUENCE,
++	.utype = offsetof(CRMF_ENCKEYWITHID_IDENTIFIER, type),
 +	.templates = CRMF_ENCKEYWITHID_IDENTIFIER_ch_tt,
 +	.tcount = sizeof(CRMF_ENCKEYWITHID_IDENTIFIER_ch_tt) / sizeof(ASN1_TEMPLATE),
 +	.funcs = NULL,

+	ASN1_item_free((ASN1_VALUE *)a, &CRMF_CERTREQMSG_it);
+}
+
+static const ASN1_TEMPLATE CRMF_CERTREQMESSAGES_item_tt[] = {
+		{
+		.flags = ASN1_TFLG_SEQUENCE_OF,
+		.tag = 0,
+		.offset = 0,
+		.field_name = "CRMF_CERTREQMESSAGES",
+		.item = &CRMF_CERTREQMSG_it,
+		}
+};
+
+const ASN1_ITEM CRMF_CERTREQMESSAGES_it = {
+	.itype = ASN1_ITYPE_PRIMITIVE,
+	.utype = -1,
+	.templates = CRMF_CERTREQMESSAGES_item_tt,
+	.tcount = 0,
+	.funcs = NULL,
+	.size = 0,

+
+const ASN1_ITEM CRMF_POPOSIGNINGKEYINPUT_AUTHINFO_it = {
+	.itype = ASN1_ITYPE_CHOICE,
+	.utype = offsetof(CRMF_POPOPSIGNINGKEYINPUT_AUTHINFO, type),
+	.templates = CRMF_POPOSIGNINGKEYINPUT_AUTHINFO_ch_tt,
+	.tcount = sizeof(CRMF_POPOSIGNINGKEYINPUT_AUTHINFO_ch_tt) / sizeof(ASN1_TEMPLATE),
+	.funcs = NULL,
