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