From: Rob Stradling Date: Tue, 25 Feb 2014 10:14:51 +0000 (+0000) Subject: Parse non-v1 SCTs less awkwardly. X-Git-Tag: OpenSSL_1_0_2-beta2~322 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a948732e1c9ffdc92cb9f7b201966aba89dd4d20;p=oweals%2Fopenssl.git Parse non-v1 SCTs less awkwardly. (cherry picked from commit 19f65ddbab30543415584ae7916e12a3c5249dba) --- diff --git a/crypto/x509v3/v3_scts.c b/crypto/x509v3/v3_scts.c index 32548007d8..9c560ad483 100644 --- a/crypto/x509v3/v3_scts.c +++ b/crypto/x509v3/v3_scts.c @@ -141,9 +141,12 @@ static int i2r_scts(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *oct, BIO_printf(out, "%*sSigned Certificate Timestamp:", indent, ""); + BIO_printf(out, "\n%*sVersion : ", indent + 4, ""); if (*data == 0) /* SCT v1 */ { + BIO_printf(out, "v1(0)"); + /* Fixed-length header: * struct { * (1 byte) Version sct_version; @@ -155,9 +158,6 @@ static int i2r_scts(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *oct, return 0; sctlen -= 43; - BIO_printf(out, "\n%*sVersion : v1(0)", indent + 4, - ""); - BIO_printf(out, "\n%*sLog ID : ", indent + 4, ""); BIO_hex_string(out, indent + 16, 16, data + 1, 32); @@ -195,9 +195,16 @@ static int i2r_scts(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *oct, return 0; BIO_printf(out, "\n%*s ", indent + 4, ""); BIO_hex_string(out, indent + 16, 16, data, fieldlen); - if (listlen > 0) BIO_printf(out, "\n"); data += fieldlen; } + else /* Unknown version */ + { + BIO_printf(out, "unknown\n%*s", indent + 16, ""); + BIO_hex_string(out, indent + 16, 16, data, sctlen); + data += sctlen; + } + + if (listlen > 0) BIO_printf(out, "\n"); } return 1;