Commit ec11482675 for openssl.org

commit ec114826755f200e7ecfe0e4e0dd68bd883917bf
Author: David von Oheimb <David.von.Oheimb@siemens.com>
Date:   Thu Jan 31 17:54:17 2019 +0100

    Remove extra leading '00:' when printing key material with highest byte >= 0x80

    Removed pseudo-DER encoding of (unsigned) BNs from output of ASN1_bn_print() and
    print_labeled_bignum() in providers/implementations/encode_decode/encode_key2text.c
    Also adapt test output reference files where needed.

    Reviewed-by: Paul Dale <paul.dale@oracle.com>
    Reviewed-by: Tomas Mraz <tomas@openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/8136)

diff --git a/CHANGES.md b/CHANGES.md
index 9efb5315a6..9fb19a6fb2 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -32,6 +32,13 @@ OpenSSL 4.0

 ### Changes between 3.6 and 4.0 [xx XXX xxxx]

+ * Removed extra leading '00:' when printing key data such as an RSA modulus
+   in hexadecimal format where the first (most significant) byte is >= 0x80.
+   This had been added artificially to resemble ASN.1 DER encoding internals.
+   Fixing this also makes sure that key output always has the expected length.
+
+   *David von Oheimb*
+
  * The deprecated function ASN1_STRING_data has been removed.

    *Bob Beck*
diff --git a/crypto/asn1/t_pkey.c b/crypto/asn1/t_pkey.c
index 03579c877c..bf262ef2b1 100644
--- a/crypto/asn1/t_pkey.c
+++ b/crypto/asn1/t_pkey.c
@@ -47,7 +47,7 @@ int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num,
 {
     int n, rv = 0;
     const char *neg;
-    unsigned char *buf = NULL, *tmp = NULL;
+    unsigned char *buf = NULL;
     int buflen;

     if (num == NULL)
@@ -69,22 +69,16 @@ int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num,
         return 1;
     }

-    buflen = BN_num_bytes(num) + 1;
-    buf = tmp = OPENSSL_malloc(buflen);
+    buflen = BN_num_bytes(num);
+    buf = OPENSSL_malloc(buflen);
     if (buf == NULL)
         goto err;
-    buf[0] = 0;
     if (BIO_printf(bp, "%s%s\n", number,
                    (neg[0] == '-') ? " (Negative)" : "") <= 0)
         goto err;
-    n = BN_bn2bin(num, buf + 1);
+    n = BN_bn2bin(num, buf);

-    if (buf[1] & 0x80)
-        n++;
-    else
-        tmp++;
-
-    if (ASN1_buf_print(bp, tmp, n, indent + 4) == 0)
+    if (ASN1_buf_print(bp, buf, n, indent + 4) == 0)
         goto err;
     rv = 1;
     err:
diff --git a/crypto/encode_decode/encoder_lib.c b/crypto/encode_decode/encoder_lib.c
index 28eecc3e0d..e02343da40 100644
--- a/crypto/encode_decode/encoder_lib.c
+++ b/crypto/encode_decode/encoder_lib.c
@@ -814,13 +814,6 @@ int ossl_bio_print_labeled_bignum(BIO *out, const char *label, const BIGNUM *bn)
     if (BIO_printf(out, "%s", spaces) <= 0)
         goto err;

-    /* Add a leading 00 if the top bit is set */
-    if (*p >= '8') {
-        if (BIO_printf(out, "%02x", 0) <= 0)
-            goto err;
-        ++bytes;
-        use_sep = 1;
-    }
     while (*p != '\0') {
         /* Do a newline after every 15 hex bytes + add the space indent */
         if ((bytes % 15) == 0 && bytes > 0) {
diff --git a/test/certs/cyrillic.msb b/test/certs/cyrillic.msb
index aeae813f45..425cd1bce8 100644
--- a/test/certs/cyrillic.msb
+++ b/test/certs/cyrillic.msb
@@ -12,24 +12,24 @@ Certificate:
             Public Key Algorithm: rsaEncryption
                 Public-Key: (2048 bit)
                 Modulus:
-                    00:a4:57:96:36:55:6d:95:21:25:17:f8:85:87:53:
-                    ba:bc:d5:9a:d6:dc:21:66:72:30:36:ca:94:43:3c:
-                    37:22:81:31:af:bb:8f:31:df:20:e2:6a:04:ee:12:
-                    a1:ea:8c:94:63:84:ab:66:ca:e7:cf:ae:3f:f0:c0:
-                    38:7f:67:a8:bf:f4:8a:70:65:3d:5c:1f:60:0c:6a:
-                    86:b9:68:4f:45:37:0c:89:ef:45:e8:ab:c4:bd:1a:
-                    88:49:05:4b:5f:f4:a2:8d:1c:38:e4:50:54:aa:25:
-                    a6:4d:5c:64:eb:1c:31:91:d1:38:f0:b4:82:4c:c4:
-                    58:60:4f:21:95:94:56:16:dc:d9:a7:30:46:54:bc:
-                    cd:3a:3f:a4:54:58:a4:ea:0b:b0:7d:72:03:15:49:
-                    52:22:0f:a1:9b:aa:ca:0b:05:c6:ee:0c:0b:f4:58:
-                    0d:4c:1a:71:29:93:db:f7:12:f5:dc:df:01:15:18:
-                    07:d4:e4:f6:e0:c9:a9:09:da:03:23:da:fc:b4:07:
-                    f3:86:18:87:1b:db:3f:50:fe:21:7a:9c:c1:00:5d:
-                    93:ec:f1:b9:5f:78:14:57:e1:01:b8:a9:e6:07:fd:
-                    d3:77:bb:71:b4:1d:86:65:a8:0a:0a:a3:fe:f9:f5:
-                    83:a5:5c:cd:5d:ea:29:3c:1a:d8:63:6b:c5:c5:3e:
-                    b2:d1
+                    a4:57:96:36:55:6d:95:21:25:17:f8:85:87:53:ba:
+                    bc:d5:9a:d6:dc:21:66:72:30:36:ca:94:43:3c:37:
+                    22:81:31:af:bb:8f:31:df:20:e2:6a:04:ee:12:a1:
+                    ea:8c:94:63:84:ab:66:ca:e7:cf:ae:3f:f0:c0:38:
+                    7f:67:a8:bf:f4:8a:70:65:3d:5c:1f:60:0c:6a:86:
+                    b9:68:4f:45:37:0c:89:ef:45:e8:ab:c4:bd:1a:88:
+                    49:05:4b:5f:f4:a2:8d:1c:38:e4:50:54:aa:25:a6:
+                    4d:5c:64:eb:1c:31:91:d1:38:f0:b4:82:4c:c4:58:
+                    60:4f:21:95:94:56:16:dc:d9:a7:30:46:54:bc:cd:
+                    3a:3f:a4:54:58:a4:ea:0b:b0:7d:72:03:15:49:52:
+                    22:0f:a1:9b:aa:ca:0b:05:c6:ee:0c:0b:f4:58:0d:
+                    4c:1a:71:29:93:db:f7:12:f5:dc:df:01:15:18:07:
+                    d4:e4:f6:e0:c9:a9:09:da:03:23:da:fc:b4:07:f3:
+                    86:18:87:1b:db:3f:50:fe:21:7a:9c:c1:00:5d:93:
+                    ec:f1:b9:5f:78:14:57:e1:01:b8:a9:e6:07:fd:d3:
+                    77:bb:71:b4:1d:86:65:a8:0a:0a:a3:fe:f9:f5:83:
+                    a5:5c:cd:5d:ea:29:3c:1a:d8:63:6b:c5:c5:3e:b2:
+                    d1
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Subject Key Identifier:
diff --git a/test/certs/cyrillic.utf8 b/test/certs/cyrillic.utf8
index b444f98e9d..8f852e2a33 100644
--- a/test/certs/cyrillic.utf8
+++ b/test/certs/cyrillic.utf8
@@ -12,24 +12,24 @@ Certificate:
             Public Key Algorithm: rsaEncryption
                 Public-Key: (2048 bit)
                 Modulus:
-                    00:a4:57:96:36:55:6d:95:21:25:17:f8:85:87:53:
-                    ba:bc:d5:9a:d6:dc:21:66:72:30:36:ca:94:43:3c:
-                    37:22:81:31:af:bb:8f:31:df:20:e2:6a:04:ee:12:
-                    a1:ea:8c:94:63:84:ab:66:ca:e7:cf:ae:3f:f0:c0:
-                    38:7f:67:a8:bf:f4:8a:70:65:3d:5c:1f:60:0c:6a:
-                    86:b9:68:4f:45:37:0c:89:ef:45:e8:ab:c4:bd:1a:
-                    88:49:05:4b:5f:f4:a2:8d:1c:38:e4:50:54:aa:25:
-                    a6:4d:5c:64:eb:1c:31:91:d1:38:f0:b4:82:4c:c4:
-                    58:60:4f:21:95:94:56:16:dc:d9:a7:30:46:54:bc:
-                    cd:3a:3f:a4:54:58:a4:ea:0b:b0:7d:72:03:15:49:
-                    52:22:0f:a1:9b:aa:ca:0b:05:c6:ee:0c:0b:f4:58:
-                    0d:4c:1a:71:29:93:db:f7:12:f5:dc:df:01:15:18:
-                    07:d4:e4:f6:e0:c9:a9:09:da:03:23:da:fc:b4:07:
-                    f3:86:18:87:1b:db:3f:50:fe:21:7a:9c:c1:00:5d:
-                    93:ec:f1:b9:5f:78:14:57:e1:01:b8:a9:e6:07:fd:
-                    d3:77:bb:71:b4:1d:86:65:a8:0a:0a:a3:fe:f9:f5:
-                    83:a5:5c:cd:5d:ea:29:3c:1a:d8:63:6b:c5:c5:3e:
-                    b2:d1
+                    a4:57:96:36:55:6d:95:21:25:17:f8:85:87:53:ba:
+                    bc:d5:9a:d6:dc:21:66:72:30:36:ca:94:43:3c:37:
+                    22:81:31:af:bb:8f:31:df:20:e2:6a:04:ee:12:a1:
+                    ea:8c:94:63:84:ab:66:ca:e7:cf:ae:3f:f0:c0:38:
+                    7f:67:a8:bf:f4:8a:70:65:3d:5c:1f:60:0c:6a:86:
+                    b9:68:4f:45:37:0c:89:ef:45:e8:ab:c4:bd:1a:88:
+                    49:05:4b:5f:f4:a2:8d:1c:38:e4:50:54:aa:25:a6:
+                    4d:5c:64:eb:1c:31:91:d1:38:f0:b4:82:4c:c4:58:
+                    60:4f:21:95:94:56:16:dc:d9:a7:30:46:54:bc:cd:
+                    3a:3f:a4:54:58:a4:ea:0b:b0:7d:72:03:15:49:52:
+                    22:0f:a1:9b:aa:ca:0b:05:c6:ee:0c:0b:f4:58:0d:
+                    4c:1a:71:29:93:db:f7:12:f5:dc:df:01:15:18:07:
+                    d4:e4:f6:e0:c9:a9:09:da:03:23:da:fc:b4:07:f3:
+                    86:18:87:1b:db:3f:50:fe:21:7a:9c:c1:00:5d:93:
+                    ec:f1:b9:5f:78:14:57:e1:01:b8:a9:e6:07:fd:d3:
+                    77:bb:71:b4:1d:86:65:a8:0a:0a:a3:fe:f9:f5:83:
+                    a5:5c:cd:5d:ea:29:3c:1a:d8:63:6b:c5:c5:3e:b2:
+                    d1
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Subject Key Identifier:
diff --git a/test/evp_pkey_provided_test.c b/test/evp_pkey_provided_test.c
index 4d6acb3692..1175224b52 100644
--- a/test/evp_pkey_provided_test.c
+++ b/test/evp_pkey_provided_test.c
@@ -98,6 +98,7 @@ static int compare_with_file(const char *alg, int type, BIO *membio)
     if (!TEST_ptr(fullfile))
         goto err;

+    TEST_info("Reading reference key data from %s", fullfile);
     file = BIO_new_file(fullfile, "rb");
     if (!TEST_ptr(file))
         goto err;
diff --git a/test/recipes/04-test_pem_reading.t b/test/recipes/04-test_pem_reading.t
index 9698289a8b..47735ff074 100644
--- a/test/recipes/04-test_pem_reading.t
+++ b/test/recipes/04-test_pem_reading.t
@@ -104,7 +104,7 @@ SKIP: {

 my @common = ($cmd, "pkey", "-inform", "PEM", "-noout", "-text", "-in");
 my @data = run(app([@common, data_file("beermug.pem")], stderr => undef), capture => 1);
-my @match = grep /00:a0:3a:21:14:5d:cd:b6:d5:a0:3e:49:23:c1:3a:/, @data;
+my @match = grep /a0:3a:21:14:5d:cd:b6:d5:a0:3e:49:23:c1:3a:/, @data;
 ok(scalar @match > 0 ? 1 : 0);
 my $certkeycert = srctop_file("test", "certs", "cert-key-cert.pem");
 @data = run(app([@common, $certkeycert], stderr => "outerr.txt"), capture => 1);
diff --git a/test/recipes/30-test_evp_pkey_provided/DH.priv.txt b/test/recipes/30-test_evp_pkey_provided/DH.priv.txt
index 0dd83429f5..fbcedc769f 100644
--- a/test/recipes/30-test_evp_pkey_provided/DH.priv.txt
+++ b/test/recipes/30-test_evp_pkey_provided/DH.priv.txt
@@ -1,25 +1,25 @@
 DH Private-Key: (2048 bit)
 private-key:
-    00:88:85:e7:9f:ee:6d:c5:7c:78:af:63:5d:38:2a:
-    d0:ed:56:4b:47:21:2b:fa:55:fa:87:e8:a9:7b
+    88:85:e7:9f:ee:6d:c5:7c:78:af:63:5d:38:2a:d0:
+    ed:56:4b:47:21:2b:fa:55:fa:87:e8:a9:7b
 public-key:
-    00:d6:2d:77:e0:d3:7d:f8:eb:98:50:a1:82:22:65:
-    d5:d9:fe:c9:3f:be:16:83:bd:33:e9:c6:93:cf:08:
-    af:83:fa:80:8a:6c:64:df:70:64:d5:0a:7c:5a:72:
-    da:66:e6:f9:f5:31:21:92:b0:60:1a:b5:d3:f0:a5:
-    fa:48:95:2e:38:d9:c5:e6:da:fb:6c:03:9d:4b:69:
-    b7:95:e4:5c:c0:93:4f:48:d9:7e:06:22:b2:de:f3:
-    79:24:ed:e1:d1:4a:57:f1:40:86:70:42:25:c5:27:
-    68:c9:fa:e5:8e:62:7e:ff:49:6c:5b:b5:ba:f9:ef:
-    9a:1a:10:d4:81:53:cf:83:04:18:1c:e1:db:e1:65:
-    a9:7f:e1:33:eb:c3:4f:e3:b7:22:f7:1c:09:4f:ed:
-    c6:07:8e:78:05:8f:7c:96:d9:12:e0:81:74:1a:e9:
-    13:c0:20:82:65:bb:42:3b:ed:08:6a:84:4f:ea:77:
-    14:32:f9:ed:c2:12:d6:c5:c6:b3:e5:f2:6e:f6:16:
-    7f:37:de:bc:09:c7:06:6b:12:bc:ad:2d:49:25:d5:
-    dc:f4:18:14:d2:f0:f1:1d:1f:3a:aa:15:55:bb:0d:
-    7f:be:67:a1:a7:f0:aa:b3:fb:41:82:39:49:93:bc:
-    a8:ee:72:13:45:65:15:42:17:aa:d8:ab:cf:33:42:
-    83:42
+    d6:2d:77:e0:d3:7d:f8:eb:98:50:a1:82:22:65:d5:
+    d9:fe:c9:3f:be:16:83:bd:33:e9:c6:93:cf:08:af:
+    83:fa:80:8a:6c:64:df:70:64:d5:0a:7c:5a:72:da:
+    66:e6:f9:f5:31:21:92:b0:60:1a:b5:d3:f0:a5:fa:
+    48:95:2e:38:d9:c5:e6:da:fb:6c:03:9d:4b:69:b7:
+    95:e4:5c:c0:93:4f:48:d9:7e:06:22:b2:de:f3:79:
+    24:ed:e1:d1:4a:57:f1:40:86:70:42:25:c5:27:68:
+    c9:fa:e5:8e:62:7e:ff:49:6c:5b:b5:ba:f9:ef:9a:
+    1a:10:d4:81:53:cf:83:04:18:1c:e1:db:e1:65:a9:
+    7f:e1:33:eb:c3:4f:e3:b7:22:f7:1c:09:4f:ed:c6:
+    07:8e:78:05:8f:7c:96:d9:12:e0:81:74:1a:e9:13:
+    c0:20:82:65:bb:42:3b:ed:08:6a:84:4f:ea:77:14:
+    32:f9:ed:c2:12:d6:c5:c6:b3:e5:f2:6e:f6:16:7f:
+    37:de:bc:09:c7:06:6b:12:bc:ad:2d:49:25:d5:dc:
+    f4:18:14:d2:f0:f1:1d:1f:3a:aa:15:55:bb:0d:7f:
+    be:67:a1:a7:f0:aa:b3:fb:41:82:39:49:93:bc:a8:
+    ee:72:13:45:65:15:42:17:aa:d8:ab:cf:33:42:83:
+    42
 GROUP: ffdhe2048
 recommended-private-length: 224 bits
diff --git a/test/recipes/30-test_evp_pkey_provided/DH.pub.txt b/test/recipes/30-test_evp_pkey_provided/DH.pub.txt
index 491f9d9d5e..54b279cade 100644
--- a/test/recipes/30-test_evp_pkey_provided/DH.pub.txt
+++ b/test/recipes/30-test_evp_pkey_provided/DH.pub.txt
@@ -1,22 +1,22 @@
 DH Public-Key: (2048 bit)
 public-key:
-    00:d6:2d:77:e0:d3:7d:f8:eb:98:50:a1:82:22:65:
-    d5:d9:fe:c9:3f:be:16:83:bd:33:e9:c6:93:cf:08:
-    af:83:fa:80:8a:6c:64:df:70:64:d5:0a:7c:5a:72:
-    da:66:e6:f9:f5:31:21:92:b0:60:1a:b5:d3:f0:a5:
-    fa:48:95:2e:38:d9:c5:e6:da:fb:6c:03:9d:4b:69:
-    b7:95:e4:5c:c0:93:4f:48:d9:7e:06:22:b2:de:f3:
-    79:24:ed:e1:d1:4a:57:f1:40:86:70:42:25:c5:27:
-    68:c9:fa:e5:8e:62:7e:ff:49:6c:5b:b5:ba:f9:ef:
-    9a:1a:10:d4:81:53:cf:83:04:18:1c:e1:db:e1:65:
-    a9:7f:e1:33:eb:c3:4f:e3:b7:22:f7:1c:09:4f:ed:
-    c6:07:8e:78:05:8f:7c:96:d9:12:e0:81:74:1a:e9:
-    13:c0:20:82:65:bb:42:3b:ed:08:6a:84:4f:ea:77:
-    14:32:f9:ed:c2:12:d6:c5:c6:b3:e5:f2:6e:f6:16:
-    7f:37:de:bc:09:c7:06:6b:12:bc:ad:2d:49:25:d5:
-    dc:f4:18:14:d2:f0:f1:1d:1f:3a:aa:15:55:bb:0d:
-    7f:be:67:a1:a7:f0:aa:b3:fb:41:82:39:49:93:bc:
-    a8:ee:72:13:45:65:15:42:17:aa:d8:ab:cf:33:42:
-    83:42
+    d6:2d:77:e0:d3:7d:f8:eb:98:50:a1:82:22:65:d5:
+    d9:fe:c9:3f:be:16:83:bd:33:e9:c6:93:cf:08:af:
+    83:fa:80:8a:6c:64:df:70:64:d5:0a:7c:5a:72:da:
+    66:e6:f9:f5:31:21:92:b0:60:1a:b5:d3:f0:a5:fa:
+    48:95:2e:38:d9:c5:e6:da:fb:6c:03:9d:4b:69:b7:
+    95:e4:5c:c0:93:4f:48:d9:7e:06:22:b2:de:f3:79:
+    24:ed:e1:d1:4a:57:f1:40:86:70:42:25:c5:27:68:
+    c9:fa:e5:8e:62:7e:ff:49:6c:5b:b5:ba:f9:ef:9a:
+    1a:10:d4:81:53:cf:83:04:18:1c:e1:db:e1:65:a9:
+    7f:e1:33:eb:c3:4f:e3:b7:22:f7:1c:09:4f:ed:c6:
+    07:8e:78:05:8f:7c:96:d9:12:e0:81:74:1a:e9:13:
+    c0:20:82:65:bb:42:3b:ed:08:6a:84:4f:ea:77:14:
+    32:f9:ed:c2:12:d6:c5:c6:b3:e5:f2:6e:f6:16:7f:
+    37:de:bc:09:c7:06:6b:12:bc:ad:2d:49:25:d5:dc:
+    f4:18:14:d2:f0:f1:1d:1f:3a:aa:15:55:bb:0d:7f:
+    be:67:a1:a7:f0:aa:b3:fb:41:82:39:49:93:bc:a8:
+    ee:72:13:45:65:15:42:17:aa:d8:ab:cf:33:42:83:
+    42
 GROUP: ffdhe2048
 recommended-private-length: 224 bits
diff --git a/test/recipes/30-test_evp_pkey_provided/DSA.priv.txt b/test/recipes/30-test_evp_pkey_provided/DSA.priv.txt
index 1b1b758b03..05dff9be90 100644
--- a/test/recipes/30-test_evp_pkey_provided/DSA.priv.txt
+++ b/test/recipes/30-test_evp_pkey_provided/DSA.priv.txt
@@ -1,8 +1,8 @@
 Private-Key: (2048 bit)
 priv:
-    00:8f:c5:9e:d0:f7:2a:0b:66:f1:32:73:ae:f6:d9:
-    d4:db:2d:96:55:89:ff:ef:a8:5f:47:8f:ca:02:8a:
-    e1:35:90
+    8f:c5:9e:d0:f7:2a:0b:66:f1:32:73:ae:f6:d9:d4:
+    db:2d:96:55:89:ff:ef:a8:5f:47:8f:ca:02:8a:e1:
+    35:90
 pub:
     44:19:c9:46:45:57:c1:a9:d8:30:99:29:6a:4b:63:
     71:69:96:35:17:b2:62:9b:80:0a:95:9d:6a:c0:32:
@@ -23,28 +23,28 @@ pub:
     3d:e8:65:09:7b:b7:12:64:d2:0a:53:60:48:d1:8a:
     bd
 P:
-    00:a0:b7:02:c4:ac:a6:42:ab:f2:34:0b:22:47:1f:
-    33:cf:d5:04:e4:3e:ec:a1:21:c8:41:2b:ef:b8:1f:
-    0b:5b:88:8b:67:f8:68:6d:7c:4d:96:5f:3c:66:ef:
-    58:34:d7:f6:a2:1b:ad:c8:12:52:b8:e8:2a:63:cc:
-    ea:e7:4e:c8:34:4c:58:59:0a:c2:4a:e4:b4:64:20:
-    f4:f6:0a:cf:86:01:6c:7f:23:4a:51:07:99:42:28:
-    7a:ff:18:67:52:64:f2:9a:62:30:c3:00:de:23:e9:
-    11:95:7e:d1:3d:8d:b4:0e:9f:9e:b1:30:03:f0:73:
-    a8:40:48:42:7b:60:a0:c4:f2:3b:2d:0a:0c:b8:19:
-    fb:b4:f8:e0:2a:c7:f1:c0:c6:86:14:60:12:0f:c0:
-    de:4a:67:ec:c7:de:76:21:1a:55:7f:86:c3:97:98:
-    ce:f5:cd:f0:e7:12:d6:93:ee:1b:9b:61:ef:05:8c:
-    45:46:d9:64:6f:be:27:aa:67:01:cc:71:b1:60:ce:
-    21:d8:51:17:27:0d:90:3d:18:7c:87:15:8e:48:4c:
-    6c:c5:72:eb:b7:56:f5:6b:60:8f:c2:fd:3f:46:5c:
-    00:91:85:79:45:5b:1c:82:c4:87:50:79:ba:cc:1c:
-    32:7e:2e:b8:2e:c5:4e:d1:9b:db:66:79:7c:fe:af:
-    6a:05
+    a0:b7:02:c4:ac:a6:42:ab:f2:34:0b:22:47:1f:33:
+    cf:d5:04:e4:3e:ec:a1:21:c8:41:2b:ef:b8:1f:0b:
+    5b:88:8b:67:f8:68:6d:7c:4d:96:5f:3c:66:ef:58:
+    34:d7:f6:a2:1b:ad:c8:12:52:b8:e8:2a:63:cc:ea:
+    e7:4e:c8:34:4c:58:59:0a:c2:4a:e4:b4:64:20:f4:
+    f6:0a:cf:86:01:6c:7f:23:4a:51:07:99:42:28:7a:
+    ff:18:67:52:64:f2:9a:62:30:c3:00:de:23:e9:11:
+    95:7e:d1:3d:8d:b4:0e:9f:9e:b1:30:03:f0:73:a8:
+    40:48:42:7b:60:a0:c4:f2:3b:2d:0a:0c:b8:19:fb:
+    b4:f8:e0:2a:c7:f1:c0:c6:86:14:60:12:0f:c0:de:
+    4a:67:ec:c7:de:76:21:1a:55:7f:86:c3:97:98:ce:
+    f5:cd:f0:e7:12:d6:93:ee:1b:9b:61:ef:05:8c:45:
+    46:d9:64:6f:be:27:aa:67:01:cc:71:b1:60:ce:21:
+    d8:51:17:27:0d:90:3d:18:7c:87:15:8e:48:4c:6c:
+    c5:72:eb:b7:56:f5:6b:60:8f:c2:fd:3f:46:5c:00:
+    91:85:79:45:5b:1c:82:c4:87:50:79:ba:cc:1c:32:
+    7e:2e:b8:2e:c5:4e:d1:9b:db:66:79:7c:fe:af:6a:
+    05
 Q:
-    00:a8:cd:f4:33:7b:13:0a:24:c1:de:4a:04:7b:4b:
-    71:51:32:e9:47:74:bd:0c:21:40:84:12:0a:17:73:
-    db:29:c7
+    a8:cd:f4:33:7b:13:0a:24:c1:de:4a:04:7b:4b:71:
+    51:32:e9:47:74:bd:0c:21:40:84:12:0a:17:73:db:
+    29:c7
 G:
     6c:c6:a4:3e:61:84:c1:ff:6f:4a:1a:6b:b0:24:4b:
     d2:92:5b:29:5c:61:b8:c9:2b:d6:f7:59:fd:d8:70:
diff --git a/test/recipes/30-test_evp_pkey_provided/DSA.pub.txt b/test/recipes/30-test_evp_pkey_provided/DSA.pub.txt
index 0cd037294c..5786ce4257 100644
--- a/test/recipes/30-test_evp_pkey_provided/DSA.pub.txt
+++ b/test/recipes/30-test_evp_pkey_provided/DSA.pub.txt
@@ -19,28 +19,28 @@ pub:
     3d:e8:65:09:7b:b7:12:64:d2:0a:53:60:48:d1:8a:
     bd
 P:
-    00:a0:b7:02:c4:ac:a6:42:ab:f2:34:0b:22:47:1f:
-    33:cf:d5:04:e4:3e:ec:a1:21:c8:41:2b:ef:b8:1f:
-    0b:5b:88:8b:67:f8:68:6d:7c:4d:96:5f:3c:66:ef:
-    58:34:d7:f6:a2:1b:ad:c8:12:52:b8:e8:2a:63:cc:
-    ea:e7:4e:c8:34:4c:58:59:0a:c2:4a:e4:b4:64:20:
-    f4:f6:0a:cf:86:01:6c:7f:23:4a:51:07:99:42:28:
-    7a:ff:18:67:52:64:f2:9a:62:30:c3:00:de:23:e9:
-    11:95:7e:d1:3d:8d:b4:0e:9f:9e:b1:30:03:f0:73:
-    a8:40:48:42:7b:60:a0:c4:f2:3b:2d:0a:0c:b8:19:
-    fb:b4:f8:e0:2a:c7:f1:c0:c6:86:14:60:12:0f:c0:
-    de:4a:67:ec:c7:de:76:21:1a:55:7f:86:c3:97:98:
-    ce:f5:cd:f0:e7:12:d6:93:ee:1b:9b:61:ef:05:8c:
-    45:46:d9:64:6f:be:27:aa:67:01:cc:71:b1:60:ce:
-    21:d8:51:17:27:0d:90:3d:18:7c:87:15:8e:48:4c:
-    6c:c5:72:eb:b7:56:f5:6b:60:8f:c2:fd:3f:46:5c:
-    00:91:85:79:45:5b:1c:82:c4:87:50:79:ba:cc:1c:
-    32:7e:2e:b8:2e:c5:4e:d1:9b:db:66:79:7c:fe:af:
-    6a:05
+    a0:b7:02:c4:ac:a6:42:ab:f2:34:0b:22:47:1f:33:
+    cf:d5:04:e4:3e:ec:a1:21:c8:41:2b:ef:b8:1f:0b:
+    5b:88:8b:67:f8:68:6d:7c:4d:96:5f:3c:66:ef:58:
+    34:d7:f6:a2:1b:ad:c8:12:52:b8:e8:2a:63:cc:ea:
+    e7:4e:c8:34:4c:58:59:0a:c2:4a:e4:b4:64:20:f4:
+    f6:0a:cf:86:01:6c:7f:23:4a:51:07:99:42:28:7a:
+    ff:18:67:52:64:f2:9a:62:30:c3:00:de:23:e9:11:
+    95:7e:d1:3d:8d:b4:0e:9f:9e:b1:30:03:f0:73:a8:
+    40:48:42:7b:60:a0:c4:f2:3b:2d:0a:0c:b8:19:fb:
+    b4:f8:e0:2a:c7:f1:c0:c6:86:14:60:12:0f:c0:de:
+    4a:67:ec:c7:de:76:21:1a:55:7f:86:c3:97:98:ce:
+    f5:cd:f0:e7:12:d6:93:ee:1b:9b:61:ef:05:8c:45:
+    46:d9:64:6f:be:27:aa:67:01:cc:71:b1:60:ce:21:
+    d8:51:17:27:0d:90:3d:18:7c:87:15:8e:48:4c:6c:
+    c5:72:eb:b7:56:f5:6b:60:8f:c2:fd:3f:46:5c:00:
+    91:85:79:45:5b:1c:82:c4:87:50:79:ba:cc:1c:32:
+    7e:2e:b8:2e:c5:4e:d1:9b:db:66:79:7c:fe:af:6a:
+    05
 Q:
-    00:a8:cd:f4:33:7b:13:0a:24:c1:de:4a:04:7b:4b:
-    71:51:32:e9:47:74:bd:0c:21:40:84:12:0a:17:73:
-    db:29:c7
+    a8:cd:f4:33:7b:13:0a:24:c1:de:4a:04:7b:4b:71:
+    51:32:e9:47:74:bd:0c:21:40:84:12:0a:17:73:db:
+    29:c7
 G:
     6c:c6:a4:3e:61:84:c1:ff:6f:4a:1a:6b:b0:24:4b:
     d2:92:5b:29:5c:61:b8:c9:2b:d6:f7:59:fd:d8:70:
diff --git a/test/recipes/75-test_quicapi_data/ssltraceref-zlib.txt b/test/recipes/75-test_quicapi_data/ssltraceref-zlib.txt
index d36d58772b..e35ffbc765 100644
--- a/test/recipes/75-test_quicapi_data/ssltraceref-zlib.txt
+++ b/test/recipes/75-test_quicapi_data/ssltraceref-zlib.txt
@@ -270,24 +270,24 @@ Certificate:
             Public Key Algorithm: rsaEncryption
                 Public-Key: (2048 bit)
                 Modulus:
-                    00:d5:5d:60:6a:df:fc:61:ee:48:aa:8c:11:48:43:
-                    a5:6d:b6:52:5d:aa:98:49:b1:61:92:35:b1:fc:3a:
-                    04:25:0c:6d:79:ff:b4:d5:c9:e9:5c:1c:3b:e0:ab:
-                    b3:b8:7d:a3:de:6d:bd:e0:dd:d7:5a:bf:14:47:11:
-                    42:5e:a6:82:d0:61:c1:7f:dd:13:46:e6:09:85:07:
-                    0e:f2:d4:fc:1a:64:d2:0a:ad:20:ab:20:6b:96:f0:
-                    ad:cc:c4:19:53:55:dc:01:1d:a4:b3:ef:8a:b4:49:
-                    53:5d:8a:05:1c:f1:dc:e1:44:bf:c5:d7:e2:77:19:
-                    57:5c:97:0b:75:ee:88:43:71:0f:ca:6c:c1:b4:b2:
-                    50:a7:77:46:6c:58:0f:11:bf:f1:76:24:5a:ae:39:
-                    42:b7:51:67:29:e1:d0:55:30:6f:17:e4:91:ea:ad:
-                    f8:28:c2:43:6f:a2:64:a9:fb:9d:98:92:62:48:3e:
-                    eb:0d:4f:82:4a:8a:ff:3f:72:ee:96:b5:ae:a1:c1:
-                    98:ba:ef:7d:90:75:6d:ff:5a:52:9e:ab:f5:c0:7e:
-                    d0:87:43:db:85:07:07:0f:7d:38:7a:fd:d1:d3:ee:
-                    65:1d:d3:ea:39:6a:87:37:ee:4a:d3:e0:0d:6e:f5:
-                    70:ac:c2:bd:f1:6e:f3:92:95:5e:a9:f0:a1:65:95:
-                    93:8d
+                    d5:5d:60:6a:df:fc:61:ee:48:aa:8c:11:48:43:a5:
+                    6d:b6:52:5d:aa:98:49:b1:61:92:35:b1:fc:3a:04:
+                    25:0c:6d:79:ff:b4:d5:c9:e9:5c:1c:3b:e0:ab:b3:
+                    b8:7d:a3:de:6d:bd:e0:dd:d7:5a:bf:14:47:11:42:
+                    5e:a6:82:d0:61:c1:7f:dd:13:46:e6:09:85:07:0e:
+                    f2:d4:fc:1a:64:d2:0a:ad:20:ab:20:6b:96:f0:ad:
+                    cc:c4:19:53:55:dc:01:1d:a4:b3:ef:8a:b4:49:53:
+                    5d:8a:05:1c:f1:dc:e1:44:bf:c5:d7:e2:77:19:57:
+                    5c:97:0b:75:ee:88:43:71:0f:ca:6c:c1:b4:b2:50:
+                    a7:77:46:6c:58:0f:11:bf:f1:76:24:5a:ae:39:42:
+                    b7:51:67:29:e1:d0:55:30:6f:17:e4:91:ea:ad:f8:
+                    28:c2:43:6f:a2:64:a9:fb:9d:98:92:62:48:3e:eb:
+                    0d:4f:82:4a:8a:ff:3f:72:ee:96:b5:ae:a1:c1:98:
+                    ba:ef:7d:90:75:6d:ff:5a:52:9e:ab:f5:c0:7e:d0:
+                    87:43:db:85:07:07:0f:7d:38:7a:fd:d1:d3:ee:65:
+                    1d:d3:ea:39:6a:87:37:ee:4a:d3:e0:0d:6e:f5:70:
+                    ac:c2:bd:f1:6e:f3:92:95:5e:a9:f0:a1:65:95:93:
+                    8d
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Subject Key Identifier:
diff --git a/test/recipes/75-test_quicapi_data/ssltraceref.txt b/test/recipes/75-test_quicapi_data/ssltraceref.txt
index 7b7fa28c08..ddf9e2942e 100644
--- a/test/recipes/75-test_quicapi_data/ssltraceref.txt
+++ b/test/recipes/75-test_quicapi_data/ssltraceref.txt
@@ -268,24 +268,24 @@ Certificate:
             Public Key Algorithm: rsaEncryption
                 Public-Key: (2048 bit)
                 Modulus:
-                    00:d5:5d:60:6a:df:fc:61:ee:48:aa:8c:11:48:43:
-                    a5:6d:b6:52:5d:aa:98:49:b1:61:92:35:b1:fc:3a:
-                    04:25:0c:6d:79:ff:b4:d5:c9:e9:5c:1c:3b:e0:ab:
-                    b3:b8:7d:a3:de:6d:bd:e0:dd:d7:5a:bf:14:47:11:
-                    42:5e:a6:82:d0:61:c1:7f:dd:13:46:e6:09:85:07:
-                    0e:f2:d4:fc:1a:64:d2:0a:ad:20:ab:20:6b:96:f0:
-                    ad:cc:c4:19:53:55:dc:01:1d:a4:b3:ef:8a:b4:49:
-                    53:5d:8a:05:1c:f1:dc:e1:44:bf:c5:d7:e2:77:19:
-                    57:5c:97:0b:75:ee:88:43:71:0f:ca:6c:c1:b4:b2:
-                    50:a7:77:46:6c:58:0f:11:bf:f1:76:24:5a:ae:39:
-                    42:b7:51:67:29:e1:d0:55:30:6f:17:e4:91:ea:ad:
-                    f8:28:c2:43:6f:a2:64:a9:fb:9d:98:92:62:48:3e:
-                    eb:0d:4f:82:4a:8a:ff:3f:72:ee:96:b5:ae:a1:c1:
-                    98:ba:ef:7d:90:75:6d:ff:5a:52:9e:ab:f5:c0:7e:
-                    d0:87:43:db:85:07:07:0f:7d:38:7a:fd:d1:d3:ee:
-                    65:1d:d3:ea:39:6a:87:37:ee:4a:d3:e0:0d:6e:f5:
-                    70:ac:c2:bd:f1:6e:f3:92:95:5e:a9:f0:a1:65:95:
-                    93:8d
+                    d5:5d:60:6a:df:fc:61:ee:48:aa:8c:11:48:43:a5:
+                    6d:b6:52:5d:aa:98:49:b1:61:92:35:b1:fc:3a:04:
+                    25:0c:6d:79:ff:b4:d5:c9:e9:5c:1c:3b:e0:ab:b3:
+                    b8:7d:a3:de:6d:bd:e0:dd:d7:5a:bf:14:47:11:42:
+                    5e:a6:82:d0:61:c1:7f:dd:13:46:e6:09:85:07:0e:
+                    f2:d4:fc:1a:64:d2:0a:ad:20:ab:20:6b:96:f0:ad:
+                    cc:c4:19:53:55:dc:01:1d:a4:b3:ef:8a:b4:49:53:
+                    5d:8a:05:1c:f1:dc:e1:44:bf:c5:d7:e2:77:19:57:
+                    5c:97:0b:75:ee:88:43:71:0f:ca:6c:c1:b4:b2:50:
+                    a7:77:46:6c:58:0f:11:bf:f1:76:24:5a:ae:39:42:
+                    b7:51:67:29:e1:d0:55:30:6f:17:e4:91:ea:ad:f8:
+                    28:c2:43:6f:a2:64:a9:fb:9d:98:92:62:48:3e:eb:
+                    0d:4f:82:4a:8a:ff:3f:72:ee:96:b5:ae:a1:c1:98:
+                    ba:ef:7d:90:75:6d:ff:5a:52:9e:ab:f5:c0:7e:d0:
+                    87:43:db:85:07:07:0f:7d:38:7a:fd:d1:d3:ee:65:
+                    1d:d3:ea:39:6a:87:37:ee:4a:d3:e0:0d:6e:f5:70:
+                    ac:c2:bd:f1:6e:f3:92:95:5e:a9:f0:a1:65:95:93:
+                    8d
                 Exponent: 65537 (0x10001)
         X509v3 extensions:
             X509v3 Subject Key Identifier: