RT1909: Omit version for v1 certificates

When calling X509_set_version to set v1 certificate, that
should mean that the version number field is omitted.

Reviewed-by: Dr. Stephen Henson <steve@openssl.org>
(cherry picked from commit 1f18f50c4b)
This commit is contained in:
Geoff Keating 2014-09-09 14:28:54 -04:00 committed by Rich Salz
parent 283a8fd1aa
commit 8c0d19d857

View File

@ -66,6 +66,12 @@
int X509_set_version(X509 *x, long version) int X509_set_version(X509 *x, long version)
{ {
if (x == NULL) return(0); if (x == NULL) return(0);
if (version == 0)
{
M_ASN1_INTEGER_free(x->cert_info->version);
x->cert_info->version = NULL;
return(1);
}
if (x->cert_info->version == NULL) if (x->cert_info->version == NULL)
{ {
if ((x->cert_info->version=M_ASN1_INTEGER_new()) == NULL) if ((x->cert_info->version=M_ASN1_INTEGER_new()) == NULL)