Commit ede6ef5e authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Submitted by: Peter Sylvester <Peter.Sylvester@edelweb.fr>

Reviewed by: steve

If tagging is universal and SET or SEQUENCE set constructed bit.
parent 0f529cbd
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -245,8 +245,14 @@ ASN1_TYPE *ASN1_generate_v3(char *str, X509V3_CTX *cnf)
	/* If IMPLICIT, output tag */

	if (asn1_tags.imp_tag != -1)
		{
		if (asn1_tags.imp_class == V_ASN1_UNIVERSAL 
		    && (asn1_tags.imp_tag == V_ASN1_SEQUENCE
		     || asn1_tags.imp_tag == V_ASN1_SET) )
			hdr_constructed = V_ASN1_CONSTRUCTED;
		ASN1_put_object(&p, hdr_constructed, hdr_len,
					asn1_tags.imp_tag, asn1_tags.imp_class);
		}

	/* Copy across original encoding */
	memcpy(p, cpy_start, cpy_len);