Add something to the error queue when Proc-Type version is wrong
The Proc-Type header starts with a version number. From RFC 1421,
Section 4.6.1.1:
> The "Proc-Type:" field has two subfields, separated by a comma. The
> first subfield is a decimal number which is used to distinguish among
> incompatible encapsulated header field interpretations which may
> arise as changes are made to this standard. Messages processed
> according to this RFC will carry the subfield value "4" to
> distinguish them from messages processed in accordance with prior PEM
> RFCs.
RFC 1421 was an update of RFC 1113, which used X-Proc-Type: 3,ENCRYPTED,
which we do not support. RFC 1040 defined X-Proc-Type: 2 and RFC 989
defined X-Proc-Type: 1,E. As far as I can tell, no other numbers for
Proc-Type have ever existed, and likely never will.
If we were to ever Proc-Type: 5, we currently return failure but forget
to put something on the error queue. It's possible this was originally
done for extensibility, but it just breaks internal invariants. By
returning zero, the callers will treat this as an error anyway. We'll
just confuse code that expects OpenSSL to return an error. Also
OpenSSL's PEM APIs all treat failure to decrypt (e.g. due to unsupported
future cipher) as an error, so we should treat an unsupported future PEM
encryption scheme as an error too.
Change-Id: Ia1f4f6776fea8d8a465a73105bf3ce24a587f26b
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/74809
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/crypto/err/pem.errordata b/crypto/err/pem.errordata
index 2a4b73a..0856f74 100644
--- a/crypto/err/pem.errordata
+++ b/crypto/err/pem.errordata
@@ -13,3 +13,4 @@
PEM,112,SHORT_HEADER
PEM,113,UNSUPPORTED_CIPHER
PEM,114,UNSUPPORTED_ENCRYPTION
+PEM,115,UNSUPPORTED_PROC_TYPE_VERSION
diff --git a/crypto/pem/pem_lib.cc b/crypto/pem/pem_lib.cc
index 61ab551..3a54348 100644
--- a/crypto/pem/pem_lib.cc
+++ b/crypto/pem/pem_lib.cc
@@ -391,14 +391,11 @@
return 0;
}
header += 11;
- if (*header != '4') {
+ if (header[0] != '4' || header[1] != ',') {
+ OPENSSL_PUT_ERROR(PEM, PEM_R_UNSUPPORTED_PROC_TYPE_VERSION);
return 0;
}
- header++;
- if (*header != ',') {
- return 0;
- }
- header++;
+ header += 2;
if (strncmp(header, "ENCRYPTED", 9) != 0) {
OPENSSL_PUT_ERROR(PEM, PEM_R_NOT_ENCRYPTED);
return 0;
diff --git a/crypto/pem/pem_test.cc b/crypto/pem/pem_test.cc
index 7b30954..30fe10a 100644
--- a/crypto/pem/pem_test.cc
+++ b/crypto/pem/pem_test.cc
@@ -316,4 +316,125 @@
}
}
+TEST(PEMTest, BadHeaders) {
+ const struct {
+ const char *pem;
+ int err_lib, err_reason;
+ } kTests[] = {
+ // Proc-Type must be the first header.
+ {
+ R"(
+-----BEGIN EC PRIVATE KEY-----
+DEK-Info: AES-128-CBC,B3B2988AECAE6EAB0D043105994C1123
+Proc-Type: 4,ENCRYPTED
+
+RK7DUIGDHWTFh2rpTX+dR88hUyC1PyDlIULiNCkuWFwHrJbc1gM6hMVOKmU196XC
+iITrIKmilFm9CPD6Tpfk/NhI/QPxyJlk1geIkxpvUZ2FCeMuYI1To14oYOUKv14q
+wr6JtaX2G+pOmwcSPymZC4u2TncAP7KHgS8UGcMw8CE=
+-----END EC PRIVATE KEY-----
+)",
+ ERR_LIB_PEM, PEM_R_NOT_PROC_TYPE},
+ // Unsupported Proc-Type version.
+ {
+ R"(
+-----BEGIN EC PRIVATE KEY-----
+Proc-Type: 5,ENCRYPTED
+DEK-Info: AES-128-CBC,B3B2988AECAE6EAB0D043105994C1123
+
+RK7DUIGDHWTFh2rpTX+dR88hUyC1PyDlIULiNCkuWFwHrJbc1gM6hMVOKmU196XC
+iITrIKmilFm9CPD6Tpfk/NhI/QPxyJlk1geIkxpvUZ2FCeMuYI1To14oYOUKv14q
+wr6JtaX2G+pOmwcSPymZC4u2TncAP7KHgS8UGcMw8CE=
+-----END EC PRIVATE KEY-----
+)",
+ ERR_LIB_PEM, PEM_R_UNSUPPORTED_PROC_TYPE_VERSION},
+ // Unsupported Proc-Type version.
+ {
+ R"(
+-----BEGIN EC PRIVATE KEY-----
+Proc-Type: 42,ENCRYPTED
+DEK-Info: AES-128-CBC,B3B2988AECAE6EAB0D043105994C1123
+
+RK7DUIGDHWTFh2rpTX+dR88hUyC1PyDlIULiNCkuWFwHrJbc1gM6hMVOKmU196XC
+iITrIKmilFm9CPD6Tpfk/NhI/QPxyJlk1geIkxpvUZ2FCeMuYI1To14oYOUKv14q
+wr6JtaX2G+pOmwcSPymZC4u2TncAP7KHgS8UGcMw8CE=
+-----END EC PRIVATE KEY-----
+)",
+ ERR_LIB_PEM, PEM_R_UNSUPPORTED_PROC_TYPE_VERSION},
+ // Unsupported Proc-Type.
+ {
+ R"(
+-----BEGIN EC PRIVATE KEY-----
+Proc-Type: 4,MIC-ONLY
+DEK-Info: AES-128-CBC,B3B2988AECAE6EAB0D043105994C1123
+
+RK7DUIGDHWTFh2rpTX+dR88hUyC1PyDlIULiNCkuWFwHrJbc1gM6hMVOKmU196XC
+iITrIKmilFm9CPD6Tpfk/NhI/QPxyJlk1geIkxpvUZ2FCeMuYI1To14oYOUKv14q
+wr6JtaX2G+pOmwcSPymZC4u2TncAP7KHgS8UGcMw8CE=
+-----END EC PRIVATE KEY-----
+)",
+ ERR_LIB_PEM, PEM_R_NOT_ENCRYPTED},
+ // Missing DEK-Info.
+ {
+ R"(
+-----BEGIN EC PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+
+RK7DUIGDHWTFh2rpTX+dR88hUyC1PyDlIULiNCkuWFwHrJbc1gM6hMVOKmU196XC
+iITrIKmilFm9CPD6Tpfk/NhI/QPxyJlk1geIkxpvUZ2FCeMuYI1To14oYOUKv14q
+wr6JtaX2G+pOmwcSPymZC4u2TncAP7KHgS8UGcMw8CE=
+-----END EC PRIVATE KEY-----
+)",
+ ERR_LIB_PEM, PEM_R_NOT_DEK_INFO},
+ // Unsupported cipher.
+ {
+ R"(
+-----BEGIN EC PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: AES-127-CBC,B3B2988AECAE6EAB0D043105994C1123
+
+RK7DUIGDHWTFh2rpTX+dR88hUyC1PyDlIULiNCkuWFwHrJbc1gM6hMVOKmU196XC
+iITrIKmilFm9CPD6Tpfk/NhI/QPxyJlk1geIkxpvUZ2FCeMuYI1To14oYOUKv14q
+wr6JtaX2G+pOmwcSPymZC4u2TncAP7KHgS8UGcMw8CE=
+-----END EC PRIVATE KEY-----
+)",
+ ERR_LIB_PEM, PEM_R_UNSUPPORTED_ENCRYPTION},
+ // IV is not hex.
+ {
+ R"(
+-----BEGIN EC PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: AES-128-CBC,B3B2988AECAE6EAB0D043105994C112Z
+
+RK7DUIGDHWTFh2rpTX+dR88hUyC1PyDlIULiNCkuWFwHrJbc1gM6hMVOKmU196XC
+iITrIKmilFm9CPD6Tpfk/NhI/QPxyJlk1geIkxpvUZ2FCeMuYI1To14oYOUKv14q
+wr6JtaX2G+pOmwcSPymZC4u2TncAP7KHgS8UGcMw8CE=
+-----END EC PRIVATE KEY-----
+)",
+ ERR_LIB_PEM, PEM_R_BAD_IV_CHARS},
+ // Truncated IV.
+ {
+ R"(
+-----BEGIN EC PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: AES-128-CBC,B3B2988AECAE6EAB0D043105994C112
+
+RK7DUIGDHWTFh2rpTX+dR88hUyC1PyDlIULiNCkuWFwHrJbc1gM6hMVOKmU196XC
+iITrIKmilFm9CPD6Tpfk/NhI/QPxyJlk1geIkxpvUZ2FCeMuYI1To14oYOUKv14q
+wr6JtaX2G+pOmwcSPymZC4u2TncAP7KHgS8UGcMw8CE=
+-----END EC PRIVATE KEY-----
+)",
+ ERR_LIB_PEM, PEM_R_BAD_IV_CHARS},
+ };
+ for (const auto &t : kTests) {
+ SCOPED_TRACE(t.pem);
+ bssl::UniquePtr<BIO> bio(BIO_new_mem_buf(t.pem, -1));
+ ASSERT_TRUE(bio);
+ bssl::UniquePtr<EVP_PKEY> pkey(PEM_read_bio_PrivateKey(
+ bio.get(), nullptr, nullptr, const_cast<char *>("password")));
+ EXPECT_FALSE(pkey);
+ EXPECT_TRUE(ErrorEquals(ERR_get_error(), t.err_lib, t.err_reason));
+ ERR_clear_error();
+ }
+}
+
} // namespace
diff --git a/gen/crypto/err_data.cc b/gen/crypto/err_data.cc
index 48bce02..6657eb5 100644
--- a/gen/crypto/err_data.cc
+++ b/gen/crypto/err_data.cc
@@ -77,54 +77,54 @@
0xc3b00f7,
0xc3b8921,
0x10320892,
- 0x10329654,
- 0x10331660,
- 0x10339679,
- 0x1034168c,
+ 0x10329672,
+ 0x1033167e,
+ 0x10339697,
+ 0x103416aa,
0x10348f93,
0x10350cdf,
- 0x1035969f,
- 0x103616c9,
- 0x103696dc,
- 0x103716fb,
- 0x10379714,
- 0x10381729,
- 0x10389747,
- 0x10391756,
- 0x10399772,
- 0x103a178d,
- 0x103a979c,
- 0x103b17b8,
- 0x103b97d3,
- 0x103c17f9,
+ 0x103596bd,
+ 0x103616e7,
+ 0x103696fa,
+ 0x10371719,
+ 0x10379732,
+ 0x10381747,
+ 0x10389765,
+ 0x10391774,
+ 0x10399790,
+ 0x103a17ab,
+ 0x103a97ba,
+ 0x103b17d6,
+ 0x103b97f1,
+ 0x103c1817,
0x103c80f7,
- 0x103d180a,
- 0x103d981e,
- 0x103e183d,
- 0x103e984c,
- 0x103f1863,
- 0x103f9876,
+ 0x103d1828,
+ 0x103d983c,
+ 0x103e185b,
+ 0x103e986a,
+ 0x103f1881,
+ 0x103f9894,
0x10400ca3,
- 0x10409889,
- 0x104118a7,
- 0x104198ba,
- 0x104218d4,
- 0x104298e4,
- 0x104318f8,
- 0x1043990e,
- 0x10441926,
- 0x1044993b,
- 0x1045194f,
- 0x10459961,
+ 0x104098a7,
+ 0x104118c5,
+ 0x104198d8,
+ 0x104218f2,
+ 0x10429902,
+ 0x10431916,
+ 0x1043992c,
+ 0x10441944,
+ 0x10449959,
+ 0x1045196d,
+ 0x1045997f,
0x10460635,
0x1046899a,
- 0x10471976,
- 0x1047998d,
- 0x104819a2,
- 0x104899b0,
+ 0x10471994,
+ 0x104799ab,
+ 0x104819c0,
+ 0x104899ce,
0x10490edf,
- 0x104997ea,
- 0x104a16b4,
+ 0x10499808,
+ 0x104a16d2,
0x14320c73,
0x14328c94,
0x14330ca3,
@@ -188,6 +188,7 @@
0x2438134e,
0x2438935b,
0x2439136e,
+ 0x24399385,
0x28320cd3,
0x28328ceb,
0x28330ca3,
@@ -197,51 +198,51 @@
0x283500f7,
0x28358c81,
0x2836099a,
- 0x2c3232d4,
- 0x2c329385,
- 0x2c3332e2,
- 0x2c33b2f4,
- 0x2c343308,
- 0x2c34b31a,
- 0x2c353335,
- 0x2c35b347,
- 0x2c363377,
+ 0x2c3232f2,
+ 0x2c3293a3,
+ 0x2c333300,
+ 0x2c33b312,
+ 0x2c343326,
+ 0x2c34b338,
+ 0x2c353353,
+ 0x2c35b365,
+ 0x2c363395,
0x2c36833a,
- 0x2c373384,
- 0x2c37b3b0,
- 0x2c3833ee,
- 0x2c38b405,
- 0x2c393423,
- 0x2c39b433,
- 0x2c3a3445,
- 0x2c3ab459,
- 0x2c3b346a,
- 0x2c3bb489,
- 0x2c3c1397,
- 0x2c3c93ad,
- 0x2c3d34ce,
- 0x2c3d93c6,
- 0x2c3e34f8,
- 0x2c3eb506,
- 0x2c3f351e,
- 0x2c3fb536,
- 0x2c403560,
+ 0x2c3733a2,
+ 0x2c37b3ce,
+ 0x2c38340c,
+ 0x2c38b423,
+ 0x2c393441,
+ 0x2c39b451,
+ 0x2c3a3463,
+ 0x2c3ab477,
+ 0x2c3b3488,
+ 0x2c3bb4a7,
+ 0x2c3c13b5,
+ 0x2c3c93cb,
+ 0x2c3d34ec,
+ 0x2c3d93e4,
+ 0x2c3e3516,
+ 0x2c3eb524,
+ 0x2c3f353c,
+ 0x2c3fb554,
+ 0x2c40357e,
0x2c409298,
- 0x2c413571,
- 0x2c41b584,
+ 0x2c41358f,
+ 0x2c41b5a2,
0x2c42125e,
- 0x2c42b595,
+ 0x2c42b5b3,
0x2c43076d,
- 0x2c43b47b,
- 0x2c4433c3,
- 0x2c44b543,
- 0x2c45335a,
- 0x2c45b396,
- 0x2c463413,
- 0x2c46b49d,
- 0x2c4734b2,
- 0x2c47b4eb,
- 0x2c4833d5,
+ 0x2c43b499,
+ 0x2c4433e1,
+ 0x2c44b561,
+ 0x2c453378,
+ 0x2c45b3b4,
+ 0x2c463431,
+ 0x2c46b4bb,
+ 0x2c4734d0,
+ 0x2c47b509,
+ 0x2c4833f3,
0x30320000,
0x30328015,
0x3033001f,
@@ -381,260 +382,260 @@
0x3c418dd3,
0x3c420edf,
0x3c428e69,
- 0x40321a1c,
- 0x40329a32,
- 0x40331a60,
- 0x40339a6a,
- 0x40341a81,
- 0x40349a9f,
- 0x40351aaf,
- 0x40359ac1,
- 0x40361ace,
- 0x40369ada,
- 0x40371aef,
- 0x40379b01,
- 0x40381b0c,
- 0x40389b1e,
+ 0x40321a3a,
+ 0x40329a50,
+ 0x40331a7e,
+ 0x40339a88,
+ 0x40341a9f,
+ 0x40349abd,
+ 0x40351acd,
+ 0x40359adf,
+ 0x40361aec,
+ 0x40369af8,
+ 0x40371b0d,
+ 0x40379b1f,
+ 0x40381b2a,
+ 0x40389b3c,
0x40390f93,
- 0x40399b2e,
- 0x403a1b41,
- 0x403a9b62,
- 0x403b1b73,
- 0x403b9b83,
+ 0x40399b4c,
+ 0x403a1b5f,
+ 0x403a9b80,
+ 0x403b1b91,
+ 0x403b9ba1,
0x403c0071,
0x403c8090,
- 0x403d1be4,
- 0x403d9bfa,
- 0x403e1c09,
- 0x403e9c41,
- 0x403f1c5b,
- 0x403f9c83,
- 0x40401c98,
- 0x40409cac,
- 0x40411ce7,
- 0x40419d02,
- 0x40421d1b,
- 0x40429d2e,
- 0x40431d42,
- 0x40439d70,
- 0x40441d87,
+ 0x403d1c02,
+ 0x403d9c18,
+ 0x403e1c27,
+ 0x403e9c5f,
+ 0x403f1c79,
+ 0x403f9ca1,
+ 0x40401cb6,
+ 0x40409cca,
+ 0x40411d05,
+ 0x40419d20,
+ 0x40421d39,
+ 0x40429d4c,
+ 0x40431d60,
+ 0x40439d8e,
+ 0x40441da5,
0x404480b9,
- 0x40451d9c,
- 0x40459dae,
- 0x40461dd2,
- 0x40469df2,
- 0x40471e00,
- 0x40479e27,
- 0x40481e98,
- 0x40489f52,
- 0x40491f69,
- 0x40499f83,
- 0x404a1f9a,
- 0x404a9fb8,
- 0x404b1fd0,
- 0x404b9ffd,
- 0x404c2013,
- 0x404ca025,
- 0x404d2046,
- 0x404da07f,
- 0x404e2093,
- 0x404ea0a0,
- 0x404f2151,
- 0x404fa1c7,
- 0x40502236,
- 0x4050a24a,
- 0x4051227d,
- 0x4052228d,
- 0x4052a2b1,
- 0x405322c9,
- 0x4053a2dc,
- 0x405422f1,
- 0x4054a314,
- 0x4055233f,
- 0x4055a37c,
- 0x405623a1,
- 0x4056a3ba,
- 0x405723d2,
- 0x4057a3e5,
- 0x405823fa,
- 0x4058a421,
- 0x40592450,
- 0x4059a47d,
- 0x405aa491,
- 0x405b24a9,
- 0x405ba4ba,
- 0x405c24cd,
- 0x405ca50c,
- 0x405d2519,
- 0x405da53e,
- 0x405e257c,
+ 0x40451dba,
+ 0x40459dcc,
+ 0x40461df0,
+ 0x40469e10,
+ 0x40471e1e,
+ 0x40479e45,
+ 0x40481eb6,
+ 0x40489f70,
+ 0x40491f87,
+ 0x40499fa1,
+ 0x404a1fb8,
+ 0x404a9fd6,
+ 0x404b1fee,
+ 0x404ba01b,
+ 0x404c2031,
+ 0x404ca043,
+ 0x404d2064,
+ 0x404da09d,
+ 0x404e20b1,
+ 0x404ea0be,
+ 0x404f216f,
+ 0x404fa1e5,
+ 0x40502254,
+ 0x4050a268,
+ 0x4051229b,
+ 0x405222ab,
+ 0x4052a2cf,
+ 0x405322e7,
+ 0x4053a2fa,
+ 0x4054230f,
+ 0x4054a332,
+ 0x4055235d,
+ 0x4055a39a,
+ 0x405623bf,
+ 0x4056a3d8,
+ 0x405723f0,
+ 0x4057a403,
+ 0x40582418,
+ 0x4058a43f,
+ 0x4059246e,
+ 0x4059a49b,
+ 0x405aa4af,
+ 0x405b24c7,
+ 0x405ba4d8,
+ 0x405c24eb,
+ 0x405ca52a,
+ 0x405d2537,
+ 0x405da55c,
+ 0x405e259a,
0x405e8afe,
- 0x405f259d,
- 0x405fa5aa,
- 0x406025b8,
- 0x4060a5da,
- 0x4061263b,
- 0x4061a673,
- 0x4062268a,
- 0x4062a69b,
- 0x406326e8,
- 0x4063a6fd,
- 0x40642714,
- 0x4064a740,
- 0x4065275b,
- 0x4065a772,
- 0x4066278a,
- 0x4066a7b4,
- 0x406727df,
- 0x4067a824,
- 0x4068286c,
- 0x4068a88d,
- 0x406928bf,
- 0x4069a8ed,
- 0x406a290e,
- 0x406aa92e,
- 0x406b2ab6,
- 0x406baad9,
- 0x406c2aef,
- 0x406cadf9,
- 0x406d2e28,
- 0x406dae50,
- 0x406e2e7e,
- 0x406eaecb,
- 0x406f2f24,
- 0x406faf5c,
- 0x40702f6f,
- 0x4070af8c,
+ 0x405f25bb,
+ 0x405fa5c8,
+ 0x406025d6,
+ 0x4060a5f8,
+ 0x40612659,
+ 0x4061a691,
+ 0x406226a8,
+ 0x4062a6b9,
+ 0x40632706,
+ 0x4063a71b,
+ 0x40642732,
+ 0x4064a75e,
+ 0x40652779,
+ 0x4065a790,
+ 0x406627a8,
+ 0x4066a7d2,
+ 0x406727fd,
+ 0x4067a842,
+ 0x4068288a,
+ 0x4068a8ab,
+ 0x406928dd,
+ 0x4069a90b,
+ 0x406a292c,
+ 0x406aa94c,
+ 0x406b2ad4,
+ 0x406baaf7,
+ 0x406c2b0d,
+ 0x406cae17,
+ 0x406d2e46,
+ 0x406dae6e,
+ 0x406e2e9c,
+ 0x406eaee9,
+ 0x406f2f42,
+ 0x406faf7a,
+ 0x40702f8d,
+ 0x4070afaa,
0x4071084d,
- 0x4071af9e,
- 0x40722fb1,
- 0x4072afe7,
- 0x40732fff,
- 0x407395af,
- 0x40743013,
- 0x4074b02d,
- 0x4075303e,
- 0x4075b052,
- 0x40763060,
+ 0x4071afbc,
+ 0x40722fcf,
+ 0x4072b005,
+ 0x4073301d,
+ 0x407395cd,
+ 0x40743031,
+ 0x4074b04b,
+ 0x4075305c,
+ 0x4075b070,
+ 0x4076307e,
0x4076935b,
- 0x40773085,
- 0x4077b0c5,
- 0x407830e0,
- 0x4078b119,
- 0x40793130,
- 0x4079b146,
- 0x407a3172,
- 0x407ab185,
- 0x407b319a,
- 0x407bb1ac,
- 0x407c31dd,
- 0x407cb1e6,
- 0x407d28a8,
- 0x407da1ef,
- 0x407e30f5,
- 0x407ea431,
- 0x407f1e14,
- 0x407f9fe7,
- 0x40802161,
- 0x40809e3c,
- 0x4081229f,
- 0x4081a0ee,
- 0x40822e69,
- 0x40829b8f,
- 0x4083240c,
- 0x4083a725,
- 0x40841e50,
- 0x4084a469,
- 0x408524de,
- 0x4085a602,
- 0x4086255e,
- 0x4086a209,
- 0x40872eaf,
- 0x4087a650,
- 0x40881bcd,
- 0x4088a837,
- 0x40891c1c,
- 0x40899ba9,
- 0x408a2b27,
- 0x408a99c7,
- 0x408b31c1,
- 0x408baf39,
- 0x408c24ee,
- 0x408d1f38,
- 0x408d9e82,
- 0x408e2068,
- 0x408ea35c,
- 0x408f284b,
- 0x408fa61e,
- 0x40902800,
- 0x4090a530,
- 0x40912b0f,
- 0x409199ff,
- 0x40921c69,
- 0x4092aeea,
- 0x40932fca,
- 0x4093a21a,
- 0x40941e64,
- 0x4094ab40,
- 0x409526ac,
- 0x4095b152,
- 0x40962e96,
- 0x4096a17a,
- 0x40972265,
- 0x4097a0b7,
- 0x40981cc9,
- 0x4098a6c0,
- 0x40992f06,
- 0x4099a389,
- 0x409a2322,
- 0x409a99e3,
- 0x409b1ebe,
- 0x409b9ee9,
- 0x409c30a7,
- 0x409c9f11,
- 0x409d2136,
- 0x409da104,
- 0x409e1d5a,
- 0x409ea1af,
- 0x409f2197,
- 0x409f9eb1,
- 0x40a021d7,
- 0x40a0a0d1,
- 0x40a1211f,
- 0x41f429e1,
- 0x41f92a73,
- 0x41fe2966,
- 0x41feac1c,
- 0x41ff2d4a,
- 0x420329fa,
- 0x42082a1c,
- 0x4208aa58,
- 0x4209294a,
- 0x4209aa92,
- 0x420a29a1,
- 0x420aa981,
- 0x420b29c1,
- 0x420baa3a,
- 0x420c2d66,
- 0x420cab50,
- 0x420d2c03,
- 0x420dac3a,
- 0x42122c6d,
- 0x42172d2d,
- 0x4217acaf,
- 0x421c2cd1,
- 0x421f2c8c,
- 0x42212dde,
- 0x42262d10,
- 0x422b2dbc,
- 0x422babde,
- 0x422c2d9e,
- 0x422cab91,
- 0x422d2b6a,
- 0x422dad7d,
- 0x422e2bbd,
- 0x42302cec,
- 0x4230ac54,
+ 0x407730a3,
+ 0x4077b0e3,
+ 0x407830fe,
+ 0x4078b137,
+ 0x4079314e,
+ 0x4079b164,
+ 0x407a3190,
+ 0x407ab1a3,
+ 0x407b31b8,
+ 0x407bb1ca,
+ 0x407c31fb,
+ 0x407cb204,
+ 0x407d28c6,
+ 0x407da20d,
+ 0x407e3113,
+ 0x407ea44f,
+ 0x407f1e32,
+ 0x407fa005,
+ 0x4080217f,
+ 0x40809e5a,
+ 0x408122bd,
+ 0x4081a10c,
+ 0x40822e87,
+ 0x40829bad,
+ 0x4083242a,
+ 0x4083a743,
+ 0x40841e6e,
+ 0x4084a487,
+ 0x408524fc,
+ 0x4085a620,
+ 0x4086257c,
+ 0x4086a227,
+ 0x40872ecd,
+ 0x4087a66e,
+ 0x40881beb,
+ 0x4088a855,
+ 0x40891c3a,
+ 0x40899bc7,
+ 0x408a2b45,
+ 0x408a99e5,
+ 0x408b31df,
+ 0x408baf57,
+ 0x408c250c,
+ 0x408d1f56,
+ 0x408d9ea0,
+ 0x408e2086,
+ 0x408ea37a,
+ 0x408f2869,
+ 0x408fa63c,
+ 0x4090281e,
+ 0x4090a54e,
+ 0x40912b2d,
+ 0x40919a1d,
+ 0x40921c87,
+ 0x4092af08,
+ 0x40932fe8,
+ 0x4093a238,
+ 0x40941e82,
+ 0x4094ab5e,
+ 0x409526ca,
+ 0x4095b170,
+ 0x40962eb4,
+ 0x4096a198,
+ 0x40972283,
+ 0x4097a0d5,
+ 0x40981ce7,
+ 0x4098a6de,
+ 0x40992f24,
+ 0x4099a3a7,
+ 0x409a2340,
+ 0x409a9a01,
+ 0x409b1edc,
+ 0x409b9f07,
+ 0x409c30c5,
+ 0x409c9f2f,
+ 0x409d2154,
+ 0x409da122,
+ 0x409e1d78,
+ 0x409ea1cd,
+ 0x409f21b5,
+ 0x409f9ecf,
+ 0x40a021f5,
+ 0x40a0a0ef,
+ 0x40a1213d,
+ 0x41f429ff,
+ 0x41f92a91,
+ 0x41fe2984,
+ 0x41feac3a,
+ 0x41ff2d68,
+ 0x42032a18,
+ 0x42082a3a,
+ 0x4208aa76,
+ 0x42092968,
+ 0x4209aab0,
+ 0x420a29bf,
+ 0x420aa99f,
+ 0x420b29df,
+ 0x420baa58,
+ 0x420c2d84,
+ 0x420cab6e,
+ 0x420d2c21,
+ 0x420dac58,
+ 0x42122c8b,
+ 0x42172d4b,
+ 0x4217accd,
+ 0x421c2cef,
+ 0x421f2caa,
+ 0x42212dfc,
+ 0x42262d2e,
+ 0x422b2dda,
+ 0x422babfc,
+ 0x422c2dbc,
+ 0x422cabaf,
+ 0x422d2b88,
+ 0x422dad9b,
+ 0x422e2bdb,
+ 0x42302d0a,
+ 0x4230ac72,
0x44320778,
0x44328787,
0x44330793,
@@ -652,109 +653,109 @@
0x4439084d,
0x4439885b,
0x443a086e,
- 0x48321385,
- 0x48329397,
- 0x483313ad,
- 0x483393c6,
- 0x4c321403,
- 0x4c329413,
- 0x4c331426,
- 0x4c339446,
+ 0x483213a3,
+ 0x483293b5,
+ 0x483313cb,
+ 0x483393e4,
+ 0x4c321421,
+ 0x4c329431,
+ 0x4c331444,
+ 0x4c339464,
0x4c3400b9,
0x4c3480f7,
- 0x4c351452,
- 0x4c359460,
- 0x4c36147c,
- 0x4c3694a2,
- 0x4c3714b1,
- 0x4c3794bf,
- 0x4c3814d4,
- 0x4c3894e0,
- 0x4c391500,
- 0x4c39952a,
- 0x4c3a1543,
- 0x4c3a955c,
+ 0x4c351470,
+ 0x4c35947e,
+ 0x4c36149a,
+ 0x4c3694c0,
+ 0x4c3714cf,
+ 0x4c3794dd,
+ 0x4c3814f2,
+ 0x4c3894fe,
+ 0x4c39151e,
+ 0x4c399548,
+ 0x4c3a1561,
+ 0x4c3a957a,
0x4c3b0635,
- 0x4c3b9575,
- 0x4c3c1587,
- 0x4c3c9596,
- 0x4c3d15af,
+ 0x4c3b9593,
+ 0x4c3c15a5,
+ 0x4c3c95b4,
+ 0x4c3d15cd,
0x4c3d8cc6,
- 0x4c3e161c,
- 0x4c3e95be,
- 0x4c3f163e,
+ 0x4c3e163a,
+ 0x4c3e95dc,
+ 0x4c3f165c,
0x4c3f935b,
- 0x4c4015d4,
- 0x4c4093ef,
- 0x4c41160c,
- 0x4c41948f,
- 0x4c4215f8,
- 0x4c4293d7,
- 0x503235a7,
- 0x5032b5b6,
- 0x503335c1,
- 0x5033b5d1,
- 0x503435ea,
- 0x5034b604,
- 0x50353612,
- 0x5035b628,
- 0x5036363a,
- 0x5036b650,
- 0x50373669,
- 0x5037b67c,
- 0x50383694,
- 0x5038b6a5,
- 0x503936ba,
- 0x5039b6ce,
- 0x503a36ee,
- 0x503ab704,
- 0x503b371c,
- 0x503bb72e,
- 0x503c374a,
- 0x503cb761,
- 0x503d377a,
- 0x503db790,
- 0x503e379d,
- 0x503eb7b3,
- 0x503f37c5,
+ 0x4c4015f2,
+ 0x4c40940d,
+ 0x4c41162a,
+ 0x4c4194ad,
+ 0x4c421616,
+ 0x4c4293f5,
+ 0x503235c5,
+ 0x5032b5d4,
+ 0x503335df,
+ 0x5033b5ef,
+ 0x50343608,
+ 0x5034b622,
+ 0x50353630,
+ 0x5035b646,
+ 0x50363658,
+ 0x5036b66e,
+ 0x50373687,
+ 0x5037b69a,
+ 0x503836b2,
+ 0x5038b6c3,
+ 0x503936d8,
+ 0x5039b6ec,
+ 0x503a370c,
+ 0x503ab722,
+ 0x503b373a,
+ 0x503bb74c,
+ 0x503c3768,
+ 0x503cb77f,
+ 0x503d3798,
+ 0x503db7ae,
+ 0x503e37bb,
+ 0x503eb7d1,
+ 0x503f37e3,
0x503f83b3,
- 0x504037d8,
- 0x5040b7e8,
- 0x50413802,
- 0x5041b811,
- 0x5042382b,
- 0x5042b848,
- 0x50433858,
- 0x5043b868,
- 0x50443885,
+ 0x504037f6,
+ 0x5040b806,
+ 0x50413820,
+ 0x5041b82f,
+ 0x50423849,
+ 0x5042b866,
+ 0x50433876,
+ 0x5043b886,
+ 0x504438a3,
0x50448469,
- 0x50453899,
- 0x5045b8b7,
- 0x504638ca,
- 0x5046b8e0,
- 0x504738f2,
- 0x5047b907,
- 0x5048392d,
- 0x5048b93b,
- 0x5049394e,
- 0x5049b963,
- 0x504a3979,
- 0x504ab989,
- 0x504b39a9,
- 0x504bb9bc,
- 0x504c39df,
- 0x504cba0d,
- 0x504d3a3a,
- 0x504dba57,
- 0x504e3a72,
- 0x504eba8e,
- 0x504f3aa0,
- 0x504fbab7,
- 0x50503ac6,
+ 0x504538b7,
+ 0x5045b8d5,
+ 0x504638e8,
+ 0x5046b8fe,
+ 0x50473910,
+ 0x5047b925,
+ 0x5048394b,
+ 0x5048b959,
+ 0x5049396c,
+ 0x5049b981,
+ 0x504a3997,
+ 0x504ab9a7,
+ 0x504b39c7,
+ 0x504bb9da,
+ 0x504c39fd,
+ 0x504cba2b,
+ 0x504d3a58,
+ 0x504dba75,
+ 0x504e3a90,
+ 0x504ebaac,
+ 0x504f3abe,
+ 0x504fbad5,
+ 0x50503ae4,
0x50508729,
- 0x50513ad9,
- 0x5051b877,
- 0x50523a1f,
+ 0x50513af7,
+ 0x5051b895,
+ 0x50523a3d,
0x58320fd1,
0x68320f93,
0x68328ceb,
@@ -797,21 +798,21 @@
0x783e0aed,
0x783e8a9f,
0x7c321274,
- 0x803214a2,
+ 0x803214c0,
0x80328090,
- 0x803332a3,
+ 0x803332c1,
0x803380b9,
- 0x803432b2,
- 0x8034b21a,
- 0x80353238,
- 0x8035b2c6,
- 0x8036327a,
- 0x8036b229,
- 0x8037326c,
- 0x8037b207,
- 0x8038328d,
- 0x8038b249,
- 0x8039325e,
+ 0x803432d0,
+ 0x8034b238,
+ 0x80353256,
+ 0x8035b2e4,
+ 0x80363298,
+ 0x8036b247,
+ 0x8037328a,
+ 0x8037b225,
+ 0x803832ab,
+ 0x8038b267,
+ 0x8039327c,
};
extern const size_t kOpenSSLReasonValuesLen;
@@ -1080,6 +1081,7 @@
"SHORT_HEADER\0"
"UNSUPPORTED_CIPHER\0"
"UNSUPPORTED_ENCRYPTION\0"
+ "UNSUPPORTED_PROC_TYPE_VERSION\0"
"BAD_PKCS7_VERSION\0"
"NOT_PKCS7_SIGNED_DATA\0"
"NO_CERTIFICATES_INCLUDED\0"
diff --git a/include/openssl/pem.h b/include/openssl/pem.h
index 797e7f0..28bf3f2 100644
--- a/include/openssl/pem.h
+++ b/include/openssl/pem.h
@@ -443,5 +443,6 @@
#define PEM_R_SHORT_HEADER 112
#define PEM_R_UNSUPPORTED_CIPHER 113
#define PEM_R_UNSUPPORTED_ENCRYPTION 114
+#define PEM_R_UNSUPPORTED_PROC_TYPE_VERSION 115
#endif // OPENSSL_HEADER_PEM_H