diff --git a/crypto/openssl/CHANGES.md b/crypto/openssl/CHANGES.md
index 380840deb71..c1c29eb55f0 100644
--- a/crypto/openssl/CHANGES.md
+++ b/crypto/openssl/CHANGES.md
@@ -28,6 +28,303 @@ OpenSSL Releases
OpenSSL 3.5
-----------
+### Changes between 3.5.6 and 3.5.7 [9 Jun 2026]
+
+ * Fixed heap use-after-free in `PKCS7_verify()`.
+
+ Severity: High
+
+ Issue summary: A specially crafted PKCS#7 or S/MIME signed message could
+ trigger a use-after-free during PKCS#7 signature verification.
+
+ Impact summary: A use-after-free may result in process crashes, heap
+ corruption, or, potentially, remote code execution.
+
+ Reported by: Thai Duong (Calif.io in collaboration with Claude
+ and Anthropic Research).
+
+ ([CVE-2026-45447])
+
+ *Igor Ustinov*
+
+ * Fixed CMS `AuthEnvelopedData` processing may accept forged messages.
+
+ Severity: Moderate
+
+ Issue Summary: Cryptographic Message Services (CMS) processing fails
+ to perform sufficient input validation on the cipher and tag length fields
+ of `AuthEnvelopedData` containers, leading to various potential compromises.
+
+ Impact Summary: Attackers making use of these vulnerabilities may achieve
+ key-equivalent functionality for a given CMS recipient and/or bypass
+ integrity validation for a given message.
+
+ Reported by: Asim Viladi Oglu Manizada, Alex Gaynor (Anthropic),
+ Ying Dong, and Haiyang Huang.
+
+ ([CVE-2026-34182])
+
+ *Neil Horman*
+
+ * Fixed unbounded memory growth in the QUIC `PATH_CHALLENGE` handler.
+
+ Severity: Moderate
+
+ Issue summary: Remote peer may exhaust heap memory of the QUIC server
+ or client by flooding it with packets containing `PATH_CHALLENGE` frames.
+
+ Impact summary: A malicious remote peer can cause an unbounded memory
+ allocation which can lead to an abnormal termination of the application
+ acting as a QUIC client or server and a Denial of Service.
+
+ Reported by: Abhinav Agarwal.
+
+ ([CVE-2026-34183])
+
+ *Abhinav Agarwal and Alexandr Nedvedicky*
+
+ * Fixed NULL pointer dereference in QUIC server initial packet handling.
+
+ Severity: Moderate
+
+ Issue summary: Receiving a QUIC initial packet with an invalid token
+ may trigger a NULL pointer dereference in the OpenSSL QUIC server
+ with address validation disabled.
+
+ Impact summary: NULL pointer dereference typically causes abnormal
+ termination of the affected QUIC server process and a Denial of Service.
+
+ Reported by: Sunwoo Lee (KENTECH), Hyuk Lim (KENTECH),
+ and Seunghyun Yoon (KENTECH).
+
+ ([CVE-2026-42764])
+
+ *Sunwoo Lee (KENTECH), Hyuk Lim (KENTECH), and Seunghyun Yoon (KENTECH)*
+
+ * Fixed AES-OCB IV ignored on `EVP_Cipher()` path.
+
+ Severity: Moderate
+
+ Issue summary: When an application drives an AES-OCB context through
+ the public `EVP_Cipher()` one-shot interface, the application-supplied
+ initialisation vector (IV) is silently discarded.
+
+ Impact summary: Every message encrypted under the same key uses the same
+ effective nonce regardless of the IV supplied by the caller, resulting
+ in `(key, nonce)` reuse and loss of confidentiality. If the same code path
+ is used to compute the authentication tag, the tag depends only
+ on the `(key, IV)` pair and not on the plaintext or ciphertext, allowing
+ universal forgery of arbitrary ciphertext from a single captured message.
+
+ Reported by: Alex Gaynor (Anthropic).
+
+ ([CVE-2026-45445])
+
+ *Viktor Dukhovni*
+
+ * Fixed possible heap buffer overflow in ASN.1 multibyte string conversion.
+
+ Severity: Low
+
+ Issue summary: A signed integer overflow when sizing the destination
+ buffer for Unicode output in `ASN1_mbstring_ncopy()` can lead to a heap
+ buffer overflow.
+
+ Impact summary: A heap buffer overflow may lead to a crash or possibly
+ attacker controlled code execution or other undefined behaviour.
+
+ Reported by: Zehua Qiao and Jinwen He.
+
+ ([CVE-2026-7383])
+
+ *Viktor Dukhovni*
+
+ * Fixed out-of-bounds read in CMS password-based decryption.
+
+ Severity: Low
+
+ Issue summary: When CMS password-based decryption ([RFC 3211]/PWRI key
+ unwrap) processes attacker-supplied CMS data, an attacker-chosen stream-mode
+ KEK cipher can trigger a heap out-of-bounds read in `kek_unwrap_key()`.
+
+ Impact summary: A heap buffer over-read may trigger a crash, which leads
+ to Denial of Service for an application if the input buffer ends at a memory
+ page boundary and the following page is unmapped. There is no information
+ disclosure, as the over-read bytes are not revealed to the attacker.
+
+ Reported by: Bhabani Sankar Das and Haruki Oyama (Waseda University).
+
+ ([CVE-2026-9076])
+
+ *Nikola Pajkovský*
+
+ * Fixed heap buffer over-read in ASN.1 content parsing.
+
+ Severity: Low
+
+ Issue summary: Parsing a crafted DER-encoded ASN.1 structure with a primitive
+ element whose content exceeds 2 gigabytes in length may cause a heap buffer
+ over-read on 64-bit Unix and Unix-like platforms.
+
+ Impact summary: The heap buffer over-read may crash the application (Denial
+ of Service) or to load into the decoded ASN.1 object contents of memory
+ beyond the end of the input buffer. More typically, such ASN.1 elements
+ would instead be truncated.
+
+ Reported by: Frank Buss.
+
+ ([CVE-2026-34180])
+
+ *Viktor Dukhovni*
+
+ * Fixed PKCS#12 files with PBMAC1 are accepted with short HMAC keys.
+
+ Severity: Low
+
+ Issue Summary: The PKCS#12 file processing fails to perform sufficient input
+ validation for files that use Password-Based Message Authentication Code 1
+ (PBMAC1) integrity mechanism allowing a certificate and private key forgery.
+
+ Impact Summary: An attacker impersonating a user can cause a service reading
+ PKCS#12 files to accept forged certificates and private keys with a 1 in 256
+ probability.
+
+ Reported by: Pavol Žáčik (Red Hat) and Alex Gaynor (Anthropic).
+
+ ([CVE-2026-34181])
+
+ *Alicja Kario (Red Hat)*
+
+ * Fixed possible NULL dereference in password-dased CMS decryption.
+
+ Severity: Low
+
+ Issue summary: A specially crafted password-encrypted CMS message
+ could trigger a NULL pointer dereference during CMS decryption.
+
+ Impact summary: This NULL pointer dereference could lead to an application
+ crash and a Denial of Service.
+
+ Reported by: Mayank Jangid, Kushal Khemka, Hari Priandana,
+ Bhabani Sankar Das, and Qifan Zhang (Palo Alto Networks).
+
+ ([CVE-2026-42766])
+
+ *Igor Ustinov*
+
+ * Fixed NULL pointer dereference in CRMF `EncryptedValue` decryption.
+
+ Severity: Low
+
+ Issue summary: An attacker-controlled CMP (Certificate Management Protocol)
+ server could trigger a NULL pointer dereference in a CMP client application.
+
+ Impact summary: A NULL pointer dereference could cause a crash
+ of the application and a Denial of Service.
+
+ Reported by: Zhanpeng Liu (Tencent Xuanwu Lab),
+ Guannan Wang (Tencent Xuanwu Lab), and Guancheng Li (Tencent Xuanwu Lab).
+
+ ([CVE-2026-42767])
+
+ *Igor Ustinov*
+
+ * Fixed multi-`RecipientInfo` Bleichenbacher Oracle in `CMS_decrypt()`
+ and `PKCS7_decrypt()`.
+
+ Severity: Low
+
+ Issue summary: The `CMS_decrypt()` and `PKCS7_decrypt()` functions
+ are vulnerable to Bleichenbacher-style attack when an attacker is able
+ to provide CMS or S/MIME messages and observe the error code
+ and/or decryption output.
+
+ Impact summary: The Bleichenbacher-style attack allows an attacker to use
+ the victim's vulnerable application as a way to decrypt or sign messages
+ with the victim's private RSA key.
+
+ Reported by: Alex Gaynor (Anthropic).
+
+ ([CVE-2026-42768])
+
+ *Dmitry Belyavskiy (Red Hat) and Alicja Kario (Red Hat)*
+
+ * Fixed trust anchor substitution via `cert`/`issuer` typo in CMP
+ `rootCaKeyUpdate`.
+
+ Severity: Low
+
+ Issue Summary: An error in the callback used to verify the certificate
+ provided in a Root CA key update Certificate Management Protocol (CMP)
+ message response rendered the certificate validation ineffectual,
+ which could lead to escalation of credentials from the Registration
+ Authority (RA) level to the root Certification Authority (root CA) level.
+
+ Impact Summary: The Registration Authority could replace the root CA
+ certificate for the CMP clients with an arbitrary root CA certificate.
+
+ Reported by: Alex Gaynor (Anthropic).
+
+ ([CVE-2026-42769])
+
+ *Alex Gaynor (Anthropic) and Bob Beck*
+
+ * Fixed FFC-DH peer validation uses attacker-supplied `q`.
+
+ Severity: Low
+
+ Issue summary: When `EVP_PKEY_derive_set_peer()` is called with a DHX (X9.42)
+ peer key, the peer key is not properly checked for the subgroup membership.
+
+ Impact summary: A malicious peer which presents an X9.42 key carrying
+ the victim's `p` and `g` parameters, a forged `q = r` (a small prime factor
+ of the cofactor `(p − 1)/q_local`), and a public value `Y` of order `r` can
+ recover the victim's private key after a small number of key exchange
+ attempts.
+
+ Reported by: Alex Gaynor (Anthropic).
+
+ ([CVE-2026-42770])
+
+ *Alex Gaynor (Anthropic), Viktor Dukhovni, and Norbert Pócs*
+
+ * Fixed incorrect tag processing for empty messages in AES-GCM-SIV
+ and AES-SIV modes.
+
+ Severity: Low
+
+ Issue summary: The implementations of AES-SIV ([RFC 5297]) and AES-GCM-SIV
+ ([RFC 8452]) mishandle the authentication of AAD (Additional Authenticated
+ Data) with an empty ciphertext, allowing forgery of such messages.
+
+ Impact summary: An attacker can forge empty messages with arbitrary AAD
+ to the victim's application using these ciphers.
+
+ Reported by: Alex Gaynor (Anthropic).
+
+ ([CVE-2026-45446])
+
+ *Dmitry Belyavskiy (Red Hat)*
+
+ * Fixed TLS 1.3 server not sending `NewSessionTicket` message
+ after ciphersuite mismatch.
+
+
+ *Daniel Kubec*
+
+ * Implemented validation of the minimal length of PSK identity
+ being of at least one byte long, as required per [RFC 8446].
+
+
+ *Matt Caswell*
+
+ * Fixed usage of stale application buffer pointer by kTLS implementation
+ after incomplete writes when `SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER` is set,
+ that led to invalid memory reads and sending of incorrect data.
+
+
+ *Ilya Maximets*
+
### Changes between 3.5.5 and 3.5.6 [7 Apr 2026]
* Fixed incorrect failure handling in RSA KEM RSASVE encapsulation.
@@ -21961,6 +22258,8 @@ ndif
[CVE-2025-69420]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-69420
[CVE-2025-69421]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-69421
[CVE-2026-2673]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-2673
+[CVE-2026-7383]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-7383
+[CVE-2026-9076]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-9076
[CVE-2026-22795]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-22795
[CVE-2026-22796]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-22796
[CVE-2026-28387]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-28387
@@ -21969,5 +22268,22 @@ ndif
[CVE-2026-28390]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-28390
[CVE-2026-31789]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-31789
[CVE-2026-31790]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-31790
+[CVE-2026-34180]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34180
+[CVE-2026-34181]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34181
+[CVE-2026-34182]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34182
+[CVE-2026-34183]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34183
+[CVE-2026-42764]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42764
+[CVE-2026-42766]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42766
+[CVE-2026-42767]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42767
+[CVE-2026-42768]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42768
+[CVE-2026-42769]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42769
+[CVE-2026-42770]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42770
+[CVE-2026-45445]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-45445
+[CVE-2026-45446]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-45446
+[CVE-2026-45447]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-45447
[ESV]: https://csrc.nist.gov/Projects/cryptographic-module-validation-program/entropy-validations
[RFC 2578 (STD 58), section 3.5]: https://datatracker.ietf.org/doc/html/rfc2578#section-3.5
+[RFC 3211]: https://datatracker.ietf.org/doc/html/rfc3211
+[RFC 5297]: https://datatracker.ietf.org/doc/html/rfc5297
+[RFC 8446]: https://datatracker.ietf.org/doc/html/rfc8446
+[RFC 8452]: https://datatracker.ietf.org/doc/html/rfc8452
diff --git a/crypto/openssl/Configurations/README.md b/crypto/openssl/Configurations/README.md
index 83bcc960626..b07e7582964 100644
--- a/crypto/openssl/Configurations/README.md
+++ b/crypto/openssl/Configurations/README.md
@@ -502,7 +502,7 @@ The build-file template is processed with the perl module
Text::Template, using `{-` and `-}` as delimiters that enclose the
perl code fragments that generate configuration-dependent content.
Those perl fragments have access to all the hash variables from
-configdata.pem.
+configdata.pm.
The build-file template is expected to define at least the following
perl functions in a perl code fragment enclosed with `{-` and `-}`.
diff --git a/crypto/openssl/Configure b/crypto/openssl/Configure
index 499585438a1..1b020faadb0 100755
--- a/crypto/openssl/Configure
+++ b/crypto/openssl/Configure
@@ -1,6 +1,6 @@
#! /usr/bin/env perl
# -*- mode: perl; -*-
-# Copyright 2016-2025 The OpenSSL Project Authors. All Rights Reserved.
+# Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License 2.0 (the "License"). You may not use
# this file except in compliance with the License. You can obtain a copy
@@ -221,16 +221,9 @@ our $BSDthreads="-pthread -D_THREAD_SAFE -D_REENTRANT";
#
# API compatibility name to version number mapping.
#
+
+# This table expresses when API additions or changes can occur
my $apitable = {
- # This table expresses when API additions or changes can occur.
- # The numbering used changes from 3.0 and on because we updated
- # (solidified) our version numbering scheme at that point.
-
- # From 3.0 and on, we internalise the given version number in decimal
- # as MAJOR * 10000 + MINOR * 100 + 0
- "3.0.0" => 30000,
- "3.0" => 30000,
-
# Note that before 3.0, we didn't have the same version number scheme.
# Still, the numbering we use here covers what we need.
"1.1.1" => 10101,
@@ -241,6 +234,18 @@ my $apitable = {
"0.9.8" => 908,
};
+# From 3.0 and on, we internalise the given version number in decimal
+# as MAJOR * 10000 + MINOR * 100 + 0
+my @post30_versions = ([3, 0], [3, 1], [3, 2], [3, 3], [3, 4], [3, 5],
+ );
+
+# The numbering used changes from 3.0 and on because we updated
+# (solidified) our version numbering scheme at that point.
+foreach (@post30_versions) {
+ my ($x, $y) = @{$_};
+ $apitable->{"$x.$y.0"} = $apitable->{"$x.$y"} = $x * 10000 + $y * 100;
+}
+
# For OpenSSL::config::get_platform
my %guess_opts = ();
diff --git a/crypto/openssl/NEWS.md b/crypto/openssl/NEWS.md
index 07f78ae2af1..04d0bd72c7f 100644
--- a/crypto/openssl/NEWS.md
+++ b/crypto/openssl/NEWS.md
@@ -23,10 +23,65 @@ OpenSSL Releases
OpenSSL 3.5
-----------
+### Major changes between OpenSSL 3.5.6 and OpenSSL 3.5.7 [9 Jun 2026]
+
+OpenSSL 3.5.7 is a security patch release. The most severe CVE fixed
+in this release is High.
+
+This release incorporates the following bug fixes and mitigations:
+
+ * Fixed heap use-after-free in `PKCS7_verify()`.
+ ([CVE-2026-45447])
+
+ * Fixed CMS `AuthEnvelopedData` processing may accept forged messages.
+ ([CVE-2026-34182])
+
+ * Fixed unbounded memory growth in the QUIC `PATH_CHALLENGE` handler.
+ ([CVE-2026-34183])
+
+ * Fixed NULL pointer dereference in QUIC server initial packet handling.
+ ([CVE-2026-42764])
+
+ * Fixed AES-OCB IV ignored on `EVP_Cipher()` path.
+ ([CVE-2026-45445])
+
+ * Fixed possible heap buffer overflow in ASN.1 multibyte string conversion.
+ ([CVE-2026-7383])
+
+ * Fixed out-of-bounds read in CMS password-based decryption.
+ ([CVE-2026-9076])
+
+ * Fixed heap buffer over-read in ASN.1 content parsing.
+ ([CVE-2026-34180])
+
+ * Fixed PKCS#12 files with PBMAC1 are accepted with short HMAC keys.
+ ([CVE-2026-34181])
+
+ * Fixed possible NULL dereference in password-dased CMS decryption.
+ ([CVE-2026-42766])
+
+ * Fixed NULL pointer dereference in CRMF `EncryptedValue` decryption.
+ ([CVE-2026-42767])
+
+ * Fixed multi-`RecipientInfo` Bleichenbacher Oracle in `CMS_decrypt()`
+ and `PKCS7_decrypt()`.
+ ([CVE-2026-42768])
+
+ * Fixed trust anchor substitution via `cert`/`issuer` typo in CMP
+ `rootCaKeyUpdate`.
+ ([CVE-2026-42769])
+
+ * Fixed FFC-DH peer validation uses attacker-supplied `q`.
+ ([CVE-2026-42770])
+
+ * Fixed incorrect tag processing for empty messages in AES-GCM-SIV
+ and AES-SIV modes.
+ ([CVE-2026-45446])
+
### Major changes between OpenSSL 3.5.5 and OpenSSL 3.5.6 [7 Apr 2026]
OpenSSL 3.5.6 is a security patch release. The most severe CVE fixed in this
-release is Medium.
+release is Moderate.
This release incorporates the following bug fixes and mitigations:
@@ -2210,6 +2265,8 @@ OpenSSL 0.9.x
[CVE-2025-69420]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-69420
[CVE-2025-69421]: https://openssl-library.org/news/vulnerabilities/#CVE-2025-69421
[CVE-2026-2673]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-2673
+[CVE-2026-7383]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-7383
+[CVE-2026-9076]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-9076
[CVE-2026-22795]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-22795
[CVE-2026-22796]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-22796
[CVE-2026-28387]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-28387
@@ -2218,6 +2275,19 @@ OpenSSL 0.9.x
[CVE-2026-28390]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-28390
[CVE-2026-31789]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-31789
[CVE-2026-31790]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-31790
+[CVE-2026-34180]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34180
+[CVE-2026-34181]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34181
+[CVE-2026-34182]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34182
+[CVE-2026-34183]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-34183
+[CVE-2026-42764]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42764
+[CVE-2026-42766]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42766
+[CVE-2026-42767]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42767
+[CVE-2026-42768]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42768
+[CVE-2026-42769]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42769
+[CVE-2026-42770]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-42770
+[CVE-2026-45445]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-45445
+[CVE-2026-45446]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-45446
+[CVE-2026-45447]: https://openssl-library.org/news/vulnerabilities/#CVE-2026-45447
[ESV]: https://csrc.nist.gov/Projects/cryptographic-module-validation-program/entropy-validations
[OpenSSL Guide]: https://www.openssl.org/docs/manmaster/man7/ossl-guide-introduction.html
[README-QUIC.md]: ./README-QUIC.md
diff --git a/crypto/openssl/VERSION.dat b/crypto/openssl/VERSION.dat
index d3c75677c46..a297eee91e1 100644
--- a/crypto/openssl/VERSION.dat
+++ b/crypto/openssl/VERSION.dat
@@ -1,7 +1,7 @@
MAJOR=3
MINOR=5
-PATCH=6
+PATCH=7
PRE_RELEASE_TAG=
BUILD_METADATA=
-RELEASE_DATE="7 Apr 2026"
+RELEASE_DATE="9 Jun 2026"
SHLIB_VERSION=3
diff --git a/crypto/openssl/apps/enc.c b/crypto/openssl/apps/enc.c
index 2dd83935823..1b186cd245c 100644
--- a/crypto/openssl/apps/enc.c
+++ b/crypto/openssl/apps/enc.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -716,7 +716,7 @@ int enc_main(int argc, char **argv)
skey = EVP_SKEY_import(app_get0_libctx(), EVP_SKEYMGMT_get0_name(mgmt),
app_get0_propq(), OSSL_SKEYMGMT_SELECT_ALL, params);
- OSSL_PARAM_free(params);
+ app_params_free(params);
if (skey == NULL) {
BIO_printf(bio_err, "Error creating opaque key object for skeymgmt %s\n",
skeymgmt ? skeymgmt : EVP_CIPHER_name(cipher));
diff --git a/crypto/openssl/apps/lib/apps.c b/crypto/openssl/apps/lib/apps.c
index bc2e1c123a7..e5a2b162b4e 100644
--- a/crypto/openssl/apps/lib/apps.c
+++ b/crypto/openssl/apps/lib/apps.c
@@ -1057,9 +1057,12 @@ int load_key_certs_crls(const char *uri, int format, int maybe_stdin,
if (ok)
pcert = NULL;
} else if (pcerts != NULL) {
- ok = X509_add_cert(*pcerts,
- OSSL_STORE_INFO_get1_CERT(info),
- X509_ADD_FLAG_DEFAULT);
+ X509 *cert = OSSL_STORE_INFO_get1_CERT(info);
+
+ ok = cert != NULL
+ && X509_add_cert(*pcerts, cert, X509_ADD_FLAG_DEFAULT);
+ if (!ok)
+ X509_free(cert);
}
ncerts += ok;
break;
@@ -1069,7 +1072,11 @@ int load_key_certs_crls(const char *uri, int format, int maybe_stdin,
if (ok)
pcrl = NULL;
} else if (pcrls != NULL) {
- ok = sk_X509_CRL_push(*pcrls, OSSL_STORE_INFO_get1_CRL(info));
+ X509_CRL *crl = OSSL_STORE_INFO_get1_CRL(info);
+
+ ok = crl != NULL && sk_X509_CRL_push(*pcrls, crl);
+ if (!ok)
+ X509_CRL_free(crl);
}
ncrls += ok;
break;
diff --git a/crypto/openssl/apps/lib/cmp_mock_srv.c b/crypto/openssl/apps/lib/cmp_mock_srv.c
index cf21e827788..09b69ff4cf5 100644
--- a/crypto/openssl/apps/lib/cmp_mock_srv.c
+++ b/crypto/openssl/apps/lib/cmp_mock_srv.c
@@ -345,6 +345,7 @@ static OSSL_CMP_PKISI *process_cert_request(OSSL_CMP_SRV_CTX *srv_ctx,
STACK_OF(ASN1_UTF8STRING) *strs;
ASN1_UTF8STRING *str;
const char *data;
+ int len;
if (OBJ_obj2nid(obj) == NID_id_it_certProfile) {
if (!OSSL_CMP_ITAV_get0_certProfile(itav, &strs))
@@ -359,7 +360,8 @@ static OSSL_CMP_PKISI *process_cert_request(OSSL_CMP_SRV_CTX *srv_ctx,
ERR_raise(ERR_LIB_CMP, ERR_R_PASSED_INVALID_ARGUMENT);
return NULL;
}
- if (strcmp(data, "profile1") != 0) {
+ if (((len = ASN1_STRING_length(str)) != (int)sizeof("profile1") - 1)
+ || memcmp(data, "profile1", len) != 0) {
ERR_raise(ERR_LIB_CMP, CMP_R_UNEXPECTED_CERTPROFILE);
return NULL;
}
diff --git a/crypto/openssl/apps/list.c b/crypto/openssl/apps/list.c
index 757400b3621..faf92306052 100644
--- a/crypto/openssl/apps/list.c
+++ b/crypto/openssl/apps/list.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -1490,6 +1490,9 @@ static void list_disabled(void)
#ifdef OPENSSL_NO_DSA
BIO_puts(bio_out, "DSA\n");
#endif
+#ifdef OPENSSL_NO_SIPHASH
+ BIO_puts(bio_out, "SIPHASH\n");
+#endif
#if defined(OPENSSL_NO_DTLS)
BIO_puts(bio_out, "DTLS\n");
#endif
diff --git a/crypto/openssl/apps/s_client.c b/crypto/openssl/apps/s_client.c
index d356359a97e..9b88d6dfbc8 100644
--- a/crypto/openssl/apps/s_client.c
+++ b/crypto/openssl/apps/s_client.c
@@ -2549,7 +2549,7 @@ int s_client_main(int argc, char **argv)
"xmlns='jabber:%s' to='%s' version='1.0'>",
starttls_proto == PROTO_XMPP ? "client" : "server",
protohost ? protohost : host);
- seen = BIO_read(sbio, mbuf, BUFSIZZ);
+ seen = BIO_read(sbio, mbuf, BUFSIZZ - 1);
if (seen < 0) {
BIO_printf(bio_err, "BIO_read failed\n");
goto end;
@@ -2558,7 +2558,7 @@ int s_client_main(int argc, char **argv)
while (!strstr(mbuf, "");
- seen = BIO_read(sbio, sbuf, BUFSIZZ);
+ seen = BIO_read(sbio, sbuf, BUFSIZZ - 1);
if (seen < 0) {
BIO_printf(bio_err, "BIO_read failed\n");
goto shut;
@@ -2793,7 +2793,7 @@ int s_client_main(int argc, char **argv)
"Didn't find STARTTLS in server response,"
" trying anyway...\n");
BIO_printf(sbio, "STARTTLS\r\n");
- mbuf_len = BIO_read(sbio, mbuf, BUFSIZZ);
+ mbuf_len = BIO_read(sbio, mbuf, BUFSIZZ - 1);
if (mbuf_len < 0) {
BIO_printf(bio_err, "BIO_read failed\n");
goto end;
@@ -2834,7 +2834,7 @@ int s_client_main(int argc, char **argv)
"Didn't find STARTTLS in server response,"
" trying anyway...\n");
BIO_printf(sbio, "STARTTLS\r\n");
- mbuf_len = BIO_read(sbio, mbuf, BUFSIZZ);
+ mbuf_len = BIO_read(sbio, mbuf, BUFSIZZ - 1);
if (mbuf_len < 0) {
BIO_printf(bio_err, "BIO_read failed\n");
goto end;
@@ -3307,7 +3307,7 @@ int s_client_main(int argc, char **argv)
if (crlf) {
int j, lf_num;
- i = raw_read_stdin(cbuf, BUFSIZZ / 2);
+ i = raw_read_stdin(cbuf, (BUFSIZZ - 1) / 2);
lf_num = 0;
/* both loops are skipped when i <= 0 */
for (j = 0; j < i; j++)
@@ -3323,7 +3323,7 @@ int s_client_main(int argc, char **argv)
}
assert(lf_num == 0);
} else
- i = raw_read_stdin(cbuf, BUFSIZZ);
+ i = raw_read_stdin(cbuf, BUFSIZZ - 1);
#if !defined(OPENSSL_SYS_WINDOWS) && !defined(OPENSSL_SYS_MSDOS)
if (i == 0)
at_eof = 1;
diff --git a/crypto/openssl/apps/skeyutl.c b/crypto/openssl/apps/skeyutl.c
index 2404a8e8aa2..8f81ea15fc1 100644
--- a/crypto/openssl/apps/skeyutl.c
+++ b/crypto/openssl/apps/skeyutl.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2025-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -106,7 +106,7 @@ int skeyutl_main(int argc, char **argv)
skey = EVP_SKEY_generate(app_get0_libctx(),
skeymgmt ? skeymgmt : EVP_CIPHER_name(cipher),
app_get0_propq(), params);
- OSSL_PARAM_free(params);
+ app_params_free(params);
if (skey == NULL) {
BIO_printf(bio_err, "Error creating opaque key for skeymgmt %s\n",
skeymgmt ? skeymgmt : EVP_CIPHER_name(cipher));
diff --git a/crypto/openssl/apps/speed.c b/crypto/openssl/apps/speed.c
index a8d7cb14f57..6cf9748902c 100644
--- a/crypto/openssl/apps/speed.c
+++ b/crypto/openssl/apps/speed.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
@@ -3138,8 +3138,9 @@ int speed_main(int argc, char **argv)
exit(1);
}
- if (!EVP_CIPHER_CTX_ctrl(loopargs[k].ctx, EVP_CTRL_AEAD_GET_TAG,
- TAG_LEN, &loopargs[k].tag)) {
+ if (EVP_CIPHER_CTX_ctrl(loopargs[k].ctx, EVP_CTRL_AEAD_GET_TAG,
+ TAG_LEN, &loopargs[k].tag)
+ <= 0) {
BIO_printf(bio_err, "\nFailed to get the tag\n");
dofail();
exit(1);
diff --git a/crypto/openssl/apps/testdsa.h b/crypto/openssl/apps/testdsa.h
index e8d04bb31e8..31f8e74a9cf 100644
--- a/crypto/openssl/apps/testdsa.h
+++ b/crypto/openssl/apps/testdsa.h
@@ -1,5 +1,5 @@
/*
- * Copyright 1998-2021 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1998-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -13,274 +13,48 @@
EVP_PKEY *get_dsa(int);
static unsigned char dsa512_priv[] = {
- 0x65,
- 0xe5,
- 0xc7,
- 0x38,
- 0x60,
- 0x24,
- 0xb5,
- 0x89,
- 0xd4,
- 0x9c,
- 0xeb,
- 0x4c,
- 0x9c,
- 0x1d,
- 0x7a,
- 0x22,
- 0xbd,
- 0xd1,
- 0xc2,
- 0xd2,
+ 0x65, 0xe5, 0xc7, 0x38, 0x60, 0x24, 0xb5, 0x89, 0xd4, 0x9c,
+ 0xeb, 0x4c, 0x9c, 0x1d, 0x7a, 0x22, 0xbd, 0xd1, 0xc2, 0xd2
};
static unsigned char dsa512_pub[] = {
- 0x00,
- 0x95,
- 0xa7,
- 0x0d,
- 0xec,
- 0x93,
- 0x68,
- 0xba,
- 0x5f,
- 0xf7,
- 0x5f,
- 0x07,
- 0xf2,
- 0x3b,
- 0xad,
- 0x6b,
- 0x01,
- 0xdc,
- 0xbe,
- 0xec,
- 0xde,
- 0x04,
- 0x7a,
- 0x3a,
- 0x27,
- 0xb3,
- 0xec,
- 0x49,
- 0xfd,
- 0x08,
- 0x43,
- 0x3d,
- 0x7e,
- 0xa8,
- 0x2c,
- 0x5e,
- 0x7b,
- 0xbb,
- 0xfc,
- 0xf4,
- 0x6e,
- 0xeb,
- 0x6c,
- 0xb0,
- 0x6e,
- 0xf8,
- 0x02,
- 0x12,
- 0x8c,
- 0x38,
- 0x5d,
- 0x83,
- 0x56,
- 0x7d,
- 0xee,
- 0x53,
- 0x05,
- 0x3e,
- 0x24,
- 0x84,
- 0xbe,
- 0xba,
- 0x0a,
- 0x6b,
- 0xc8,
+ 0x00, 0x95, 0xa7, 0x0d, 0xec, 0x93, 0x68, 0xba, 0x5f, 0xf7,
+ 0x5f, 0x07, 0xf2, 0x3b, 0xad, 0x6b, 0x01, 0xdc, 0xbe, 0xec,
+ 0xde, 0x04, 0x7a, 0x3a, 0x27, 0xb3, 0xec, 0x49, 0xfd, 0x08,
+ 0x43, 0x3d, 0x7e, 0xa8, 0x2c, 0x5e, 0x7b, 0xbb, 0xfc, 0xf4,
+ 0x6e, 0xeb, 0x6c, 0xb0, 0x6e, 0xf8, 0x02, 0x12, 0x8c, 0x38,
+ 0x5d, 0x83, 0x56, 0x7d, 0xee, 0x53, 0x05, 0x3e, 0x24, 0x84,
+ 0xbe, 0xba, 0x0a, 0x6b, 0xc8
};
static unsigned char dsa512_p[] = {
- 0x9D,
- 0x1B,
- 0x69,
- 0x8E,
- 0x26,
- 0xDB,
- 0xF2,
- 0x2B,
- 0x11,
- 0x70,
- 0x19,
- 0x86,
- 0xF6,
- 0x19,
- 0xC8,
- 0xF8,
- 0x19,
- 0xF2,
- 0x18,
- 0x53,
- 0x94,
- 0x46,
- 0x06,
- 0xD0,
- 0x62,
- 0x50,
- 0x33,
- 0x4B,
- 0x02,
- 0x3C,
- 0x52,
- 0x30,
- 0x03,
- 0x8B,
- 0x3B,
- 0xF9,
- 0x5F,
- 0xD1,
- 0x24,
- 0x06,
- 0x4F,
- 0x7B,
- 0x4C,
- 0xBA,
- 0xAA,
- 0x40,
- 0x9B,
- 0xFD,
- 0x96,
- 0xE4,
- 0x37,
- 0x33,
- 0xBB,
- 0x2D,
- 0x5A,
- 0xD7,
- 0x5A,
- 0x11,
- 0x40,
- 0x66,
- 0xA2,
- 0x76,
- 0x7D,
- 0x31,
+ 0x9D, 0x1B, 0x69, 0x8E, 0x26, 0xDB, 0xF2, 0x2B, 0x11, 0x70,
+ 0x19, 0x86, 0xF6, 0x19, 0xC8, 0xF8, 0x19, 0xF2, 0x18, 0x53,
+ 0x94, 0x46, 0x06, 0xD0, 0x62, 0x50, 0x33, 0x4B, 0x02, 0x3C,
+ 0x52, 0x30, 0x03, 0x8B, 0x3B, 0xF9, 0x5F, 0xD1, 0x24, 0x06,
+ 0x4F, 0x7B, 0x4C, 0xBA, 0xAA, 0x40, 0x9B, 0xFD, 0x96, 0xE4,
+ 0x37, 0x33, 0xBB, 0x2D, 0x5A, 0xD7, 0x5A, 0x11, 0x40, 0x66,
+ 0xA2, 0x76, 0x7D, 0x31
};
static unsigned char dsa512_q[] = {
- 0xFB,
- 0x53,
- 0xEF,
- 0x50,
- 0xB4,
- 0x40,
- 0x92,
- 0x31,
- 0x56,
- 0x86,
- 0x53,
- 0x7A,
- 0xE8,
- 0x8B,
- 0x22,
- 0x9A,
- 0x49,
- 0xFB,
- 0x71,
- 0x8F,
+ 0xFB, 0x53, 0xEF, 0x50, 0xB4, 0x40, 0x92, 0x31, 0x56, 0x86,
+ 0x53, 0x7A, 0xE8, 0x8B, 0x22, 0x9A, 0x49, 0xFB, 0x71, 0x8F
};
static unsigned char dsa512_g[] = {
- 0x83,
- 0x3E,
- 0x88,
- 0xE5,
- 0xC5,
- 0x89,
- 0x73,
- 0xCE,
- 0x3B,
- 0x6C,
- 0x01,
- 0x49,
- 0xBF,
- 0xB3,
- 0xC7,
- 0x9F,
- 0x0A,
- 0xEA,
- 0x44,
- 0x91,
- 0xE5,
- 0x30,
- 0xAA,
- 0xD9,
- 0xBE,
- 0x5B,
- 0x5F,
- 0xB7,
- 0x10,
- 0xD7,
- 0x89,
- 0xB7,
- 0x8E,
- 0x74,
- 0xFB,
- 0xCF,
- 0x29,
- 0x1E,
- 0xEB,
- 0xA8,
- 0x2C,
- 0x54,
- 0x51,
- 0xB8,
- 0x10,
- 0xDE,
- 0xA0,
- 0xCE,
- 0x2F,
- 0xCC,
- 0x24,
- 0x6B,
- 0x90,
- 0x77,
- 0xDE,
- 0xA2,
- 0x68,
- 0xA6,
- 0x52,
- 0x12,
- 0xA2,
- 0x03,
- 0x9D,
- 0x20,
+ 0x83, 0x3E, 0x88, 0xE5, 0xC5, 0x89, 0x73, 0xCE, 0x3B, 0x6C,
+ 0x01, 0x49, 0xBF, 0xB3, 0xC7, 0x9F, 0x0A, 0xEA, 0x44, 0x91,
+ 0xE5, 0x30, 0xAA, 0xD9, 0xBE, 0x5B, 0x5F, 0xB7, 0x10, 0xD7,
+ 0x89, 0xB7, 0x8E, 0x74, 0xFB, 0xCF, 0x29, 0x1E, 0xEB, 0xA8,
+ 0x2C, 0x54, 0x51, 0xB8, 0x10, 0xDE, 0xA0, 0xCE, 0x2F, 0xCC,
+ 0x24, 0x6B, 0x90, 0x77, 0xDE, 0xA2, 0x68, 0xA6, 0x52, 0x12,
+ 0xA2, 0x03, 0x9D, 0x20
};
static unsigned char dsa1024_priv[] = {
- 0x7d,
- 0x21,
- 0xda,
- 0xbb,
- 0x62,
- 0x15,
- 0x47,
- 0x36,
- 0x07,
- 0x67,
- 0x12,
- 0xe8,
- 0x8c,
- 0xaa,
- 0x1c,
- 0xcd,
- 0x38,
- 0x12,
- 0x61,
- 0x18,
+ 0x7d, 0x21, 0xda, 0xbb, 0x62, 0x15, 0x47, 0x36, 0x07, 0x67,
+ 0x12, 0xe8, 0x8c, 0xaa, 0x1c, 0xcd, 0x38, 0x12, 0x61, 0x18
};
static unsigned char dsa1024_pub[] = {
@@ -298,1111 +72,137 @@ static unsigned char dsa1024_pub[] = {
};
static unsigned char dsa1024_p[] = {
- 0xA7,
- 0x3F,
- 0x6E,
- 0x85,
- 0xBF,
- 0x41,
- 0x6A,
- 0x29,
- 0x7D,
- 0xF0,
- 0x9F,
- 0x47,
- 0x19,
- 0x30,
- 0x90,
- 0x9A,
- 0x09,
- 0x1D,
- 0xDA,
- 0x6A,
- 0x33,
- 0x1E,
- 0xC5,
- 0x3D,
- 0x86,
- 0x96,
- 0xB3,
- 0x15,
- 0xE0,
- 0x53,
- 0x2E,
- 0x8F,
- 0xE0,
- 0x59,
- 0x82,
- 0x73,
- 0x90,
- 0x3E,
- 0x75,
- 0x31,
- 0x99,
- 0x47,
- 0x7A,
- 0x52,
- 0xFB,
- 0x85,
- 0xE4,
- 0xD9,
- 0xA6,
- 0x7B,
- 0x38,
- 0x9B,
- 0x68,
- 0x8A,
- 0x84,
- 0x9B,
- 0x87,
- 0xC6,
- 0x1E,
- 0xB5,
- 0x7E,
- 0x86,
- 0x4B,
- 0x53,
- 0x5B,
- 0x59,
- 0xCF,
- 0x71,
- 0x65,
- 0x19,
- 0x88,
- 0x6E,
- 0xCE,
- 0x66,
- 0xAE,
- 0x6B,
- 0x88,
- 0x36,
- 0xFB,
- 0xEC,
- 0x28,
- 0xDC,
- 0xC2,
- 0xD7,
- 0xA5,
- 0xBB,
- 0xE5,
- 0x2C,
- 0x39,
- 0x26,
- 0x4B,
- 0xDA,
- 0x9A,
- 0x70,
- 0x18,
- 0x95,
- 0x37,
- 0x95,
- 0x10,
- 0x56,
- 0x23,
- 0xF6,
- 0x15,
- 0xED,
- 0xBA,
- 0x04,
- 0x5E,
- 0xDE,
- 0x39,
- 0x4F,
- 0xFD,
- 0xB7,
- 0x43,
- 0x1F,
- 0xB5,
- 0xA4,
- 0x65,
- 0x6F,
- 0xCD,
- 0x80,
- 0x11,
- 0xE4,
- 0x70,
- 0x95,
- 0x5B,
- 0x50,
- 0xCD,
- 0x49,
+ 0xA7, 0x3F, 0x6E, 0x85, 0xBF, 0x41, 0x6A, 0x29, 0x7D, 0xF0,
+ 0x9F, 0x47, 0x19, 0x30, 0x90, 0x9A, 0x09, 0x1D, 0xDA, 0x6A,
+ 0x33, 0x1E, 0xC5, 0x3D, 0x86, 0x96, 0xB3, 0x15, 0xE0, 0x53,
+ 0x2E, 0x8F, 0xE0, 0x59, 0x82, 0x73, 0x90, 0x3E, 0x75, 0x31,
+ 0x99, 0x47, 0x7A, 0x52, 0xFB, 0x85, 0xE4, 0xD9, 0xA6, 0x7B,
+ 0x38, 0x9B, 0x68, 0x8A, 0x84, 0x9B, 0x87, 0xC6, 0x1E, 0xB5,
+ 0x7E, 0x86, 0x4B, 0x53, 0x5B, 0x59, 0xCF, 0x71, 0x65, 0x19,
+ 0x88, 0x6E, 0xCE, 0x66, 0xAE, 0x6B, 0x88, 0x36, 0xFB, 0xEC,
+ 0x28, 0xDC, 0xC2, 0xD7, 0xA5, 0xBB, 0xE5, 0x2C, 0x39, 0x26,
+ 0x4B, 0xDA, 0x9A, 0x70, 0x18, 0x95, 0x37, 0x95, 0x10, 0x56,
+ 0x23, 0xF6, 0x15, 0xED, 0xBA, 0x04, 0x5E, 0xDE, 0x39, 0x4F,
+ 0xFD, 0xB7, 0x43, 0x1F, 0xB5, 0xA4, 0x65, 0x6F, 0xCD, 0x80,
+ 0x11, 0xE4, 0x70, 0x95, 0x5B, 0x50, 0xCD, 0x49
};
static unsigned char dsa1024_q[] = {
- 0xF7,
- 0x07,
- 0x31,
- 0xED,
- 0xFA,
- 0x6C,
- 0x06,
- 0x03,
- 0xD5,
- 0x85,
- 0x8A,
- 0x1C,
- 0xAC,
- 0x9C,
- 0x65,
- 0xE7,
- 0x50,
- 0x66,
- 0x65,
- 0x6F,
+ 0xF7, 0x07, 0x31, 0xED, 0xFA, 0x6C, 0x06, 0x03, 0xD5, 0x85,
+ 0x8A, 0x1C, 0xAC, 0x9C, 0x65, 0xE7, 0x50, 0x66, 0x65, 0x6F
};
static unsigned char dsa1024_g[] = {
- 0x4D,
- 0xDF,
- 0x4C,
- 0x03,
- 0xA6,
- 0x91,
- 0x8A,
- 0xF5,
- 0x19,
- 0x6F,
- 0x50,
- 0x46,
- 0x25,
- 0x99,
- 0xE5,
- 0x68,
- 0x6F,
- 0x30,
- 0xE3,
- 0x69,
- 0xE1,
- 0xE5,
- 0xB3,
- 0x5D,
- 0x98,
- 0xBB,
- 0x28,
- 0x86,
- 0x48,
- 0xFC,
- 0xDE,
- 0x99,
- 0x04,
- 0x3F,
- 0x5F,
- 0x88,
- 0x0C,
- 0x9C,
- 0x73,
- 0x24,
- 0x0D,
- 0x20,
- 0x5D,
- 0xB9,
- 0x2A,
- 0x9A,
- 0x3F,
- 0x18,
- 0x96,
- 0x27,
- 0xE4,
- 0x62,
- 0x87,
- 0xC1,
- 0x7B,
- 0x74,
- 0x62,
- 0x53,
- 0xFC,
- 0x61,
- 0x27,
- 0xA8,
- 0x7A,
- 0x91,
- 0x09,
- 0x9D,
- 0xB6,
- 0xF1,
- 0x4D,
- 0x9C,
- 0x54,
- 0x0F,
- 0x58,
- 0x06,
- 0xEE,
- 0x49,
- 0x74,
- 0x07,
- 0xCE,
- 0x55,
- 0x7E,
- 0x23,
- 0xCE,
- 0x16,
- 0xF6,
- 0xCA,
- 0xDC,
- 0x5A,
- 0x61,
- 0x01,
- 0x7E,
- 0xC9,
- 0x71,
- 0xB5,
- 0x4D,
- 0xF6,
- 0xDC,
- 0x34,
- 0x29,
- 0x87,
- 0x68,
- 0xF6,
- 0x5E,
- 0x20,
- 0x93,
- 0xB3,
- 0xDB,
- 0xF5,
- 0xE4,
- 0x09,
- 0x6C,
- 0x41,
- 0x17,
- 0x95,
- 0x92,
- 0xEB,
- 0x01,
- 0xB5,
- 0x73,
- 0xA5,
- 0x6A,
- 0x7E,
- 0xD8,
- 0x32,
- 0xED,
- 0x0E,
- 0x02,
- 0xB8,
+ 0x4D, 0xDF, 0x4C, 0x03, 0xA6, 0x91, 0x8A, 0xF5, 0x19, 0x6F,
+ 0x50, 0x46, 0x25, 0x99, 0xE5, 0x68, 0x6F, 0x30, 0xE3, 0x69,
+ 0xE1, 0xE5, 0xB3, 0x5D, 0x98, 0xBB, 0x28, 0x86, 0x48, 0xFC,
+ 0xDE, 0x99, 0x04, 0x3F, 0x5F, 0x88, 0x0C, 0x9C, 0x73, 0x24,
+ 0x0D, 0x20, 0x5D, 0xB9, 0x2A, 0x9A, 0x3F, 0x18, 0x96, 0x27,
+ 0xE4, 0x62, 0x87, 0xC1, 0x7B, 0x74, 0x62, 0x53, 0xFC, 0x61,
+ 0x27, 0xA8, 0x7A, 0x91, 0x09, 0x9D, 0xB6, 0xF1, 0x4D, 0x9C,
+ 0x54, 0x0F, 0x58, 0x06, 0xEE, 0x49, 0x74, 0x07, 0xCE, 0x55,
+ 0x7E, 0x23, 0xCE, 0x16, 0xF6, 0xCA, 0xDC, 0x5A, 0x61, 0x01,
+ 0x7E, 0xC9, 0x71, 0xB5, 0x4D, 0xF6, 0xDC, 0x34, 0x29, 0x87,
+ 0x68, 0xF6, 0x5E, 0x20, 0x93, 0xB3, 0xDB, 0xF5, 0xE4, 0x09,
+ 0x6C, 0x41, 0x17, 0x95, 0x92, 0xEB, 0x01, 0xB5, 0x73, 0xA5,
+ 0x6A, 0x7E, 0xD8, 0x32, 0xED, 0x0E, 0x02, 0xB8
};
static unsigned char dsa2048_priv[] = {
- 0x32,
- 0x67,
- 0x92,
- 0xf6,
- 0xc4,
- 0xe2,
- 0xe2,
- 0xe8,
- 0xa0,
- 0x8b,
- 0x6b,
- 0x45,
- 0x0c,
- 0x8a,
- 0x76,
- 0xb0,
- 0xee,
- 0xcf,
- 0x91,
- 0xa7,
+ 0x32, 0x67, 0x92, 0xf6, 0xc4, 0xe2, 0xe2, 0xe8, 0xa0, 0x8b,
+ 0x6b, 0x45, 0x0c, 0x8a, 0x76, 0xb0, 0xee, 0xcf, 0x91, 0xa7
};
static unsigned char dsa2048_pub[] = {
- 0x17,
- 0x8f,
- 0xa8,
- 0x11,
- 0x84,
- 0x92,
- 0xec,
- 0x83,
- 0x47,
- 0xc7,
- 0x6a,
- 0xb0,
- 0x92,
- 0xaf,
- 0x5a,
- 0x20,
- 0x37,
- 0xa3,
- 0x64,
- 0x79,
- 0xd2,
- 0xd0,
- 0x3d,
- 0xcd,
- 0xe0,
- 0x61,
- 0x88,
- 0x88,
- 0x21,
- 0xcc,
- 0x74,
- 0x5d,
- 0xce,
- 0x4c,
- 0x51,
- 0x47,
- 0xf0,
- 0xc5,
- 0x5c,
- 0x4c,
- 0x82,
- 0x7a,
- 0xaf,
- 0x72,
- 0xad,
- 0xb9,
- 0xe0,
- 0x53,
- 0xf2,
- 0x78,
- 0xb7,
- 0xf0,
- 0xb5,
- 0x48,
- 0x7f,
- 0x8a,
- 0x3a,
- 0x18,
- 0xd1,
- 0x9f,
- 0x8b,
- 0x7d,
- 0xa5,
- 0x47,
- 0xb7,
- 0x95,
- 0xab,
- 0x98,
- 0xf8,
- 0x7b,
- 0x74,
- 0x50,
- 0x56,
- 0x8e,
- 0x57,
- 0xf0,
- 0xee,
- 0xf5,
- 0xb7,
- 0xba,
- 0xab,
- 0x85,
- 0x86,
- 0xf9,
- 0x2b,
- 0xef,
- 0x41,
- 0x56,
- 0xa0,
- 0xa4,
- 0x9f,
- 0xb7,
- 0x38,
- 0x00,
- 0x46,
- 0x0a,
- 0xa6,
- 0xf1,
- 0xfc,
- 0x1f,
- 0xd8,
- 0x4e,
- 0x85,
- 0x44,
- 0x92,
- 0x43,
- 0x21,
- 0x5d,
- 0x6e,
- 0xcc,
- 0xc2,
- 0xcb,
- 0x26,
- 0x31,
- 0x0d,
- 0x21,
- 0xc4,
- 0xbd,
- 0x8d,
- 0x24,
- 0xbc,
- 0xd9,
- 0x18,
- 0x19,
- 0xd7,
- 0xdc,
- 0xf1,
- 0xe7,
- 0x93,
- 0x50,
- 0x48,
- 0x03,
- 0x2c,
- 0xae,
- 0x2e,
- 0xe7,
- 0x49,
- 0x88,
- 0x5f,
- 0x93,
- 0x57,
- 0x27,
- 0x99,
- 0x36,
- 0xb4,
- 0x20,
- 0xab,
- 0xfc,
- 0xa7,
- 0x2b,
- 0xf2,
- 0xd9,
- 0x98,
- 0xd7,
- 0xd4,
- 0x34,
- 0x9d,
- 0x96,
- 0x50,
- 0x58,
- 0x9a,
- 0xea,
- 0x54,
- 0xf3,
- 0xee,
- 0xf5,
- 0x63,
- 0x14,
- 0xee,
- 0x85,
- 0x83,
- 0x74,
- 0x76,
- 0xe1,
- 0x52,
- 0x95,
- 0xc3,
- 0xf7,
- 0xeb,
- 0x04,
- 0x04,
- 0x7b,
- 0xa7,
- 0x28,
- 0x1b,
- 0xcc,
- 0xea,
- 0x4a,
- 0x4e,
- 0x84,
- 0xda,
- 0xd8,
- 0x9c,
- 0x79,
- 0xd8,
- 0x9b,
- 0x66,
- 0x89,
- 0x2f,
- 0xcf,
- 0xac,
- 0xd7,
- 0x79,
- 0xf9,
- 0xa9,
- 0xd8,
- 0x45,
- 0x13,
- 0x78,
- 0xb9,
- 0x00,
- 0x14,
- 0xc9,
- 0x7e,
- 0x22,
- 0x51,
- 0x86,
- 0x67,
- 0xb0,
- 0x9f,
- 0x26,
- 0x11,
- 0x23,
- 0xc8,
- 0x38,
- 0xd7,
- 0x70,
- 0x1d,
- 0x15,
- 0x8e,
- 0x4d,
- 0x4f,
- 0x95,
- 0x97,
- 0x40,
- 0xa1,
- 0xc2,
- 0x7e,
- 0x01,
- 0x18,
- 0x72,
- 0xf4,
- 0x10,
- 0xe6,
- 0x8d,
- 0x52,
- 0x16,
- 0x7f,
- 0xf2,
- 0xc9,
- 0xf8,
- 0x33,
- 0x8b,
- 0x33,
- 0xb7,
- 0xce,
+ 0x17, 0x8f, 0xa8, 0x11, 0x84, 0x92, 0xec, 0x83, 0x47, 0xc7,
+ 0x6a, 0xb0, 0x92, 0xaf, 0x5a, 0x20, 0x37, 0xa3, 0x64, 0x79,
+ 0xd2, 0xd0, 0x3d, 0xcd, 0xe0, 0x61, 0x88, 0x88, 0x21, 0xcc,
+ 0x74, 0x5d, 0xce, 0x4c, 0x51, 0x47, 0xf0, 0xc5, 0x5c, 0x4c,
+ 0x82, 0x7a, 0xaf, 0x72, 0xad, 0xb9, 0xe0, 0x53, 0xf2, 0x78,
+ 0xb7, 0xf0, 0xb5, 0x48, 0x7f, 0x8a, 0x3a, 0x18, 0xd1, 0x9f,
+ 0x8b, 0x7d, 0xa5, 0x47, 0xb7, 0x95, 0xab, 0x98, 0xf8, 0x7b,
+ 0x74, 0x50, 0x56, 0x8e, 0x57, 0xf0, 0xee, 0xf5, 0xb7, 0xba,
+ 0xab, 0x85, 0x86, 0xf9, 0x2b, 0xef, 0x41, 0x56, 0xa0, 0xa4,
+ 0x9f, 0xb7, 0x38, 0x00, 0x46, 0x0a, 0xa6, 0xf1, 0xfc, 0x1f,
+ 0xd8, 0x4e, 0x85, 0x44, 0x92, 0x43, 0x21, 0x5d, 0x6e, 0xcc,
+ 0xc2, 0xcb, 0x26, 0x31, 0x0d, 0x21, 0xc4, 0xbd, 0x8d, 0x24,
+ 0xbc, 0xd9, 0x18, 0x19, 0xd7, 0xdc, 0xf1, 0xe7, 0x93, 0x50,
+ 0x48, 0x03, 0x2c, 0xae, 0x2e, 0xe7, 0x49, 0x88, 0x5f, 0x93,
+ 0x57, 0x27, 0x99, 0x36, 0xb4, 0x20, 0xab, 0xfc, 0xa7, 0x2b,
+ 0xf2, 0xd9, 0x98, 0xd7, 0xd4, 0x34, 0x9d, 0x96, 0x50, 0x58,
+ 0x9a, 0xea, 0x54, 0xf3, 0xee, 0xf5, 0x63, 0x14, 0xee, 0x85,
+ 0x83, 0x74, 0x76, 0xe1, 0x52, 0x95, 0xc3, 0xf7, 0xeb, 0x04,
+ 0x04, 0x7b, 0xa7, 0x28, 0x1b, 0xcc, 0xea, 0x4a, 0x4e, 0x84,
+ 0xda, 0xd8, 0x9c, 0x79, 0xd8, 0x9b, 0x66, 0x89, 0x2f, 0xcf,
+ 0xac, 0xd7, 0x79, 0xf9, 0xa9, 0xd8, 0x45, 0x13, 0x78, 0xb9,
+ 0x00, 0x14, 0xc9, 0x7e, 0x22, 0x51, 0x86, 0x67, 0xb0, 0x9f,
+ 0x26, 0x11, 0x23, 0xc8, 0x38, 0xd7, 0x70, 0x1d, 0x15, 0x8e,
+ 0x4d, 0x4f, 0x95, 0x97, 0x40, 0xa1, 0xc2, 0x7e, 0x01, 0x18,
+ 0x72, 0xf4, 0x10, 0xe6, 0x8d, 0x52, 0x16, 0x7f, 0xf2, 0xc9,
+ 0xf8, 0x33, 0x8b, 0x33, 0xb7, 0xce
};
static unsigned char dsa2048_p[] = {
- 0xA0,
- 0x25,
- 0xFA,
- 0xAD,
- 0xF4,
- 0x8E,
- 0xB9,
- 0xE5,
- 0x99,
- 0xF3,
- 0x5D,
- 0x6F,
- 0x4F,
- 0x83,
- 0x34,
- 0xE2,
- 0x7E,
- 0xCF,
- 0x6F,
- 0xBF,
- 0x30,
- 0xAF,
- 0x6F,
- 0x81,
- 0xEB,
- 0xF8,
- 0xC4,
- 0x13,
- 0xD9,
- 0xA0,
- 0x5D,
- 0x8B,
- 0x5C,
- 0x8E,
- 0xDC,
- 0xC2,
- 0x1D,
- 0x0B,
- 0x41,
- 0x32,
- 0xB0,
- 0x1F,
- 0xFE,
- 0xEF,
- 0x0C,
- 0xC2,
- 0xA2,
- 0x7E,
- 0x68,
- 0x5C,
- 0x28,
- 0x21,
- 0xE9,
- 0xF5,
- 0xB1,
- 0x58,
- 0x12,
- 0x63,
- 0x4C,
- 0x19,
- 0x4E,
- 0xFF,
- 0x02,
- 0x4B,
- 0x92,
- 0xED,
- 0xD2,
- 0x07,
- 0x11,
- 0x4D,
- 0x8C,
- 0x58,
- 0x16,
- 0x5C,
- 0x55,
- 0x8E,
- 0xAD,
- 0xA3,
- 0x67,
- 0x7D,
- 0xB9,
- 0x86,
- 0x6E,
- 0x0B,
- 0xE6,
- 0x54,
- 0x6F,
- 0x40,
- 0xAE,
- 0x0E,
- 0x67,
- 0x4C,
- 0xF9,
- 0x12,
- 0x5B,
- 0x3C,
- 0x08,
- 0x7A,
- 0xF7,
- 0xFC,
- 0x67,
- 0x86,
- 0x69,
- 0xE7,
- 0x0A,
- 0x94,
- 0x40,
- 0xBF,
- 0x8B,
- 0x76,
- 0xFE,
- 0x26,
- 0xD1,
- 0xF2,
- 0xA1,
- 0x1A,
- 0x84,
- 0xA1,
- 0x43,
- 0x56,
- 0x28,
- 0xBC,
- 0x9A,
- 0x5F,
- 0xD7,
- 0x3B,
- 0x69,
- 0x89,
- 0x8A,
- 0x36,
- 0x2C,
- 0x51,
- 0xDF,
- 0x12,
- 0x77,
- 0x2F,
- 0x57,
- 0x7B,
- 0xA0,
- 0xAA,
- 0xDD,
- 0x7F,
- 0xA1,
- 0x62,
- 0x3B,
- 0x40,
- 0x7B,
- 0x68,
- 0x1A,
- 0x8F,
- 0x0D,
- 0x38,
- 0xBB,
- 0x21,
- 0x5D,
- 0x18,
- 0xFC,
- 0x0F,
- 0x46,
- 0xF7,
- 0xA3,
- 0xB0,
- 0x1D,
- 0x23,
- 0xC3,
- 0xD2,
- 0xC7,
- 0x72,
- 0x51,
- 0x18,
- 0xDF,
- 0x46,
- 0x95,
- 0x79,
- 0xD9,
- 0xBD,
- 0xB5,
- 0x19,
- 0x02,
- 0x2C,
- 0x87,
- 0xDC,
- 0xE7,
- 0x57,
- 0x82,
- 0x7E,
- 0xF1,
- 0x8B,
- 0x06,
- 0x3D,
- 0x00,
- 0xA5,
- 0x7B,
- 0x6B,
- 0x26,
- 0x27,
- 0x91,
- 0x0F,
- 0x6A,
- 0x77,
- 0xE4,
- 0xD5,
- 0x04,
- 0xE4,
- 0x12,
- 0x2C,
- 0x42,
- 0xFF,
- 0xD2,
- 0x88,
- 0xBB,
- 0xD3,
- 0x92,
- 0xA0,
- 0xF9,
- 0xC8,
- 0x51,
- 0x64,
- 0x14,
- 0x5C,
- 0xD8,
- 0xF9,
- 0x6C,
- 0x47,
- 0x82,
- 0xB4,
- 0x1C,
- 0x7F,
- 0x09,
- 0xB8,
- 0xF0,
- 0x25,
- 0x83,
- 0x1D,
- 0x3F,
- 0x3F,
- 0x05,
- 0xB3,
- 0x21,
- 0x0A,
- 0x5D,
- 0xA7,
- 0xD8,
- 0x54,
- 0xC3,
- 0x65,
- 0x7D,
- 0xC3,
- 0xB0,
- 0x1D,
- 0xBF,
- 0xAE,
- 0xF8,
- 0x68,
- 0xCF,
- 0x9B,
+ 0xA0, 0x25, 0xFA, 0xAD, 0xF4, 0x8E, 0xB9, 0xE5, 0x99, 0xF3,
+ 0x5D, 0x6F, 0x4F, 0x83, 0x34, 0xE2, 0x7E, 0xCF, 0x6F, 0xBF,
+ 0x30, 0xAF, 0x6F, 0x81, 0xEB, 0xF8, 0xC4, 0x13, 0xD9, 0xA0,
+ 0x5D, 0x8B, 0x5C, 0x8E, 0xDC, 0xC2, 0x1D, 0x0B, 0x41, 0x32,
+ 0xB0, 0x1F, 0xFE, 0xEF, 0x0C, 0xC2, 0xA2, 0x7E, 0x68, 0x5C,
+ 0x28, 0x21, 0xE9, 0xF5, 0xB1, 0x58, 0x12, 0x63, 0x4C, 0x19,
+ 0x4E, 0xFF, 0x02, 0x4B, 0x92, 0xED, 0xD2, 0x07, 0x11, 0x4D,
+ 0x8C, 0x58, 0x16, 0x5C, 0x55, 0x8E, 0xAD, 0xA3, 0x67, 0x7D,
+ 0xB9, 0x86, 0x6E, 0x0B, 0xE6, 0x54, 0x6F, 0x40, 0xAE, 0x0E,
+ 0x67, 0x4C, 0xF9, 0x12, 0x5B, 0x3C, 0x08, 0x7A, 0xF7, 0xFC,
+ 0x67, 0x86, 0x69, 0xE7, 0x0A, 0x94, 0x40, 0xBF, 0x8B, 0x76,
+ 0xFE, 0x26, 0xD1, 0xF2, 0xA1, 0x1A, 0x84, 0xA1, 0x43, 0x56,
+ 0x28, 0xBC, 0x9A, 0x5F, 0xD7, 0x3B, 0x69, 0x89, 0x8A, 0x36,
+ 0x2C, 0x51, 0xDF, 0x12, 0x77, 0x2F, 0x57, 0x7B, 0xA0, 0xAA,
+ 0xDD, 0x7F, 0xA1, 0x62, 0x3B, 0x40, 0x7B, 0x68, 0x1A, 0x8F,
+ 0x0D, 0x38, 0xBB, 0x21, 0x5D, 0x18, 0xFC, 0x0F, 0x46, 0xF7,
+ 0xA3, 0xB0, 0x1D, 0x23, 0xC3, 0xD2, 0xC7, 0x72, 0x51, 0x18,
+ 0xDF, 0x46, 0x95, 0x79, 0xD9, 0xBD, 0xB5, 0x19, 0x02, 0x2C,
+ 0x87, 0xDC, 0xE7, 0x57, 0x82, 0x7E, 0xF1, 0x8B, 0x06, 0x3D,
+ 0x00, 0xA5, 0x7B, 0x6B, 0x26, 0x27, 0x91, 0x0F, 0x6A, 0x77,
+ 0xE4, 0xD5, 0x04, 0xE4, 0x12, 0x2C, 0x42, 0xFF, 0xD2, 0x88,
+ 0xBB, 0xD3, 0x92, 0xA0, 0xF9, 0xC8, 0x51, 0x64, 0x14, 0x5C,
+ 0xD8, 0xF9, 0x6C, 0x47, 0x82, 0xB4, 0x1C, 0x7F, 0x09, 0xB8,
+ 0xF0, 0x25, 0x83, 0x1D, 0x3F, 0x3F, 0x05, 0xB3, 0x21, 0x0A,
+ 0x5D, 0xA7, 0xD8, 0x54, 0xC3, 0x65, 0x7D, 0xC3, 0xB0, 0x1D,
+ 0xBF, 0xAE, 0xF8, 0x68, 0xCF, 0x9B
};
static unsigned char dsa2048_q[] = {
- 0x97,
- 0xE7,
- 0x33,
- 0x4D,
- 0xD3,
- 0x94,
- 0x3E,
- 0x0B,
- 0xDB,
- 0x62,
- 0x74,
- 0xC6,
- 0xA1,
- 0x08,
- 0xDD,
- 0x19,
- 0xA3,
- 0x75,
- 0x17,
- 0x1B,
+ 0x97, 0xE7, 0x33, 0x4D, 0xD3, 0x94, 0x3E, 0x0B, 0xDB, 0x62,
+ 0x74, 0xC6, 0xA1, 0x08, 0xDD, 0x19, 0xA3, 0x75, 0x17, 0x1B
};
static unsigned char dsa2048_g[] = {
- 0x2C,
- 0x78,
- 0x16,
- 0x59,
- 0x34,
- 0x63,
- 0xF4,
- 0xF3,
- 0x92,
- 0xFC,
- 0xB5,
- 0xA5,
- 0x4F,
- 0x13,
- 0xDE,
- 0x2F,
- 0x1C,
- 0xA4,
- 0x3C,
- 0xAE,
- 0xAD,
- 0x38,
- 0x3F,
- 0x7E,
- 0x90,
- 0xBF,
- 0x96,
- 0xA6,
- 0xAE,
- 0x25,
- 0x90,
- 0x72,
- 0xF5,
- 0x8E,
- 0x80,
- 0x0C,
- 0x39,
- 0x1C,
- 0xD9,
- 0xEC,
- 0xBA,
- 0x90,
- 0x5B,
- 0x3A,
- 0xE8,
- 0x58,
- 0x6C,
- 0x9E,
- 0x30,
- 0x42,
- 0x37,
- 0x02,
- 0x31,
- 0x82,
- 0xBC,
- 0x6A,
- 0xDF,
- 0x6A,
- 0x09,
- 0x29,
- 0xE3,
- 0xC0,
- 0x46,
- 0xD1,
- 0xCB,
- 0x85,
- 0xEC,
- 0x0C,
- 0x30,
- 0x5E,
- 0xEA,
- 0xC8,
- 0x39,
- 0x8E,
- 0x22,
- 0x9F,
- 0x22,
- 0x10,
- 0xD2,
- 0x34,
- 0x61,
- 0x68,
- 0x37,
- 0x3D,
- 0x2E,
- 0x4A,
- 0x5B,
- 0x9A,
- 0xF5,
- 0xC1,
- 0x48,
- 0xC6,
- 0xF6,
- 0xDC,
- 0x63,
- 0x1A,
- 0xD3,
- 0x96,
- 0x64,
- 0xBA,
- 0x34,
- 0xC9,
- 0xD1,
- 0xA0,
- 0xD1,
- 0xAE,
- 0x6C,
- 0x2F,
- 0x48,
- 0x17,
- 0x93,
- 0x14,
- 0x43,
- 0xED,
- 0xF0,
- 0x21,
- 0x30,
- 0x19,
- 0xC3,
- 0x1B,
- 0x5F,
- 0xDE,
- 0xA3,
- 0xF0,
- 0x70,
- 0x78,
- 0x18,
- 0xE1,
- 0xA8,
- 0xE4,
- 0xEE,
- 0x2E,
- 0x00,
- 0xA5,
- 0xE4,
- 0xB3,
- 0x17,
- 0xC8,
- 0x0C,
- 0x7D,
- 0x6E,
- 0x42,
- 0xDC,
- 0xB7,
- 0x46,
- 0x00,
- 0x36,
- 0x4D,
- 0xD4,
- 0x46,
- 0xAA,
- 0x3D,
- 0x3C,
- 0x46,
- 0x89,
- 0x40,
- 0xBF,
- 0x1D,
- 0x84,
- 0x77,
- 0x0A,
- 0x75,
- 0xF3,
- 0x87,
- 0x1D,
- 0x08,
- 0x4C,
- 0xA6,
- 0xD1,
- 0xA9,
- 0x1C,
- 0x1E,
- 0x12,
- 0x1E,
- 0xE1,
- 0xC7,
- 0x30,
- 0x28,
- 0x76,
- 0xA5,
- 0x7F,
- 0x6C,
- 0x85,
- 0x96,
- 0x2B,
- 0x6F,
- 0xDB,
- 0x80,
- 0x66,
- 0x26,
- 0xAE,
- 0xF5,
- 0x93,
- 0xC7,
- 0x8E,
- 0xAE,
- 0x9A,
- 0xED,
- 0xE4,
- 0xCA,
- 0x04,
- 0xEA,
- 0x3B,
- 0x72,
- 0xEF,
- 0xDC,
- 0x87,
- 0xED,
- 0x0D,
- 0xA5,
- 0x4C,
- 0x4A,
- 0xDD,
- 0x71,
- 0x22,
- 0x64,
- 0x59,
- 0x69,
- 0x4E,
- 0x8E,
- 0xBF,
- 0x43,
- 0xDC,
- 0xAB,
- 0x8E,
- 0x66,
- 0xBB,
- 0x01,
- 0xB6,
- 0xF4,
- 0xE7,
- 0xFD,
- 0xD2,
- 0xAD,
- 0x9F,
- 0x36,
- 0xC1,
- 0xA0,
- 0x29,
- 0x99,
- 0xD1,
- 0x96,
- 0x70,
- 0x59,
- 0x06,
- 0x78,
- 0x35,
- 0xBD,
- 0x65,
- 0x55,
- 0x52,
- 0x9E,
- 0xF8,
- 0xB2,
- 0xE5,
- 0x38,
+ 0x2C, 0x78, 0x16, 0x59, 0x34, 0x63, 0xF4, 0xF3, 0x92, 0xFC,
+ 0xB5, 0xA5, 0x4F, 0x13, 0xDE, 0x2F, 0x1C, 0xA4, 0x3C, 0xAE,
+ 0xAD, 0x38, 0x3F, 0x7E, 0x90, 0xBF, 0x96, 0xA6, 0xAE, 0x25,
+ 0x90, 0x72, 0xF5, 0x8E, 0x80, 0x0C, 0x39, 0x1C, 0xD9, 0xEC,
+ 0xBA, 0x90, 0x5B, 0x3A, 0xE8, 0x58, 0x6C, 0x9E, 0x30, 0x42,
+ 0x37, 0x02, 0x31, 0x82, 0xBC, 0x6A, 0xDF, 0x6A, 0x09, 0x29,
+ 0xE3, 0xC0, 0x46, 0xD1, 0xCB, 0x85, 0xEC, 0x0C, 0x30, 0x5E,
+ 0xEA, 0xC8, 0x39, 0x8E, 0x22, 0x9F, 0x22, 0x10, 0xD2, 0x34,
+ 0x61, 0x68, 0x37, 0x3D, 0x2E, 0x4A, 0x5B, 0x9A, 0xF5, 0xC1,
+ 0x48, 0xC6, 0xF6, 0xDC, 0x63, 0x1A, 0xD3, 0x96, 0x64, 0xBA,
+ 0x34, 0xC9, 0xD1, 0xA0, 0xD1, 0xAE, 0x6C, 0x2F, 0x48, 0x17,
+ 0x93, 0x14, 0x43, 0xED, 0xF0, 0x21, 0x30, 0x19, 0xC3, 0x1B,
+ 0x5F, 0xDE, 0xA3, 0xF0, 0x70, 0x78, 0x18, 0xE1, 0xA8, 0xE4,
+ 0xEE, 0x2E, 0x00, 0xA5, 0xE4, 0xB3, 0x17, 0xC8, 0x0C, 0x7D,
+ 0x6E, 0x42, 0xDC, 0xB7, 0x46, 0x00, 0x36, 0x4D, 0xD4, 0x46,
+ 0xAA, 0x3D, 0x3C, 0x46, 0x89, 0x40, 0xBF, 0x1D, 0x84, 0x77,
+ 0x0A, 0x75, 0xF3, 0x87, 0x1D, 0x08, 0x4C, 0xA6, 0xD1, 0xA9,
+ 0x1C, 0x1E, 0x12, 0x1E, 0xE1, 0xC7, 0x30, 0x28, 0x76, 0xA5,
+ 0x7F, 0x6C, 0x85, 0x96, 0x2B, 0x6F, 0xDB, 0x80, 0x66, 0x26,
+ 0xAE, 0xF5, 0x93, 0xC7, 0x8E, 0xAE, 0x9A, 0xED, 0xE4, 0xCA,
+ 0x04, 0xEA, 0x3B, 0x72, 0xEF, 0xDC, 0x87, 0xED, 0x0D, 0xA5,
+ 0x4C, 0x4A, 0xDD, 0x71, 0x22, 0x64, 0x59, 0x69, 0x4E, 0x8E,
+ 0xBF, 0x43, 0xDC, 0xAB, 0x8E, 0x66, 0xBB, 0x01, 0xB6, 0xF4,
+ 0xE7, 0xFD, 0xD2, 0xAD, 0x9F, 0x36, 0xC1, 0xA0, 0x29, 0x99,
+ 0xD1, 0x96, 0x70, 0x59, 0x06, 0x78, 0x35, 0xBD, 0x65, 0x55,
+ 0x52, 0x9E, 0xF8, 0xB2, 0xE5, 0x38
};
typedef struct testdsa_st {
diff --git a/crypto/openssl/apps/testrsa.h b/crypto/openssl/apps/testrsa.h
index db9221e8aaa..5117bc175eb 100644
--- a/crypto/openssl/apps/testrsa.h
+++ b/crypto/openssl/apps/testrsa.h
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -8,2129 +8,225 @@
*/
static unsigned char test512[] = {
- 0x30,
- 0x82,
- 0x01,
- 0x3a,
- 0x02,
- 0x01,
- 0x00,
- 0x02,
- 0x41,
- 0x00,
- 0xd6,
- 0x33,
- 0xb9,
- 0xc8,
- 0xfb,
- 0x4f,
- 0x3c,
- 0x7d,
- 0xc0,
- 0x01,
- 0x86,
- 0xd0,
- 0xe7,
- 0xa0,
- 0x55,
- 0xf2,
- 0x95,
- 0x93,
- 0xcc,
- 0x4f,
- 0xb7,
- 0x5b,
- 0x67,
- 0x5b,
- 0x94,
- 0x68,
- 0xc9,
- 0x34,
- 0x15,
- 0xde,
- 0xa5,
- 0x2e,
- 0x1c,
- 0x33,
- 0xc2,
- 0x6e,
- 0xfc,
- 0x34,
- 0x5e,
- 0x71,
- 0x13,
- 0xb7,
- 0xd6,
- 0xee,
- 0xd8,
- 0xa5,
- 0x65,
- 0x05,
- 0x72,
- 0x87,
- 0xa8,
- 0xb0,
- 0x77,
- 0xfe,
- 0x57,
- 0xf5,
- 0xfc,
- 0x5f,
- 0x55,
- 0x83,
- 0x87,
- 0xdd,
- 0x57,
- 0x49,
- 0x02,
- 0x03,
- 0x01,
- 0x00,
- 0x01,
- 0x02,
- 0x41,
- 0x00,
- 0xa7,
- 0xf7,
- 0x91,
- 0xc5,
- 0x0f,
- 0x84,
- 0x57,
- 0xdc,
- 0x07,
- 0xf7,
- 0x6a,
- 0x7f,
- 0x60,
- 0x52,
- 0xb3,
- 0x72,
- 0xf1,
- 0x66,
- 0x1f,
- 0x7d,
- 0x97,
- 0x3b,
- 0x9e,
- 0xb6,
- 0x0a,
- 0x8f,
- 0x8c,
- 0xcf,
- 0x42,
- 0x23,
- 0x00,
- 0x04,
- 0xd4,
- 0x28,
- 0x0e,
- 0x1c,
- 0x90,
- 0xc4,
- 0x11,
- 0x25,
- 0x25,
- 0xa5,
- 0x93,
- 0xa5,
- 0x2f,
- 0x70,
- 0x02,
- 0xdf,
- 0x81,
- 0x9c,
- 0x49,
- 0x03,
- 0xa0,
- 0xf8,
- 0x6d,
- 0x54,
- 0x2e,
- 0x26,
- 0xde,
- 0xaa,
- 0x85,
- 0x59,
- 0xa8,
- 0x31,
- 0x02,
- 0x21,
- 0x00,
- 0xeb,
- 0x47,
- 0xd7,
- 0x3b,
- 0xf6,
- 0xc3,
- 0xdd,
- 0x5a,
- 0x46,
- 0xc5,
- 0xb9,
- 0x2b,
- 0x9a,
- 0xa0,
- 0x09,
- 0x8f,
- 0xa6,
- 0xfb,
- 0xf3,
- 0x78,
- 0x7a,
- 0x33,
- 0x70,
- 0x9d,
- 0x0f,
- 0x42,
- 0x6b,
- 0x13,
- 0x68,
- 0x24,
- 0xd3,
- 0x15,
- 0x02,
- 0x21,
- 0x00,
- 0xe9,
- 0x10,
- 0xb0,
- 0xb3,
- 0x0d,
- 0xe2,
- 0x82,
- 0x68,
- 0x77,
- 0x8a,
- 0x6e,
- 0x7c,
- 0xda,
- 0xbc,
- 0x3e,
- 0x53,
- 0x83,
- 0xfb,
- 0xd6,
- 0x22,
- 0xe7,
- 0xb5,
- 0xae,
- 0x6e,
- 0x80,
- 0xda,
- 0x00,
- 0x55,
- 0x97,
- 0xc1,
- 0xd0,
- 0x65,
- 0x02,
- 0x20,
- 0x4c,
- 0xf8,
- 0x73,
- 0xb1,
- 0x6a,
- 0x49,
- 0x29,
- 0x61,
- 0x1f,
- 0x46,
- 0x10,
- 0x0d,
- 0xf3,
- 0xc7,
- 0xe7,
- 0x58,
- 0xd7,
- 0x88,
- 0x15,
- 0x5e,
- 0x94,
- 0x9b,
- 0xbf,
- 0x7b,
- 0xa2,
- 0x42,
- 0x58,
- 0x45,
- 0x41,
- 0x0c,
- 0xcb,
- 0x01,
- 0x02,
- 0x20,
- 0x12,
- 0x11,
- 0xba,
- 0x31,
- 0x57,
- 0x9d,
- 0x3d,
- 0x11,
- 0x0e,
- 0x5b,
- 0x8c,
- 0x2f,
- 0x5f,
- 0xe2,
- 0x02,
- 0x4f,
- 0x05,
- 0x47,
- 0x8c,
- 0x15,
- 0x8e,
- 0xb3,
- 0x56,
- 0x3f,
- 0xb8,
- 0xfb,
- 0xad,
- 0xd4,
- 0xf4,
- 0xfc,
- 0x10,
- 0xc5,
- 0x02,
- 0x20,
- 0x18,
- 0xa1,
- 0x29,
- 0x99,
- 0x5b,
- 0xd9,
- 0xc8,
- 0xd4,
- 0xfc,
- 0x49,
- 0x7a,
- 0x2a,
- 0x21,
- 0x2c,
- 0x49,
- 0xe4,
- 0x4f,
- 0xeb,
- 0xef,
- 0x51,
- 0xf1,
- 0xab,
- 0x6d,
- 0xfb,
- 0x4b,
- 0x14,
- 0xe9,
- 0x4b,
- 0x52,
- 0xb5,
- 0x82,
- 0x2c,
+ 0x30, 0x82, 0x01, 0x3a, 0x02, 0x01, 0x00, 0x02, 0x41, 0x00,
+ 0xd6, 0x33, 0xb9, 0xc8, 0xfb, 0x4f, 0x3c, 0x7d, 0xc0, 0x01,
+ 0x86, 0xd0, 0xe7, 0xa0, 0x55, 0xf2, 0x95, 0x93, 0xcc, 0x4f,
+ 0xb7, 0x5b, 0x67, 0x5b, 0x94, 0x68, 0xc9, 0x34, 0x15, 0xde,
+ 0xa5, 0x2e, 0x1c, 0x33, 0xc2, 0x6e, 0xfc, 0x34, 0x5e, 0x71,
+ 0x13, 0xb7, 0xd6, 0xee, 0xd8, 0xa5, 0x65, 0x05, 0x72, 0x87,
+ 0xa8, 0xb0, 0x77, 0xfe, 0x57, 0xf5, 0xfc, 0x5f, 0x55, 0x83,
+ 0x87, 0xdd, 0x57, 0x49, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02,
+ 0x41, 0x00, 0xa7, 0xf7, 0x91, 0xc5, 0x0f, 0x84, 0x57, 0xdc,
+ 0x07, 0xf7, 0x6a, 0x7f, 0x60, 0x52, 0xb3, 0x72, 0xf1, 0x66,
+ 0x1f, 0x7d, 0x97, 0x3b, 0x9e, 0xb6, 0x0a, 0x8f, 0x8c, 0xcf,
+ 0x42, 0x23, 0x00, 0x04, 0xd4, 0x28, 0x0e, 0x1c, 0x90, 0xc4,
+ 0x11, 0x25, 0x25, 0xa5, 0x93, 0xa5, 0x2f, 0x70, 0x02, 0xdf,
+ 0x81, 0x9c, 0x49, 0x03, 0xa0, 0xf8, 0x6d, 0x54, 0x2e, 0x26,
+ 0xde, 0xaa, 0x85, 0x59, 0xa8, 0x31, 0x02, 0x21, 0x00, 0xeb,
+ 0x47, 0xd7, 0x3b, 0xf6, 0xc3, 0xdd, 0x5a, 0x46, 0xc5, 0xb9,
+ 0x2b, 0x9a, 0xa0, 0x09, 0x8f, 0xa6, 0xfb, 0xf3, 0x78, 0x7a,
+ 0x33, 0x70, 0x9d, 0x0f, 0x42, 0x6b, 0x13, 0x68, 0x24, 0xd3,
+ 0x15, 0x02, 0x21, 0x00, 0xe9, 0x10, 0xb0, 0xb3, 0x0d, 0xe2,
+ 0x82, 0x68, 0x77, 0x8a, 0x6e, 0x7c, 0xda, 0xbc, 0x3e, 0x53,
+ 0x83, 0xfb, 0xd6, 0x22, 0xe7, 0xb5, 0xae, 0x6e, 0x80, 0xda,
+ 0x00, 0x55, 0x97, 0xc1, 0xd0, 0x65, 0x02, 0x20, 0x4c, 0xf8,
+ 0x73, 0xb1, 0x6a, 0x49, 0x29, 0x61, 0x1f, 0x46, 0x10, 0x0d,
+ 0xf3, 0xc7, 0xe7, 0x58, 0xd7, 0x88, 0x15, 0x5e, 0x94, 0x9b,
+ 0xbf, 0x7b, 0xa2, 0x42, 0x58, 0x45, 0x41, 0x0c, 0xcb, 0x01,
+ 0x02, 0x20, 0x12, 0x11, 0xba, 0x31, 0x57, 0x9d, 0x3d, 0x11,
+ 0x0e, 0x5b, 0x8c, 0x2f, 0x5f, 0xe2, 0x02, 0x4f, 0x05, 0x47,
+ 0x8c, 0x15, 0x8e, 0xb3, 0x56, 0x3f, 0xb8, 0xfb, 0xad, 0xd4,
+ 0xf4, 0xfc, 0x10, 0xc5, 0x02, 0x20, 0x18, 0xa1, 0x29, 0x99,
+ 0x5b, 0xd9, 0xc8, 0xd4, 0xfc, 0x49, 0x7a, 0x2a, 0x21, 0x2c,
+ 0x49, 0xe4, 0x4f, 0xeb, 0xef, 0x51, 0xf1, 0xab, 0x6d, 0xfb,
+ 0x4b, 0x14, 0xe9, 0x4b, 0x52, 0xb5, 0x82, 0x2c
};
static unsigned char test1024[] = {
- 0x30,
- 0x82,
- 0x02,
- 0x5c,
- 0x02,
- 0x01,
- 0x00,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xdc,
- 0x98,
- 0x43,
- 0xe8,
- 0x3d,
- 0x43,
- 0x5b,
- 0xe4,
- 0x05,
- 0xcd,
- 0xd0,
- 0xa9,
- 0x3e,
- 0xcb,
- 0x83,
- 0x75,
- 0xf6,
- 0xb5,
- 0xa5,
- 0x9f,
- 0x6b,
- 0xe9,
- 0x34,
- 0x41,
- 0x29,
- 0x18,
- 0xfa,
- 0x6a,
- 0x55,
- 0x4d,
- 0x70,
- 0xfc,
- 0xec,
- 0xae,
- 0x87,
- 0x38,
- 0x0a,
- 0x20,
- 0xa9,
- 0xc0,
- 0x45,
- 0x77,
- 0x6e,
- 0x57,
- 0x60,
- 0x57,
- 0xf4,
- 0xed,
- 0x96,
- 0x22,
- 0xcb,
- 0x8f,
- 0xe1,
- 0x33,
- 0x3a,
- 0x17,
- 0x1f,
- 0xed,
- 0x37,
- 0xa5,
- 0x6f,
- 0xeb,
- 0xa6,
- 0xbc,
- 0x12,
- 0x80,
- 0x1d,
- 0x53,
- 0xbd,
- 0x70,
- 0xeb,
- 0x21,
- 0x76,
- 0x3e,
- 0xc9,
- 0x2f,
- 0x1a,
- 0x45,
- 0x24,
- 0x82,
- 0xff,
- 0xcd,
- 0x59,
- 0x32,
- 0x06,
- 0x2e,
- 0x12,
- 0x3b,
- 0x23,
- 0x78,
- 0xed,
- 0x12,
- 0x3d,
- 0xe0,
- 0x8d,
- 0xf9,
- 0x67,
- 0x4f,
- 0x37,
- 0x4e,
- 0x47,
- 0x02,
- 0x4c,
- 0x2d,
- 0xc0,
- 0x4f,
- 0x1f,
- 0xb3,
- 0x94,
- 0xe1,
- 0x41,
- 0x2e,
- 0x2d,
- 0x90,
- 0x10,
- 0xfc,
- 0x82,
- 0x91,
- 0x8b,
- 0x0f,
- 0x22,
- 0xd4,
- 0xf2,
- 0xfc,
- 0x2c,
- 0xab,
- 0x53,
- 0x55,
- 0x02,
- 0x03,
- 0x01,
- 0x00,
- 0x01,
- 0x02,
- 0x81,
- 0x80,
- 0x2b,
- 0xcc,
- 0x3f,
- 0x8f,
- 0x58,
- 0xba,
- 0x8b,
- 0x00,
- 0x16,
- 0xf6,
- 0xea,
- 0x3a,
- 0xf0,
- 0x30,
- 0xd0,
- 0x05,
- 0x17,
- 0xda,
- 0xb0,
- 0xeb,
- 0x9a,
- 0x2d,
- 0x4f,
- 0x26,
- 0xb0,
- 0xd6,
- 0x38,
- 0xc1,
- 0xeb,
- 0xf5,
- 0xd8,
- 0x3d,
- 0x1f,
- 0x70,
- 0xf7,
- 0x7f,
- 0xf4,
- 0xe2,
- 0xcf,
- 0x51,
- 0x51,
- 0x79,
- 0x88,
- 0xfa,
- 0xe8,
- 0x32,
- 0x0e,
- 0x7b,
- 0x2d,
- 0x97,
- 0xf2,
- 0xfa,
- 0xba,
- 0x27,
- 0xc5,
- 0x9c,
- 0xd9,
- 0xc5,
- 0xeb,
- 0x8a,
- 0x79,
- 0x52,
- 0x3c,
- 0x64,
- 0x34,
- 0x7d,
- 0xc2,
- 0xcf,
- 0x28,
- 0xc7,
- 0x4e,
- 0xd5,
- 0x43,
- 0x0b,
- 0xd1,
- 0xa6,
- 0xca,
- 0x6d,
- 0x03,
- 0x2d,
- 0x72,
- 0x23,
- 0xbc,
- 0x6d,
- 0x05,
- 0xfa,
- 0x16,
- 0x09,
- 0x2f,
- 0x2e,
- 0x5c,
- 0xb6,
- 0xee,
- 0x74,
- 0xdd,
- 0xd2,
- 0x48,
- 0x8e,
- 0x36,
- 0x0c,
- 0x06,
- 0x3d,
- 0x4d,
- 0xe5,
- 0x10,
- 0x82,
- 0xeb,
- 0x6a,
- 0xf3,
- 0x4b,
- 0x9f,
- 0xd6,
- 0xed,
- 0x11,
- 0xb1,
- 0x6e,
- 0xec,
- 0xf4,
- 0xfe,
- 0x8e,
- 0x75,
- 0x94,
- 0x20,
- 0x2f,
- 0xcb,
- 0xac,
- 0x46,
- 0xf1,
- 0x02,
- 0x41,
- 0x00,
- 0xf9,
- 0x8c,
- 0xa3,
- 0x85,
- 0xb1,
- 0xdd,
- 0x29,
- 0xaf,
- 0x65,
- 0xc1,
- 0x33,
- 0xf3,
- 0x95,
- 0xc5,
- 0x52,
- 0x68,
- 0x0b,
- 0xd4,
- 0xf1,
- 0xe5,
- 0x0e,
- 0x02,
- 0x9f,
- 0x4f,
- 0xfa,
- 0x77,
- 0xdc,
- 0x46,
- 0x9e,
- 0xc7,
- 0xa6,
- 0xe4,
- 0x16,
- 0x29,
- 0xda,
- 0xb0,
- 0x07,
- 0xcf,
- 0x5b,
- 0xa9,
- 0x12,
- 0x8a,
- 0xdd,
- 0x63,
- 0x0a,
- 0xde,
- 0x2e,
- 0x8c,
- 0x66,
- 0x8b,
- 0x8c,
- 0xdc,
- 0x19,
- 0xa3,
- 0x7e,
- 0xf4,
- 0x3b,
- 0xd0,
- 0x1a,
- 0x8c,
- 0xa4,
- 0xc2,
- 0xe1,
- 0xd3,
- 0x02,
- 0x41,
- 0x00,
- 0xe2,
- 0x4c,
- 0x05,
- 0xf2,
- 0x04,
- 0x86,
- 0x4e,
- 0x61,
- 0x43,
- 0xdb,
- 0xb0,
- 0xb9,
- 0x96,
- 0x86,
- 0x52,
- 0x2c,
- 0xca,
- 0x8d,
- 0x7b,
- 0xab,
- 0x0b,
- 0x13,
- 0x0d,
- 0x7e,
- 0x38,
- 0x5b,
- 0xe2,
- 0x2e,
- 0x7b,
- 0x0e,
- 0xe7,
- 0x19,
- 0x99,
- 0x38,
- 0xe7,
- 0xf2,
- 0x21,
- 0xbd,
- 0x85,
- 0x85,
- 0xe3,
- 0xfd,
- 0x28,
- 0x77,
- 0x20,
- 0x31,
- 0x71,
- 0x2c,
- 0xd0,
- 0xff,
- 0xfb,
- 0x2e,
- 0xaf,
- 0x85,
- 0xb4,
- 0x86,
- 0xca,
- 0xf3,
- 0xbb,
- 0xca,
- 0xaa,
- 0x0f,
- 0x95,
- 0x37,
- 0x02,
- 0x40,
- 0x0e,
- 0x41,
- 0x9a,
- 0x95,
- 0xe8,
- 0xb3,
- 0x59,
- 0xce,
- 0x4b,
- 0x61,
- 0xde,
- 0x35,
- 0xec,
- 0x38,
- 0x79,
- 0x9c,
- 0xb8,
- 0x10,
- 0x52,
- 0x41,
- 0x63,
- 0xab,
- 0x82,
- 0xae,
- 0x6f,
- 0x00,
- 0xa9,
- 0xf4,
- 0xde,
- 0xdd,
- 0x49,
- 0x0b,
- 0x7e,
- 0xb8,
- 0xa5,
- 0x65,
- 0xa9,
- 0x0c,
- 0x8f,
- 0x8f,
- 0xf9,
- 0x1f,
- 0x35,
- 0xc6,
- 0x92,
- 0xb8,
- 0x5e,
- 0xb0,
- 0x66,
- 0xab,
- 0x52,
- 0x40,
- 0xc0,
- 0xb6,
- 0x36,
- 0x6a,
- 0x7d,
- 0x80,
- 0x46,
- 0x04,
- 0x02,
- 0xe5,
- 0x9f,
- 0x41,
- 0x02,
- 0x41,
- 0x00,
- 0xc0,
- 0xad,
- 0xcc,
- 0x4e,
- 0x21,
- 0xee,
- 0x1d,
- 0x24,
- 0x91,
- 0xfb,
- 0xa7,
- 0x80,
- 0x8d,
- 0x9a,
- 0xb6,
- 0xb3,
- 0x2e,
- 0x8f,
- 0xc2,
- 0xe1,
- 0x82,
- 0xdf,
- 0x69,
- 0x18,
- 0xb4,
- 0x71,
- 0xff,
- 0xa6,
- 0x65,
- 0xde,
- 0xed,
- 0x84,
- 0x8d,
- 0x42,
- 0xb7,
- 0xb3,
- 0x21,
- 0x69,
- 0x56,
- 0x1c,
- 0x07,
- 0x60,
- 0x51,
- 0x29,
- 0x04,
- 0xff,
- 0x34,
- 0x06,
- 0xdd,
- 0xb9,
- 0x67,
- 0x2c,
- 0x7c,
- 0x04,
- 0x93,
- 0x0e,
- 0x46,
- 0x15,
- 0xbb,
- 0x2a,
- 0xb7,
- 0x1b,
- 0xe7,
- 0x87,
- 0x02,
- 0x40,
- 0x78,
- 0xda,
- 0x5d,
- 0x07,
- 0x51,
- 0x0c,
- 0x16,
- 0x7a,
- 0x9f,
- 0x29,
- 0x20,
- 0x84,
- 0x0d,
- 0x42,
- 0xfa,
- 0xd7,
- 0x00,
- 0xd8,
- 0x77,
- 0x7e,
- 0xb0,
- 0xb0,
- 0x6b,
- 0xd6,
- 0x5b,
- 0x53,
- 0xb8,
- 0x9b,
- 0x7a,
- 0xcd,
- 0xc7,
- 0x2b,
- 0xb8,
- 0x6a,
- 0x63,
- 0xa9,
- 0xfb,
- 0x6f,
- 0xa4,
- 0x72,
- 0xbf,
- 0x4c,
- 0x5d,
- 0x00,
- 0x14,
- 0xba,
- 0xfa,
- 0x59,
- 0x88,
- 0xed,
- 0xe4,
- 0xe0,
- 0x8c,
- 0xa2,
- 0xec,
- 0x14,
- 0x7e,
- 0x2d,
- 0xe2,
- 0xf0,
- 0x46,
- 0x49,
- 0x95,
- 0x45,
+ 0x30, 0x82, 0x02, 0x5c, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81,
+ 0x00, 0xdc, 0x98, 0x43, 0xe8, 0x3d, 0x43, 0x5b, 0xe4, 0x05,
+ 0xcd, 0xd0, 0xa9, 0x3e, 0xcb, 0x83, 0x75, 0xf6, 0xb5, 0xa5,
+ 0x9f, 0x6b, 0xe9, 0x34, 0x41, 0x29, 0x18, 0xfa, 0x6a, 0x55,
+ 0x4d, 0x70, 0xfc, 0xec, 0xae, 0x87, 0x38, 0x0a, 0x20, 0xa9,
+ 0xc0, 0x45, 0x77, 0x6e, 0x57, 0x60, 0x57, 0xf4, 0xed, 0x96,
+ 0x22, 0xcb, 0x8f, 0xe1, 0x33, 0x3a, 0x17, 0x1f, 0xed, 0x37,
+ 0xa5, 0x6f, 0xeb, 0xa6, 0xbc, 0x12, 0x80, 0x1d, 0x53, 0xbd,
+ 0x70, 0xeb, 0x21, 0x76, 0x3e, 0xc9, 0x2f, 0x1a, 0x45, 0x24,
+ 0x82, 0xff, 0xcd, 0x59, 0x32, 0x06, 0x2e, 0x12, 0x3b, 0x23,
+ 0x78, 0xed, 0x12, 0x3d, 0xe0, 0x8d, 0xf9, 0x67, 0x4f, 0x37,
+ 0x4e, 0x47, 0x02, 0x4c, 0x2d, 0xc0, 0x4f, 0x1f, 0xb3, 0x94,
+ 0xe1, 0x41, 0x2e, 0x2d, 0x90, 0x10, 0xfc, 0x82, 0x91, 0x8b,
+ 0x0f, 0x22, 0xd4, 0xf2, 0xfc, 0x2c, 0xab, 0x53, 0x55, 0x02,
+ 0x03, 0x01, 0x00, 0x01, 0x02, 0x81, 0x80, 0x2b, 0xcc, 0x3f,
+ 0x8f, 0x58, 0xba, 0x8b, 0x00, 0x16, 0xf6, 0xea, 0x3a, 0xf0,
+ 0x30, 0xd0, 0x05, 0x17, 0xda, 0xb0, 0xeb, 0x9a, 0x2d, 0x4f,
+ 0x26, 0xb0, 0xd6, 0x38, 0xc1, 0xeb, 0xf5, 0xd8, 0x3d, 0x1f,
+ 0x70, 0xf7, 0x7f, 0xf4, 0xe2, 0xcf, 0x51, 0x51, 0x79, 0x88,
+ 0xfa, 0xe8, 0x32, 0x0e, 0x7b, 0x2d, 0x97, 0xf2, 0xfa, 0xba,
+ 0x27, 0xc5, 0x9c, 0xd9, 0xc5, 0xeb, 0x8a, 0x79, 0x52, 0x3c,
+ 0x64, 0x34, 0x7d, 0xc2, 0xcf, 0x28, 0xc7, 0x4e, 0xd5, 0x43,
+ 0x0b, 0xd1, 0xa6, 0xca, 0x6d, 0x03, 0x2d, 0x72, 0x23, 0xbc,
+ 0x6d, 0x05, 0xfa, 0x16, 0x09, 0x2f, 0x2e, 0x5c, 0xb6, 0xee,
+ 0x74, 0xdd, 0xd2, 0x48, 0x8e, 0x36, 0x0c, 0x06, 0x3d, 0x4d,
+ 0xe5, 0x10, 0x82, 0xeb, 0x6a, 0xf3, 0x4b, 0x9f, 0xd6, 0xed,
+ 0x11, 0xb1, 0x6e, 0xec, 0xf4, 0xfe, 0x8e, 0x75, 0x94, 0x20,
+ 0x2f, 0xcb, 0xac, 0x46, 0xf1, 0x02, 0x41, 0x00, 0xf9, 0x8c,
+ 0xa3, 0x85, 0xb1, 0xdd, 0x29, 0xaf, 0x65, 0xc1, 0x33, 0xf3,
+ 0x95, 0xc5, 0x52, 0x68, 0x0b, 0xd4, 0xf1, 0xe5, 0x0e, 0x02,
+ 0x9f, 0x4f, 0xfa, 0x77, 0xdc, 0x46, 0x9e, 0xc7, 0xa6, 0xe4,
+ 0x16, 0x29, 0xda, 0xb0, 0x07, 0xcf, 0x5b, 0xa9, 0x12, 0x8a,
+ 0xdd, 0x63, 0x0a, 0xde, 0x2e, 0x8c, 0x66, 0x8b, 0x8c, 0xdc,
+ 0x19, 0xa3, 0x7e, 0xf4, 0x3b, 0xd0, 0x1a, 0x8c, 0xa4, 0xc2,
+ 0xe1, 0xd3, 0x02, 0x41, 0x00, 0xe2, 0x4c, 0x05, 0xf2, 0x04,
+ 0x86, 0x4e, 0x61, 0x43, 0xdb, 0xb0, 0xb9, 0x96, 0x86, 0x52,
+ 0x2c, 0xca, 0x8d, 0x7b, 0xab, 0x0b, 0x13, 0x0d, 0x7e, 0x38,
+ 0x5b, 0xe2, 0x2e, 0x7b, 0x0e, 0xe7, 0x19, 0x99, 0x38, 0xe7,
+ 0xf2, 0x21, 0xbd, 0x85, 0x85, 0xe3, 0xfd, 0x28, 0x77, 0x20,
+ 0x31, 0x71, 0x2c, 0xd0, 0xff, 0xfb, 0x2e, 0xaf, 0x85, 0xb4,
+ 0x86, 0xca, 0xf3, 0xbb, 0xca, 0xaa, 0x0f, 0x95, 0x37, 0x02,
+ 0x40, 0x0e, 0x41, 0x9a, 0x95, 0xe8, 0xb3, 0x59, 0xce, 0x4b,
+ 0x61, 0xde, 0x35, 0xec, 0x38, 0x79, 0x9c, 0xb8, 0x10, 0x52,
+ 0x41, 0x63, 0xab, 0x82, 0xae, 0x6f, 0x00, 0xa9, 0xf4, 0xde,
+ 0xdd, 0x49, 0x0b, 0x7e, 0xb8, 0xa5, 0x65, 0xa9, 0x0c, 0x8f,
+ 0x8f, 0xf9, 0x1f, 0x35, 0xc6, 0x92, 0xb8, 0x5e, 0xb0, 0x66,
+ 0xab, 0x52, 0x40, 0xc0, 0xb6, 0x36, 0x6a, 0x7d, 0x80, 0x46,
+ 0x04, 0x02, 0xe5, 0x9f, 0x41, 0x02, 0x41, 0x00, 0xc0, 0xad,
+ 0xcc, 0x4e, 0x21, 0xee, 0x1d, 0x24, 0x91, 0xfb, 0xa7, 0x80,
+ 0x8d, 0x9a, 0xb6, 0xb3, 0x2e, 0x8f, 0xc2, 0xe1, 0x82, 0xdf,
+ 0x69, 0x18, 0xb4, 0x71, 0xff, 0xa6, 0x65, 0xde, 0xed, 0x84,
+ 0x8d, 0x42, 0xb7, 0xb3, 0x21, 0x69, 0x56, 0x1c, 0x07, 0x60,
+ 0x51, 0x29, 0x04, 0xff, 0x34, 0x06, 0xdd, 0xb9, 0x67, 0x2c,
+ 0x7c, 0x04, 0x93, 0x0e, 0x46, 0x15, 0xbb, 0x2a, 0xb7, 0x1b,
+ 0xe7, 0x87, 0x02, 0x40, 0x78, 0xda, 0x5d, 0x07, 0x51, 0x0c,
+ 0x16, 0x7a, 0x9f, 0x29, 0x20, 0x84, 0x0d, 0x42, 0xfa, 0xd7,
+ 0x00, 0xd8, 0x77, 0x7e, 0xb0, 0xb0, 0x6b, 0xd6, 0x5b, 0x53,
+ 0xb8, 0x9b, 0x7a, 0xcd, 0xc7, 0x2b, 0xb8, 0x6a, 0x63, 0xa9,
+ 0xfb, 0x6f, 0xa4, 0x72, 0xbf, 0x4c, 0x5d, 0x00, 0x14, 0xba,
+ 0xfa, 0x59, 0x88, 0xed, 0xe4, 0xe0, 0x8c, 0xa2, 0xec, 0x14,
+ 0x7e, 0x2d, 0xe2, 0xf0, 0x46, 0x49, 0x95, 0x45
};
static unsigned char test2048[] = {
- 0x30,
- 0x82,
- 0x04,
- 0xa3,
- 0x02,
- 0x01,
- 0x00,
- 0x02,
- 0x82,
- 0x01,
- 0x01,
- 0x00,
- 0xc0,
- 0xc0,
- 0xce,
- 0x3e,
- 0x3c,
- 0x53,
- 0x67,
- 0x3f,
- 0x4f,
- 0xc5,
- 0x2f,
- 0xa4,
- 0xc2,
- 0x5a,
- 0x2f,
- 0x58,
- 0xfd,
- 0x27,
- 0x52,
- 0x6a,
- 0xe8,
- 0xcf,
- 0x4a,
- 0x73,
- 0x47,
- 0x8d,
- 0x25,
- 0x0f,
- 0x5f,
- 0x03,
- 0x26,
- 0x78,
- 0xef,
- 0xf0,
- 0x22,
- 0x12,
- 0xd3,
- 0xde,
- 0x47,
- 0xb2,
- 0x1c,
- 0x0b,
- 0x38,
- 0x63,
- 0x1a,
- 0x6c,
- 0x85,
- 0x7a,
- 0x80,
- 0xc6,
- 0x8f,
- 0xa0,
- 0x41,
- 0xaf,
- 0x62,
- 0xc4,
- 0x67,
- 0x32,
- 0x88,
- 0xf8,
- 0xa6,
- 0x9c,
- 0xf5,
- 0x23,
- 0x1d,
- 0xe4,
- 0xac,
- 0x3f,
- 0x29,
- 0xf9,
- 0xec,
- 0xe1,
- 0x8b,
- 0x26,
- 0x03,
- 0x2c,
- 0xb2,
- 0xab,
- 0xf3,
- 0x7d,
- 0xb5,
- 0xca,
- 0x49,
- 0xc0,
- 0x8f,
- 0x1c,
- 0xdf,
- 0x33,
- 0x3a,
- 0x60,
- 0xda,
- 0x3c,
- 0xb0,
- 0x16,
- 0xf8,
- 0xa9,
- 0x12,
- 0x8f,
- 0x64,
- 0xac,
- 0x23,
- 0x0c,
- 0x69,
- 0x64,
- 0x97,
- 0x5d,
- 0x99,
- 0xd4,
- 0x09,
- 0x83,
- 0x9b,
- 0x61,
- 0xd3,
- 0xac,
- 0xf0,
- 0xde,
- 0xdd,
- 0x5e,
- 0x9f,
- 0x44,
- 0x94,
- 0xdb,
- 0x3a,
- 0x4d,
- 0x97,
- 0xe8,
- 0x52,
- 0x29,
- 0xf7,
- 0xdb,
- 0x94,
- 0x07,
- 0x45,
- 0x90,
- 0x78,
- 0x1e,
- 0x31,
- 0x0b,
- 0x80,
- 0xf7,
- 0x57,
- 0xad,
- 0x1c,
- 0x79,
- 0xc5,
- 0xcb,
- 0x32,
- 0xb0,
- 0xce,
- 0xcd,
- 0x74,
- 0xb3,
- 0xe2,
- 0x94,
- 0xc5,
- 0x78,
- 0x2f,
- 0x34,
- 0x1a,
- 0x45,
- 0xf7,
- 0x8c,
- 0x52,
- 0xa5,
- 0xbc,
- 0x8d,
- 0xec,
- 0xd1,
- 0x2f,
- 0x31,
- 0x3b,
- 0xf0,
- 0x49,
- 0x59,
- 0x5e,
- 0x88,
- 0x9d,
- 0x15,
- 0x92,
- 0x35,
- 0x32,
- 0xc1,
- 0xe7,
- 0x61,
- 0xec,
- 0x50,
- 0x48,
- 0x7c,
- 0xba,
- 0x05,
- 0xf9,
- 0xf8,
- 0xf8,
- 0xa7,
- 0x8c,
- 0x83,
- 0xe8,
- 0x66,
- 0x5b,
- 0xeb,
- 0xfe,
- 0xd8,
- 0x4f,
- 0xdd,
- 0x6d,
- 0x36,
- 0xc0,
- 0xb2,
- 0x90,
- 0x0f,
- 0xb8,
- 0x52,
- 0xf9,
- 0x04,
- 0x9b,
- 0x40,
- 0x2c,
- 0x27,
- 0xd6,
- 0x36,
- 0x8e,
- 0xc2,
- 0x1b,
- 0x44,
- 0xf3,
- 0x92,
- 0xd5,
- 0x15,
- 0x9e,
- 0x9a,
- 0xbc,
- 0xf3,
- 0x7d,
- 0x03,
- 0xd7,
- 0x02,
- 0x14,
- 0x20,
- 0xe9,
- 0x10,
- 0x92,
- 0xfd,
- 0xf9,
- 0xfc,
- 0x8f,
- 0xe5,
- 0x18,
- 0xe1,
- 0x95,
- 0xcc,
- 0x9e,
- 0x60,
- 0xa6,
- 0xfa,
- 0x38,
- 0x4d,
- 0x02,
- 0x03,
- 0x01,
- 0x00,
- 0x01,
- 0x02,
- 0x82,
- 0x01,
- 0x00,
- 0x00,
- 0xc3,
- 0xc3,
- 0x0d,
- 0xb4,
- 0x27,
- 0x90,
- 0x8d,
- 0x4b,
- 0xbf,
- 0xb8,
- 0x84,
- 0xaa,
- 0xd0,
- 0xb8,
- 0xc7,
- 0x5d,
- 0x99,
- 0xbe,
- 0x55,
- 0xf6,
- 0x3e,
- 0x7c,
- 0x49,
- 0x20,
- 0xcb,
- 0x8a,
- 0x8e,
- 0x19,
- 0x0e,
- 0x66,
- 0x24,
- 0xac,
- 0xaf,
- 0x03,
- 0x33,
- 0x97,
- 0xeb,
- 0x95,
- 0xd5,
- 0x3b,
- 0x0f,
- 0x40,
- 0x56,
- 0x04,
- 0x50,
- 0xd1,
- 0xe6,
- 0xbe,
- 0x84,
- 0x0b,
- 0x25,
- 0xd3,
- 0x9c,
- 0xe2,
- 0x83,
- 0x6c,
- 0xf5,
- 0x62,
- 0x5d,
- 0xba,
- 0x2b,
- 0x7d,
- 0x3d,
- 0x7a,
- 0x6c,
- 0xe1,
- 0xd2,
- 0x0e,
- 0x54,
- 0x93,
- 0x80,
- 0x01,
- 0x91,
- 0x51,
- 0x09,
- 0xe8,
- 0x5b,
- 0x8e,
- 0x47,
- 0xbd,
- 0x64,
- 0xe4,
- 0x0e,
- 0x03,
- 0x83,
- 0x55,
- 0xcf,
- 0x5a,
- 0x37,
- 0xf0,
- 0x25,
- 0xb5,
- 0x7d,
- 0x21,
- 0xd7,
- 0x69,
- 0xdf,
- 0x6f,
- 0xc2,
- 0xcf,
- 0x10,
- 0xc9,
- 0x8a,
- 0x40,
- 0x9f,
- 0x7a,
- 0x70,
- 0xc0,
- 0xe8,
- 0xe8,
- 0xc0,
- 0xe6,
- 0x9a,
- 0x15,
- 0x0a,
- 0x8d,
- 0x4e,
- 0x46,
- 0xcb,
- 0x7a,
- 0xdb,
- 0xb3,
- 0xcb,
- 0x83,
- 0x02,
- 0xc4,
- 0xf0,
- 0xab,
- 0xeb,
- 0x02,
- 0x01,
- 0x0e,
- 0x23,
- 0xfc,
- 0x1d,
- 0xc4,
- 0xbd,
- 0xd4,
- 0xaa,
- 0x5d,
- 0x31,
- 0x46,
- 0x99,
- 0xce,
- 0x9e,
- 0xf8,
- 0x04,
- 0x75,
- 0x10,
- 0x67,
- 0xc4,
- 0x53,
- 0x47,
- 0x44,
- 0xfa,
- 0xc2,
- 0x25,
- 0x73,
- 0x7e,
- 0xd0,
- 0x8e,
- 0x59,
- 0xd1,
- 0xb2,
- 0x5a,
- 0xf4,
- 0xc7,
- 0x18,
- 0x92,
- 0x2f,
- 0x39,
- 0xab,
- 0xcd,
- 0xa3,
- 0xb5,
- 0xc2,
- 0xb9,
- 0xc7,
- 0xb9,
- 0x1b,
- 0x9f,
- 0x48,
- 0xfa,
- 0x13,
- 0xc6,
- 0x98,
- 0x4d,
- 0xca,
- 0x84,
- 0x9c,
- 0x06,
- 0xca,
- 0xe7,
- 0x89,
- 0x01,
- 0x04,
- 0xc4,
- 0x6c,
- 0xfd,
- 0x29,
- 0x59,
- 0x35,
- 0xe7,
- 0xf3,
- 0xdd,
- 0xce,
- 0x64,
- 0x59,
- 0xbf,
- 0x21,
- 0x13,
- 0xa9,
- 0x9f,
- 0x0e,
- 0xc5,
- 0xff,
- 0xbd,
- 0x33,
- 0x00,
- 0xec,
- 0xac,
- 0x6b,
- 0x11,
- 0xef,
- 0x51,
- 0x5e,
- 0xad,
- 0x07,
- 0x15,
- 0xde,
- 0xb8,
- 0x5f,
- 0xc6,
- 0xb9,
- 0xa3,
- 0x22,
- 0x65,
- 0x46,
- 0x83,
- 0x14,
- 0xdf,
- 0xd0,
- 0xf1,
- 0x44,
- 0x8a,
- 0xe1,
- 0x9c,
- 0x23,
- 0x33,
- 0xb4,
- 0x97,
- 0x33,
- 0xe6,
- 0x6b,
- 0x81,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xec,
- 0x12,
- 0xa7,
- 0x59,
- 0x74,
- 0x6a,
- 0xde,
- 0x3e,
- 0xad,
- 0xd8,
- 0x36,
- 0x80,
- 0x50,
- 0xa2,
- 0xd5,
- 0x21,
- 0x81,
- 0x07,
- 0xf1,
- 0xd0,
- 0x91,
- 0xf2,
- 0x6c,
- 0x12,
- 0x2f,
- 0x9d,
- 0x1a,
- 0x26,
- 0xf8,
- 0x30,
- 0x65,
- 0xdf,
- 0xe8,
- 0xc0,
- 0x9b,
- 0x6a,
- 0x30,
- 0x98,
- 0x82,
- 0x87,
- 0xec,
- 0xa2,
- 0x56,
- 0x87,
- 0x62,
- 0x6f,
- 0xe7,
- 0x9f,
- 0xf6,
- 0x56,
- 0xe6,
- 0x71,
- 0x8f,
- 0x49,
- 0x86,
- 0x93,
- 0x5a,
- 0x4d,
- 0x34,
- 0x58,
- 0xfe,
- 0xd9,
- 0x04,
- 0x13,
- 0xaf,
- 0x79,
- 0xb7,
- 0xad,
- 0x11,
- 0xd1,
- 0x30,
- 0x9a,
- 0x14,
- 0x06,
- 0xa0,
- 0xfa,
- 0xb7,
- 0x55,
- 0xdc,
- 0x6c,
- 0x5a,
- 0x4c,
- 0x2c,
- 0x59,
- 0x56,
- 0xf6,
- 0xe8,
- 0x9d,
- 0xaf,
- 0x0a,
- 0x78,
- 0x99,
- 0x06,
- 0x06,
- 0x9e,
- 0xe7,
- 0x9c,
- 0x51,
- 0x55,
- 0x43,
- 0xfc,
- 0x3b,
- 0x6c,
- 0x0b,
- 0xbf,
- 0x2d,
- 0x41,
- 0xa7,
- 0xaf,
- 0xb7,
- 0xe0,
- 0xe8,
- 0x28,
- 0x18,
- 0xb4,
- 0x13,
- 0xd1,
- 0xe6,
- 0x97,
- 0xd0,
- 0x9f,
- 0x6a,
- 0x80,
- 0xca,
- 0xdd,
- 0x1a,
- 0x7e,
- 0x15,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xd1,
- 0x06,
- 0x0c,
- 0x1f,
- 0xe3,
- 0xd0,
- 0xab,
- 0xd6,
- 0xca,
- 0x7c,
- 0xbc,
- 0x7d,
- 0x13,
- 0x35,
- 0xce,
- 0x27,
- 0xcd,
- 0xd8,
- 0x49,
- 0x51,
- 0x63,
- 0x64,
- 0x0f,
- 0xca,
- 0x06,
- 0x12,
- 0xfc,
- 0x07,
- 0x3e,
- 0xaf,
- 0x61,
- 0x6d,
- 0xe2,
- 0x53,
- 0x39,
- 0x27,
- 0xae,
- 0xc3,
- 0x11,
- 0x9e,
- 0x94,
- 0x01,
- 0x4f,
- 0xe3,
- 0xf3,
- 0x67,
- 0xf9,
- 0x77,
- 0xf9,
- 0xe7,
- 0x95,
- 0x3a,
- 0x6f,
- 0xe2,
- 0x20,
- 0x73,
- 0x3e,
- 0xa4,
- 0x7a,
- 0x28,
- 0xd4,
- 0x61,
- 0x97,
- 0xf6,
- 0x17,
- 0xa0,
- 0x23,
- 0x10,
- 0x2b,
- 0xce,
- 0x84,
- 0x57,
- 0x7e,
- 0x25,
- 0x1f,
- 0xf4,
- 0xa8,
- 0x54,
- 0xd2,
- 0x65,
- 0x94,
- 0xcc,
- 0x95,
- 0x0a,
- 0xab,
- 0x30,
- 0xc1,
- 0x59,
- 0x1f,
- 0x61,
- 0x8e,
- 0xb9,
- 0x6b,
- 0xd7,
- 0x4e,
- 0xb9,
- 0x83,
- 0x43,
- 0x79,
- 0x85,
- 0x11,
- 0xbc,
- 0x0f,
- 0xae,
- 0x25,
- 0x20,
- 0x05,
- 0xbc,
- 0xd2,
- 0x48,
- 0xa1,
- 0x68,
- 0x09,
- 0x84,
- 0xf6,
- 0x12,
- 0x9a,
- 0x66,
- 0xb9,
- 0x2b,
- 0xbb,
- 0x76,
- 0x03,
- 0x17,
- 0x46,
- 0x4e,
- 0x97,
- 0x59,
- 0x02,
- 0x81,
- 0x80,
- 0x09,
- 0x4c,
- 0xfa,
- 0xd6,
- 0xe5,
- 0x65,
- 0x48,
- 0x78,
- 0x43,
- 0xb5,
- 0x1f,
- 0x00,
- 0x93,
- 0x2c,
- 0xb7,
- 0x24,
- 0xe8,
- 0xc6,
- 0x7d,
- 0x5a,
- 0x70,
- 0x45,
- 0x92,
- 0xc8,
- 0x6c,
- 0xa3,
- 0xcd,
- 0xe1,
- 0xf7,
- 0x29,
- 0x40,
- 0xfa,
- 0x3f,
- 0x5b,
- 0x47,
- 0x44,
- 0x39,
- 0xc1,
- 0xe8,
- 0x72,
- 0x9e,
- 0x7a,
- 0x0e,
- 0xda,
- 0xaa,
- 0xa0,
- 0x2a,
- 0x09,
- 0xfd,
- 0x54,
- 0x93,
- 0x23,
- 0xaa,
- 0x37,
- 0x85,
- 0x5b,
- 0xcc,
- 0xd4,
- 0xf9,
- 0xd8,
- 0xff,
- 0xc1,
- 0x61,
- 0x0d,
- 0xbd,
- 0x7e,
- 0x18,
- 0x24,
- 0x73,
- 0x6d,
- 0x40,
- 0x72,
- 0xf1,
- 0x93,
- 0x09,
- 0x48,
- 0x97,
- 0x6c,
- 0x84,
- 0x90,
- 0xa8,
- 0x46,
- 0x14,
- 0x01,
- 0x39,
- 0x11,
- 0xe5,
- 0x3c,
- 0x41,
- 0x27,
- 0x32,
- 0x75,
- 0x24,
- 0xed,
- 0xa1,
- 0xd9,
- 0x12,
- 0x29,
- 0x8a,
- 0x28,
- 0x71,
- 0x89,
- 0x8d,
- 0xca,
- 0x30,
- 0xb0,
- 0x01,
- 0xc4,
- 0x2f,
- 0x82,
- 0x19,
- 0x14,
- 0x4c,
- 0x70,
- 0x1c,
- 0xb8,
- 0x23,
- 0x2e,
- 0xe8,
- 0x90,
- 0x49,
- 0x97,
- 0x92,
- 0x97,
- 0x6b,
- 0x7a,
- 0x9d,
- 0xb9,
- 0x02,
- 0x81,
- 0x80,
- 0x0f,
- 0x0e,
- 0xa1,
- 0x76,
- 0xf6,
- 0xa1,
- 0x44,
- 0x8f,
- 0xaf,
- 0x7c,
- 0x76,
- 0xd3,
- 0x87,
- 0xbb,
- 0xbb,
- 0x83,
- 0x10,
- 0x88,
- 0x01,
- 0x18,
- 0x14,
- 0xd1,
- 0xd3,
- 0x75,
- 0x59,
- 0x24,
- 0xaa,
- 0xf5,
- 0x16,
- 0xa5,
- 0xe9,
- 0x9d,
- 0xd1,
- 0xcc,
- 0xee,
- 0xf4,
- 0x15,
- 0xd9,
- 0xc5,
- 0x7e,
- 0x27,
- 0xe9,
- 0x44,
- 0x49,
- 0x06,
- 0x72,
- 0xb9,
- 0xfc,
- 0xd3,
- 0x8a,
- 0xc4,
- 0x2c,
- 0x36,
- 0x7d,
- 0x12,
- 0x9b,
- 0x5a,
- 0xaa,
- 0xdc,
- 0x85,
- 0xee,
- 0x6e,
- 0xad,
- 0x54,
- 0xb3,
- 0xf4,
- 0xfc,
- 0x31,
- 0xa1,
- 0x06,
- 0x3a,
- 0x70,
- 0x57,
- 0x0c,
- 0xf3,
- 0x95,
- 0x5b,
- 0x3e,
- 0xe8,
- 0xfd,
- 0x1a,
- 0x4f,
- 0xf6,
- 0x78,
- 0x93,
- 0x46,
- 0x6a,
- 0xd7,
- 0x31,
- 0xb4,
- 0x84,
- 0x64,
- 0x85,
- 0x09,
- 0x38,
- 0x89,
- 0x92,
- 0x94,
- 0x1c,
- 0xbf,
- 0xe2,
- 0x3c,
- 0x2a,
- 0xe0,
- 0xff,
- 0x99,
- 0xa3,
- 0xf0,
- 0x2b,
- 0x31,
- 0xc2,
- 0x36,
- 0xcd,
- 0x60,
- 0xbf,
- 0x9d,
- 0x2d,
- 0x74,
- 0x32,
- 0xe8,
- 0x9c,
- 0x93,
- 0x6e,
- 0xbb,
- 0x91,
- 0x7b,
- 0xfd,
- 0xd9,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xa2,
- 0x71,
- 0x25,
- 0x38,
- 0xeb,
- 0x2a,
- 0xe9,
- 0x37,
- 0xcd,
- 0xfe,
- 0x44,
- 0xce,
- 0x90,
- 0x3f,
- 0x52,
- 0x87,
- 0x84,
- 0x52,
- 0x1b,
- 0xae,
- 0x8d,
- 0x22,
- 0x94,
- 0xce,
- 0x38,
- 0xe6,
- 0x04,
- 0x88,
- 0x76,
- 0x85,
- 0x9a,
- 0xd3,
- 0x14,
- 0x09,
- 0xe5,
- 0x69,
- 0x9a,
- 0xff,
- 0x58,
- 0x92,
- 0x02,
- 0x6a,
- 0x7d,
- 0x7c,
- 0x1e,
- 0x2c,
- 0xfd,
- 0xa8,
- 0xca,
- 0x32,
- 0x14,
- 0x4f,
- 0x0d,
- 0x84,
- 0x0d,
- 0x37,
- 0x43,
- 0xbf,
- 0xe4,
- 0x5d,
- 0x12,
- 0xc8,
- 0x24,
- 0x91,
- 0x27,
- 0x8d,
- 0x46,
- 0xd9,
- 0x54,
- 0x53,
- 0xe7,
- 0x62,
- 0x71,
- 0xa8,
- 0x2b,
- 0x71,
- 0x41,
- 0x8d,
- 0x75,
- 0xf8,
- 0x3a,
- 0xa0,
- 0x61,
- 0x29,
- 0x46,
- 0xa6,
- 0xe5,
- 0x82,
- 0xfa,
- 0x3a,
- 0xd9,
- 0x08,
- 0xfa,
- 0xfc,
- 0x63,
- 0xfd,
- 0x6b,
- 0x30,
- 0xbc,
- 0xf4,
- 0x4e,
- 0x9e,
- 0x8c,
- 0x25,
- 0x0c,
- 0xb6,
- 0x55,
- 0xe7,
- 0x3c,
- 0xd4,
- 0x4e,
- 0x0b,
- 0xfd,
- 0x8b,
- 0xc3,
- 0x0e,
- 0x1d,
- 0x9c,
- 0x44,
- 0x57,
- 0x8f,
- 0x1f,
- 0x86,
- 0xf7,
- 0xd5,
- 0x1b,
- 0xe4,
- 0x95,
+ 0x30, 0x82, 0x04, 0xa3, 0x02, 0x01, 0x00, 0x02, 0x82, 0x01,
+ 0x01, 0x00, 0xc0, 0xc0, 0xce, 0x3e, 0x3c, 0x53, 0x67, 0x3f,
+ 0x4f, 0xc5, 0x2f, 0xa4, 0xc2, 0x5a, 0x2f, 0x58, 0xfd, 0x27,
+ 0x52, 0x6a, 0xe8, 0xcf, 0x4a, 0x73, 0x47, 0x8d, 0x25, 0x0f,
+ 0x5f, 0x03, 0x26, 0x78, 0xef, 0xf0, 0x22, 0x12, 0xd3, 0xde,
+ 0x47, 0xb2, 0x1c, 0x0b, 0x38, 0x63, 0x1a, 0x6c, 0x85, 0x7a,
+ 0x80, 0xc6, 0x8f, 0xa0, 0x41, 0xaf, 0x62, 0xc4, 0x67, 0x32,
+ 0x88, 0xf8, 0xa6, 0x9c, 0xf5, 0x23, 0x1d, 0xe4, 0xac, 0x3f,
+ 0x29, 0xf9, 0xec, 0xe1, 0x8b, 0x26, 0x03, 0x2c, 0xb2, 0xab,
+ 0xf3, 0x7d, 0xb5, 0xca, 0x49, 0xc0, 0x8f, 0x1c, 0xdf, 0x33,
+ 0x3a, 0x60, 0xda, 0x3c, 0xb0, 0x16, 0xf8, 0xa9, 0x12, 0x8f,
+ 0x64, 0xac, 0x23, 0x0c, 0x69, 0x64, 0x97, 0x5d, 0x99, 0xd4,
+ 0x09, 0x83, 0x9b, 0x61, 0xd3, 0xac, 0xf0, 0xde, 0xdd, 0x5e,
+ 0x9f, 0x44, 0x94, 0xdb, 0x3a, 0x4d, 0x97, 0xe8, 0x52, 0x29,
+ 0xf7, 0xdb, 0x94, 0x07, 0x45, 0x90, 0x78, 0x1e, 0x31, 0x0b,
+ 0x80, 0xf7, 0x57, 0xad, 0x1c, 0x79, 0xc5, 0xcb, 0x32, 0xb0,
+ 0xce, 0xcd, 0x74, 0xb3, 0xe2, 0x94, 0xc5, 0x78, 0x2f, 0x34,
+ 0x1a, 0x45, 0xf7, 0x8c, 0x52, 0xa5, 0xbc, 0x8d, 0xec, 0xd1,
+ 0x2f, 0x31, 0x3b, 0xf0, 0x49, 0x59, 0x5e, 0x88, 0x9d, 0x15,
+ 0x92, 0x35, 0x32, 0xc1, 0xe7, 0x61, 0xec, 0x50, 0x48, 0x7c,
+ 0xba, 0x05, 0xf9, 0xf8, 0xf8, 0xa7, 0x8c, 0x83, 0xe8, 0x66,
+ 0x5b, 0xeb, 0xfe, 0xd8, 0x4f, 0xdd, 0x6d, 0x36, 0xc0, 0xb2,
+ 0x90, 0x0f, 0xb8, 0x52, 0xf9, 0x04, 0x9b, 0x40, 0x2c, 0x27,
+ 0xd6, 0x36, 0x8e, 0xc2, 0x1b, 0x44, 0xf3, 0x92, 0xd5, 0x15,
+ 0x9e, 0x9a, 0xbc, 0xf3, 0x7d, 0x03, 0xd7, 0x02, 0x14, 0x20,
+ 0xe9, 0x10, 0x92, 0xfd, 0xf9, 0xfc, 0x8f, 0xe5, 0x18, 0xe1,
+ 0x95, 0xcc, 0x9e, 0x60, 0xa6, 0xfa, 0x38, 0x4d, 0x02, 0x03,
+ 0x01, 0x00, 0x01, 0x02, 0x82, 0x01, 0x00, 0x00, 0xc3, 0xc3,
+ 0x0d, 0xb4, 0x27, 0x90, 0x8d, 0x4b, 0xbf, 0xb8, 0x84, 0xaa,
+ 0xd0, 0xb8, 0xc7, 0x5d, 0x99, 0xbe, 0x55, 0xf6, 0x3e, 0x7c,
+ 0x49, 0x20, 0xcb, 0x8a, 0x8e, 0x19, 0x0e, 0x66, 0x24, 0xac,
+ 0xaf, 0x03, 0x33, 0x97, 0xeb, 0x95, 0xd5, 0x3b, 0x0f, 0x40,
+ 0x56, 0x04, 0x50, 0xd1, 0xe6, 0xbe, 0x84, 0x0b, 0x25, 0xd3,
+ 0x9c, 0xe2, 0x83, 0x6c, 0xf5, 0x62, 0x5d, 0xba, 0x2b, 0x7d,
+ 0x3d, 0x7a, 0x6c, 0xe1, 0xd2, 0x0e, 0x54, 0x93, 0x80, 0x01,
+ 0x91, 0x51, 0x09, 0xe8, 0x5b, 0x8e, 0x47, 0xbd, 0x64, 0xe4,
+ 0x0e, 0x03, 0x83, 0x55, 0xcf, 0x5a, 0x37, 0xf0, 0x25, 0xb5,
+ 0x7d, 0x21, 0xd7, 0x69, 0xdf, 0x6f, 0xc2, 0xcf, 0x10, 0xc9,
+ 0x8a, 0x40, 0x9f, 0x7a, 0x70, 0xc0, 0xe8, 0xe8, 0xc0, 0xe6,
+ 0x9a, 0x15, 0x0a, 0x8d, 0x4e, 0x46, 0xcb, 0x7a, 0xdb, 0xb3,
+ 0xcb, 0x83, 0x02, 0xc4, 0xf0, 0xab, 0xeb, 0x02, 0x01, 0x0e,
+ 0x23, 0xfc, 0x1d, 0xc4, 0xbd, 0xd4, 0xaa, 0x5d, 0x31, 0x46,
+ 0x99, 0xce, 0x9e, 0xf8, 0x04, 0x75, 0x10, 0x67, 0xc4, 0x53,
+ 0x47, 0x44, 0xfa, 0xc2, 0x25, 0x73, 0x7e, 0xd0, 0x8e, 0x59,
+ 0xd1, 0xb2, 0x5a, 0xf4, 0xc7, 0x18, 0x92, 0x2f, 0x39, 0xab,
+ 0xcd, 0xa3, 0xb5, 0xc2, 0xb9, 0xc7, 0xb9, 0x1b, 0x9f, 0x48,
+ 0xfa, 0x13, 0xc6, 0x98, 0x4d, 0xca, 0x84, 0x9c, 0x06, 0xca,
+ 0xe7, 0x89, 0x01, 0x04, 0xc4, 0x6c, 0xfd, 0x29, 0x59, 0x35,
+ 0xe7, 0xf3, 0xdd, 0xce, 0x64, 0x59, 0xbf, 0x21, 0x13, 0xa9,
+ 0x9f, 0x0e, 0xc5, 0xff, 0xbd, 0x33, 0x00, 0xec, 0xac, 0x6b,
+ 0x11, 0xef, 0x51, 0x5e, 0xad, 0x07, 0x15, 0xde, 0xb8, 0x5f,
+ 0xc6, 0xb9, 0xa3, 0x22, 0x65, 0x46, 0x83, 0x14, 0xdf, 0xd0,
+ 0xf1, 0x44, 0x8a, 0xe1, 0x9c, 0x23, 0x33, 0xb4, 0x97, 0x33,
+ 0xe6, 0x6b, 0x81, 0x02, 0x81, 0x81, 0x00, 0xec, 0x12, 0xa7,
+ 0x59, 0x74, 0x6a, 0xde, 0x3e, 0xad, 0xd8, 0x36, 0x80, 0x50,
+ 0xa2, 0xd5, 0x21, 0x81, 0x07, 0xf1, 0xd0, 0x91, 0xf2, 0x6c,
+ 0x12, 0x2f, 0x9d, 0x1a, 0x26, 0xf8, 0x30, 0x65, 0xdf, 0xe8,
+ 0xc0, 0x9b, 0x6a, 0x30, 0x98, 0x82, 0x87, 0xec, 0xa2, 0x56,
+ 0x87, 0x62, 0x6f, 0xe7, 0x9f, 0xf6, 0x56, 0xe6, 0x71, 0x8f,
+ 0x49, 0x86, 0x93, 0x5a, 0x4d, 0x34, 0x58, 0xfe, 0xd9, 0x04,
+ 0x13, 0xaf, 0x79, 0xb7, 0xad, 0x11, 0xd1, 0x30, 0x9a, 0x14,
+ 0x06, 0xa0, 0xfa, 0xb7, 0x55, 0xdc, 0x6c, 0x5a, 0x4c, 0x2c,
+ 0x59, 0x56, 0xf6, 0xe8, 0x9d, 0xaf, 0x0a, 0x78, 0x99, 0x06,
+ 0x06, 0x9e, 0xe7, 0x9c, 0x51, 0x55, 0x43, 0xfc, 0x3b, 0x6c,
+ 0x0b, 0xbf, 0x2d, 0x41, 0xa7, 0xaf, 0xb7, 0xe0, 0xe8, 0x28,
+ 0x18, 0xb4, 0x13, 0xd1, 0xe6, 0x97, 0xd0, 0x9f, 0x6a, 0x80,
+ 0xca, 0xdd, 0x1a, 0x7e, 0x15, 0x02, 0x81, 0x81, 0x00, 0xd1,
+ 0x06, 0x0c, 0x1f, 0xe3, 0xd0, 0xab, 0xd6, 0xca, 0x7c, 0xbc,
+ 0x7d, 0x13, 0x35, 0xce, 0x27, 0xcd, 0xd8, 0x49, 0x51, 0x63,
+ 0x64, 0x0f, 0xca, 0x06, 0x12, 0xfc, 0x07, 0x3e, 0xaf, 0x61,
+ 0x6d, 0xe2, 0x53, 0x39, 0x27, 0xae, 0xc3, 0x11, 0x9e, 0x94,
+ 0x01, 0x4f, 0xe3, 0xf3, 0x67, 0xf9, 0x77, 0xf9, 0xe7, 0x95,
+ 0x3a, 0x6f, 0xe2, 0x20, 0x73, 0x3e, 0xa4, 0x7a, 0x28, 0xd4,
+ 0x61, 0x97, 0xf6, 0x17, 0xa0, 0x23, 0x10, 0x2b, 0xce, 0x84,
+ 0x57, 0x7e, 0x25, 0x1f, 0xf4, 0xa8, 0x54, 0xd2, 0x65, 0x94,
+ 0xcc, 0x95, 0x0a, 0xab, 0x30, 0xc1, 0x59, 0x1f, 0x61, 0x8e,
+ 0xb9, 0x6b, 0xd7, 0x4e, 0xb9, 0x83, 0x43, 0x79, 0x85, 0x11,
+ 0xbc, 0x0f, 0xae, 0x25, 0x20, 0x05, 0xbc, 0xd2, 0x48, 0xa1,
+ 0x68, 0x09, 0x84, 0xf6, 0x12, 0x9a, 0x66, 0xb9, 0x2b, 0xbb,
+ 0x76, 0x03, 0x17, 0x46, 0x4e, 0x97, 0x59, 0x02, 0x81, 0x80,
+ 0x09, 0x4c, 0xfa, 0xd6, 0xe5, 0x65, 0x48, 0x78, 0x43, 0xb5,
+ 0x1f, 0x00, 0x93, 0x2c, 0xb7, 0x24, 0xe8, 0xc6, 0x7d, 0x5a,
+ 0x70, 0x45, 0x92, 0xc8, 0x6c, 0xa3, 0xcd, 0xe1, 0xf7, 0x29,
+ 0x40, 0xfa, 0x3f, 0x5b, 0x47, 0x44, 0x39, 0xc1, 0xe8, 0x72,
+ 0x9e, 0x7a, 0x0e, 0xda, 0xaa, 0xa0, 0x2a, 0x09, 0xfd, 0x54,
+ 0x93, 0x23, 0xaa, 0x37, 0x85, 0x5b, 0xcc, 0xd4, 0xf9, 0xd8,
+ 0xff, 0xc1, 0x61, 0x0d, 0xbd, 0x7e, 0x18, 0x24, 0x73, 0x6d,
+ 0x40, 0x72, 0xf1, 0x93, 0x09, 0x48, 0x97, 0x6c, 0x84, 0x90,
+ 0xa8, 0x46, 0x14, 0x01, 0x39, 0x11, 0xe5, 0x3c, 0x41, 0x27,
+ 0x32, 0x75, 0x24, 0xed, 0xa1, 0xd9, 0x12, 0x29, 0x8a, 0x28,
+ 0x71, 0x89, 0x8d, 0xca, 0x30, 0xb0, 0x01, 0xc4, 0x2f, 0x82,
+ 0x19, 0x14, 0x4c, 0x70, 0x1c, 0xb8, 0x23, 0x2e, 0xe8, 0x90,
+ 0x49, 0x97, 0x92, 0x97, 0x6b, 0x7a, 0x9d, 0xb9, 0x02, 0x81,
+ 0x80, 0x0f, 0x0e, 0xa1, 0x76, 0xf6, 0xa1, 0x44, 0x8f, 0xaf,
+ 0x7c, 0x76, 0xd3, 0x87, 0xbb, 0xbb, 0x83, 0x10, 0x88, 0x01,
+ 0x18, 0x14, 0xd1, 0xd3, 0x75, 0x59, 0x24, 0xaa, 0xf5, 0x16,
+ 0xa5, 0xe9, 0x9d, 0xd1, 0xcc, 0xee, 0xf4, 0x15, 0xd9, 0xc5,
+ 0x7e, 0x27, 0xe9, 0x44, 0x49, 0x06, 0x72, 0xb9, 0xfc, 0xd3,
+ 0x8a, 0xc4, 0x2c, 0x36, 0x7d, 0x12, 0x9b, 0x5a, 0xaa, 0xdc,
+ 0x85, 0xee, 0x6e, 0xad, 0x54, 0xb3, 0xf4, 0xfc, 0x31, 0xa1,
+ 0x06, 0x3a, 0x70, 0x57, 0x0c, 0xf3, 0x95, 0x5b, 0x3e, 0xe8,
+ 0xfd, 0x1a, 0x4f, 0xf6, 0x78, 0x93, 0x46, 0x6a, 0xd7, 0x31,
+ 0xb4, 0x84, 0x64, 0x85, 0x09, 0x38, 0x89, 0x92, 0x94, 0x1c,
+ 0xbf, 0xe2, 0x3c, 0x2a, 0xe0, 0xff, 0x99, 0xa3, 0xf0, 0x2b,
+ 0x31, 0xc2, 0x36, 0xcd, 0x60, 0xbf, 0x9d, 0x2d, 0x74, 0x32,
+ 0xe8, 0x9c, 0x93, 0x6e, 0xbb, 0x91, 0x7b, 0xfd, 0xd9, 0x02,
+ 0x81, 0x81, 0x00, 0xa2, 0x71, 0x25, 0x38, 0xeb, 0x2a, 0xe9,
+ 0x37, 0xcd, 0xfe, 0x44, 0xce, 0x90, 0x3f, 0x52, 0x87, 0x84,
+ 0x52, 0x1b, 0xae, 0x8d, 0x22, 0x94, 0xce, 0x38, 0xe6, 0x04,
+ 0x88, 0x76, 0x85, 0x9a, 0xd3, 0x14, 0x09, 0xe5, 0x69, 0x9a,
+ 0xff, 0x58, 0x92, 0x02, 0x6a, 0x7d, 0x7c, 0x1e, 0x2c, 0xfd,
+ 0xa8, 0xca, 0x32, 0x14, 0x4f, 0x0d, 0x84, 0x0d, 0x37, 0x43,
+ 0xbf, 0xe4, 0x5d, 0x12, 0xc8, 0x24, 0x91, 0x27, 0x8d, 0x46,
+ 0xd9, 0x54, 0x53, 0xe7, 0x62, 0x71, 0xa8, 0x2b, 0x71, 0x41,
+ 0x8d, 0x75, 0xf8, 0x3a, 0xa0, 0x61, 0x29, 0x46, 0xa6, 0xe5,
+ 0x82, 0xfa, 0x3a, 0xd9, 0x08, 0xfa, 0xfc, 0x63, 0xfd, 0x6b,
+ 0x30, 0xbc, 0xf4, 0x4e, 0x9e, 0x8c, 0x25, 0x0c, 0xb6, 0x55,
+ 0xe7, 0x3c, 0xd4, 0x4e, 0x0b, 0xfd, 0x8b, 0xc3, 0x0e, 0x1d,
+ 0x9c, 0x44, 0x57, 0x8f, 0x1f, 0x86, 0xf7, 0xd5, 0x1b, 0xe4,
+ 0x95
};
static unsigned char test3072[] = {
@@ -2314,2355 +410,241 @@ static unsigned char test3072[] = {
};
static unsigned char test4096[] = {
- 0x30,
- 0x82,
- 0x09,
- 0x29,
- 0x02,
- 0x01,
- 0x00,
- 0x02,
- 0x82,
- 0x02,
- 0x01,
- 0x00,
- 0xc0,
- 0x71,
- 0xac,
- 0x1a,
- 0x13,
- 0x88,
- 0x82,
- 0x43,
- 0x3b,
- 0x51,
- 0x57,
- 0x71,
- 0x8d,
- 0xb6,
- 0x2b,
- 0x82,
- 0x65,
- 0x21,
- 0x53,
- 0x5f,
- 0x28,
- 0x29,
- 0x4f,
- 0x8d,
- 0x7c,
- 0x8a,
- 0xb9,
- 0x44,
- 0xb3,
- 0x28,
- 0x41,
- 0x4f,
- 0xd3,
- 0xfa,
- 0x6a,
- 0xf8,
- 0xb9,
- 0x28,
- 0x50,
- 0x39,
- 0x67,
- 0x53,
- 0x2c,
- 0x3c,
- 0xd7,
- 0xcb,
- 0x96,
- 0x41,
- 0x40,
- 0x32,
- 0xbb,
- 0xeb,
- 0x70,
- 0xae,
- 0x1f,
- 0xb0,
- 0x65,
- 0xf7,
- 0x3a,
- 0xd9,
- 0x22,
- 0xfd,
- 0x10,
- 0xae,
- 0xbd,
- 0x02,
- 0xe2,
- 0xdd,
- 0xf3,
- 0xc2,
- 0x79,
- 0x3c,
- 0xc6,
- 0xfc,
- 0x75,
- 0xbb,
- 0xaf,
- 0x4e,
- 0x3a,
- 0x36,
- 0xc2,
- 0x4f,
- 0xea,
- 0x25,
- 0xdf,
- 0x13,
- 0x16,
- 0x4b,
- 0x20,
- 0xfe,
- 0x4b,
- 0x69,
- 0x16,
- 0xc4,
- 0x7f,
- 0x1a,
- 0x43,
- 0xa6,
- 0x17,
- 0x1b,
- 0xb9,
- 0x0a,
- 0xf3,
- 0x09,
- 0x86,
- 0x28,
- 0x89,
- 0xcf,
- 0x2c,
- 0xd0,
- 0xd4,
- 0x81,
- 0xaf,
- 0xc6,
- 0x6d,
- 0xe6,
- 0x21,
- 0x8d,
- 0xee,
- 0xef,
- 0xea,
- 0xdc,
- 0xb7,
- 0xc6,
- 0x3b,
- 0x63,
- 0x9f,
- 0x0e,
- 0xad,
- 0x89,
- 0x78,
- 0x23,
- 0x18,
- 0xbf,
- 0x70,
- 0x7e,
- 0x84,
- 0xe0,
- 0x37,
- 0xec,
- 0xdb,
- 0x8e,
- 0x9c,
- 0x3e,
- 0x6a,
- 0x19,
- 0xcc,
- 0x99,
- 0x72,
- 0xe6,
- 0xb5,
- 0x7d,
- 0x6d,
- 0xfa,
- 0xe5,
- 0xd3,
- 0xe4,
- 0x90,
- 0xb5,
- 0xb2,
- 0xb2,
- 0x12,
- 0x70,
- 0x4e,
- 0xca,
- 0xf8,
- 0x10,
- 0xf8,
- 0xa3,
- 0x14,
- 0xc2,
- 0x48,
- 0x19,
- 0xeb,
- 0x60,
- 0x99,
- 0xbb,
- 0x2a,
- 0x1f,
- 0xb1,
- 0x7a,
- 0xb1,
- 0x3d,
- 0x24,
- 0xfb,
- 0xa0,
- 0x29,
- 0xda,
- 0xbd,
- 0x1b,
- 0xd7,
- 0xa4,
- 0xbf,
- 0xef,
- 0x60,
- 0x2d,
- 0x22,
- 0xca,
- 0x65,
- 0x98,
- 0xf1,
- 0xc4,
- 0xe1,
- 0xc9,
- 0x02,
- 0x6b,
- 0x16,
- 0x28,
- 0x2f,
- 0xa1,
- 0xaa,
- 0x79,
- 0x00,
- 0xda,
- 0xdc,
- 0x7c,
- 0x43,
- 0xf7,
- 0x42,
- 0x3c,
- 0xa0,
- 0xef,
- 0x68,
- 0xf7,
- 0xdf,
- 0xb9,
- 0x69,
- 0xfb,
- 0x8e,
- 0x01,
- 0xed,
- 0x01,
- 0x42,
- 0xb5,
- 0x4e,
- 0x57,
- 0xa6,
- 0x26,
- 0xb8,
- 0xd0,
- 0x7b,
- 0x56,
- 0x6d,
- 0x03,
- 0xc6,
- 0x40,
- 0x8c,
- 0x8c,
- 0x2a,
- 0x55,
- 0xd7,
- 0x9c,
- 0x35,
- 0x00,
- 0x94,
- 0x93,
- 0xec,
- 0x03,
- 0xeb,
- 0x22,
- 0xef,
- 0x77,
- 0xbb,
- 0x79,
- 0x13,
- 0x3f,
- 0x15,
- 0xa1,
- 0x8f,
- 0xca,
- 0xdf,
- 0xfd,
- 0xd3,
- 0xb8,
- 0xe1,
- 0xd4,
- 0xcc,
- 0x09,
- 0x3f,
- 0x3c,
- 0x2c,
- 0xdb,
- 0xd1,
- 0x49,
- 0x7f,
- 0x38,
- 0x07,
- 0x83,
- 0x6d,
- 0xeb,
- 0x08,
- 0x66,
- 0xe9,
- 0x06,
- 0x44,
- 0x12,
- 0xac,
- 0x95,
- 0x22,
- 0x90,
- 0x23,
- 0x67,
- 0xd4,
- 0x08,
- 0xcc,
- 0xf4,
- 0xb7,
- 0xdc,
- 0xcc,
- 0x87,
- 0xd4,
- 0xac,
- 0x69,
- 0x35,
- 0x4c,
- 0xb5,
- 0x39,
- 0x36,
- 0xcd,
- 0xa4,
- 0xd2,
- 0x95,
- 0xca,
- 0x0d,
- 0xc5,
- 0xda,
- 0xc2,
- 0xc5,
- 0x22,
- 0x32,
- 0x28,
- 0x08,
- 0xe3,
- 0xd2,
- 0x8b,
- 0x38,
- 0x30,
- 0xdc,
- 0x8c,
- 0x75,
- 0x4f,
- 0x6a,
- 0xec,
- 0x7a,
- 0xac,
- 0x16,
- 0x3e,
- 0xa8,
- 0xd4,
- 0x6a,
- 0x45,
- 0xe1,
- 0xa8,
- 0x4f,
- 0x2e,
- 0x80,
- 0x34,
- 0xaa,
- 0x54,
- 0x1b,
- 0x02,
- 0x95,
- 0x7d,
- 0x8a,
- 0x6d,
- 0xcc,
- 0x79,
- 0xca,
- 0xf2,
- 0xa4,
- 0x2e,
- 0x8d,
- 0xfb,
- 0xfe,
- 0x15,
- 0x51,
- 0x10,
- 0x0e,
- 0x4d,
- 0x88,
- 0xb1,
- 0xc7,
- 0xf4,
- 0x79,
- 0xdb,
- 0xf0,
- 0xb4,
- 0x56,
- 0x44,
- 0x37,
- 0xca,
- 0x5a,
- 0xc1,
- 0x8c,
- 0x48,
- 0xac,
- 0xae,
- 0x48,
- 0x80,
- 0x83,
- 0x01,
- 0x3f,
- 0xde,
- 0xd9,
- 0xd3,
- 0x2c,
- 0x51,
- 0x46,
- 0xb1,
- 0x41,
- 0xb6,
- 0xc6,
- 0x91,
- 0x72,
- 0xf9,
- 0x83,
- 0x55,
- 0x1b,
- 0x8c,
- 0xba,
- 0xf3,
- 0x73,
- 0xe5,
- 0x2c,
- 0x74,
- 0x50,
- 0x3a,
- 0xbe,
- 0xc5,
- 0x2f,
- 0xa7,
- 0xb2,
- 0x6d,
- 0x8c,
- 0x9e,
- 0x13,
- 0x77,
- 0xa3,
- 0x13,
- 0xcd,
- 0x6d,
- 0x8c,
- 0x45,
- 0xe1,
- 0xfc,
- 0x0b,
- 0xb7,
- 0x69,
- 0xe9,
- 0x27,
- 0xbc,
- 0x65,
- 0xc3,
- 0xfa,
- 0x9b,
- 0xd0,
- 0xef,
- 0xfe,
- 0xe8,
- 0x1f,
- 0xb3,
- 0x5e,
- 0x34,
- 0xf4,
- 0x8c,
- 0xea,
- 0xfc,
- 0xd3,
- 0x81,
- 0xbf,
- 0x3d,
- 0x30,
- 0xb2,
- 0xb4,
- 0x01,
- 0xe8,
- 0x43,
- 0x0f,
- 0xba,
- 0x02,
- 0x23,
- 0x42,
- 0x76,
- 0x82,
- 0x31,
- 0x73,
- 0x91,
- 0xed,
- 0x07,
- 0x46,
- 0x61,
- 0x0d,
- 0x39,
- 0x83,
- 0x40,
- 0xce,
- 0x7a,
- 0xd4,
- 0xdb,
- 0x80,
- 0x2c,
- 0x1f,
- 0x0d,
- 0xd1,
- 0x34,
- 0xd4,
- 0x92,
- 0xe3,
- 0xd4,
- 0xf1,
- 0xc2,
- 0x01,
- 0x02,
- 0x03,
- 0x01,
- 0x00,
- 0x01,
- 0x02,
- 0x82,
- 0x02,
- 0x01,
- 0x00,
- 0x97,
- 0x6c,
- 0xda,
- 0x6e,
- 0xea,
- 0x4f,
- 0xcf,
- 0xaf,
- 0xf7,
- 0x4c,
- 0xd9,
- 0xf1,
- 0x90,
- 0x00,
- 0x77,
- 0xdb,
- 0xf2,
- 0x97,
- 0x76,
- 0x72,
- 0xb9,
- 0xb7,
- 0x47,
- 0xd1,
- 0x9c,
- 0xdd,
- 0xcb,
- 0x4a,
- 0x33,
- 0x6e,
- 0xc9,
- 0x75,
- 0x76,
- 0xe6,
- 0xe4,
- 0xa5,
- 0x31,
- 0x8c,
- 0x77,
- 0x13,
- 0xb4,
- 0x29,
- 0xcd,
- 0xf5,
- 0x52,
- 0x17,
- 0xef,
- 0xf3,
- 0x08,
- 0x00,
- 0xe3,
- 0xbd,
- 0x2e,
- 0xbc,
- 0xd4,
- 0x52,
- 0x88,
- 0xe9,
- 0x30,
- 0x75,
- 0x0b,
- 0x02,
- 0xf5,
- 0xcd,
- 0x89,
- 0x0c,
- 0x6c,
- 0x57,
- 0x19,
- 0x27,
- 0x3d,
- 0x1e,
- 0x85,
- 0xb4,
- 0xc1,
- 0x2f,
- 0x1d,
- 0x92,
- 0x00,
- 0x5c,
- 0x76,
- 0x29,
- 0x4b,
- 0xa4,
- 0xe1,
- 0x12,
- 0xb3,
- 0xc8,
- 0x09,
- 0xfe,
- 0x0e,
- 0x78,
- 0x72,
- 0x61,
- 0xcb,
- 0x61,
- 0x6f,
- 0x39,
- 0x91,
- 0x95,
- 0x4e,
- 0xd5,
- 0x3e,
- 0xc7,
- 0x8f,
- 0xb8,
- 0xf6,
- 0x36,
- 0xfe,
- 0x9c,
- 0x93,
- 0x9a,
- 0x38,
- 0x25,
- 0x7a,
- 0xf4,
- 0x4a,
- 0x12,
- 0xd4,
- 0xa0,
- 0x13,
- 0xbd,
- 0xf9,
- 0x1d,
- 0x12,
- 0x3e,
- 0x21,
- 0x39,
- 0xfb,
- 0x72,
- 0xe0,
- 0x05,
- 0x3d,
- 0xc3,
- 0xe5,
- 0x50,
- 0xa8,
- 0x5d,
- 0x85,
- 0xa3,
- 0xea,
- 0x5f,
- 0x1c,
- 0xb2,
- 0x3f,
- 0xea,
- 0x6d,
- 0x03,
- 0x91,
- 0x55,
- 0xd8,
- 0x19,
- 0x0a,
- 0x21,
- 0x12,
- 0x16,
- 0xd9,
- 0x12,
- 0xc4,
- 0xe6,
- 0x07,
- 0x18,
- 0x5b,
- 0x26,
- 0xa4,
- 0xae,
- 0xed,
- 0x2b,
- 0xb7,
- 0xa6,
- 0xed,
- 0xf8,
- 0xad,
- 0xec,
- 0x77,
- 0xe6,
- 0x7f,
- 0x4f,
- 0x76,
- 0x00,
- 0xc0,
- 0xfa,
- 0x15,
- 0x92,
- 0xb4,
- 0x2c,
- 0x22,
- 0xc2,
- 0xeb,
- 0x6a,
- 0xad,
- 0x14,
- 0x05,
- 0xb2,
- 0xe5,
- 0x8a,
- 0x9e,
- 0x85,
- 0x83,
- 0xcc,
- 0x04,
- 0xf1,
- 0x56,
- 0x78,
- 0x44,
- 0x5e,
- 0xde,
- 0xe0,
- 0x60,
- 0x1a,
- 0x65,
- 0x79,
- 0x31,
- 0x23,
- 0x05,
- 0xbb,
- 0x01,
- 0xff,
- 0xdd,
- 0x2e,
- 0xb7,
- 0xb3,
- 0xaa,
- 0x74,
- 0xe0,
- 0xa5,
- 0x94,
- 0xaf,
- 0x4b,
- 0xde,
- 0x58,
- 0x0f,
- 0x55,
- 0xde,
- 0x33,
- 0xf6,
- 0xe3,
- 0xd6,
- 0x34,
- 0x36,
- 0x57,
- 0xd6,
- 0x79,
- 0x91,
- 0x2e,
- 0xbe,
- 0x3b,
- 0xd9,
- 0x4e,
- 0xb6,
- 0x9d,
- 0x21,
- 0x5c,
- 0xd3,
- 0x48,
- 0x14,
- 0x7f,
- 0x4a,
- 0xc4,
- 0x60,
- 0xa9,
- 0x29,
- 0xf8,
- 0x53,
- 0x7f,
- 0x88,
- 0x11,
- 0x2d,
- 0xb5,
- 0xc5,
- 0x2d,
- 0x6f,
- 0xee,
- 0x85,
- 0x0b,
- 0xf7,
- 0x8d,
- 0x9a,
- 0xbe,
- 0xb0,
- 0x42,
- 0xf2,
- 0x2e,
- 0x71,
- 0xaf,
- 0x19,
- 0x31,
- 0x6d,
- 0xec,
- 0xcd,
- 0x6f,
- 0x2b,
- 0x23,
- 0xdf,
- 0xb4,
- 0x40,
- 0xaf,
- 0x2c,
- 0x0a,
- 0xc3,
- 0x1b,
- 0x7d,
- 0x7d,
- 0x03,
- 0x1d,
- 0x4b,
- 0xf3,
- 0xb5,
- 0xe0,
- 0x85,
- 0xd8,
- 0xdf,
- 0x91,
- 0x6b,
- 0x0a,
- 0x69,
- 0xf7,
- 0xf2,
- 0x69,
- 0x66,
- 0x5b,
- 0xf1,
- 0xcf,
- 0x46,
- 0x7d,
- 0xe9,
- 0x70,
- 0xfa,
- 0x6d,
- 0x7e,
- 0x75,
- 0x4e,
- 0xa9,
- 0x77,
- 0xe6,
- 0x8c,
- 0x02,
- 0xf7,
- 0x14,
- 0x4d,
- 0xa5,
- 0x41,
- 0x8f,
- 0x3f,
- 0xc1,
- 0x62,
- 0x1e,
- 0x71,
- 0x5e,
- 0x38,
- 0xb4,
- 0xd6,
- 0xe6,
- 0xe1,
- 0x4b,
- 0xc2,
- 0x2c,
- 0x30,
- 0x83,
- 0x81,
- 0x6f,
- 0x49,
- 0x2e,
- 0x96,
- 0xe6,
- 0xc9,
- 0x9a,
- 0xf7,
- 0x5d,
- 0x09,
- 0xa0,
- 0x55,
- 0x02,
- 0xa5,
- 0x3a,
- 0x25,
- 0x23,
- 0xd0,
- 0x92,
- 0xc3,
- 0xa3,
- 0xe3,
- 0x0e,
- 0x12,
- 0x2f,
- 0x4d,
- 0xef,
- 0xf3,
- 0x55,
- 0x5a,
- 0xbe,
- 0xe6,
- 0x19,
- 0x86,
- 0x31,
- 0xab,
- 0x75,
- 0x9a,
- 0xd3,
- 0xf0,
- 0x2c,
- 0xc5,
- 0x41,
- 0x92,
- 0xd9,
- 0x1f,
- 0x5f,
- 0x11,
- 0x8c,
- 0x75,
- 0x1c,
- 0x63,
- 0xd0,
- 0x02,
- 0x80,
- 0x2c,
- 0x68,
- 0xcb,
- 0x93,
- 0xfb,
- 0x51,
- 0x73,
- 0x49,
- 0xb4,
- 0x60,
- 0xda,
- 0xe2,
- 0x26,
- 0xaf,
- 0xa9,
- 0x46,
- 0x12,
- 0xb8,
- 0xec,
- 0x50,
- 0xdd,
- 0x12,
- 0x06,
- 0x5f,
- 0xce,
- 0x59,
- 0xe6,
- 0xf6,
- 0x1c,
- 0xe0,
- 0x54,
- 0x10,
- 0xad,
- 0xf6,
- 0xcd,
- 0x98,
- 0xcc,
- 0x0f,
- 0xfb,
- 0xcb,
- 0x41,
- 0x14,
- 0x9d,
- 0xed,
- 0xe4,
- 0xb4,
- 0x74,
- 0x5f,
- 0x09,
- 0x60,
- 0xc7,
- 0x12,
- 0xf6,
- 0x7b,
- 0x3c,
- 0x8f,
- 0xa7,
- 0x20,
- 0xbc,
- 0xe4,
- 0xb1,
- 0xef,
- 0xeb,
- 0xa4,
- 0x93,
- 0xc5,
- 0x06,
- 0xca,
- 0x9a,
- 0x27,
- 0x9d,
- 0x87,
- 0xf3,
- 0xde,
- 0xca,
- 0xe5,
- 0xe7,
- 0xf6,
- 0x1c,
- 0x01,
- 0x65,
- 0x5b,
- 0xfb,
- 0x19,
- 0x79,
- 0x6e,
- 0x08,
- 0x26,
- 0xc5,
- 0xc8,
- 0x28,
- 0x0e,
- 0xb6,
- 0x3b,
- 0x07,
- 0x08,
- 0xc1,
- 0x02,
- 0x82,
- 0x01,
- 0x01,
- 0x00,
- 0xe8,
- 0x1c,
- 0x73,
- 0xa6,
- 0xb8,
- 0xe0,
- 0x0e,
- 0x6d,
- 0x8d,
- 0x1b,
- 0xb9,
- 0x53,
- 0xed,
- 0x58,
- 0x94,
- 0xe6,
- 0x1d,
- 0x60,
- 0x14,
- 0x5c,
- 0x76,
- 0x43,
- 0xc4,
- 0x58,
- 0x19,
- 0xc4,
- 0x24,
- 0xe8,
- 0xbc,
- 0x1b,
- 0x3b,
- 0x0b,
- 0x13,
- 0x24,
- 0x45,
- 0x54,
- 0x0e,
- 0xcc,
- 0x37,
- 0xf0,
- 0xe0,
- 0x63,
- 0x7d,
- 0xc3,
- 0xf7,
- 0xfb,
- 0x81,
- 0x74,
- 0x81,
- 0xc4,
- 0x0f,
- 0x1a,
- 0x21,
- 0x48,
- 0xaf,
- 0xce,
- 0xc1,
- 0xc4,
- 0x94,
- 0x18,
- 0x06,
- 0x44,
- 0x8d,
- 0xd3,
- 0xd2,
- 0x22,
- 0x2d,
- 0x2d,
- 0x3e,
- 0x5a,
- 0x31,
- 0xdc,
- 0x95,
- 0x8e,
- 0xf4,
- 0x41,
- 0xfc,
- 0x58,
- 0xc9,
- 0x40,
- 0x92,
- 0x17,
- 0x5f,
- 0xe3,
- 0xda,
- 0xac,
- 0x9e,
- 0x3f,
- 0x1c,
- 0x2a,
- 0x6b,
- 0x58,
- 0x5f,
- 0x48,
- 0x78,
- 0x20,
- 0xb1,
- 0xaf,
- 0x24,
- 0x9b,
- 0x3c,
- 0x20,
- 0x8b,
- 0x93,
- 0x25,
- 0x9e,
- 0xe6,
- 0x6b,
- 0xbc,
- 0x13,
- 0x42,
- 0x14,
- 0x6c,
- 0x36,
- 0x31,
- 0xff,
- 0x7a,
- 0xd1,
- 0xc1,
- 0x1a,
- 0x26,
- 0x14,
- 0x7f,
- 0xa9,
- 0x76,
- 0xa7,
- 0x0c,
- 0xf8,
- 0xcc,
- 0xed,
- 0x07,
- 0x6a,
- 0xd2,
- 0xdf,
- 0x62,
- 0xee,
- 0x0a,
- 0x7c,
- 0x84,
- 0xcb,
- 0x49,
- 0x90,
- 0xb2,
- 0x03,
- 0x0d,
- 0xa2,
- 0x82,
- 0x06,
- 0x77,
- 0xf1,
- 0xcd,
- 0x67,
- 0xf2,
- 0x47,
- 0x21,
- 0x02,
- 0x3f,
- 0x43,
- 0x21,
- 0xf0,
- 0x46,
- 0x30,
- 0x62,
- 0x51,
- 0x72,
- 0xb1,
- 0xe7,
- 0x48,
- 0xc6,
- 0x67,
- 0x12,
- 0xcd,
- 0x9e,
- 0xd6,
- 0x15,
- 0xe5,
- 0x21,
- 0xed,
- 0xfa,
- 0x8f,
- 0x30,
- 0xa6,
- 0x41,
- 0xfe,
- 0xb6,
- 0xfa,
- 0x8f,
- 0x34,
- 0x14,
- 0x19,
- 0xe8,
- 0x11,
- 0xf7,
- 0xa5,
- 0x77,
- 0x3e,
- 0xb7,
- 0xf9,
- 0x39,
- 0x07,
- 0x8c,
- 0x67,
- 0x2a,
- 0xab,
- 0x7b,
- 0x08,
- 0xf8,
- 0xb0,
- 0x06,
- 0xa8,
- 0xea,
- 0x2f,
- 0x8f,
- 0xfa,
- 0xcc,
- 0xcc,
- 0x40,
- 0xce,
- 0xf3,
- 0x70,
- 0x4f,
- 0x3f,
- 0x7f,
- 0xe2,
- 0x0c,
- 0xea,
- 0x76,
- 0x4a,
- 0x35,
- 0x4e,
- 0x47,
- 0xad,
- 0x2b,
- 0xa7,
- 0x97,
- 0x5d,
- 0x74,
- 0x43,
- 0x97,
- 0x90,
- 0xd2,
- 0xfb,
- 0xd9,
- 0xf9,
- 0x96,
- 0x01,
- 0x33,
- 0x05,
- 0xed,
- 0x7b,
- 0x03,
- 0x05,
- 0xad,
- 0xf8,
- 0x49,
- 0x03,
- 0x02,
- 0x82,
- 0x01,
- 0x01,
- 0x00,
- 0xd4,
- 0x40,
- 0x17,
- 0x66,
- 0x10,
- 0x92,
- 0x95,
- 0xc8,
- 0xec,
- 0x62,
- 0xa9,
- 0x7a,
- 0xcb,
- 0x93,
- 0x8e,
- 0xe6,
- 0x53,
- 0xd4,
- 0x80,
- 0x48,
- 0x27,
- 0x4b,
- 0x41,
- 0xce,
- 0x61,
- 0xdf,
- 0xbf,
- 0x94,
- 0xa4,
- 0x3d,
- 0x71,
- 0x03,
- 0x0b,
- 0xed,
- 0x25,
- 0x71,
- 0x98,
- 0xa4,
- 0xd6,
- 0xd5,
- 0x4a,
- 0x57,
- 0xf5,
- 0x6c,
- 0x1b,
- 0xda,
- 0x21,
- 0x7d,
- 0x35,
- 0x45,
- 0xb3,
- 0xf3,
- 0x6a,
- 0xd9,
- 0xd3,
- 0x43,
- 0xe8,
- 0x5c,
- 0x54,
- 0x1c,
- 0x83,
- 0x1b,
- 0xb4,
- 0x5f,
- 0xf2,
- 0x97,
- 0x24,
- 0x2e,
- 0xdc,
- 0x40,
- 0xde,
- 0x92,
- 0x23,
- 0x59,
- 0x8e,
- 0xbc,
- 0xd2,
- 0xa1,
- 0xf2,
- 0xe0,
- 0x4c,
- 0xdd,
- 0x0b,
- 0xd1,
- 0xe7,
- 0xae,
- 0x65,
- 0xbc,
- 0xb5,
- 0xf5,
- 0x5b,
- 0x98,
- 0xe9,
- 0xd7,
- 0xc2,
- 0xb7,
- 0x0e,
- 0x55,
- 0x71,
- 0x0e,
- 0x3c,
- 0x0a,
- 0x24,
- 0x6b,
- 0xa6,
- 0xe6,
- 0x14,
- 0x61,
- 0x11,
- 0xfd,
- 0x33,
- 0x42,
- 0x99,
- 0x2b,
- 0x84,
- 0x77,
- 0x74,
- 0x92,
- 0x91,
- 0xf5,
- 0x79,
- 0x79,
- 0xcf,
- 0xad,
- 0x8e,
- 0x04,
- 0xef,
- 0x80,
- 0x1e,
- 0x57,
- 0xf4,
- 0x14,
- 0xf5,
- 0x35,
- 0x09,
- 0x74,
- 0xb2,
- 0x13,
- 0x71,
- 0x58,
- 0x6b,
- 0xea,
- 0x32,
- 0x5d,
- 0xf3,
- 0xd3,
- 0x76,
- 0x48,
- 0x39,
- 0x10,
- 0x23,
- 0x84,
- 0x9d,
- 0xbe,
- 0x92,
- 0x77,
- 0x4a,
- 0xed,
- 0x70,
- 0x3e,
- 0x1a,
- 0xa2,
- 0x6c,
- 0xb3,
- 0x81,
- 0x00,
- 0xc3,
- 0xc9,
- 0xe4,
- 0x52,
- 0xc8,
- 0x24,
- 0x88,
- 0x0c,
- 0x41,
- 0xad,
- 0x87,
- 0x5a,
- 0xea,
- 0xa3,
- 0x7a,
- 0x85,
- 0x1c,
- 0x5e,
- 0x31,
- 0x7f,
- 0xc3,
- 0x35,
- 0xc6,
- 0xfa,
- 0x10,
- 0xc8,
- 0x75,
- 0x10,
- 0xc4,
- 0x96,
- 0x99,
- 0xe7,
- 0xfe,
- 0x01,
- 0xb4,
- 0x74,
- 0xdb,
- 0xb4,
- 0x11,
- 0xc3,
- 0xc8,
- 0x8c,
- 0xf6,
- 0xf7,
- 0x3b,
- 0x66,
- 0x50,
- 0xfc,
- 0xdb,
- 0xeb,
- 0xca,
- 0x47,
- 0x85,
- 0x89,
- 0xe1,
- 0x65,
- 0xd9,
- 0x62,
- 0x34,
- 0x3c,
- 0x70,
- 0xd8,
- 0x2e,
- 0xb4,
- 0x2f,
- 0x65,
- 0x3c,
- 0x4a,
- 0xa6,
- 0x2a,
- 0xe7,
- 0xc7,
- 0xd8,
- 0x41,
- 0x8f,
- 0x8a,
- 0x43,
- 0xbf,
- 0x42,
- 0xf2,
- 0x4d,
- 0xbc,
- 0xfc,
- 0x9e,
- 0x27,
- 0x95,
- 0xfb,
- 0x75,
- 0xff,
- 0xab,
- 0x02,
- 0x82,
- 0x01,
- 0x00,
- 0x41,
- 0x2f,
- 0x44,
- 0x57,
- 0x6d,
- 0x12,
- 0x17,
- 0x5b,
- 0x32,
- 0xc6,
- 0xb7,
- 0x6c,
- 0x57,
- 0x7a,
- 0x8a,
- 0x0e,
- 0x79,
- 0xef,
- 0x72,
- 0xa8,
- 0x68,
- 0xda,
- 0x2d,
- 0x38,
- 0xe4,
- 0xbb,
- 0x8d,
- 0xf6,
- 0x02,
- 0x65,
- 0xcf,
- 0x56,
- 0x13,
- 0xe1,
- 0x1a,
- 0xcb,
- 0x39,
- 0x80,
- 0xa6,
- 0xb1,
- 0x32,
- 0x03,
- 0x1e,
- 0xdd,
- 0xbb,
- 0x35,
- 0xd9,
- 0xac,
- 0x43,
- 0x89,
- 0x31,
- 0x08,
- 0x90,
- 0x92,
- 0x5e,
- 0x35,
- 0x3d,
- 0x7b,
- 0x9c,
- 0x6f,
- 0x86,
- 0xcb,
- 0x17,
- 0xdd,
- 0x85,
- 0xe4,
- 0xed,
- 0x35,
- 0x08,
- 0x8e,
- 0xc1,
- 0xf4,
- 0x05,
- 0xd8,
- 0x68,
- 0xc6,
- 0x63,
- 0x3c,
- 0xf7,
- 0xff,
- 0xf7,
- 0x47,
- 0x33,
- 0x39,
- 0xc5,
- 0x3e,
- 0xb7,
- 0x0e,
- 0x58,
- 0x35,
- 0x9d,
- 0x81,
- 0xea,
- 0xf8,
- 0x6a,
- 0x2c,
- 0x1c,
- 0x5a,
- 0x68,
- 0x78,
- 0x64,
- 0x11,
- 0x6b,
- 0xc1,
- 0x3e,
- 0x4e,
- 0x7a,
- 0xbd,
- 0x84,
- 0xcb,
- 0x0f,
- 0xc2,
- 0xb6,
- 0x85,
- 0x1d,
- 0xd3,
- 0x76,
- 0xc5,
- 0x93,
- 0x6a,
- 0x69,
- 0x89,
- 0x56,
- 0x34,
- 0xdc,
- 0x4a,
- 0x9b,
- 0xbc,
- 0xff,
- 0xa8,
- 0x0d,
- 0x6e,
- 0x35,
- 0x9c,
- 0x60,
- 0xa7,
- 0x23,
- 0x30,
- 0xc7,
- 0x06,
- 0x64,
- 0x39,
- 0x8b,
- 0x94,
- 0x89,
- 0xee,
- 0xba,
- 0x7f,
- 0x60,
- 0x8d,
- 0xfa,
- 0xb6,
- 0x97,
- 0x76,
- 0xdc,
- 0x51,
- 0x4a,
- 0x3c,
- 0xeb,
- 0x3a,
- 0x14,
- 0x2c,
- 0x20,
- 0x60,
- 0x69,
- 0x4a,
- 0x86,
- 0xfe,
- 0x8c,
- 0x21,
- 0x84,
- 0x49,
- 0x54,
- 0xb3,
- 0x20,
- 0xe1,
- 0x01,
- 0x7f,
- 0x58,
- 0xdf,
- 0x7f,
- 0xb5,
- 0x21,
- 0x51,
- 0x8c,
- 0x47,
- 0x9f,
- 0x91,
- 0xeb,
- 0x97,
- 0x3e,
- 0xf2,
- 0x54,
- 0xcf,
- 0x16,
- 0x46,
- 0xf9,
- 0xd9,
- 0xb6,
- 0xe7,
- 0x64,
- 0xc9,
- 0xd0,
- 0x54,
- 0xea,
- 0x2f,
- 0xa1,
- 0xcf,
- 0xa5,
- 0x7f,
- 0x28,
- 0x8d,
- 0x84,
- 0xec,
- 0xd5,
- 0x39,
- 0x03,
- 0x76,
- 0x5b,
- 0x2d,
- 0x8e,
- 0x43,
- 0xf2,
- 0x01,
- 0x24,
- 0xc9,
- 0x6f,
- 0xc0,
- 0xf5,
- 0x69,
- 0x6f,
- 0x7d,
- 0xb5,
- 0x85,
- 0xd2,
- 0x5f,
- 0x7f,
- 0x78,
- 0x40,
- 0x07,
- 0x7f,
- 0x09,
- 0x15,
- 0xb5,
- 0x1f,
- 0x28,
- 0x65,
- 0x10,
- 0xe4,
- 0x19,
- 0xa8,
- 0xc6,
- 0x9e,
- 0x8d,
- 0xdc,
- 0xcb,
- 0x02,
- 0x82,
- 0x01,
- 0x00,
- 0x13,
- 0x01,
- 0xee,
- 0x56,
- 0x80,
- 0x93,
- 0x70,
- 0x00,
- 0x7f,
- 0x52,
- 0xd2,
- 0x94,
- 0xa1,
- 0x98,
- 0x84,
- 0x4a,
- 0x92,
- 0x25,
- 0x4c,
- 0x9b,
- 0xa9,
- 0x91,
- 0x2e,
- 0xc2,
- 0x79,
- 0xb7,
- 0x5c,
- 0xe3,
- 0xc5,
- 0xd5,
- 0x8e,
- 0xc2,
- 0x54,
- 0x16,
- 0x17,
- 0xad,
- 0x55,
- 0x9b,
- 0x25,
- 0x76,
- 0x12,
- 0x63,
- 0x50,
- 0x22,
- 0x2f,
- 0x58,
- 0x58,
- 0x79,
- 0x6b,
- 0x04,
- 0xe3,
- 0xf9,
- 0x9f,
- 0x8f,
- 0x04,
- 0x41,
- 0x67,
- 0x94,
- 0xa5,
- 0x1f,
- 0xac,
- 0x8a,
- 0x15,
- 0x9c,
- 0x26,
- 0x10,
- 0x6c,
- 0xf8,
- 0x19,
- 0x57,
- 0x61,
- 0xd7,
- 0x3a,
- 0x7d,
- 0x31,
- 0xb0,
- 0x2d,
- 0x38,
- 0xbd,
- 0x94,
- 0x62,
- 0xad,
- 0xc4,
- 0xfa,
- 0x36,
- 0x42,
- 0x42,
- 0xf0,
- 0x24,
- 0x67,
- 0x65,
- 0x9d,
- 0x8b,
- 0x0b,
- 0x7c,
- 0x6f,
- 0x82,
- 0x44,
- 0x1a,
- 0x8c,
- 0xc8,
- 0xc9,
- 0xab,
- 0xbb,
- 0x4c,
- 0x45,
- 0xfc,
- 0x7b,
- 0x38,
- 0xee,
- 0x30,
- 0xe1,
- 0xfc,
- 0xef,
- 0x8d,
- 0xbc,
- 0x58,
- 0xdf,
- 0x2b,
- 0x5d,
- 0x0d,
- 0x54,
- 0xe0,
- 0x49,
- 0x4d,
- 0x97,
- 0x99,
- 0x8f,
- 0x22,
- 0xa8,
- 0x83,
- 0xbe,
- 0x40,
- 0xbb,
- 0x50,
- 0x2e,
- 0x78,
- 0x28,
- 0x0f,
- 0x95,
- 0x78,
- 0x8c,
- 0x8f,
- 0x98,
- 0x24,
- 0x56,
- 0xc2,
- 0x97,
- 0xf3,
- 0x2c,
- 0x43,
- 0xd2,
- 0x03,
- 0x82,
- 0x66,
- 0x81,
- 0x72,
- 0x5f,
- 0x53,
- 0x16,
- 0xec,
- 0xb1,
- 0xb1,
- 0x04,
- 0x5e,
- 0x40,
- 0x20,
- 0x48,
- 0x7b,
- 0x3f,
- 0x02,
- 0x97,
- 0x6a,
- 0xeb,
- 0x96,
- 0x12,
- 0x21,
- 0x35,
- 0xfe,
- 0x1f,
- 0x47,
- 0xc0,
- 0x95,
- 0xea,
- 0xc5,
- 0x8a,
- 0x08,
- 0x84,
- 0x4f,
- 0x5e,
- 0x63,
- 0x94,
- 0x60,
- 0x0f,
- 0x71,
- 0x5b,
- 0x7f,
- 0x4a,
- 0xec,
- 0x4f,
- 0x60,
- 0xc6,
- 0xba,
- 0x4a,
- 0x24,
- 0xf1,
- 0x20,
- 0x8b,
- 0xa7,
- 0x2e,
- 0x3a,
- 0xce,
- 0x8d,
- 0xe0,
- 0x27,
- 0x1d,
- 0xb5,
- 0x8e,
- 0xb4,
- 0x21,
- 0xc5,
- 0xe2,
- 0xa6,
- 0x16,
- 0x0a,
- 0x51,
- 0x83,
- 0x55,
- 0x88,
- 0xd1,
- 0x30,
- 0x11,
- 0x63,
- 0xd5,
- 0xd7,
- 0x8d,
- 0xae,
- 0x16,
- 0x12,
- 0x82,
- 0xc4,
- 0x85,
- 0x00,
- 0x4e,
- 0x27,
- 0x83,
- 0xa5,
- 0x7c,
- 0x90,
- 0x2e,
- 0xe5,
- 0xa2,
- 0xa3,
- 0xd3,
- 0x4c,
- 0x63,
- 0x02,
- 0x82,
- 0x01,
- 0x01,
- 0x00,
- 0x86,
- 0x08,
- 0x98,
- 0x98,
- 0xa5,
- 0x00,
- 0x05,
- 0x39,
- 0x77,
- 0xd9,
- 0x66,
- 0xb3,
- 0xcf,
- 0xca,
- 0xa0,
- 0x71,
- 0xb3,
- 0x50,
- 0xce,
- 0x3d,
- 0xb1,
- 0x93,
- 0x95,
- 0x35,
- 0xc4,
- 0xd4,
- 0x2e,
- 0x90,
- 0xdf,
- 0x0f,
- 0xfc,
- 0x60,
- 0xc1,
- 0x94,
- 0x68,
- 0x61,
- 0x43,
- 0xca,
- 0x9a,
- 0x23,
- 0x4a,
- 0x1e,
- 0x45,
- 0x72,
- 0x99,
- 0xb5,
- 0x1e,
- 0x61,
- 0x8d,
- 0x77,
- 0x0f,
- 0xa0,
- 0xbb,
- 0xd7,
- 0x77,
- 0xb4,
- 0x2a,
- 0x15,
- 0x11,
- 0x88,
- 0x2d,
- 0xb3,
- 0x56,
- 0x61,
- 0x5e,
- 0x6a,
- 0xed,
- 0xa4,
- 0x46,
- 0x4a,
- 0x3f,
- 0x50,
- 0x11,
- 0xd6,
- 0xba,
- 0xb6,
- 0xd7,
- 0x95,
- 0x65,
- 0x53,
- 0xc3,
- 0xa1,
- 0x8f,
- 0xe0,
- 0xa3,
- 0xf5,
- 0x1c,
- 0xfd,
- 0xaf,
- 0x6e,
- 0x43,
- 0xd7,
- 0x17,
- 0xa7,
- 0xd3,
- 0x81,
- 0x1b,
- 0xa4,
- 0xdf,
- 0xe0,
- 0x97,
- 0x8a,
- 0x46,
- 0x03,
- 0xd3,
- 0x46,
- 0x0e,
- 0x83,
- 0x48,
- 0x4e,
- 0xd2,
- 0x02,
- 0xcb,
- 0xc0,
- 0xad,
- 0x79,
- 0x95,
- 0x8c,
- 0x96,
- 0xba,
- 0x40,
- 0x34,
- 0x11,
- 0x71,
- 0x5e,
- 0xe9,
- 0x11,
- 0xf9,
- 0xc5,
- 0x4a,
- 0x5e,
- 0x91,
- 0x9d,
- 0xf5,
- 0x92,
- 0x4f,
- 0xeb,
- 0xc6,
- 0x70,
- 0x02,
- 0x2d,
- 0x3d,
- 0x04,
- 0xaa,
- 0xe9,
- 0x3a,
- 0x8e,
- 0xd5,
- 0xa8,
- 0xad,
- 0xf7,
- 0xce,
- 0x0d,
- 0x16,
- 0xb2,
- 0xec,
- 0x0a,
- 0x9c,
- 0xf5,
- 0x94,
- 0x39,
- 0xb9,
- 0x8a,
- 0xfc,
- 0x1e,
- 0xf9,
- 0xcc,
- 0xf2,
- 0x5f,
- 0x21,
- 0x31,
- 0x74,
- 0x72,
- 0x6b,
- 0x64,
- 0xae,
- 0x35,
- 0x61,
- 0x8d,
- 0x0d,
- 0xcb,
- 0xe7,
- 0xda,
- 0x39,
- 0xca,
- 0xf3,
- 0x21,
- 0x66,
- 0x0b,
- 0x95,
- 0xd7,
- 0x0a,
- 0x7c,
- 0xca,
- 0xa1,
- 0xa9,
- 0x5a,
- 0xe8,
- 0xac,
- 0xe0,
- 0x71,
- 0x54,
- 0xaf,
- 0x28,
- 0xcf,
- 0xd5,
- 0x70,
- 0x89,
- 0xe0,
- 0xf3,
- 0x9e,
- 0x43,
- 0x6c,
- 0x8d,
- 0x7b,
- 0x99,
- 0x01,
- 0x68,
- 0x4d,
- 0xa1,
- 0x45,
- 0x46,
- 0x0c,
- 0x43,
- 0xbc,
- 0xcc,
- 0x2c,
- 0xdd,
- 0xc5,
- 0x46,
- 0xc8,
- 0x4e,
- 0x0e,
- 0xbe,
- 0xed,
- 0xb9,
- 0x26,
- 0xab,
- 0x2e,
- 0xdb,
- 0xeb,
- 0x8f,
- 0xff,
- 0xdb,
- 0xb0,
- 0xc6,
- 0x55,
- 0xaf,
- 0xf8,
- 0x2a,
- 0x91,
- 0x9d,
- 0x50,
- 0x44,
- 0x21,
- 0x17,
+ 0x30, 0x82, 0x09, 0x29, 0x02, 0x01, 0x00, 0x02, 0x82, 0x02,
+ 0x01, 0x00, 0xc0, 0x71, 0xac, 0x1a, 0x13, 0x88, 0x82, 0x43,
+ 0x3b, 0x51, 0x57, 0x71, 0x8d, 0xb6, 0x2b, 0x82, 0x65, 0x21,
+ 0x53, 0x5f, 0x28, 0x29, 0x4f, 0x8d, 0x7c, 0x8a, 0xb9, 0x44,
+ 0xb3, 0x28, 0x41, 0x4f, 0xd3, 0xfa, 0x6a, 0xf8, 0xb9, 0x28,
+ 0x50, 0x39, 0x67, 0x53, 0x2c, 0x3c, 0xd7, 0xcb, 0x96, 0x41,
+ 0x40, 0x32, 0xbb, 0xeb, 0x70, 0xae, 0x1f, 0xb0, 0x65, 0xf7,
+ 0x3a, 0xd9, 0x22, 0xfd, 0x10, 0xae, 0xbd, 0x02, 0xe2, 0xdd,
+ 0xf3, 0xc2, 0x79, 0x3c, 0xc6, 0xfc, 0x75, 0xbb, 0xaf, 0x4e,
+ 0x3a, 0x36, 0xc2, 0x4f, 0xea, 0x25, 0xdf, 0x13, 0x16, 0x4b,
+ 0x20, 0xfe, 0x4b, 0x69, 0x16, 0xc4, 0x7f, 0x1a, 0x43, 0xa6,
+ 0x17, 0x1b, 0xb9, 0x0a, 0xf3, 0x09, 0x86, 0x28, 0x89, 0xcf,
+ 0x2c, 0xd0, 0xd4, 0x81, 0xaf, 0xc6, 0x6d, 0xe6, 0x21, 0x8d,
+ 0xee, 0xef, 0xea, 0xdc, 0xb7, 0xc6, 0x3b, 0x63, 0x9f, 0x0e,
+ 0xad, 0x89, 0x78, 0x23, 0x18, 0xbf, 0x70, 0x7e, 0x84, 0xe0,
+ 0x37, 0xec, 0xdb, 0x8e, 0x9c, 0x3e, 0x6a, 0x19, 0xcc, 0x99,
+ 0x72, 0xe6, 0xb5, 0x7d, 0x6d, 0xfa, 0xe5, 0xd3, 0xe4, 0x90,
+ 0xb5, 0xb2, 0xb2, 0x12, 0x70, 0x4e, 0xca, 0xf8, 0x10, 0xf8,
+ 0xa3, 0x14, 0xc2, 0x48, 0x19, 0xeb, 0x60, 0x99, 0xbb, 0x2a,
+ 0x1f, 0xb1, 0x7a, 0xb1, 0x3d, 0x24, 0xfb, 0xa0, 0x29, 0xda,
+ 0xbd, 0x1b, 0xd7, 0xa4, 0xbf, 0xef, 0x60, 0x2d, 0x22, 0xca,
+ 0x65, 0x98, 0xf1, 0xc4, 0xe1, 0xc9, 0x02, 0x6b, 0x16, 0x28,
+ 0x2f, 0xa1, 0xaa, 0x79, 0x00, 0xda, 0xdc, 0x7c, 0x43, 0xf7,
+ 0x42, 0x3c, 0xa0, 0xef, 0x68, 0xf7, 0xdf, 0xb9, 0x69, 0xfb,
+ 0x8e, 0x01, 0xed, 0x01, 0x42, 0xb5, 0x4e, 0x57, 0xa6, 0x26,
+ 0xb8, 0xd0, 0x7b, 0x56, 0x6d, 0x03, 0xc6, 0x40, 0x8c, 0x8c,
+ 0x2a, 0x55, 0xd7, 0x9c, 0x35, 0x00, 0x94, 0x93, 0xec, 0x03,
+ 0xeb, 0x22, 0xef, 0x77, 0xbb, 0x79, 0x13, 0x3f, 0x15, 0xa1,
+ 0x8f, 0xca, 0xdf, 0xfd, 0xd3, 0xb8, 0xe1, 0xd4, 0xcc, 0x09,
+ 0x3f, 0x3c, 0x2c, 0xdb, 0xd1, 0x49, 0x7f, 0x38, 0x07, 0x83,
+ 0x6d, 0xeb, 0x08, 0x66, 0xe9, 0x06, 0x44, 0x12, 0xac, 0x95,
+ 0x22, 0x90, 0x23, 0x67, 0xd4, 0x08, 0xcc, 0xf4, 0xb7, 0xdc,
+ 0xcc, 0x87, 0xd4, 0xac, 0x69, 0x35, 0x4c, 0xb5, 0x39, 0x36,
+ 0xcd, 0xa4, 0xd2, 0x95, 0xca, 0x0d, 0xc5, 0xda, 0xc2, 0xc5,
+ 0x22, 0x32, 0x28, 0x08, 0xe3, 0xd2, 0x8b, 0x38, 0x30, 0xdc,
+ 0x8c, 0x75, 0x4f, 0x6a, 0xec, 0x7a, 0xac, 0x16, 0x3e, 0xa8,
+ 0xd4, 0x6a, 0x45, 0xe1, 0xa8, 0x4f, 0x2e, 0x80, 0x34, 0xaa,
+ 0x54, 0x1b, 0x02, 0x95, 0x7d, 0x8a, 0x6d, 0xcc, 0x79, 0xca,
+ 0xf2, 0xa4, 0x2e, 0x8d, 0xfb, 0xfe, 0x15, 0x51, 0x10, 0x0e,
+ 0x4d, 0x88, 0xb1, 0xc7, 0xf4, 0x79, 0xdb, 0xf0, 0xb4, 0x56,
+ 0x44, 0x37, 0xca, 0x5a, 0xc1, 0x8c, 0x48, 0xac, 0xae, 0x48,
+ 0x80, 0x83, 0x01, 0x3f, 0xde, 0xd9, 0xd3, 0x2c, 0x51, 0x46,
+ 0xb1, 0x41, 0xb6, 0xc6, 0x91, 0x72, 0xf9, 0x83, 0x55, 0x1b,
+ 0x8c, 0xba, 0xf3, 0x73, 0xe5, 0x2c, 0x74, 0x50, 0x3a, 0xbe,
+ 0xc5, 0x2f, 0xa7, 0xb2, 0x6d, 0x8c, 0x9e, 0x13, 0x77, 0xa3,
+ 0x13, 0xcd, 0x6d, 0x8c, 0x45, 0xe1, 0xfc, 0x0b, 0xb7, 0x69,
+ 0xe9, 0x27, 0xbc, 0x65, 0xc3, 0xfa, 0x9b, 0xd0, 0xef, 0xfe,
+ 0xe8, 0x1f, 0xb3, 0x5e, 0x34, 0xf4, 0x8c, 0xea, 0xfc, 0xd3,
+ 0x81, 0xbf, 0x3d, 0x30, 0xb2, 0xb4, 0x01, 0xe8, 0x43, 0x0f,
+ 0xba, 0x02, 0x23, 0x42, 0x76, 0x82, 0x31, 0x73, 0x91, 0xed,
+ 0x07, 0x46, 0x61, 0x0d, 0x39, 0x83, 0x40, 0xce, 0x7a, 0xd4,
+ 0xdb, 0x80, 0x2c, 0x1f, 0x0d, 0xd1, 0x34, 0xd4, 0x92, 0xe3,
+ 0xd4, 0xf1, 0xc2, 0x01, 0x02, 0x03, 0x01, 0x00, 0x01, 0x02,
+ 0x82, 0x02, 0x01, 0x00, 0x97, 0x6c, 0xda, 0x6e, 0xea, 0x4f,
+ 0xcf, 0xaf, 0xf7, 0x4c, 0xd9, 0xf1, 0x90, 0x00, 0x77, 0xdb,
+ 0xf2, 0x97, 0x76, 0x72, 0xb9, 0xb7, 0x47, 0xd1, 0x9c, 0xdd,
+ 0xcb, 0x4a, 0x33, 0x6e, 0xc9, 0x75, 0x76, 0xe6, 0xe4, 0xa5,
+ 0x31, 0x8c, 0x77, 0x13, 0xb4, 0x29, 0xcd, 0xf5, 0x52, 0x17,
+ 0xef, 0xf3, 0x08, 0x00, 0xe3, 0xbd, 0x2e, 0xbc, 0xd4, 0x52,
+ 0x88, 0xe9, 0x30, 0x75, 0x0b, 0x02, 0xf5, 0xcd, 0x89, 0x0c,
+ 0x6c, 0x57, 0x19, 0x27, 0x3d, 0x1e, 0x85, 0xb4, 0xc1, 0x2f,
+ 0x1d, 0x92, 0x00, 0x5c, 0x76, 0x29, 0x4b, 0xa4, 0xe1, 0x12,
+ 0xb3, 0xc8, 0x09, 0xfe, 0x0e, 0x78, 0x72, 0x61, 0xcb, 0x61,
+ 0x6f, 0x39, 0x91, 0x95, 0x4e, 0xd5, 0x3e, 0xc7, 0x8f, 0xb8,
+ 0xf6, 0x36, 0xfe, 0x9c, 0x93, 0x9a, 0x38, 0x25, 0x7a, 0xf4,
+ 0x4a, 0x12, 0xd4, 0xa0, 0x13, 0xbd, 0xf9, 0x1d, 0x12, 0x3e,
+ 0x21, 0x39, 0xfb, 0x72, 0xe0, 0x05, 0x3d, 0xc3, 0xe5, 0x50,
+ 0xa8, 0x5d, 0x85, 0xa3, 0xea, 0x5f, 0x1c, 0xb2, 0x3f, 0xea,
+ 0x6d, 0x03, 0x91, 0x55, 0xd8, 0x19, 0x0a, 0x21, 0x12, 0x16,
+ 0xd9, 0x12, 0xc4, 0xe6, 0x07, 0x18, 0x5b, 0x26, 0xa4, 0xae,
+ 0xed, 0x2b, 0xb7, 0xa6, 0xed, 0xf8, 0xad, 0xec, 0x77, 0xe6,
+ 0x7f, 0x4f, 0x76, 0x00, 0xc0, 0xfa, 0x15, 0x92, 0xb4, 0x2c,
+ 0x22, 0xc2, 0xeb, 0x6a, 0xad, 0x14, 0x05, 0xb2, 0xe5, 0x8a,
+ 0x9e, 0x85, 0x83, 0xcc, 0x04, 0xf1, 0x56, 0x78, 0x44, 0x5e,
+ 0xde, 0xe0, 0x60, 0x1a, 0x65, 0x79, 0x31, 0x23, 0x05, 0xbb,
+ 0x01, 0xff, 0xdd, 0x2e, 0xb7, 0xb3, 0xaa, 0x74, 0xe0, 0xa5,
+ 0x94, 0xaf, 0x4b, 0xde, 0x58, 0x0f, 0x55, 0xde, 0x33, 0xf6,
+ 0xe3, 0xd6, 0x34, 0x36, 0x57, 0xd6, 0x79, 0x91, 0x2e, 0xbe,
+ 0x3b, 0xd9, 0x4e, 0xb6, 0x9d, 0x21, 0x5c, 0xd3, 0x48, 0x14,
+ 0x7f, 0x4a, 0xc4, 0x60, 0xa9, 0x29, 0xf8, 0x53, 0x7f, 0x88,
+ 0x11, 0x2d, 0xb5, 0xc5, 0x2d, 0x6f, 0xee, 0x85, 0x0b, 0xf7,
+ 0x8d, 0x9a, 0xbe, 0xb0, 0x42, 0xf2, 0x2e, 0x71, 0xaf, 0x19,
+ 0x31, 0x6d, 0xec, 0xcd, 0x6f, 0x2b, 0x23, 0xdf, 0xb4, 0x40,
+ 0xaf, 0x2c, 0x0a, 0xc3, 0x1b, 0x7d, 0x7d, 0x03, 0x1d, 0x4b,
+ 0xf3, 0xb5, 0xe0, 0x85, 0xd8, 0xdf, 0x91, 0x6b, 0x0a, 0x69,
+ 0xf7, 0xf2, 0x69, 0x66, 0x5b, 0xf1, 0xcf, 0x46, 0x7d, 0xe9,
+ 0x70, 0xfa, 0x6d, 0x7e, 0x75, 0x4e, 0xa9, 0x77, 0xe6, 0x8c,
+ 0x02, 0xf7, 0x14, 0x4d, 0xa5, 0x41, 0x8f, 0x3f, 0xc1, 0x62,
+ 0x1e, 0x71, 0x5e, 0x38, 0xb4, 0xd6, 0xe6, 0xe1, 0x4b, 0xc2,
+ 0x2c, 0x30, 0x83, 0x81, 0x6f, 0x49, 0x2e, 0x96, 0xe6, 0xc9,
+ 0x9a, 0xf7, 0x5d, 0x09, 0xa0, 0x55, 0x02, 0xa5, 0x3a, 0x25,
+ 0x23, 0xd0, 0x92, 0xc3, 0xa3, 0xe3, 0x0e, 0x12, 0x2f, 0x4d,
+ 0xef, 0xf3, 0x55, 0x5a, 0xbe, 0xe6, 0x19, 0x86, 0x31, 0xab,
+ 0x75, 0x9a, 0xd3, 0xf0, 0x2c, 0xc5, 0x41, 0x92, 0xd9, 0x1f,
+ 0x5f, 0x11, 0x8c, 0x75, 0x1c, 0x63, 0xd0, 0x02, 0x80, 0x2c,
+ 0x68, 0xcb, 0x93, 0xfb, 0x51, 0x73, 0x49, 0xb4, 0x60, 0xda,
+ 0xe2, 0x26, 0xaf, 0xa9, 0x46, 0x12, 0xb8, 0xec, 0x50, 0xdd,
+ 0x12, 0x06, 0x5f, 0xce, 0x59, 0xe6, 0xf6, 0x1c, 0xe0, 0x54,
+ 0x10, 0xad, 0xf6, 0xcd, 0x98, 0xcc, 0x0f, 0xfb, 0xcb, 0x41,
+ 0x14, 0x9d, 0xed, 0xe4, 0xb4, 0x74, 0x5f, 0x09, 0x60, 0xc7,
+ 0x12, 0xf6, 0x7b, 0x3c, 0x8f, 0xa7, 0x20, 0xbc, 0xe4, 0xb1,
+ 0xef, 0xeb, 0xa4, 0x93, 0xc5, 0x06, 0xca, 0x9a, 0x27, 0x9d,
+ 0x87, 0xf3, 0xde, 0xca, 0xe5, 0xe7, 0xf6, 0x1c, 0x01, 0x65,
+ 0x5b, 0xfb, 0x19, 0x79, 0x6e, 0x08, 0x26, 0xc5, 0xc8, 0x28,
+ 0x0e, 0xb6, 0x3b, 0x07, 0x08, 0xc1, 0x02, 0x82, 0x01, 0x01,
+ 0x00, 0xe8, 0x1c, 0x73, 0xa6, 0xb8, 0xe0, 0x0e, 0x6d, 0x8d,
+ 0x1b, 0xb9, 0x53, 0xed, 0x58, 0x94, 0xe6, 0x1d, 0x60, 0x14,
+ 0x5c, 0x76, 0x43, 0xc4, 0x58, 0x19, 0xc4, 0x24, 0xe8, 0xbc,
+ 0x1b, 0x3b, 0x0b, 0x13, 0x24, 0x45, 0x54, 0x0e, 0xcc, 0x37,
+ 0xf0, 0xe0, 0x63, 0x7d, 0xc3, 0xf7, 0xfb, 0x81, 0x74, 0x81,
+ 0xc4, 0x0f, 0x1a, 0x21, 0x48, 0xaf, 0xce, 0xc1, 0xc4, 0x94,
+ 0x18, 0x06, 0x44, 0x8d, 0xd3, 0xd2, 0x22, 0x2d, 0x2d, 0x3e,
+ 0x5a, 0x31, 0xdc, 0x95, 0x8e, 0xf4, 0x41, 0xfc, 0x58, 0xc9,
+ 0x40, 0x92, 0x17, 0x5f, 0xe3, 0xda, 0xac, 0x9e, 0x3f, 0x1c,
+ 0x2a, 0x6b, 0x58, 0x5f, 0x48, 0x78, 0x20, 0xb1, 0xaf, 0x24,
+ 0x9b, 0x3c, 0x20, 0x8b, 0x93, 0x25, 0x9e, 0xe6, 0x6b, 0xbc,
+ 0x13, 0x42, 0x14, 0x6c, 0x36, 0x31, 0xff, 0x7a, 0xd1, 0xc1,
+ 0x1a, 0x26, 0x14, 0x7f, 0xa9, 0x76, 0xa7, 0x0c, 0xf8, 0xcc,
+ 0xed, 0x07, 0x6a, 0xd2, 0xdf, 0x62, 0xee, 0x0a, 0x7c, 0x84,
+ 0xcb, 0x49, 0x90, 0xb2, 0x03, 0x0d, 0xa2, 0x82, 0x06, 0x77,
+ 0xf1, 0xcd, 0x67, 0xf2, 0x47, 0x21, 0x02, 0x3f, 0x43, 0x21,
+ 0xf0, 0x46, 0x30, 0x62, 0x51, 0x72, 0xb1, 0xe7, 0x48, 0xc6,
+ 0x67, 0x12, 0xcd, 0x9e, 0xd6, 0x15, 0xe5, 0x21, 0xed, 0xfa,
+ 0x8f, 0x30, 0xa6, 0x41, 0xfe, 0xb6, 0xfa, 0x8f, 0x34, 0x14,
+ 0x19, 0xe8, 0x11, 0xf7, 0xa5, 0x77, 0x3e, 0xb7, 0xf9, 0x39,
+ 0x07, 0x8c, 0x67, 0x2a, 0xab, 0x7b, 0x08, 0xf8, 0xb0, 0x06,
+ 0xa8, 0xea, 0x2f, 0x8f, 0xfa, 0xcc, 0xcc, 0x40, 0xce, 0xf3,
+ 0x70, 0x4f, 0x3f, 0x7f, 0xe2, 0x0c, 0xea, 0x76, 0x4a, 0x35,
+ 0x4e, 0x47, 0xad, 0x2b, 0xa7, 0x97, 0x5d, 0x74, 0x43, 0x97,
+ 0x90, 0xd2, 0xfb, 0xd9, 0xf9, 0x96, 0x01, 0x33, 0x05, 0xed,
+ 0x7b, 0x03, 0x05, 0xad, 0xf8, 0x49, 0x03, 0x02, 0x82, 0x01,
+ 0x01, 0x00, 0xd4, 0x40, 0x17, 0x66, 0x10, 0x92, 0x95, 0xc8,
+ 0xec, 0x62, 0xa9, 0x7a, 0xcb, 0x93, 0x8e, 0xe6, 0x53, 0xd4,
+ 0x80, 0x48, 0x27, 0x4b, 0x41, 0xce, 0x61, 0xdf, 0xbf, 0x94,
+ 0xa4, 0x3d, 0x71, 0x03, 0x0b, 0xed, 0x25, 0x71, 0x98, 0xa4,
+ 0xd6, 0xd5, 0x4a, 0x57, 0xf5, 0x6c, 0x1b, 0xda, 0x21, 0x7d,
+ 0x35, 0x45, 0xb3, 0xf3, 0x6a, 0xd9, 0xd3, 0x43, 0xe8, 0x5c,
+ 0x54, 0x1c, 0x83, 0x1b, 0xb4, 0x5f, 0xf2, 0x97, 0x24, 0x2e,
+ 0xdc, 0x40, 0xde, 0x92, 0x23, 0x59, 0x8e, 0xbc, 0xd2, 0xa1,
+ 0xf2, 0xe0, 0x4c, 0xdd, 0x0b, 0xd1, 0xe7, 0xae, 0x65, 0xbc,
+ 0xb5, 0xf5, 0x5b, 0x98, 0xe9, 0xd7, 0xc2, 0xb7, 0x0e, 0x55,
+ 0x71, 0x0e, 0x3c, 0x0a, 0x24, 0x6b, 0xa6, 0xe6, 0x14, 0x61,
+ 0x11, 0xfd, 0x33, 0x42, 0x99, 0x2b, 0x84, 0x77, 0x74, 0x92,
+ 0x91, 0xf5, 0x79, 0x79, 0xcf, 0xad, 0x8e, 0x04, 0xef, 0x80,
+ 0x1e, 0x57, 0xf4, 0x14, 0xf5, 0x35, 0x09, 0x74, 0xb2, 0x13,
+ 0x71, 0x58, 0x6b, 0xea, 0x32, 0x5d, 0xf3, 0xd3, 0x76, 0x48,
+ 0x39, 0x10, 0x23, 0x84, 0x9d, 0xbe, 0x92, 0x77, 0x4a, 0xed,
+ 0x70, 0x3e, 0x1a, 0xa2, 0x6c, 0xb3, 0x81, 0x00, 0xc3, 0xc9,
+ 0xe4, 0x52, 0xc8, 0x24, 0x88, 0x0c, 0x41, 0xad, 0x87, 0x5a,
+ 0xea, 0xa3, 0x7a, 0x85, 0x1c, 0x5e, 0x31, 0x7f, 0xc3, 0x35,
+ 0xc6, 0xfa, 0x10, 0xc8, 0x75, 0x10, 0xc4, 0x96, 0x99, 0xe7,
+ 0xfe, 0x01, 0xb4, 0x74, 0xdb, 0xb4, 0x11, 0xc3, 0xc8, 0x8c,
+ 0xf6, 0xf7, 0x3b, 0x66, 0x50, 0xfc, 0xdb, 0xeb, 0xca, 0x47,
+ 0x85, 0x89, 0xe1, 0x65, 0xd9, 0x62, 0x34, 0x3c, 0x70, 0xd8,
+ 0x2e, 0xb4, 0x2f, 0x65, 0x3c, 0x4a, 0xa6, 0x2a, 0xe7, 0xc7,
+ 0xd8, 0x41, 0x8f, 0x8a, 0x43, 0xbf, 0x42, 0xf2, 0x4d, 0xbc,
+ 0xfc, 0x9e, 0x27, 0x95, 0xfb, 0x75, 0xff, 0xab, 0x02, 0x82,
+ 0x01, 0x00, 0x41, 0x2f, 0x44, 0x57, 0x6d, 0x12, 0x17, 0x5b,
+ 0x32, 0xc6, 0xb7, 0x6c, 0x57, 0x7a, 0x8a, 0x0e, 0x79, 0xef,
+ 0x72, 0xa8, 0x68, 0xda, 0x2d, 0x38, 0xe4, 0xbb, 0x8d, 0xf6,
+ 0x02, 0x65, 0xcf, 0x56, 0x13, 0xe1, 0x1a, 0xcb, 0x39, 0x80,
+ 0xa6, 0xb1, 0x32, 0x03, 0x1e, 0xdd, 0xbb, 0x35, 0xd9, 0xac,
+ 0x43, 0x89, 0x31, 0x08, 0x90, 0x92, 0x5e, 0x35, 0x3d, 0x7b,
+ 0x9c, 0x6f, 0x86, 0xcb, 0x17, 0xdd, 0x85, 0xe4, 0xed, 0x35,
+ 0x08, 0x8e, 0xc1, 0xf4, 0x05, 0xd8, 0x68, 0xc6, 0x63, 0x3c,
+ 0xf7, 0xff, 0xf7, 0x47, 0x33, 0x39, 0xc5, 0x3e, 0xb7, 0x0e,
+ 0x58, 0x35, 0x9d, 0x81, 0xea, 0xf8, 0x6a, 0x2c, 0x1c, 0x5a,
+ 0x68, 0x78, 0x64, 0x11, 0x6b, 0xc1, 0x3e, 0x4e, 0x7a, 0xbd,
+ 0x84, 0xcb, 0x0f, 0xc2, 0xb6, 0x85, 0x1d, 0xd3, 0x76, 0xc5,
+ 0x93, 0x6a, 0x69, 0x89, 0x56, 0x34, 0xdc, 0x4a, 0x9b, 0xbc,
+ 0xff, 0xa8, 0x0d, 0x6e, 0x35, 0x9c, 0x60, 0xa7, 0x23, 0x30,
+ 0xc7, 0x06, 0x64, 0x39, 0x8b, 0x94, 0x89, 0xee, 0xba, 0x7f,
+ 0x60, 0x8d, 0xfa, 0xb6, 0x97, 0x76, 0xdc, 0x51, 0x4a, 0x3c,
+ 0xeb, 0x3a, 0x14, 0x2c, 0x20, 0x60, 0x69, 0x4a, 0x86, 0xfe,
+ 0x8c, 0x21, 0x84, 0x49, 0x54, 0xb3, 0x20, 0xe1, 0x01, 0x7f,
+ 0x58, 0xdf, 0x7f, 0xb5, 0x21, 0x51, 0x8c, 0x47, 0x9f, 0x91,
+ 0xeb, 0x97, 0x3e, 0xf2, 0x54, 0xcf, 0x16, 0x46, 0xf9, 0xd9,
+ 0xb6, 0xe7, 0x64, 0xc9, 0xd0, 0x54, 0xea, 0x2f, 0xa1, 0xcf,
+ 0xa5, 0x7f, 0x28, 0x8d, 0x84, 0xec, 0xd5, 0x39, 0x03, 0x76,
+ 0x5b, 0x2d, 0x8e, 0x43, 0xf2, 0x01, 0x24, 0xc9, 0x6f, 0xc0,
+ 0xf5, 0x69, 0x6f, 0x7d, 0xb5, 0x85, 0xd2, 0x5f, 0x7f, 0x78,
+ 0x40, 0x07, 0x7f, 0x09, 0x15, 0xb5, 0x1f, 0x28, 0x65, 0x10,
+ 0xe4, 0x19, 0xa8, 0xc6, 0x9e, 0x8d, 0xdc, 0xcb, 0x02, 0x82,
+ 0x01, 0x00, 0x13, 0x01, 0xee, 0x56, 0x80, 0x93, 0x70, 0x00,
+ 0x7f, 0x52, 0xd2, 0x94, 0xa1, 0x98, 0x84, 0x4a, 0x92, 0x25,
+ 0x4c, 0x9b, 0xa9, 0x91, 0x2e, 0xc2, 0x79, 0xb7, 0x5c, 0xe3,
+ 0xc5, 0xd5, 0x8e, 0xc2, 0x54, 0x16, 0x17, 0xad, 0x55, 0x9b,
+ 0x25, 0x76, 0x12, 0x63, 0x50, 0x22, 0x2f, 0x58, 0x58, 0x79,
+ 0x6b, 0x04, 0xe3, 0xf9, 0x9f, 0x8f, 0x04, 0x41, 0x67, 0x94,
+ 0xa5, 0x1f, 0xac, 0x8a, 0x15, 0x9c, 0x26, 0x10, 0x6c, 0xf8,
+ 0x19, 0x57, 0x61, 0xd7, 0x3a, 0x7d, 0x31, 0xb0, 0x2d, 0x38,
+ 0xbd, 0x94, 0x62, 0xad, 0xc4, 0xfa, 0x36, 0x42, 0x42, 0xf0,
+ 0x24, 0x67, 0x65, 0x9d, 0x8b, 0x0b, 0x7c, 0x6f, 0x82, 0x44,
+ 0x1a, 0x8c, 0xc8, 0xc9, 0xab, 0xbb, 0x4c, 0x45, 0xfc, 0x7b,
+ 0x38, 0xee, 0x30, 0xe1, 0xfc, 0xef, 0x8d, 0xbc, 0x58, 0xdf,
+ 0x2b, 0x5d, 0x0d, 0x54, 0xe0, 0x49, 0x4d, 0x97, 0x99, 0x8f,
+ 0x22, 0xa8, 0x83, 0xbe, 0x40, 0xbb, 0x50, 0x2e, 0x78, 0x28,
+ 0x0f, 0x95, 0x78, 0x8c, 0x8f, 0x98, 0x24, 0x56, 0xc2, 0x97,
+ 0xf3, 0x2c, 0x43, 0xd2, 0x03, 0x82, 0x66, 0x81, 0x72, 0x5f,
+ 0x53, 0x16, 0xec, 0xb1, 0xb1, 0x04, 0x5e, 0x40, 0x20, 0x48,
+ 0x7b, 0x3f, 0x02, 0x97, 0x6a, 0xeb, 0x96, 0x12, 0x21, 0x35,
+ 0xfe, 0x1f, 0x47, 0xc0, 0x95, 0xea, 0xc5, 0x8a, 0x08, 0x84,
+ 0x4f, 0x5e, 0x63, 0x94, 0x60, 0x0f, 0x71, 0x5b, 0x7f, 0x4a,
+ 0xec, 0x4f, 0x60, 0xc6, 0xba, 0x4a, 0x24, 0xf1, 0x20, 0x8b,
+ 0xa7, 0x2e, 0x3a, 0xce, 0x8d, 0xe0, 0x27, 0x1d, 0xb5, 0x8e,
+ 0xb4, 0x21, 0xc5, 0xe2, 0xa6, 0x16, 0x0a, 0x51, 0x83, 0x55,
+ 0x88, 0xd1, 0x30, 0x11, 0x63, 0xd5, 0xd7, 0x8d, 0xae, 0x16,
+ 0x12, 0x82, 0xc4, 0x85, 0x00, 0x4e, 0x27, 0x83, 0xa5, 0x7c,
+ 0x90, 0x2e, 0xe5, 0xa2, 0xa3, 0xd3, 0x4c, 0x63, 0x02, 0x82,
+ 0x01, 0x01, 0x00, 0x86, 0x08, 0x98, 0x98, 0xa5, 0x00, 0x05,
+ 0x39, 0x77, 0xd9, 0x66, 0xb3, 0xcf, 0xca, 0xa0, 0x71, 0xb3,
+ 0x50, 0xce, 0x3d, 0xb1, 0x93, 0x95, 0x35, 0xc4, 0xd4, 0x2e,
+ 0x90, 0xdf, 0x0f, 0xfc, 0x60, 0xc1, 0x94, 0x68, 0x61, 0x43,
+ 0xca, 0x9a, 0x23, 0x4a, 0x1e, 0x45, 0x72, 0x99, 0xb5, 0x1e,
+ 0x61, 0x8d, 0x77, 0x0f, 0xa0, 0xbb, 0xd7, 0x77, 0xb4, 0x2a,
+ 0x15, 0x11, 0x88, 0x2d, 0xb3, 0x56, 0x61, 0x5e, 0x6a, 0xed,
+ 0xa4, 0x46, 0x4a, 0x3f, 0x50, 0x11, 0xd6, 0xba, 0xb6, 0xd7,
+ 0x95, 0x65, 0x53, 0xc3, 0xa1, 0x8f, 0xe0, 0xa3, 0xf5, 0x1c,
+ 0xfd, 0xaf, 0x6e, 0x43, 0xd7, 0x17, 0xa7, 0xd3, 0x81, 0x1b,
+ 0xa4, 0xdf, 0xe0, 0x97, 0x8a, 0x46, 0x03, 0xd3, 0x46, 0x0e,
+ 0x83, 0x48, 0x4e, 0xd2, 0x02, 0xcb, 0xc0, 0xad, 0x79, 0x95,
+ 0x8c, 0x96, 0xba, 0x40, 0x34, 0x11, 0x71, 0x5e, 0xe9, 0x11,
+ 0xf9, 0xc5, 0x4a, 0x5e, 0x91, 0x9d, 0xf5, 0x92, 0x4f, 0xeb,
+ 0xc6, 0x70, 0x02, 0x2d, 0x3d, 0x04, 0xaa, 0xe9, 0x3a, 0x8e,
+ 0xd5, 0xa8, 0xad, 0xf7, 0xce, 0x0d, 0x16, 0xb2, 0xec, 0x0a,
+ 0x9c, 0xf5, 0x94, 0x39, 0xb9, 0x8a, 0xfc, 0x1e, 0xf9, 0xcc,
+ 0xf2, 0x5f, 0x21, 0x31, 0x74, 0x72, 0x6b, 0x64, 0xae, 0x35,
+ 0x61, 0x8d, 0x0d, 0xcb, 0xe7, 0xda, 0x39, 0xca, 0xf3, 0x21,
+ 0x66, 0x0b, 0x95, 0xd7, 0x0a, 0x7c, 0xca, 0xa1, 0xa9, 0x5a,
+ 0xe8, 0xac, 0xe0, 0x71, 0x54, 0xaf, 0x28, 0xcf, 0xd5, 0x70,
+ 0x89, 0xe0, 0xf3, 0x9e, 0x43, 0x6c, 0x8d, 0x7b, 0x99, 0x01,
+ 0x68, 0x4d, 0xa1, 0x45, 0x46, 0x0c, 0x43, 0xbc, 0xcc, 0x2c,
+ 0xdd, 0xc5, 0x46, 0xc8, 0x4e, 0x0e, 0xbe, 0xed, 0xb9, 0x26,
+ 0xab, 0x2e, 0xdb, 0xeb, 0x8f, 0xff, 0xdb, 0xb0, 0xc6, 0x55,
+ 0xaf, 0xf8, 0x2a, 0x91, 0x9d, 0x50, 0x44, 0x21, 0x17
};
static unsigned char test7680[] = {
diff --git a/crypto/openssl/crypto/aes/asm/aesfx-sparcv9.pl b/crypto/openssl/crypto/aes/asm/aesfx-sparcv9.pl
index 27233d03af7..372778e424e 100755
--- a/crypto/openssl/crypto/aes/asm/aesfx-sparcv9.pl
+++ b/crypto/openssl/crypto/aes/asm/aesfx-sparcv9.pl
@@ -1,5 +1,5 @@
#! /usr/bin/env perl
-# Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved.
+# Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License 2.0 (the "License"). You may not use
# this file except in compliance with the License. You can obtain a copy
@@ -479,11 +479,16 @@ aes_fx_cbc_encrypt:
ldd [$end + 24], %f12
movrz $len, 0, $inc
+
+ brz,pn $len, .Lcbc_enc_skip_load
+ nop
+
fmovd $intail, $in0
ldd [$inp - 8], $in1 ! load next input block
ldda [$inp]0x82, $intail ! non-faulting load
add $inp, $inc, $inp ! inp+=16
+.Lcbc_enc_skip_load:
fmovd %f0, %f4
faesencx %f2, %f6, %f0
faesencx %f4, %f8, %f2
@@ -694,11 +699,16 @@ aes_fx_cbc_encrypt:
fmovd $in1, $iv1
movrz $len, 0, $inc
+
+ brz,pn $len, .Lcbc_dec_skip_load
+ nop
+
fmovd $intail, $in0
ldd [$inp - 8], $in1 ! load next input block
ldda [$inp]0x82, $intail ! non-faulting load
add $inp, $inc, $inp ! inp+=16
+.Lcbc_dec_skip_load:
fmovd %f0, %f4
faesdecx %f2, %f10, %f0
faesdecx %f4, %f12, %f2
@@ -953,11 +963,16 @@ aes_fx_ctr32_encrypt_blocks:
fxor $in1, $rllo, %f8
movrz $len, 0, $inc
+
+ brz,pn $len, .Lctr32_enc_skip_load
+ nop
+
fmovd $intail, $in0
ldd [$inp - 8], $in1 ! load next input block
ldda [$inp]0x82, $intail ! non-faulting load
add $inp, $inc, $inp ! inp+=16
+.Lctr32_enc_skip_load:
fmovd %f0, %f4
faesencx %f2, %f10, %f0
faesencx %f4, %f12, %f2
diff --git a/crypto/openssl/crypto/asn1/a_d2i_fp.c b/crypto/openssl/crypto/asn1/a_d2i_fp.c
index 82d2f7cc902..a23dea8ebda 100644
--- a/crypto/openssl/crypto/asn1/a_d2i_fp.c
+++ b/crypto/openssl/crypto/asn1/a_d2i_fp.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -104,7 +104,7 @@ void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x)
}
#endif
-#define HEADER_SIZE 8
+#define HEADER_SIZE 2
#define ASN1_CHUNK_INITIAL_SIZE (16 * 1024)
int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
{
@@ -138,7 +138,7 @@ int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
goto err;
}
i = BIO_read(in, &(b->data[len]), want);
- if (i < 0 && diff == 0) {
+ if (i <= 0) {
ERR_raise(ERR_LIB_ASN1, ASN1_R_NOT_ENOUGH_DATA);
goto err;
}
@@ -154,12 +154,65 @@ int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
}
/* else data already loaded */
+ /* make sure there is enough data for a complete header */
p = (unsigned char *)&(b->data[off]);
q = p;
diff = len - off;
- if (diff == 0)
+ if (diff < 2) {
+ /* Failed sanity check */
+ ERR_raise(ERR_LIB_ASN1, ASN1_R_NOT_ENOUGH_DATA);
goto err;
- inf = ASN1_get_object(&q, &slen, &tag, &xclass, diff);
+ }
+
+ diff--;
+ if ((*(q++) & V_ASN1_PRIMITIVE_TAG) == V_ASN1_PRIMITIVE_TAG) {
+ unsigned int n = 0;
+ /* Multi-byte tag. See if we have the whole thing yet */
+ do {
+ if (n > 4) {
+ /* The tag value must fit into int */
+ ERR_raise(ERR_LIB_ASN1, ASN1_R_HEADER_TOO_LONG);
+ goto err;
+ }
+ ++n;
+ diff--;
+ } while (diff > 0 && *(q++) & 0x80);
+
+ if (diff == 0) {
+ /*
+ * End of current data, will need at least 1 more byte for
+ * length. 2 if the tag is still incomplete
+ */
+ want = q - p + 2;
+ if (*q & 0x80) {
+ want++;
+ }
+ continue;
+ }
+ }
+
+ /* Check the length. This should also work for indefinite length */
+ diff--;
+ if (*q & 0x80) {
+ unsigned int n = *q & 0x7f;
+
+ if (n > sizeof(long)) {
+ ERR_raise(ERR_LIB_ASN1, ASN1_R_TOO_LONG);
+ goto err;
+ }
+ if (n > diff) {
+ want = q - p + n + 1;
+ continue;
+ }
+ }
+
+ /*
+ * We have a complete header now, assuming we didn't hit EOF. Parse the
+ * tag and length
+ */
+ q = p;
+ diff = len - off;
+ inf = ASN1_get_object(&q, &slen, &tag, &xclass, (int)diff);
if (inf & 0x80) {
unsigned long e;
@@ -169,8 +222,7 @@ int asn1_d2i_read_bio(BIO *in, BUF_MEM **pb)
ERR_pop_to_mark();
ERR_set_mark();
}
- i = q - p; /* header length */
- off += i; /* end of data */
+ off += q - p; /* end of data */
if (inf & 1) {
/* no data body so go round again */
diff --git a/crypto/openssl/crypto/asn1/a_mbstr.c b/crypto/openssl/crypto/asn1/a_mbstr.c
index 962e19b2cea..ce5618dfd48 100644
--- a/crypto/openssl/crypto/asn1/a_mbstr.c
+++ b/crypto/openssl/crypto/asn1/a_mbstr.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1999-2021 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1999-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/crypto/asn1/asn1_lib.c b/crypto/openssl/crypto/asn1/asn1_lib.c
index ae234bb5ea4..39a6d63f4c9 100644
--- a/crypto/openssl/crypto/asn1/asn1_lib.c
+++ b/crypto/openssl/crypto/asn1/asn1_lib.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -129,7 +129,7 @@ static int asn1_get_length(const unsigned char **pp, int *inf, long *rl,
*inf = 0;
i = *p & 0x7f;
if (*p++ & 0x80) {
- if (max < i + 1)
+ if (max < i)
return 0;
/* Skip leading zeroes */
while (i > 0 && *p == 0) {
diff --git a/crypto/openssl/crypto/asn1/asn_mime.c b/crypto/openssl/crypto/asn1/asn_mime.c
index 212c34f4bc0..8007b52d153 100644
--- a/crypto/openssl/crypto/asn1/asn_mime.c
+++ b/crypto/openssl/crypto/asn1/asn_mime.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2008-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2008-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -665,16 +665,18 @@ static int multi_split(BIO *bio, int flags, const char *bound, STACK_OF(BIO) **r
#else
1
#endif
- || (flags & SMIME_CRLFEOL) != 0)
- BIO_write(bpart, "\r\n", 2);
- else
- BIO_write(bpart, "\n", 1);
+ || (flags & SMIME_CRLFEOL) != 0) {
+ if (BIO_write(bpart, "\r\n", 2) < 2)
+ goto err;
+ } else if (BIO_write(bpart, "\n", 1) < 1)
+ goto err;
}
eol = next_eol;
- if (len > 0)
- BIO_write(bpart, linebuf, len);
+ if (len > 0 && BIO_write(bpart, linebuf, len) < len)
+ goto err;
}
}
+err:
BIO_free(bpart);
return 0;
}
diff --git a/crypto/openssl/crypto/asn1/tasn_dec.c b/crypto/openssl/crypto/asn1/tasn_dec.c
index e9532b9f48f..2916faa931a 100644
--- a/crypto/openssl/crypto/asn1/tasn_dec.c
+++ b/crypto/openssl/crypto/asn1/tasn_dec.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2000-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/crypto/bio/bss_dgram.c b/crypto/openssl/crypto/bio/bss_dgram.c
index 42bb0e861af..968104a0620 100644
--- a/crypto/openssl/crypto/bio/bss_dgram.c
+++ b/crypto/openssl/crypto/bio/bss_dgram.c
@@ -68,8 +68,8 @@
#undef NO_RECVMMSG
#define NO_RECVMMSG
#endif
-#if defined(_AIX) && !defined(_AIX72)
-/* AIX >= 7.2 provides sendmmsg() and recvmmsg(). */
+#if defined(_AIX)
+/* AIX header files don't properly expose sendmmsg/recvmmsg declarations */
#undef NO_RECVMMSG
#define NO_RECVMMSG
#endif
diff --git a/crypto/openssl/crypto/bio/bss_dgram_pair.c b/crypto/openssl/crypto/bio/bss_dgram_pair.c
index 780fe8d00e5..057f6737474 100644
--- a/crypto/openssl/crypto/bio/bss_dgram_pair.c
+++ b/crypto/openssl/crypto/bio/bss_dgram_pair.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -305,6 +305,7 @@ static int dgram_mem_init(BIO *bio)
b = bio->ptr;
if (ring_buf_init(&b->rbuf, b->req_buf_len) == 0) {
+ dgram_pair_free(bio);
ERR_raise(ERR_LIB_BIO, ERR_R_BIO_LIB);
return 0;
}
diff --git a/crypto/openssl/crypto/bn/bn_const.c b/crypto/openssl/crypto/bn/bn_const.c
index df422d4e88f..5e0f470663b 100644
--- a/crypto/openssl/crypto/bn/bn_const.c
+++ b/crypto/openssl/crypto/bn/bn_const.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2005-2021 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2005-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -24,102 +24,16 @@
BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn)
{
static const unsigned char RFC2409_PRIME_768[] = {
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xC9,
- 0x0F,
- 0xDA,
- 0xA2,
- 0x21,
- 0x68,
- 0xC2,
- 0x34,
- 0xC4,
- 0xC6,
- 0x62,
- 0x8B,
- 0x80,
- 0xDC,
- 0x1C,
- 0xD1,
- 0x29,
- 0x02,
- 0x4E,
- 0x08,
- 0x8A,
- 0x67,
- 0xCC,
- 0x74,
- 0x02,
- 0x0B,
- 0xBE,
- 0xA6,
- 0x3B,
- 0x13,
- 0x9B,
- 0x22,
- 0x51,
- 0x4A,
- 0x08,
- 0x79,
- 0x8E,
- 0x34,
- 0x04,
- 0xDD,
- 0xEF,
- 0x95,
- 0x19,
- 0xB3,
- 0xCD,
- 0x3A,
- 0x43,
- 0x1B,
- 0x30,
- 0x2B,
- 0x0A,
- 0x6D,
- 0xF2,
- 0x5F,
- 0x14,
- 0x37,
- 0x4F,
- 0xE1,
- 0x35,
- 0x6D,
- 0x6D,
- 0x51,
- 0xC2,
- 0x45,
- 0xE4,
- 0x85,
- 0xB5,
- 0x76,
- 0x62,
- 0x5E,
- 0x7E,
- 0xC6,
- 0xF4,
- 0x4C,
- 0x42,
- 0xE9,
- 0xA6,
- 0x3A,
- 0x36,
- 0x20,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F,
+ 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B,
+ 0x80, 0xDC, 0x1C, 0xD1, 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67,
+ 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
+ 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 0xEF, 0x95,
+ 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D,
+ 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51,
+ 0xC2, 0x45, 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
+ 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x3A, 0x36, 0x20, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
return BN_bin2bn(RFC2409_PRIME_768, sizeof(RFC2409_PRIME_768), bn);
}
@@ -136,134 +50,19 @@ BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn)
BIGNUM *BN_get_rfc2409_prime_1024(BIGNUM *bn)
{
static const unsigned char RFC2409_PRIME_1024[] = {
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xC9,
- 0x0F,
- 0xDA,
- 0xA2,
- 0x21,
- 0x68,
- 0xC2,
- 0x34,
- 0xC4,
- 0xC6,
- 0x62,
- 0x8B,
- 0x80,
- 0xDC,
- 0x1C,
- 0xD1,
- 0x29,
- 0x02,
- 0x4E,
- 0x08,
- 0x8A,
- 0x67,
- 0xCC,
- 0x74,
- 0x02,
- 0x0B,
- 0xBE,
- 0xA6,
- 0x3B,
- 0x13,
- 0x9B,
- 0x22,
- 0x51,
- 0x4A,
- 0x08,
- 0x79,
- 0x8E,
- 0x34,
- 0x04,
- 0xDD,
- 0xEF,
- 0x95,
- 0x19,
- 0xB3,
- 0xCD,
- 0x3A,
- 0x43,
- 0x1B,
- 0x30,
- 0x2B,
- 0x0A,
- 0x6D,
- 0xF2,
- 0x5F,
- 0x14,
- 0x37,
- 0x4F,
- 0xE1,
- 0x35,
- 0x6D,
- 0x6D,
- 0x51,
- 0xC2,
- 0x45,
- 0xE4,
- 0x85,
- 0xB5,
- 0x76,
- 0x62,
- 0x5E,
- 0x7E,
- 0xC6,
- 0xF4,
- 0x4C,
- 0x42,
- 0xE9,
- 0xA6,
- 0x37,
- 0xED,
- 0x6B,
- 0x0B,
- 0xFF,
- 0x5C,
- 0xB6,
- 0xF4,
- 0x06,
- 0xB7,
- 0xED,
- 0xEE,
- 0x38,
- 0x6B,
- 0xFB,
- 0x5A,
- 0x89,
- 0x9F,
- 0xA5,
- 0xAE,
- 0x9F,
- 0x24,
- 0x11,
- 0x7C,
- 0x4B,
- 0x1F,
- 0xE6,
- 0x49,
- 0x28,
- 0x66,
- 0x51,
- 0xEC,
- 0xE6,
- 0x53,
- 0x81,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC9, 0x0F,
+ 0xDA, 0xA2, 0x21, 0x68, 0xC2, 0x34, 0xC4, 0xC6, 0x62, 0x8B,
+ 0x80, 0xDC, 0x1C, 0xD1, 0x29, 0x02, 0x4E, 0x08, 0x8A, 0x67,
+ 0xCC, 0x74, 0x02, 0x0B, 0xBE, 0xA6, 0x3B, 0x13, 0x9B, 0x22,
+ 0x51, 0x4A, 0x08, 0x79, 0x8E, 0x34, 0x04, 0xDD, 0xEF, 0x95,
+ 0x19, 0xB3, 0xCD, 0x3A, 0x43, 0x1B, 0x30, 0x2B, 0x0A, 0x6D,
+ 0xF2, 0x5F, 0x14, 0x37, 0x4F, 0xE1, 0x35, 0x6D, 0x6D, 0x51,
+ 0xC2, 0x45, 0xE4, 0x85, 0xB5, 0x76, 0x62, 0x5E, 0x7E, 0xC6,
+ 0xF4, 0x4C, 0x42, 0xE9, 0xA6, 0x37, 0xED, 0x6B, 0x0B, 0xFF,
+ 0x5C, 0xB6, 0xF4, 0x06, 0xB7, 0xED, 0xEE, 0x38, 0x6B, 0xFB,
+ 0x5A, 0x89, 0x9F, 0xA5, 0xAE, 0x9F, 0x24, 0x11, 0x7C, 0x4B,
+ 0x1F, 0xE6, 0x49, 0x28, 0x66, 0x51, 0xEC, 0xE6, 0x53, 0x81,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
return BN_bin2bn(RFC2409_PRIME_1024, sizeof(RFC2409_PRIME_1024), bn);
}
diff --git a/crypto/openssl/crypto/bn/bn_mod.c b/crypto/openssl/crypto/bn/bn_mod.c
index 51d5b90a290..5cee896cd9d 100644
--- a/crypto/openssl/crypto/bn/bn_mod.c
+++ b/crypto/openssl/crypto/bn/bn_mod.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1998-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1998-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -11,24 +11,24 @@
#include "internal/nelem.h"
#include "bn_local.h"
-int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx)
+int BN_nnmod(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx)
{
/*
- * like BN_mod, but returns non-negative remainder (i.e., 0 <= r < |d|
+ * like BN_mod, but returns non-negative remainder (i.e., 0 <= r < |m|
* always holds)
*/
- if (r == d) {
+ if (r == m) {
ERR_raise(ERR_LIB_BN, ERR_R_PASSED_INVALID_ARGUMENT);
return 0;
}
- if (!(BN_mod(r, m, d, ctx)))
+ if (!(BN_mod(r, a, m, ctx)))
return 0;
if (!r->neg)
return 1;
- /* now -|d| < r < 0, so we have to set r := r + |d| */
- return (d->neg ? BN_sub : BN_add)(r, r, d);
+ /* now -|m| < r < 0, so we have to set r := r + |m| */
+ return (m->neg ? BN_sub : BN_add)(r, r, m);
}
int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m,
diff --git a/crypto/openssl/crypto/cast/cast_s.h b/crypto/openssl/crypto/cast/cast_s.h
index 345b4dd7317..5fc45eff8a4 100644
--- a/crypto/openssl/crypto/cast/cast_s.h
+++ b/crypto/openssl/crypto/cast/cast_s.h
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -8,2073 +8,281 @@
*/
const CAST_LONG CAST_S_table0[256] = {
- 0x30fb40d4,
- 0x9fa0ff0b,
- 0x6beccd2f,
- 0x3f258c7a,
- 0x1e213f2f,
- 0x9c004dd3,
- 0x6003e540,
- 0xcf9fc949,
- 0xbfd4af27,
- 0x88bbbdb5,
- 0xe2034090,
- 0x98d09675,
- 0x6e63a0e0,
- 0x15c361d2,
- 0xc2e7661d,
- 0x22d4ff8e,
- 0x28683b6f,
- 0xc07fd059,
- 0xff2379c8,
- 0x775f50e2,
- 0x43c340d3,
- 0xdf2f8656,
- 0x887ca41a,
- 0xa2d2bd2d,
- 0xa1c9e0d6,
- 0x346c4819,
- 0x61b76d87,
- 0x22540f2f,
- 0x2abe32e1,
- 0xaa54166b,
- 0x22568e3a,
- 0xa2d341d0,
- 0x66db40c8,
- 0xa784392f,
- 0x004dff2f,
- 0x2db9d2de,
- 0x97943fac,
- 0x4a97c1d8,
- 0x527644b7,
- 0xb5f437a7,
- 0xb82cbaef,
- 0xd751d159,
- 0x6ff7f0ed,
- 0x5a097a1f,
- 0x827b68d0,
- 0x90ecf52e,
- 0x22b0c054,
- 0xbc8e5935,
- 0x4b6d2f7f,
- 0x50bb64a2,
- 0xd2664910,
- 0xbee5812d,
- 0xb7332290,
- 0xe93b159f,
- 0xb48ee411,
- 0x4bff345d,
- 0xfd45c240,
- 0xad31973f,
- 0xc4f6d02e,
- 0x55fc8165,
- 0xd5b1caad,
- 0xa1ac2dae,
- 0xa2d4b76d,
- 0xc19b0c50,
- 0x882240f2,
- 0x0c6e4f38,
- 0xa4e4bfd7,
- 0x4f5ba272,
- 0x564c1d2f,
- 0xc59c5319,
- 0xb949e354,
- 0xb04669fe,
- 0xb1b6ab8a,
- 0xc71358dd,
- 0x6385c545,
- 0x110f935d,
- 0x57538ad5,
- 0x6a390493,
- 0xe63d37e0,
- 0x2a54f6b3,
- 0x3a787d5f,
- 0x6276a0b5,
- 0x19a6fcdf,
- 0x7a42206a,
- 0x29f9d4d5,
- 0xf61b1891,
- 0xbb72275e,
- 0xaa508167,
- 0x38901091,
- 0xc6b505eb,
- 0x84c7cb8c,
- 0x2ad75a0f,
- 0x874a1427,
- 0xa2d1936b,
- 0x2ad286af,
- 0xaa56d291,
- 0xd7894360,
- 0x425c750d,
- 0x93b39e26,
- 0x187184c9,
- 0x6c00b32d,
- 0x73e2bb14,
- 0xa0bebc3c,
- 0x54623779,
- 0x64459eab,
- 0x3f328b82,
- 0x7718cf82,
- 0x59a2cea6,
- 0x04ee002e,
- 0x89fe78e6,
- 0x3fab0950,
- 0x325ff6c2,
- 0x81383f05,
- 0x6963c5c8,
- 0x76cb5ad6,
- 0xd49974c9,
- 0xca180dcf,
- 0x380782d5,
- 0xc7fa5cf6,
- 0x8ac31511,
- 0x35e79e13,
- 0x47da91d0,
- 0xf40f9086,
- 0xa7e2419e,
- 0x31366241,
- 0x051ef495,
- 0xaa573b04,
- 0x4a805d8d,
- 0x548300d0,
- 0x00322a3c,
- 0xbf64cddf,
- 0xba57a68e,
- 0x75c6372b,
- 0x50afd341,
- 0xa7c13275,
- 0x915a0bf5,
- 0x6b54bfab,
- 0x2b0b1426,
- 0xab4cc9d7,
- 0x449ccd82,
- 0xf7fbf265,
- 0xab85c5f3,
- 0x1b55db94,
- 0xaad4e324,
- 0xcfa4bd3f,
- 0x2deaa3e2,
- 0x9e204d02,
- 0xc8bd25ac,
- 0xeadf55b3,
- 0xd5bd9e98,
- 0xe31231b2,
- 0x2ad5ad6c,
- 0x954329de,
- 0xadbe4528,
- 0xd8710f69,
- 0xaa51c90f,
- 0xaa786bf6,
- 0x22513f1e,
- 0xaa51a79b,
- 0x2ad344cc,
- 0x7b5a41f0,
- 0xd37cfbad,
- 0x1b069505,
- 0x41ece491,
- 0xb4c332e6,
- 0x032268d4,
- 0xc9600acc,
- 0xce387e6d,
- 0xbf6bb16c,
- 0x6a70fb78,
- 0x0d03d9c9,
- 0xd4df39de,
- 0xe01063da,
- 0x4736f464,
- 0x5ad328d8,
- 0xb347cc96,
- 0x75bb0fc3,
- 0x98511bfb,
- 0x4ffbcc35,
- 0xb58bcf6a,
- 0xe11f0abc,
- 0xbfc5fe4a,
- 0xa70aec10,
- 0xac39570a,
- 0x3f04442f,
- 0x6188b153,
- 0xe0397a2e,
- 0x5727cb79,
- 0x9ceb418f,
- 0x1cacd68d,
- 0x2ad37c96,
- 0x0175cb9d,
- 0xc69dff09,
- 0xc75b65f0,
- 0xd9db40d8,
- 0xec0e7779,
- 0x4744ead4,
- 0xb11c3274,
- 0xdd24cb9e,
- 0x7e1c54bd,
- 0xf01144f9,
- 0xd2240eb1,
- 0x9675b3fd,
- 0xa3ac3755,
- 0xd47c27af,
- 0x51c85f4d,
- 0x56907596,
- 0xa5bb15e6,
- 0x580304f0,
- 0xca042cf1,
- 0x011a37ea,
- 0x8dbfaadb,
- 0x35ba3e4a,
- 0x3526ffa0,
- 0xc37b4d09,
- 0xbc306ed9,
- 0x98a52666,
- 0x5648f725,
- 0xff5e569d,
- 0x0ced63d0,
- 0x7c63b2cf,
- 0x700b45e1,
- 0xd5ea50f1,
- 0x85a92872,
- 0xaf1fbda7,
- 0xd4234870,
- 0xa7870bf3,
- 0x2d3b4d79,
- 0x42e04198,
- 0x0cd0ede7,
- 0x26470db8,
- 0xf881814c,
- 0x474d6ad7,
- 0x7c0c5e5c,
- 0xd1231959,
- 0x381b7298,
- 0xf5d2f4db,
- 0xab838653,
- 0x6e2f1e23,
- 0x83719c9e,
- 0xbd91e046,
- 0x9a56456e,
- 0xdc39200c,
- 0x20c8c571,
- 0x962bda1c,
- 0xe1e696ff,
- 0xb141ab08,
- 0x7cca89b9,
- 0x1a69e783,
- 0x02cc4843,
- 0xa2f7c579,
- 0x429ef47d,
- 0x427b169c,
- 0x5ac9f049,
- 0xdd8f0f00,
- 0x5c8165bf,
+ 0x30fb40d4, 0x9fa0ff0b, 0x6beccd2f, 0x3f258c7a, 0x1e213f2f, 0x9c004dd3, 0x6003e540, 0xcf9fc949,
+ 0xbfd4af27, 0x88bbbdb5, 0xe2034090, 0x98d09675, 0x6e63a0e0, 0x15c361d2, 0xc2e7661d, 0x22d4ff8e,
+ 0x28683b6f, 0xc07fd059, 0xff2379c8, 0x775f50e2, 0x43c340d3, 0xdf2f8656, 0x887ca41a, 0xa2d2bd2d,
+ 0xa1c9e0d6, 0x346c4819, 0x61b76d87, 0x22540f2f, 0x2abe32e1, 0xaa54166b, 0x22568e3a, 0xa2d341d0,
+ 0x66db40c8, 0xa784392f, 0x004dff2f, 0x2db9d2de, 0x97943fac, 0x4a97c1d8, 0x527644b7, 0xb5f437a7,
+ 0xb82cbaef, 0xd751d159, 0x6ff7f0ed, 0x5a097a1f, 0x827b68d0, 0x90ecf52e, 0x22b0c054, 0xbc8e5935,
+ 0x4b6d2f7f, 0x50bb64a2, 0xd2664910, 0xbee5812d, 0xb7332290, 0xe93b159f, 0xb48ee411, 0x4bff345d,
+ 0xfd45c240, 0xad31973f, 0xc4f6d02e, 0x55fc8165, 0xd5b1caad, 0xa1ac2dae, 0xa2d4b76d, 0xc19b0c50,
+ 0x882240f2, 0x0c6e4f38, 0xa4e4bfd7, 0x4f5ba272, 0x564c1d2f, 0xc59c5319, 0xb949e354, 0xb04669fe,
+ 0xb1b6ab8a, 0xc71358dd, 0x6385c545, 0x110f935d, 0x57538ad5, 0x6a390493, 0xe63d37e0, 0x2a54f6b3,
+ 0x3a787d5f, 0x6276a0b5, 0x19a6fcdf, 0x7a42206a, 0x29f9d4d5, 0xf61b1891, 0xbb72275e, 0xaa508167,
+ 0x38901091, 0xc6b505eb, 0x84c7cb8c, 0x2ad75a0f, 0x874a1427, 0xa2d1936b, 0x2ad286af, 0xaa56d291,
+ 0xd7894360, 0x425c750d, 0x93b39e26, 0x187184c9, 0x6c00b32d, 0x73e2bb14, 0xa0bebc3c, 0x54623779,
+ 0x64459eab, 0x3f328b82, 0x7718cf82, 0x59a2cea6, 0x04ee002e, 0x89fe78e6, 0x3fab0950, 0x325ff6c2,
+ 0x81383f05, 0x6963c5c8, 0x76cb5ad6, 0xd49974c9, 0xca180dcf, 0x380782d5, 0xc7fa5cf6, 0x8ac31511,
+ 0x35e79e13, 0x47da91d0, 0xf40f9086, 0xa7e2419e, 0x31366241, 0x051ef495, 0xaa573b04, 0x4a805d8d,
+ 0x548300d0, 0x00322a3c, 0xbf64cddf, 0xba57a68e, 0x75c6372b, 0x50afd341, 0xa7c13275, 0x915a0bf5,
+ 0x6b54bfab, 0x2b0b1426, 0xab4cc9d7, 0x449ccd82, 0xf7fbf265, 0xab85c5f3, 0x1b55db94, 0xaad4e324,
+ 0xcfa4bd3f, 0x2deaa3e2, 0x9e204d02, 0xc8bd25ac, 0xeadf55b3, 0xd5bd9e98, 0xe31231b2, 0x2ad5ad6c,
+ 0x954329de, 0xadbe4528, 0xd8710f69, 0xaa51c90f, 0xaa786bf6, 0x22513f1e, 0xaa51a79b, 0x2ad344cc,
+ 0x7b5a41f0, 0xd37cfbad, 0x1b069505, 0x41ece491, 0xb4c332e6, 0x032268d4, 0xc9600acc, 0xce387e6d,
+ 0xbf6bb16c, 0x6a70fb78, 0x0d03d9c9, 0xd4df39de, 0xe01063da, 0x4736f464, 0x5ad328d8, 0xb347cc96,
+ 0x75bb0fc3, 0x98511bfb, 0x4ffbcc35, 0xb58bcf6a, 0xe11f0abc, 0xbfc5fe4a, 0xa70aec10, 0xac39570a,
+ 0x3f04442f, 0x6188b153, 0xe0397a2e, 0x5727cb79, 0x9ceb418f, 0x1cacd68d, 0x2ad37c96, 0x0175cb9d,
+ 0xc69dff09, 0xc75b65f0, 0xd9db40d8, 0xec0e7779, 0x4744ead4, 0xb11c3274, 0xdd24cb9e, 0x7e1c54bd,
+ 0xf01144f9, 0xd2240eb1, 0x9675b3fd, 0xa3ac3755, 0xd47c27af, 0x51c85f4d, 0x56907596, 0xa5bb15e6,
+ 0x580304f0, 0xca042cf1, 0x011a37ea, 0x8dbfaadb, 0x35ba3e4a, 0x3526ffa0, 0xc37b4d09, 0xbc306ed9,
+ 0x98a52666, 0x5648f725, 0xff5e569d, 0x0ced63d0, 0x7c63b2cf, 0x700b45e1, 0xd5ea50f1, 0x85a92872,
+ 0xaf1fbda7, 0xd4234870, 0xa7870bf3, 0x2d3b4d79, 0x42e04198, 0x0cd0ede7, 0x26470db8, 0xf881814c,
+ 0x474d6ad7, 0x7c0c5e5c, 0xd1231959, 0x381b7298, 0xf5d2f4db, 0xab838653, 0x6e2f1e23, 0x83719c9e,
+ 0xbd91e046, 0x9a56456e, 0xdc39200c, 0x20c8c571, 0x962bda1c, 0xe1e696ff, 0xb141ab08, 0x7cca89b9,
+ 0x1a69e783, 0x02cc4843, 0xa2f7c579, 0x429ef47d, 0x427b169c, 0x5ac9f049, 0xdd8f0f00, 0x5c8165bf
};
const CAST_LONG CAST_S_table1[256] = {
- 0x1f201094,
- 0xef0ba75b,
- 0x69e3cf7e,
- 0x393f4380,
- 0xfe61cf7a,
- 0xeec5207a,
- 0x55889c94,
- 0x72fc0651,
- 0xada7ef79,
- 0x4e1d7235,
- 0xd55a63ce,
- 0xde0436ba,
- 0x99c430ef,
- 0x5f0c0794,
- 0x18dcdb7d,
- 0xa1d6eff3,
- 0xa0b52f7b,
- 0x59e83605,
- 0xee15b094,
- 0xe9ffd909,
- 0xdc440086,
- 0xef944459,
- 0xba83ccb3,
- 0xe0c3cdfb,
- 0xd1da4181,
- 0x3b092ab1,
- 0xf997f1c1,
- 0xa5e6cf7b,
- 0x01420ddb,
- 0xe4e7ef5b,
- 0x25a1ff41,
- 0xe180f806,
- 0x1fc41080,
- 0x179bee7a,
- 0xd37ac6a9,
- 0xfe5830a4,
- 0x98de8b7f,
- 0x77e83f4e,
- 0x79929269,
- 0x24fa9f7b,
- 0xe113c85b,
- 0xacc40083,
- 0xd7503525,
- 0xf7ea615f,
- 0x62143154,
- 0x0d554b63,
- 0x5d681121,
- 0xc866c359,
- 0x3d63cf73,
- 0xcee234c0,
- 0xd4d87e87,
- 0x5c672b21,
- 0x071f6181,
- 0x39f7627f,
- 0x361e3084,
- 0xe4eb573b,
- 0x602f64a4,
- 0xd63acd9c,
- 0x1bbc4635,
- 0x9e81032d,
- 0x2701f50c,
- 0x99847ab4,
- 0xa0e3df79,
- 0xba6cf38c,
- 0x10843094,
- 0x2537a95e,
- 0xf46f6ffe,
- 0xa1ff3b1f,
- 0x208cfb6a,
- 0x8f458c74,
- 0xd9e0a227,
- 0x4ec73a34,
- 0xfc884f69,
- 0x3e4de8df,
- 0xef0e0088,
- 0x3559648d,
- 0x8a45388c,
- 0x1d804366,
- 0x721d9bfd,
- 0xa58684bb,
- 0xe8256333,
- 0x844e8212,
- 0x128d8098,
- 0xfed33fb4,
- 0xce280ae1,
- 0x27e19ba5,
- 0xd5a6c252,
- 0xe49754bd,
- 0xc5d655dd,
- 0xeb667064,
- 0x77840b4d,
- 0xa1b6a801,
- 0x84db26a9,
- 0xe0b56714,
- 0x21f043b7,
- 0xe5d05860,
- 0x54f03084,
- 0x066ff472,
- 0xa31aa153,
- 0xdadc4755,
- 0xb5625dbf,
- 0x68561be6,
- 0x83ca6b94,
- 0x2d6ed23b,
- 0xeccf01db,
- 0xa6d3d0ba,
- 0xb6803d5c,
- 0xaf77a709,
- 0x33b4a34c,
- 0x397bc8d6,
- 0x5ee22b95,
- 0x5f0e5304,
- 0x81ed6f61,
- 0x20e74364,
- 0xb45e1378,
- 0xde18639b,
- 0x881ca122,
- 0xb96726d1,
- 0x8049a7e8,
- 0x22b7da7b,
- 0x5e552d25,
- 0x5272d237,
- 0x79d2951c,
- 0xc60d894c,
- 0x488cb402,
- 0x1ba4fe5b,
- 0xa4b09f6b,
- 0x1ca815cf,
- 0xa20c3005,
- 0x8871df63,
- 0xb9de2fcb,
- 0x0cc6c9e9,
- 0x0beeff53,
- 0xe3214517,
- 0xb4542835,
- 0x9f63293c,
- 0xee41e729,
- 0x6e1d2d7c,
- 0x50045286,
- 0x1e6685f3,
- 0xf33401c6,
- 0x30a22c95,
- 0x31a70850,
- 0x60930f13,
- 0x73f98417,
- 0xa1269859,
- 0xec645c44,
- 0x52c877a9,
- 0xcdff33a6,
- 0xa02b1741,
- 0x7cbad9a2,
- 0x2180036f,
- 0x50d99c08,
- 0xcb3f4861,
- 0xc26bd765,
- 0x64a3f6ab,
- 0x80342676,
- 0x25a75e7b,
- 0xe4e6d1fc,
- 0x20c710e6,
- 0xcdf0b680,
- 0x17844d3b,
- 0x31eef84d,
- 0x7e0824e4,
- 0x2ccb49eb,
- 0x846a3bae,
- 0x8ff77888,
- 0xee5d60f6,
- 0x7af75673,
- 0x2fdd5cdb,
- 0xa11631c1,
- 0x30f66f43,
- 0xb3faec54,
- 0x157fd7fa,
- 0xef8579cc,
- 0xd152de58,
- 0xdb2ffd5e,
- 0x8f32ce19,
- 0x306af97a,
- 0x02f03ef8,
- 0x99319ad5,
- 0xc242fa0f,
- 0xa7e3ebb0,
- 0xc68e4906,
- 0xb8da230c,
- 0x80823028,
- 0xdcdef3c8,
- 0xd35fb171,
- 0x088a1bc8,
- 0xbec0c560,
- 0x61a3c9e8,
- 0xbca8f54d,
- 0xc72feffa,
- 0x22822e99,
- 0x82c570b4,
- 0xd8d94e89,
- 0x8b1c34bc,
- 0x301e16e6,
- 0x273be979,
- 0xb0ffeaa6,
- 0x61d9b8c6,
- 0x00b24869,
- 0xb7ffce3f,
- 0x08dc283b,
- 0x43daf65a,
- 0xf7e19798,
- 0x7619b72f,
- 0x8f1c9ba4,
- 0xdc8637a0,
- 0x16a7d3b1,
- 0x9fc393b7,
- 0xa7136eeb,
- 0xc6bcc63e,
- 0x1a513742,
- 0xef6828bc,
- 0x520365d6,
- 0x2d6a77ab,
- 0x3527ed4b,
- 0x821fd216,
- 0x095c6e2e,
- 0xdb92f2fb,
- 0x5eea29cb,
- 0x145892f5,
- 0x91584f7f,
- 0x5483697b,
- 0x2667a8cc,
- 0x85196048,
- 0x8c4bacea,
- 0x833860d4,
- 0x0d23e0f9,
- 0x6c387e8a,
- 0x0ae6d249,
- 0xb284600c,
- 0xd835731d,
- 0xdcb1c647,
- 0xac4c56ea,
- 0x3ebd81b3,
- 0x230eabb0,
- 0x6438bc87,
- 0xf0b5b1fa,
- 0x8f5ea2b3,
- 0xfc184642,
- 0x0a036b7a,
- 0x4fb089bd,
- 0x649da589,
- 0xa345415e,
- 0x5c038323,
- 0x3e5d3bb9,
- 0x43d79572,
- 0x7e6dd07c,
- 0x06dfdf1e,
- 0x6c6cc4ef,
- 0x7160a539,
- 0x73bfbe70,
- 0x83877605,
- 0x4523ecf1,
+ 0x1f201094, 0xef0ba75b, 0x69e3cf7e, 0x393f4380, 0xfe61cf7a, 0xeec5207a, 0x55889c94, 0x72fc0651,
+ 0xada7ef79, 0x4e1d7235, 0xd55a63ce, 0xde0436ba, 0x99c430ef, 0x5f0c0794, 0x18dcdb7d, 0xa1d6eff3,
+ 0xa0b52f7b, 0x59e83605, 0xee15b094, 0xe9ffd909, 0xdc440086, 0xef944459, 0xba83ccb3, 0xe0c3cdfb,
+ 0xd1da4181, 0x3b092ab1, 0xf997f1c1, 0xa5e6cf7b, 0x01420ddb, 0xe4e7ef5b, 0x25a1ff41, 0xe180f806,
+ 0x1fc41080, 0x179bee7a, 0xd37ac6a9, 0xfe5830a4, 0x98de8b7f, 0x77e83f4e, 0x79929269, 0x24fa9f7b,
+ 0xe113c85b, 0xacc40083, 0xd7503525, 0xf7ea615f, 0x62143154, 0x0d554b63, 0x5d681121, 0xc866c359,
+ 0x3d63cf73, 0xcee234c0, 0xd4d87e87, 0x5c672b21, 0x071f6181, 0x39f7627f, 0x361e3084, 0xe4eb573b,
+ 0x602f64a4, 0xd63acd9c, 0x1bbc4635, 0x9e81032d, 0x2701f50c, 0x99847ab4, 0xa0e3df79, 0xba6cf38c,
+ 0x10843094, 0x2537a95e, 0xf46f6ffe, 0xa1ff3b1f, 0x208cfb6a, 0x8f458c74, 0xd9e0a227, 0x4ec73a34,
+ 0xfc884f69, 0x3e4de8df, 0xef0e0088, 0x3559648d, 0x8a45388c, 0x1d804366, 0x721d9bfd, 0xa58684bb,
+ 0xe8256333, 0x844e8212, 0x128d8098, 0xfed33fb4, 0xce280ae1, 0x27e19ba5, 0xd5a6c252, 0xe49754bd,
+ 0xc5d655dd, 0xeb667064, 0x77840b4d, 0xa1b6a801, 0x84db26a9, 0xe0b56714, 0x21f043b7, 0xe5d05860,
+ 0x54f03084, 0x066ff472, 0xa31aa153, 0xdadc4755, 0xb5625dbf, 0x68561be6, 0x83ca6b94, 0x2d6ed23b,
+ 0xeccf01db, 0xa6d3d0ba, 0xb6803d5c, 0xaf77a709, 0x33b4a34c, 0x397bc8d6, 0x5ee22b95, 0x5f0e5304,
+ 0x81ed6f61, 0x20e74364, 0xb45e1378, 0xde18639b, 0x881ca122, 0xb96726d1, 0x8049a7e8, 0x22b7da7b,
+ 0x5e552d25, 0x5272d237, 0x79d2951c, 0xc60d894c, 0x488cb402, 0x1ba4fe5b, 0xa4b09f6b, 0x1ca815cf,
+ 0xa20c3005, 0x8871df63, 0xb9de2fcb, 0x0cc6c9e9, 0x0beeff53, 0xe3214517, 0xb4542835, 0x9f63293c,
+ 0xee41e729, 0x6e1d2d7c, 0x50045286, 0x1e6685f3, 0xf33401c6, 0x30a22c95, 0x31a70850, 0x60930f13,
+ 0x73f98417, 0xa1269859, 0xec645c44, 0x52c877a9, 0xcdff33a6, 0xa02b1741, 0x7cbad9a2, 0x2180036f,
+ 0x50d99c08, 0xcb3f4861, 0xc26bd765, 0x64a3f6ab, 0x80342676, 0x25a75e7b, 0xe4e6d1fc, 0x20c710e6,
+ 0xcdf0b680, 0x17844d3b, 0x31eef84d, 0x7e0824e4, 0x2ccb49eb, 0x846a3bae, 0x8ff77888, 0xee5d60f6,
+ 0x7af75673, 0x2fdd5cdb, 0xa11631c1, 0x30f66f43, 0xb3faec54, 0x157fd7fa, 0xef8579cc, 0xd152de58,
+ 0xdb2ffd5e, 0x8f32ce19, 0x306af97a, 0x02f03ef8, 0x99319ad5, 0xc242fa0f, 0xa7e3ebb0, 0xc68e4906,
+ 0xb8da230c, 0x80823028, 0xdcdef3c8, 0xd35fb171, 0x088a1bc8, 0xbec0c560, 0x61a3c9e8, 0xbca8f54d,
+ 0xc72feffa, 0x22822e99, 0x82c570b4, 0xd8d94e89, 0x8b1c34bc, 0x301e16e6, 0x273be979, 0xb0ffeaa6,
+ 0x61d9b8c6, 0x00b24869, 0xb7ffce3f, 0x08dc283b, 0x43daf65a, 0xf7e19798, 0x7619b72f, 0x8f1c9ba4,
+ 0xdc8637a0, 0x16a7d3b1, 0x9fc393b7, 0xa7136eeb, 0xc6bcc63e, 0x1a513742, 0xef6828bc, 0x520365d6,
+ 0x2d6a77ab, 0x3527ed4b, 0x821fd216, 0x095c6e2e, 0xdb92f2fb, 0x5eea29cb, 0x145892f5, 0x91584f7f,
+ 0x5483697b, 0x2667a8cc, 0x85196048, 0x8c4bacea, 0x833860d4, 0x0d23e0f9, 0x6c387e8a, 0x0ae6d249,
+ 0xb284600c, 0xd835731d, 0xdcb1c647, 0xac4c56ea, 0x3ebd81b3, 0x230eabb0, 0x6438bc87, 0xf0b5b1fa,
+ 0x8f5ea2b3, 0xfc184642, 0x0a036b7a, 0x4fb089bd, 0x649da589, 0xa345415e, 0x5c038323, 0x3e5d3bb9,
+ 0x43d79572, 0x7e6dd07c, 0x06dfdf1e, 0x6c6cc4ef, 0x7160a539, 0x73bfbe70, 0x83877605, 0x4523ecf1
};
const CAST_LONG CAST_S_table2[256] = {
- 0x8defc240,
- 0x25fa5d9f,
- 0xeb903dbf,
- 0xe810c907,
- 0x47607fff,
- 0x369fe44b,
- 0x8c1fc644,
- 0xaececa90,
- 0xbeb1f9bf,
- 0xeefbcaea,
- 0xe8cf1950,
- 0x51df07ae,
- 0x920e8806,
- 0xf0ad0548,
- 0xe13c8d83,
- 0x927010d5,
- 0x11107d9f,
- 0x07647db9,
- 0xb2e3e4d4,
- 0x3d4f285e,
- 0xb9afa820,
- 0xfade82e0,
- 0xa067268b,
- 0x8272792e,
- 0x553fb2c0,
- 0x489ae22b,
- 0xd4ef9794,
- 0x125e3fbc,
- 0x21fffcee,
- 0x825b1bfd,
- 0x9255c5ed,
- 0x1257a240,
- 0x4e1a8302,
- 0xbae07fff,
- 0x528246e7,
- 0x8e57140e,
- 0x3373f7bf,
- 0x8c9f8188,
- 0xa6fc4ee8,
- 0xc982b5a5,
- 0xa8c01db7,
- 0x579fc264,
- 0x67094f31,
- 0xf2bd3f5f,
- 0x40fff7c1,
- 0x1fb78dfc,
- 0x8e6bd2c1,
- 0x437be59b,
- 0x99b03dbf,
- 0xb5dbc64b,
- 0x638dc0e6,
- 0x55819d99,
- 0xa197c81c,
- 0x4a012d6e,
- 0xc5884a28,
- 0xccc36f71,
- 0xb843c213,
- 0x6c0743f1,
- 0x8309893c,
- 0x0feddd5f,
- 0x2f7fe850,
- 0xd7c07f7e,
- 0x02507fbf,
- 0x5afb9a04,
- 0xa747d2d0,
- 0x1651192e,
- 0xaf70bf3e,
- 0x58c31380,
- 0x5f98302e,
- 0x727cc3c4,
- 0x0a0fb402,
- 0x0f7fef82,
- 0x8c96fdad,
- 0x5d2c2aae,
- 0x8ee99a49,
- 0x50da88b8,
- 0x8427f4a0,
- 0x1eac5790,
- 0x796fb449,
- 0x8252dc15,
- 0xefbd7d9b,
- 0xa672597d,
- 0xada840d8,
- 0x45f54504,
- 0xfa5d7403,
- 0xe83ec305,
- 0x4f91751a,
- 0x925669c2,
- 0x23efe941,
- 0xa903f12e,
- 0x60270df2,
- 0x0276e4b6,
- 0x94fd6574,
- 0x927985b2,
- 0x8276dbcb,
- 0x02778176,
- 0xf8af918d,
- 0x4e48f79e,
- 0x8f616ddf,
- 0xe29d840e,
- 0x842f7d83,
- 0x340ce5c8,
- 0x96bbb682,
- 0x93b4b148,
- 0xef303cab,
- 0x984faf28,
- 0x779faf9b,
- 0x92dc560d,
- 0x224d1e20,
- 0x8437aa88,
- 0x7d29dc96,
- 0x2756d3dc,
- 0x8b907cee,
- 0xb51fd240,
- 0xe7c07ce3,
- 0xe566b4a1,
- 0xc3e9615e,
- 0x3cf8209d,
- 0x6094d1e3,
- 0xcd9ca341,
- 0x5c76460e,
- 0x00ea983b,
- 0xd4d67881,
- 0xfd47572c,
- 0xf76cedd9,
- 0xbda8229c,
- 0x127dadaa,
- 0x438a074e,
- 0x1f97c090,
- 0x081bdb8a,
- 0x93a07ebe,
- 0xb938ca15,
- 0x97b03cff,
- 0x3dc2c0f8,
- 0x8d1ab2ec,
- 0x64380e51,
- 0x68cc7bfb,
- 0xd90f2788,
- 0x12490181,
- 0x5de5ffd4,
- 0xdd7ef86a,
- 0x76a2e214,
- 0xb9a40368,
- 0x925d958f,
- 0x4b39fffa,
- 0xba39aee9,
- 0xa4ffd30b,
- 0xfaf7933b,
- 0x6d498623,
- 0x193cbcfa,
- 0x27627545,
- 0x825cf47a,
- 0x61bd8ba0,
- 0xd11e42d1,
- 0xcead04f4,
- 0x127ea392,
- 0x10428db7,
- 0x8272a972,
- 0x9270c4a8,
- 0x127de50b,
- 0x285ba1c8,
- 0x3c62f44f,
- 0x35c0eaa5,
- 0xe805d231,
- 0x428929fb,
- 0xb4fcdf82,
- 0x4fb66a53,
- 0x0e7dc15b,
- 0x1f081fab,
- 0x108618ae,
- 0xfcfd086d,
- 0xf9ff2889,
- 0x694bcc11,
- 0x236a5cae,
- 0x12deca4d,
- 0x2c3f8cc5,
- 0xd2d02dfe,
- 0xf8ef5896,
- 0xe4cf52da,
- 0x95155b67,
- 0x494a488c,
- 0xb9b6a80c,
- 0x5c8f82bc,
- 0x89d36b45,
- 0x3a609437,
- 0xec00c9a9,
- 0x44715253,
- 0x0a874b49,
- 0xd773bc40,
- 0x7c34671c,
- 0x02717ef6,
- 0x4feb5536,
- 0xa2d02fff,
- 0xd2bf60c4,
- 0xd43f03c0,
- 0x50b4ef6d,
- 0x07478cd1,
- 0x006e1888,
- 0xa2e53f55,
- 0xb9e6d4bc,
- 0xa2048016,
- 0x97573833,
- 0xd7207d67,
- 0xde0f8f3d,
- 0x72f87b33,
- 0xabcc4f33,
- 0x7688c55d,
- 0x7b00a6b0,
- 0x947b0001,
- 0x570075d2,
- 0xf9bb88f8,
- 0x8942019e,
- 0x4264a5ff,
- 0x856302e0,
- 0x72dbd92b,
- 0xee971b69,
- 0x6ea22fde,
- 0x5f08ae2b,
- 0xaf7a616d,
- 0xe5c98767,
- 0xcf1febd2,
- 0x61efc8c2,
- 0xf1ac2571,
- 0xcc8239c2,
- 0x67214cb8,
- 0xb1e583d1,
- 0xb7dc3e62,
- 0x7f10bdce,
- 0xf90a5c38,
- 0x0ff0443d,
- 0x606e6dc6,
- 0x60543a49,
- 0x5727c148,
- 0x2be98a1d,
- 0x8ab41738,
- 0x20e1be24,
- 0xaf96da0f,
- 0x68458425,
- 0x99833be5,
- 0x600d457d,
- 0x282f9350,
- 0x8334b362,
- 0xd91d1120,
- 0x2b6d8da0,
- 0x642b1e31,
- 0x9c305a00,
- 0x52bce688,
- 0x1b03588a,
- 0xf7baefd5,
- 0x4142ed9c,
- 0xa4315c11,
- 0x83323ec5,
- 0xdfef4636,
- 0xa133c501,
- 0xe9d3531c,
- 0xee353783,
+ 0x8defc240, 0x25fa5d9f, 0xeb903dbf, 0xe810c907, 0x47607fff, 0x369fe44b, 0x8c1fc644, 0xaececa90,
+ 0xbeb1f9bf, 0xeefbcaea, 0xe8cf1950, 0x51df07ae, 0x920e8806, 0xf0ad0548, 0xe13c8d83, 0x927010d5,
+ 0x11107d9f, 0x07647db9, 0xb2e3e4d4, 0x3d4f285e, 0xb9afa820, 0xfade82e0, 0xa067268b, 0x8272792e,
+ 0x553fb2c0, 0x489ae22b, 0xd4ef9794, 0x125e3fbc, 0x21fffcee, 0x825b1bfd, 0x9255c5ed, 0x1257a240,
+ 0x4e1a8302, 0xbae07fff, 0x528246e7, 0x8e57140e, 0x3373f7bf, 0x8c9f8188, 0xa6fc4ee8, 0xc982b5a5,
+ 0xa8c01db7, 0x579fc264, 0x67094f31, 0xf2bd3f5f, 0x40fff7c1, 0x1fb78dfc, 0x8e6bd2c1, 0x437be59b,
+ 0x99b03dbf, 0xb5dbc64b, 0x638dc0e6, 0x55819d99, 0xa197c81c, 0x4a012d6e, 0xc5884a28, 0xccc36f71,
+ 0xb843c213, 0x6c0743f1, 0x8309893c, 0x0feddd5f, 0x2f7fe850, 0xd7c07f7e, 0x02507fbf, 0x5afb9a04,
+ 0xa747d2d0, 0x1651192e, 0xaf70bf3e, 0x58c31380, 0x5f98302e, 0x727cc3c4, 0x0a0fb402, 0x0f7fef82,
+ 0x8c96fdad, 0x5d2c2aae, 0x8ee99a49, 0x50da88b8, 0x8427f4a0, 0x1eac5790, 0x796fb449, 0x8252dc15,
+ 0xefbd7d9b, 0xa672597d, 0xada840d8, 0x45f54504, 0xfa5d7403, 0xe83ec305, 0x4f91751a, 0x925669c2,
+ 0x23efe941, 0xa903f12e, 0x60270df2, 0x0276e4b6, 0x94fd6574, 0x927985b2, 0x8276dbcb, 0x02778176,
+ 0xf8af918d, 0x4e48f79e, 0x8f616ddf, 0xe29d840e, 0x842f7d83, 0x340ce5c8, 0x96bbb682, 0x93b4b148,
+ 0xef303cab, 0x984faf28, 0x779faf9b, 0x92dc560d, 0x224d1e20, 0x8437aa88, 0x7d29dc96, 0x2756d3dc,
+ 0x8b907cee, 0xb51fd240, 0xe7c07ce3, 0xe566b4a1, 0xc3e9615e, 0x3cf8209d, 0x6094d1e3, 0xcd9ca341,
+ 0x5c76460e, 0x00ea983b, 0xd4d67881, 0xfd47572c, 0xf76cedd9, 0xbda8229c, 0x127dadaa, 0x438a074e,
+ 0x1f97c090, 0x081bdb8a, 0x93a07ebe, 0xb938ca15, 0x97b03cff, 0x3dc2c0f8, 0x8d1ab2ec, 0x64380e51,
+ 0x68cc7bfb, 0xd90f2788, 0x12490181, 0x5de5ffd4, 0xdd7ef86a, 0x76a2e214, 0xb9a40368, 0x925d958f,
+ 0x4b39fffa, 0xba39aee9, 0xa4ffd30b, 0xfaf7933b, 0x6d498623, 0x193cbcfa, 0x27627545, 0x825cf47a,
+ 0x61bd8ba0, 0xd11e42d1, 0xcead04f4, 0x127ea392, 0x10428db7, 0x8272a972, 0x9270c4a8, 0x127de50b,
+ 0x285ba1c8, 0x3c62f44f, 0x35c0eaa5, 0xe805d231, 0x428929fb, 0xb4fcdf82, 0x4fb66a53, 0x0e7dc15b,
+ 0x1f081fab, 0x108618ae, 0xfcfd086d, 0xf9ff2889, 0x694bcc11, 0x236a5cae, 0x12deca4d, 0x2c3f8cc5,
+ 0xd2d02dfe, 0xf8ef5896, 0xe4cf52da, 0x95155b67, 0x494a488c, 0xb9b6a80c, 0x5c8f82bc, 0x89d36b45,
+ 0x3a609437, 0xec00c9a9, 0x44715253, 0x0a874b49, 0xd773bc40, 0x7c34671c, 0x02717ef6, 0x4feb5536,
+ 0xa2d02fff, 0xd2bf60c4, 0xd43f03c0, 0x50b4ef6d, 0x07478cd1, 0x006e1888, 0xa2e53f55, 0xb9e6d4bc,
+ 0xa2048016, 0x97573833, 0xd7207d67, 0xde0f8f3d, 0x72f87b33, 0xabcc4f33, 0x7688c55d, 0x7b00a6b0,
+ 0x947b0001, 0x570075d2, 0xf9bb88f8, 0x8942019e, 0x4264a5ff, 0x856302e0, 0x72dbd92b, 0xee971b69,
+ 0x6ea22fde, 0x5f08ae2b, 0xaf7a616d, 0xe5c98767, 0xcf1febd2, 0x61efc8c2, 0xf1ac2571, 0xcc8239c2,
+ 0x67214cb8, 0xb1e583d1, 0xb7dc3e62, 0x7f10bdce, 0xf90a5c38, 0x0ff0443d, 0x606e6dc6, 0x60543a49,
+ 0x5727c148, 0x2be98a1d, 0x8ab41738, 0x20e1be24, 0xaf96da0f, 0x68458425, 0x99833be5, 0x600d457d,
+ 0x282f9350, 0x8334b362, 0xd91d1120, 0x2b6d8da0, 0x642b1e31, 0x9c305a00, 0x52bce688, 0x1b03588a,
+ 0xf7baefd5, 0x4142ed9c, 0xa4315c11, 0x83323ec5, 0xdfef4636, 0xa133c501, 0xe9d3531c, 0xee353783
};
const CAST_LONG CAST_S_table3[256] = {
- 0x9db30420,
- 0x1fb6e9de,
- 0xa7be7bef,
- 0xd273a298,
- 0x4a4f7bdb,
- 0x64ad8c57,
- 0x85510443,
- 0xfa020ed1,
- 0x7e287aff,
- 0xe60fb663,
- 0x095f35a1,
- 0x79ebf120,
- 0xfd059d43,
- 0x6497b7b1,
- 0xf3641f63,
- 0x241e4adf,
- 0x28147f5f,
- 0x4fa2b8cd,
- 0xc9430040,
- 0x0cc32220,
- 0xfdd30b30,
- 0xc0a5374f,
- 0x1d2d00d9,
- 0x24147b15,
- 0xee4d111a,
- 0x0fca5167,
- 0x71ff904c,
- 0x2d195ffe,
- 0x1a05645f,
- 0x0c13fefe,
- 0x081b08ca,
- 0x05170121,
- 0x80530100,
- 0xe83e5efe,
- 0xac9af4f8,
- 0x7fe72701,
- 0xd2b8ee5f,
- 0x06df4261,
- 0xbb9e9b8a,
- 0x7293ea25,
- 0xce84ffdf,
- 0xf5718801,
- 0x3dd64b04,
- 0xa26f263b,
- 0x7ed48400,
- 0x547eebe6,
- 0x446d4ca0,
- 0x6cf3d6f5,
- 0x2649abdf,
- 0xaea0c7f5,
- 0x36338cc1,
- 0x503f7e93,
- 0xd3772061,
- 0x11b638e1,
- 0x72500e03,
- 0xf80eb2bb,
- 0xabe0502e,
- 0xec8d77de,
- 0x57971e81,
- 0xe14f6746,
- 0xc9335400,
- 0x6920318f,
- 0x081dbb99,
- 0xffc304a5,
- 0x4d351805,
- 0x7f3d5ce3,
- 0xa6c866c6,
- 0x5d5bcca9,
- 0xdaec6fea,
- 0x9f926f91,
- 0x9f46222f,
- 0x3991467d,
- 0xa5bf6d8e,
- 0x1143c44f,
- 0x43958302,
- 0xd0214eeb,
- 0x022083b8,
- 0x3fb6180c,
- 0x18f8931e,
- 0x281658e6,
- 0x26486e3e,
- 0x8bd78a70,
- 0x7477e4c1,
- 0xb506e07c,
- 0xf32d0a25,
- 0x79098b02,
- 0xe4eabb81,
- 0x28123b23,
- 0x69dead38,
- 0x1574ca16,
- 0xdf871b62,
- 0x211c40b7,
- 0xa51a9ef9,
- 0x0014377b,
- 0x041e8ac8,
- 0x09114003,
- 0xbd59e4d2,
- 0xe3d156d5,
- 0x4fe876d5,
- 0x2f91a340,
- 0x557be8de,
- 0x00eae4a7,
- 0x0ce5c2ec,
- 0x4db4bba6,
- 0xe756bdff,
- 0xdd3369ac,
- 0xec17b035,
- 0x06572327,
- 0x99afc8b0,
- 0x56c8c391,
- 0x6b65811c,
- 0x5e146119,
- 0x6e85cb75,
- 0xbe07c002,
- 0xc2325577,
- 0x893ff4ec,
- 0x5bbfc92d,
- 0xd0ec3b25,
- 0xb7801ab7,
- 0x8d6d3b24,
- 0x20c763ef,
- 0xc366a5fc,
- 0x9c382880,
- 0x0ace3205,
- 0xaac9548a,
- 0xeca1d7c7,
- 0x041afa32,
- 0x1d16625a,
- 0x6701902c,
- 0x9b757a54,
- 0x31d477f7,
- 0x9126b031,
- 0x36cc6fdb,
- 0xc70b8b46,
- 0xd9e66a48,
- 0x56e55a79,
- 0x026a4ceb,
- 0x52437eff,
- 0x2f8f76b4,
- 0x0df980a5,
- 0x8674cde3,
- 0xedda04eb,
- 0x17a9be04,
- 0x2c18f4df,
- 0xb7747f9d,
- 0xab2af7b4,
- 0xefc34d20,
- 0x2e096b7c,
- 0x1741a254,
- 0xe5b6a035,
- 0x213d42f6,
- 0x2c1c7c26,
- 0x61c2f50f,
- 0x6552daf9,
- 0xd2c231f8,
- 0x25130f69,
- 0xd8167fa2,
- 0x0418f2c8,
- 0x001a96a6,
- 0x0d1526ab,
- 0x63315c21,
- 0x5e0a72ec,
- 0x49bafefd,
- 0x187908d9,
- 0x8d0dbd86,
- 0x311170a7,
- 0x3e9b640c,
- 0xcc3e10d7,
- 0xd5cad3b6,
- 0x0caec388,
- 0xf73001e1,
- 0x6c728aff,
- 0x71eae2a1,
- 0x1f9af36e,
- 0xcfcbd12f,
- 0xc1de8417,
- 0xac07be6b,
- 0xcb44a1d8,
- 0x8b9b0f56,
- 0x013988c3,
- 0xb1c52fca,
- 0xb4be31cd,
- 0xd8782806,
- 0x12a3a4e2,
- 0x6f7de532,
- 0x58fd7eb6,
- 0xd01ee900,
- 0x24adffc2,
- 0xf4990fc5,
- 0x9711aac5,
- 0x001d7b95,
- 0x82e5e7d2,
- 0x109873f6,
- 0x00613096,
- 0xc32d9521,
- 0xada121ff,
- 0x29908415,
- 0x7fbb977f,
- 0xaf9eb3db,
- 0x29c9ed2a,
- 0x5ce2a465,
- 0xa730f32c,
- 0xd0aa3fe8,
- 0x8a5cc091,
- 0xd49e2ce7,
- 0x0ce454a9,
- 0xd60acd86,
- 0x015f1919,
- 0x77079103,
- 0xdea03af6,
- 0x78a8565e,
- 0xdee356df,
- 0x21f05cbe,
- 0x8b75e387,
- 0xb3c50651,
- 0xb8a5c3ef,
- 0xd8eeb6d2,
- 0xe523be77,
- 0xc2154529,
- 0x2f69efdf,
- 0xafe67afb,
- 0xf470c4b2,
- 0xf3e0eb5b,
- 0xd6cc9876,
- 0x39e4460c,
- 0x1fda8538,
- 0x1987832f,
- 0xca007367,
- 0xa99144f8,
- 0x296b299e,
- 0x492fc295,
- 0x9266beab,
- 0xb5676e69,
- 0x9bd3ddda,
- 0xdf7e052f,
- 0xdb25701c,
- 0x1b5e51ee,
- 0xf65324e6,
- 0x6afce36c,
- 0x0316cc04,
- 0x8644213e,
- 0xb7dc59d0,
- 0x7965291f,
- 0xccd6fd43,
- 0x41823979,
- 0x932bcdf6,
- 0xb657c34d,
- 0x4edfd282,
- 0x7ae5290c,
- 0x3cb9536b,
- 0x851e20fe,
- 0x9833557e,
- 0x13ecf0b0,
- 0xd3ffb372,
- 0x3f85c5c1,
- 0x0aef7ed2,
+ 0x9db30420, 0x1fb6e9de, 0xa7be7bef, 0xd273a298, 0x4a4f7bdb, 0x64ad8c57, 0x85510443, 0xfa020ed1,
+ 0x7e287aff, 0xe60fb663, 0x095f35a1, 0x79ebf120, 0xfd059d43, 0x6497b7b1, 0xf3641f63, 0x241e4adf,
+ 0x28147f5f, 0x4fa2b8cd, 0xc9430040, 0x0cc32220, 0xfdd30b30, 0xc0a5374f, 0x1d2d00d9, 0x24147b15,
+ 0xee4d111a, 0x0fca5167, 0x71ff904c, 0x2d195ffe, 0x1a05645f, 0x0c13fefe, 0x081b08ca, 0x05170121,
+ 0x80530100, 0xe83e5efe, 0xac9af4f8, 0x7fe72701, 0xd2b8ee5f, 0x06df4261, 0xbb9e9b8a, 0x7293ea25,
+ 0xce84ffdf, 0xf5718801, 0x3dd64b04, 0xa26f263b, 0x7ed48400, 0x547eebe6, 0x446d4ca0, 0x6cf3d6f5,
+ 0x2649abdf, 0xaea0c7f5, 0x36338cc1, 0x503f7e93, 0xd3772061, 0x11b638e1, 0x72500e03, 0xf80eb2bb,
+ 0xabe0502e, 0xec8d77de, 0x57971e81, 0xe14f6746, 0xc9335400, 0x6920318f, 0x081dbb99, 0xffc304a5,
+ 0x4d351805, 0x7f3d5ce3, 0xa6c866c6, 0x5d5bcca9, 0xdaec6fea, 0x9f926f91, 0x9f46222f, 0x3991467d,
+ 0xa5bf6d8e, 0x1143c44f, 0x43958302, 0xd0214eeb, 0x022083b8, 0x3fb6180c, 0x18f8931e, 0x281658e6,
+ 0x26486e3e, 0x8bd78a70, 0x7477e4c1, 0xb506e07c, 0xf32d0a25, 0x79098b02, 0xe4eabb81, 0x28123b23,
+ 0x69dead38, 0x1574ca16, 0xdf871b62, 0x211c40b7, 0xa51a9ef9, 0x0014377b, 0x041e8ac8, 0x09114003,
+ 0xbd59e4d2, 0xe3d156d5, 0x4fe876d5, 0x2f91a340, 0x557be8de, 0x00eae4a7, 0x0ce5c2ec, 0x4db4bba6,
+ 0xe756bdff, 0xdd3369ac, 0xec17b035, 0x06572327, 0x99afc8b0, 0x56c8c391, 0x6b65811c, 0x5e146119,
+ 0x6e85cb75, 0xbe07c002, 0xc2325577, 0x893ff4ec, 0x5bbfc92d, 0xd0ec3b25, 0xb7801ab7, 0x8d6d3b24,
+ 0x20c763ef, 0xc366a5fc, 0x9c382880, 0x0ace3205, 0xaac9548a, 0xeca1d7c7, 0x041afa32, 0x1d16625a,
+ 0x6701902c, 0x9b757a54, 0x31d477f7, 0x9126b031, 0x36cc6fdb, 0xc70b8b46, 0xd9e66a48, 0x56e55a79,
+ 0x026a4ceb, 0x52437eff, 0x2f8f76b4, 0x0df980a5, 0x8674cde3, 0xedda04eb, 0x17a9be04, 0x2c18f4df,
+ 0xb7747f9d, 0xab2af7b4, 0xefc34d20, 0x2e096b7c, 0x1741a254, 0xe5b6a035, 0x213d42f6, 0x2c1c7c26,
+ 0x61c2f50f, 0x6552daf9, 0xd2c231f8, 0x25130f69, 0xd8167fa2, 0x0418f2c8, 0x001a96a6, 0x0d1526ab,
+ 0x63315c21, 0x5e0a72ec, 0x49bafefd, 0x187908d9, 0x8d0dbd86, 0x311170a7, 0x3e9b640c, 0xcc3e10d7,
+ 0xd5cad3b6, 0x0caec388, 0xf73001e1, 0x6c728aff, 0x71eae2a1, 0x1f9af36e, 0xcfcbd12f, 0xc1de8417,
+ 0xac07be6b, 0xcb44a1d8, 0x8b9b0f56, 0x013988c3, 0xb1c52fca, 0xb4be31cd, 0xd8782806, 0x12a3a4e2,
+ 0x6f7de532, 0x58fd7eb6, 0xd01ee900, 0x24adffc2, 0xf4990fc5, 0x9711aac5, 0x001d7b95, 0x82e5e7d2,
+ 0x109873f6, 0x00613096, 0xc32d9521, 0xada121ff, 0x29908415, 0x7fbb977f, 0xaf9eb3db, 0x29c9ed2a,
+ 0x5ce2a465, 0xa730f32c, 0xd0aa3fe8, 0x8a5cc091, 0xd49e2ce7, 0x0ce454a9, 0xd60acd86, 0x015f1919,
+ 0x77079103, 0xdea03af6, 0x78a8565e, 0xdee356df, 0x21f05cbe, 0x8b75e387, 0xb3c50651, 0xb8a5c3ef,
+ 0xd8eeb6d2, 0xe523be77, 0xc2154529, 0x2f69efdf, 0xafe67afb, 0xf470c4b2, 0xf3e0eb5b, 0xd6cc9876,
+ 0x39e4460c, 0x1fda8538, 0x1987832f, 0xca007367, 0xa99144f8, 0x296b299e, 0x492fc295, 0x9266beab,
+ 0xb5676e69, 0x9bd3ddda, 0xdf7e052f, 0xdb25701c, 0x1b5e51ee, 0xf65324e6, 0x6afce36c, 0x0316cc04,
+ 0x8644213e, 0xb7dc59d0, 0x7965291f, 0xccd6fd43, 0x41823979, 0x932bcdf6, 0xb657c34d, 0x4edfd282,
+ 0x7ae5290c, 0x3cb9536b, 0x851e20fe, 0x9833557e, 0x13ecf0b0, 0xd3ffb372, 0x3f85c5c1, 0x0aef7ed2
};
const CAST_LONG CAST_S_table4[256] = {
- 0x7ec90c04,
- 0x2c6e74b9,
- 0x9b0e66df,
- 0xa6337911,
- 0xb86a7fff,
- 0x1dd358f5,
- 0x44dd9d44,
- 0x1731167f,
- 0x08fbf1fa,
- 0xe7f511cc,
- 0xd2051b00,
- 0x735aba00,
- 0x2ab722d8,
- 0x386381cb,
- 0xacf6243a,
- 0x69befd7a,
- 0xe6a2e77f,
- 0xf0c720cd,
- 0xc4494816,
- 0xccf5c180,
- 0x38851640,
- 0x15b0a848,
- 0xe68b18cb,
- 0x4caadeff,
- 0x5f480a01,
- 0x0412b2aa,
- 0x259814fc,
- 0x41d0efe2,
- 0x4e40b48d,
- 0x248eb6fb,
- 0x8dba1cfe,
- 0x41a99b02,
- 0x1a550a04,
- 0xba8f65cb,
- 0x7251f4e7,
- 0x95a51725,
- 0xc106ecd7,
- 0x97a5980a,
- 0xc539b9aa,
- 0x4d79fe6a,
- 0xf2f3f763,
- 0x68af8040,
- 0xed0c9e56,
- 0x11b4958b,
- 0xe1eb5a88,
- 0x8709e6b0,
- 0xd7e07156,
- 0x4e29fea7,
- 0x6366e52d,
- 0x02d1c000,
- 0xc4ac8e05,
- 0x9377f571,
- 0x0c05372a,
- 0x578535f2,
- 0x2261be02,
- 0xd642a0c9,
- 0xdf13a280,
- 0x74b55bd2,
- 0x682199c0,
- 0xd421e5ec,
- 0x53fb3ce8,
- 0xc8adedb3,
- 0x28a87fc9,
- 0x3d959981,
- 0x5c1ff900,
- 0xfe38d399,
- 0x0c4eff0b,
- 0x062407ea,
- 0xaa2f4fb1,
- 0x4fb96976,
- 0x90c79505,
- 0xb0a8a774,
- 0xef55a1ff,
- 0xe59ca2c2,
- 0xa6b62d27,
- 0xe66a4263,
- 0xdf65001f,
- 0x0ec50966,
- 0xdfdd55bc,
- 0x29de0655,
- 0x911e739a,
- 0x17af8975,
- 0x32c7911c,
- 0x89f89468,
- 0x0d01e980,
- 0x524755f4,
- 0x03b63cc9,
- 0x0cc844b2,
- 0xbcf3f0aa,
- 0x87ac36e9,
- 0xe53a7426,
- 0x01b3d82b,
- 0x1a9e7449,
- 0x64ee2d7e,
- 0xcddbb1da,
- 0x01c94910,
- 0xb868bf80,
- 0x0d26f3fd,
- 0x9342ede7,
- 0x04a5c284,
- 0x636737b6,
- 0x50f5b616,
- 0xf24766e3,
- 0x8eca36c1,
- 0x136e05db,
- 0xfef18391,
- 0xfb887a37,
- 0xd6e7f7d4,
- 0xc7fb7dc9,
- 0x3063fcdf,
- 0xb6f589de,
- 0xec2941da,
- 0x26e46695,
- 0xb7566419,
- 0xf654efc5,
- 0xd08d58b7,
- 0x48925401,
- 0xc1bacb7f,
- 0xe5ff550f,
- 0xb6083049,
- 0x5bb5d0e8,
- 0x87d72e5a,
- 0xab6a6ee1,
- 0x223a66ce,
- 0xc62bf3cd,
- 0x9e0885f9,
- 0x68cb3e47,
- 0x086c010f,
- 0xa21de820,
- 0xd18b69de,
- 0xf3f65777,
- 0xfa02c3f6,
- 0x407edac3,
- 0xcbb3d550,
- 0x1793084d,
- 0xb0d70eba,
- 0x0ab378d5,
- 0xd951fb0c,
- 0xded7da56,
- 0x4124bbe4,
- 0x94ca0b56,
- 0x0f5755d1,
- 0xe0e1e56e,
- 0x6184b5be,
- 0x580a249f,
- 0x94f74bc0,
- 0xe327888e,
- 0x9f7b5561,
- 0xc3dc0280,
- 0x05687715,
- 0x646c6bd7,
- 0x44904db3,
- 0x66b4f0a3,
- 0xc0f1648a,
- 0x697ed5af,
- 0x49e92ff6,
- 0x309e374f,
- 0x2cb6356a,
- 0x85808573,
- 0x4991f840,
- 0x76f0ae02,
- 0x083be84d,
- 0x28421c9a,
- 0x44489406,
- 0x736e4cb8,
- 0xc1092910,
- 0x8bc95fc6,
- 0x7d869cf4,
- 0x134f616f,
- 0x2e77118d,
- 0xb31b2be1,
- 0xaa90b472,
- 0x3ca5d717,
- 0x7d161bba,
- 0x9cad9010,
- 0xaf462ba2,
- 0x9fe459d2,
- 0x45d34559,
- 0xd9f2da13,
- 0xdbc65487,
- 0xf3e4f94e,
- 0x176d486f,
- 0x097c13ea,
- 0x631da5c7,
- 0x445f7382,
- 0x175683f4,
- 0xcdc66a97,
- 0x70be0288,
- 0xb3cdcf72,
- 0x6e5dd2f3,
- 0x20936079,
- 0x459b80a5,
- 0xbe60e2db,
- 0xa9c23101,
- 0xeba5315c,
- 0x224e42f2,
- 0x1c5c1572,
- 0xf6721b2c,
- 0x1ad2fff3,
- 0x8c25404e,
- 0x324ed72f,
- 0x4067b7fd,
- 0x0523138e,
- 0x5ca3bc78,
- 0xdc0fd66e,
- 0x75922283,
- 0x784d6b17,
- 0x58ebb16e,
- 0x44094f85,
- 0x3f481d87,
- 0xfcfeae7b,
- 0x77b5ff76,
- 0x8c2302bf,
- 0xaaf47556,
- 0x5f46b02a,
- 0x2b092801,
- 0x3d38f5f7,
- 0x0ca81f36,
- 0x52af4a8a,
- 0x66d5e7c0,
- 0xdf3b0874,
- 0x95055110,
- 0x1b5ad7a8,
- 0xf61ed5ad,
- 0x6cf6e479,
- 0x20758184,
- 0xd0cefa65,
- 0x88f7be58,
- 0x4a046826,
- 0x0ff6f8f3,
- 0xa09c7f70,
- 0x5346aba0,
- 0x5ce96c28,
- 0xe176eda3,
- 0x6bac307f,
- 0x376829d2,
- 0x85360fa9,
- 0x17e3fe2a,
- 0x24b79767,
- 0xf5a96b20,
- 0xd6cd2595,
- 0x68ff1ebf,
- 0x7555442c,
- 0xf19f06be,
- 0xf9e0659a,
- 0xeeb9491d,
- 0x34010718,
- 0xbb30cab8,
- 0xe822fe15,
- 0x88570983,
- 0x750e6249,
- 0xda627e55,
- 0x5e76ffa8,
- 0xb1534546,
- 0x6d47de08,
- 0xefe9e7d4,
+ 0x7ec90c04, 0x2c6e74b9, 0x9b0e66df, 0xa6337911, 0xb86a7fff, 0x1dd358f5, 0x44dd9d44, 0x1731167f,
+ 0x08fbf1fa, 0xe7f511cc, 0xd2051b00, 0x735aba00, 0x2ab722d8, 0x386381cb, 0xacf6243a, 0x69befd7a,
+ 0xe6a2e77f, 0xf0c720cd, 0xc4494816, 0xccf5c180, 0x38851640, 0x15b0a848, 0xe68b18cb, 0x4caadeff,
+ 0x5f480a01, 0x0412b2aa, 0x259814fc, 0x41d0efe2, 0x4e40b48d, 0x248eb6fb, 0x8dba1cfe, 0x41a99b02,
+ 0x1a550a04, 0xba8f65cb, 0x7251f4e7, 0x95a51725, 0xc106ecd7, 0x97a5980a, 0xc539b9aa, 0x4d79fe6a,
+ 0xf2f3f763, 0x68af8040, 0xed0c9e56, 0x11b4958b, 0xe1eb5a88, 0x8709e6b0, 0xd7e07156, 0x4e29fea7,
+ 0x6366e52d, 0x02d1c000, 0xc4ac8e05, 0x9377f571, 0x0c05372a, 0x578535f2, 0x2261be02, 0xd642a0c9,
+ 0xdf13a280, 0x74b55bd2, 0x682199c0, 0xd421e5ec, 0x53fb3ce8, 0xc8adedb3, 0x28a87fc9, 0x3d959981,
+ 0x5c1ff900, 0xfe38d399, 0x0c4eff0b, 0x062407ea, 0xaa2f4fb1, 0x4fb96976, 0x90c79505, 0xb0a8a774,
+ 0xef55a1ff, 0xe59ca2c2, 0xa6b62d27, 0xe66a4263, 0xdf65001f, 0x0ec50966, 0xdfdd55bc, 0x29de0655,
+ 0x911e739a, 0x17af8975, 0x32c7911c, 0x89f89468, 0x0d01e980, 0x524755f4, 0x03b63cc9, 0x0cc844b2,
+ 0xbcf3f0aa, 0x87ac36e9, 0xe53a7426, 0x01b3d82b, 0x1a9e7449, 0x64ee2d7e, 0xcddbb1da, 0x01c94910,
+ 0xb868bf80, 0x0d26f3fd, 0x9342ede7, 0x04a5c284, 0x636737b6, 0x50f5b616, 0xf24766e3, 0x8eca36c1,
+ 0x136e05db, 0xfef18391, 0xfb887a37, 0xd6e7f7d4, 0xc7fb7dc9, 0x3063fcdf, 0xb6f589de, 0xec2941da,
+ 0x26e46695, 0xb7566419, 0xf654efc5, 0xd08d58b7, 0x48925401, 0xc1bacb7f, 0xe5ff550f, 0xb6083049,
+ 0x5bb5d0e8, 0x87d72e5a, 0xab6a6ee1, 0x223a66ce, 0xc62bf3cd, 0x9e0885f9, 0x68cb3e47, 0x086c010f,
+ 0xa21de820, 0xd18b69de, 0xf3f65777, 0xfa02c3f6, 0x407edac3, 0xcbb3d550, 0x1793084d, 0xb0d70eba,
+ 0x0ab378d5, 0xd951fb0c, 0xded7da56, 0x4124bbe4, 0x94ca0b56, 0x0f5755d1, 0xe0e1e56e, 0x6184b5be,
+ 0x580a249f, 0x94f74bc0, 0xe327888e, 0x9f7b5561, 0xc3dc0280, 0x05687715, 0x646c6bd7, 0x44904db3,
+ 0x66b4f0a3, 0xc0f1648a, 0x697ed5af, 0x49e92ff6, 0x309e374f, 0x2cb6356a, 0x85808573, 0x4991f840,
+ 0x76f0ae02, 0x083be84d, 0x28421c9a, 0x44489406, 0x736e4cb8, 0xc1092910, 0x8bc95fc6, 0x7d869cf4,
+ 0x134f616f, 0x2e77118d, 0xb31b2be1, 0xaa90b472, 0x3ca5d717, 0x7d161bba, 0x9cad9010, 0xaf462ba2,
+ 0x9fe459d2, 0x45d34559, 0xd9f2da13, 0xdbc65487, 0xf3e4f94e, 0x176d486f, 0x097c13ea, 0x631da5c7,
+ 0x445f7382, 0x175683f4, 0xcdc66a97, 0x70be0288, 0xb3cdcf72, 0x6e5dd2f3, 0x20936079, 0x459b80a5,
+ 0xbe60e2db, 0xa9c23101, 0xeba5315c, 0x224e42f2, 0x1c5c1572, 0xf6721b2c, 0x1ad2fff3, 0x8c25404e,
+ 0x324ed72f, 0x4067b7fd, 0x0523138e, 0x5ca3bc78, 0xdc0fd66e, 0x75922283, 0x784d6b17, 0x58ebb16e,
+ 0x44094f85, 0x3f481d87, 0xfcfeae7b, 0x77b5ff76, 0x8c2302bf, 0xaaf47556, 0x5f46b02a, 0x2b092801,
+ 0x3d38f5f7, 0x0ca81f36, 0x52af4a8a, 0x66d5e7c0, 0xdf3b0874, 0x95055110, 0x1b5ad7a8, 0xf61ed5ad,
+ 0x6cf6e479, 0x20758184, 0xd0cefa65, 0x88f7be58, 0x4a046826, 0x0ff6f8f3, 0xa09c7f70, 0x5346aba0,
+ 0x5ce96c28, 0xe176eda3, 0x6bac307f, 0x376829d2, 0x85360fa9, 0x17e3fe2a, 0x24b79767, 0xf5a96b20,
+ 0xd6cd2595, 0x68ff1ebf, 0x7555442c, 0xf19f06be, 0xf9e0659a, 0xeeb9491d, 0x34010718, 0xbb30cab8,
+ 0xe822fe15, 0x88570983, 0x750e6249, 0xda627e55, 0x5e76ffa8, 0xb1534546, 0x6d47de08, 0xefe9e7d4
};
const CAST_LONG CAST_S_table5[256] = {
- 0xf6fa8f9d,
- 0x2cac6ce1,
- 0x4ca34867,
- 0xe2337f7c,
- 0x95db08e7,
- 0x016843b4,
- 0xeced5cbc,
- 0x325553ac,
- 0xbf9f0960,
- 0xdfa1e2ed,
- 0x83f0579d,
- 0x63ed86b9,
- 0x1ab6a6b8,
- 0xde5ebe39,
- 0xf38ff732,
- 0x8989b138,
- 0x33f14961,
- 0xc01937bd,
- 0xf506c6da,
- 0xe4625e7e,
- 0xa308ea99,
- 0x4e23e33c,
- 0x79cbd7cc,
- 0x48a14367,
- 0xa3149619,
- 0xfec94bd5,
- 0xa114174a,
- 0xeaa01866,
- 0xa084db2d,
- 0x09a8486f,
- 0xa888614a,
- 0x2900af98,
- 0x01665991,
- 0xe1992863,
- 0xc8f30c60,
- 0x2e78ef3c,
- 0xd0d51932,
- 0xcf0fec14,
- 0xf7ca07d2,
- 0xd0a82072,
- 0xfd41197e,
- 0x9305a6b0,
- 0xe86be3da,
- 0x74bed3cd,
- 0x372da53c,
- 0x4c7f4448,
- 0xdab5d440,
- 0x6dba0ec3,
- 0x083919a7,
- 0x9fbaeed9,
- 0x49dbcfb0,
- 0x4e670c53,
- 0x5c3d9c01,
- 0x64bdb941,
- 0x2c0e636a,
- 0xba7dd9cd,
- 0xea6f7388,
- 0xe70bc762,
- 0x35f29adb,
- 0x5c4cdd8d,
- 0xf0d48d8c,
- 0xb88153e2,
- 0x08a19866,
- 0x1ae2eac8,
- 0x284caf89,
- 0xaa928223,
- 0x9334be53,
- 0x3b3a21bf,
- 0x16434be3,
- 0x9aea3906,
- 0xefe8c36e,
- 0xf890cdd9,
- 0x80226dae,
- 0xc340a4a3,
- 0xdf7e9c09,
- 0xa694a807,
- 0x5b7c5ecc,
- 0x221db3a6,
- 0x9a69a02f,
- 0x68818a54,
- 0xceb2296f,
- 0x53c0843a,
- 0xfe893655,
- 0x25bfe68a,
- 0xb4628abc,
- 0xcf222ebf,
- 0x25ac6f48,
- 0xa9a99387,
- 0x53bddb65,
- 0xe76ffbe7,
- 0xe967fd78,
- 0x0ba93563,
- 0x8e342bc1,
- 0xe8a11be9,
- 0x4980740d,
- 0xc8087dfc,
- 0x8de4bf99,
- 0xa11101a0,
- 0x7fd37975,
- 0xda5a26c0,
- 0xe81f994f,
- 0x9528cd89,
- 0xfd339fed,
- 0xb87834bf,
- 0x5f04456d,
- 0x22258698,
- 0xc9c4c83b,
- 0x2dc156be,
- 0x4f628daa,
- 0x57f55ec5,
- 0xe2220abe,
- 0xd2916ebf,
- 0x4ec75b95,
- 0x24f2c3c0,
- 0x42d15d99,
- 0xcd0d7fa0,
- 0x7b6e27ff,
- 0xa8dc8af0,
- 0x7345c106,
- 0xf41e232f,
- 0x35162386,
- 0xe6ea8926,
- 0x3333b094,
- 0x157ec6f2,
- 0x372b74af,
- 0x692573e4,
- 0xe9a9d848,
- 0xf3160289,
- 0x3a62ef1d,
- 0xa787e238,
- 0xf3a5f676,
- 0x74364853,
- 0x20951063,
- 0x4576698d,
- 0xb6fad407,
- 0x592af950,
- 0x36f73523,
- 0x4cfb6e87,
- 0x7da4cec0,
- 0x6c152daa,
- 0xcb0396a8,
- 0xc50dfe5d,
- 0xfcd707ab,
- 0x0921c42f,
- 0x89dff0bb,
- 0x5fe2be78,
- 0x448f4f33,
- 0x754613c9,
- 0x2b05d08d,
- 0x48b9d585,
- 0xdc049441,
- 0xc8098f9b,
- 0x7dede786,
- 0xc39a3373,
- 0x42410005,
- 0x6a091751,
- 0x0ef3c8a6,
- 0x890072d6,
- 0x28207682,
- 0xa9a9f7be,
- 0xbf32679d,
- 0xd45b5b75,
- 0xb353fd00,
- 0xcbb0e358,
- 0x830f220a,
- 0x1f8fb214,
- 0xd372cf08,
- 0xcc3c4a13,
- 0x8cf63166,
- 0x061c87be,
- 0x88c98f88,
- 0x6062e397,
- 0x47cf8e7a,
- 0xb6c85283,
- 0x3cc2acfb,
- 0x3fc06976,
- 0x4e8f0252,
- 0x64d8314d,
- 0xda3870e3,
- 0x1e665459,
- 0xc10908f0,
- 0x513021a5,
- 0x6c5b68b7,
- 0x822f8aa0,
- 0x3007cd3e,
- 0x74719eef,
- 0xdc872681,
- 0x073340d4,
- 0x7e432fd9,
- 0x0c5ec241,
- 0x8809286c,
- 0xf592d891,
- 0x08a930f6,
- 0x957ef305,
- 0xb7fbffbd,
- 0xc266e96f,
- 0x6fe4ac98,
- 0xb173ecc0,
- 0xbc60b42a,
- 0x953498da,
- 0xfba1ae12,
- 0x2d4bd736,
- 0x0f25faab,
- 0xa4f3fceb,
- 0xe2969123,
- 0x257f0c3d,
- 0x9348af49,
- 0x361400bc,
- 0xe8816f4a,
- 0x3814f200,
- 0xa3f94043,
- 0x9c7a54c2,
- 0xbc704f57,
- 0xda41e7f9,
- 0xc25ad33a,
- 0x54f4a084,
- 0xb17f5505,
- 0x59357cbe,
- 0xedbd15c8,
- 0x7f97c5ab,
- 0xba5ac7b5,
- 0xb6f6deaf,
- 0x3a479c3a,
- 0x5302da25,
- 0x653d7e6a,
- 0x54268d49,
- 0x51a477ea,
- 0x5017d55b,
- 0xd7d25d88,
- 0x44136c76,
- 0x0404a8c8,
- 0xb8e5a121,
- 0xb81a928a,
- 0x60ed5869,
- 0x97c55b96,
- 0xeaec991b,
- 0x29935913,
- 0x01fdb7f1,
- 0x088e8dfa,
- 0x9ab6f6f5,
- 0x3b4cbf9f,
- 0x4a5de3ab,
- 0xe6051d35,
- 0xa0e1d855,
- 0xd36b4cf1,
- 0xf544edeb,
- 0xb0e93524,
- 0xbebb8fbd,
- 0xa2d762cf,
- 0x49c92f54,
- 0x38b5f331,
- 0x7128a454,
- 0x48392905,
- 0xa65b1db8,
- 0x851c97bd,
- 0xd675cf2f,
+ 0xf6fa8f9d, 0x2cac6ce1, 0x4ca34867, 0xe2337f7c, 0x95db08e7, 0x016843b4, 0xeced5cbc, 0x325553ac,
+ 0xbf9f0960, 0xdfa1e2ed, 0x83f0579d, 0x63ed86b9, 0x1ab6a6b8, 0xde5ebe39, 0xf38ff732, 0x8989b138,
+ 0x33f14961, 0xc01937bd, 0xf506c6da, 0xe4625e7e, 0xa308ea99, 0x4e23e33c, 0x79cbd7cc, 0x48a14367,
+ 0xa3149619, 0xfec94bd5, 0xa114174a, 0xeaa01866, 0xa084db2d, 0x09a8486f, 0xa888614a, 0x2900af98,
+ 0x01665991, 0xe1992863, 0xc8f30c60, 0x2e78ef3c, 0xd0d51932, 0xcf0fec14, 0xf7ca07d2, 0xd0a82072,
+ 0xfd41197e, 0x9305a6b0, 0xe86be3da, 0x74bed3cd, 0x372da53c, 0x4c7f4448, 0xdab5d440, 0x6dba0ec3,
+ 0x083919a7, 0x9fbaeed9, 0x49dbcfb0, 0x4e670c53, 0x5c3d9c01, 0x64bdb941, 0x2c0e636a, 0xba7dd9cd,
+ 0xea6f7388, 0xe70bc762, 0x35f29adb, 0x5c4cdd8d, 0xf0d48d8c, 0xb88153e2, 0x08a19866, 0x1ae2eac8,
+ 0x284caf89, 0xaa928223, 0x9334be53, 0x3b3a21bf, 0x16434be3, 0x9aea3906, 0xefe8c36e, 0xf890cdd9,
+ 0x80226dae, 0xc340a4a3, 0xdf7e9c09, 0xa694a807, 0x5b7c5ecc, 0x221db3a6, 0x9a69a02f, 0x68818a54,
+ 0xceb2296f, 0x53c0843a, 0xfe893655, 0x25bfe68a, 0xb4628abc, 0xcf222ebf, 0x25ac6f48, 0xa9a99387,
+ 0x53bddb65, 0xe76ffbe7, 0xe967fd78, 0x0ba93563, 0x8e342bc1, 0xe8a11be9, 0x4980740d, 0xc8087dfc,
+ 0x8de4bf99, 0xa11101a0, 0x7fd37975, 0xda5a26c0, 0xe81f994f, 0x9528cd89, 0xfd339fed, 0xb87834bf,
+ 0x5f04456d, 0x22258698, 0xc9c4c83b, 0x2dc156be, 0x4f628daa, 0x57f55ec5, 0xe2220abe, 0xd2916ebf,
+ 0x4ec75b95, 0x24f2c3c0, 0x42d15d99, 0xcd0d7fa0, 0x7b6e27ff, 0xa8dc8af0, 0x7345c106, 0xf41e232f,
+ 0x35162386, 0xe6ea8926, 0x3333b094, 0x157ec6f2, 0x372b74af, 0x692573e4, 0xe9a9d848, 0xf3160289,
+ 0x3a62ef1d, 0xa787e238, 0xf3a5f676, 0x74364853, 0x20951063, 0x4576698d, 0xb6fad407, 0x592af950,
+ 0x36f73523, 0x4cfb6e87, 0x7da4cec0, 0x6c152daa, 0xcb0396a8, 0xc50dfe5d, 0xfcd707ab, 0x0921c42f,
+ 0x89dff0bb, 0x5fe2be78, 0x448f4f33, 0x754613c9, 0x2b05d08d, 0x48b9d585, 0xdc049441, 0xc8098f9b,
+ 0x7dede786, 0xc39a3373, 0x42410005, 0x6a091751, 0x0ef3c8a6, 0x890072d6, 0x28207682, 0xa9a9f7be,
+ 0xbf32679d, 0xd45b5b75, 0xb353fd00, 0xcbb0e358, 0x830f220a, 0x1f8fb214, 0xd372cf08, 0xcc3c4a13,
+ 0x8cf63166, 0x061c87be, 0x88c98f88, 0x6062e397, 0x47cf8e7a, 0xb6c85283, 0x3cc2acfb, 0x3fc06976,
+ 0x4e8f0252, 0x64d8314d, 0xda3870e3, 0x1e665459, 0xc10908f0, 0x513021a5, 0x6c5b68b7, 0x822f8aa0,
+ 0x3007cd3e, 0x74719eef, 0xdc872681, 0x073340d4, 0x7e432fd9, 0x0c5ec241, 0x8809286c, 0xf592d891,
+ 0x08a930f6, 0x957ef305, 0xb7fbffbd, 0xc266e96f, 0x6fe4ac98, 0xb173ecc0, 0xbc60b42a, 0x953498da,
+ 0xfba1ae12, 0x2d4bd736, 0x0f25faab, 0xa4f3fceb, 0xe2969123, 0x257f0c3d, 0x9348af49, 0x361400bc,
+ 0xe8816f4a, 0x3814f200, 0xa3f94043, 0x9c7a54c2, 0xbc704f57, 0xda41e7f9, 0xc25ad33a, 0x54f4a084,
+ 0xb17f5505, 0x59357cbe, 0xedbd15c8, 0x7f97c5ab, 0xba5ac7b5, 0xb6f6deaf, 0x3a479c3a, 0x5302da25,
+ 0x653d7e6a, 0x54268d49, 0x51a477ea, 0x5017d55b, 0xd7d25d88, 0x44136c76, 0x0404a8c8, 0xb8e5a121,
+ 0xb81a928a, 0x60ed5869, 0x97c55b96, 0xeaec991b, 0x29935913, 0x01fdb7f1, 0x088e8dfa, 0x9ab6f6f5,
+ 0x3b4cbf9f, 0x4a5de3ab, 0xe6051d35, 0xa0e1d855, 0xd36b4cf1, 0xf544edeb, 0xb0e93524, 0xbebb8fbd,
+ 0xa2d762cf, 0x49c92f54, 0x38b5f331, 0x7128a454, 0x48392905, 0xa65b1db8, 0x851c97bd, 0xd675cf2f
};
const CAST_LONG CAST_S_table6[256] = {
- 0x85e04019,
- 0x332bf567,
- 0x662dbfff,
- 0xcfc65693,
- 0x2a8d7f6f,
- 0xab9bc912,
- 0xde6008a1,
- 0x2028da1f,
- 0x0227bce7,
- 0x4d642916,
- 0x18fac300,
- 0x50f18b82,
- 0x2cb2cb11,
- 0xb232e75c,
- 0x4b3695f2,
- 0xb28707de,
- 0xa05fbcf6,
- 0xcd4181e9,
- 0xe150210c,
- 0xe24ef1bd,
- 0xb168c381,
- 0xfde4e789,
- 0x5c79b0d8,
- 0x1e8bfd43,
- 0x4d495001,
- 0x38be4341,
- 0x913cee1d,
- 0x92a79c3f,
- 0x089766be,
- 0xbaeeadf4,
- 0x1286becf,
- 0xb6eacb19,
- 0x2660c200,
- 0x7565bde4,
- 0x64241f7a,
- 0x8248dca9,
- 0xc3b3ad66,
- 0x28136086,
- 0x0bd8dfa8,
- 0x356d1cf2,
- 0x107789be,
- 0xb3b2e9ce,
- 0x0502aa8f,
- 0x0bc0351e,
- 0x166bf52a,
- 0xeb12ff82,
- 0xe3486911,
- 0xd34d7516,
- 0x4e7b3aff,
- 0x5f43671b,
- 0x9cf6e037,
- 0x4981ac83,
- 0x334266ce,
- 0x8c9341b7,
- 0xd0d854c0,
- 0xcb3a6c88,
- 0x47bc2829,
- 0x4725ba37,
- 0xa66ad22b,
- 0x7ad61f1e,
- 0x0c5cbafa,
- 0x4437f107,
- 0xb6e79962,
- 0x42d2d816,
- 0x0a961288,
- 0xe1a5c06e,
- 0x13749e67,
- 0x72fc081a,
- 0xb1d139f7,
- 0xf9583745,
- 0xcf19df58,
- 0xbec3f756,
- 0xc06eba30,
- 0x07211b24,
- 0x45c28829,
- 0xc95e317f,
- 0xbc8ec511,
- 0x38bc46e9,
- 0xc6e6fa14,
- 0xbae8584a,
- 0xad4ebc46,
- 0x468f508b,
- 0x7829435f,
- 0xf124183b,
- 0x821dba9f,
- 0xaff60ff4,
- 0xea2c4e6d,
- 0x16e39264,
- 0x92544a8b,
- 0x009b4fc3,
- 0xaba68ced,
- 0x9ac96f78,
- 0x06a5b79a,
- 0xb2856e6e,
- 0x1aec3ca9,
- 0xbe838688,
- 0x0e0804e9,
- 0x55f1be56,
- 0xe7e5363b,
- 0xb3a1f25d,
- 0xf7debb85,
- 0x61fe033c,
- 0x16746233,
- 0x3c034c28,
- 0xda6d0c74,
- 0x79aac56c,
- 0x3ce4e1ad,
- 0x51f0c802,
- 0x98f8f35a,
- 0x1626a49f,
- 0xeed82b29,
- 0x1d382fe3,
- 0x0c4fb99a,
- 0xbb325778,
- 0x3ec6d97b,
- 0x6e77a6a9,
- 0xcb658b5c,
- 0xd45230c7,
- 0x2bd1408b,
- 0x60c03eb7,
- 0xb9068d78,
- 0xa33754f4,
- 0xf430c87d,
- 0xc8a71302,
- 0xb96d8c32,
- 0xebd4e7be,
- 0xbe8b9d2d,
- 0x7979fb06,
- 0xe7225308,
- 0x8b75cf77,
- 0x11ef8da4,
- 0xe083c858,
- 0x8d6b786f,
- 0x5a6317a6,
- 0xfa5cf7a0,
- 0x5dda0033,
- 0xf28ebfb0,
- 0xf5b9c310,
- 0xa0eac280,
- 0x08b9767a,
- 0xa3d9d2b0,
- 0x79d34217,
- 0x021a718d,
- 0x9ac6336a,
- 0x2711fd60,
- 0x438050e3,
- 0x069908a8,
- 0x3d7fedc4,
- 0x826d2bef,
- 0x4eeb8476,
- 0x488dcf25,
- 0x36c9d566,
- 0x28e74e41,
- 0xc2610aca,
- 0x3d49a9cf,
- 0xbae3b9df,
- 0xb65f8de6,
- 0x92aeaf64,
- 0x3ac7d5e6,
- 0x9ea80509,
- 0xf22b017d,
- 0xa4173f70,
- 0xdd1e16c3,
- 0x15e0d7f9,
- 0x50b1b887,
- 0x2b9f4fd5,
- 0x625aba82,
- 0x6a017962,
- 0x2ec01b9c,
- 0x15488aa9,
- 0xd716e740,
- 0x40055a2c,
- 0x93d29a22,
- 0xe32dbf9a,
- 0x058745b9,
- 0x3453dc1e,
- 0xd699296e,
- 0x496cff6f,
- 0x1c9f4986,
- 0xdfe2ed07,
- 0xb87242d1,
- 0x19de7eae,
- 0x053e561a,
- 0x15ad6f8c,
- 0x66626c1c,
- 0x7154c24c,
- 0xea082b2a,
- 0x93eb2939,
- 0x17dcb0f0,
- 0x58d4f2ae,
- 0x9ea294fb,
- 0x52cf564c,
- 0x9883fe66,
- 0x2ec40581,
- 0x763953c3,
- 0x01d6692e,
- 0xd3a0c108,
- 0xa1e7160e,
- 0xe4f2dfa6,
- 0x693ed285,
- 0x74904698,
- 0x4c2b0edd,
- 0x4f757656,
- 0x5d393378,
- 0xa132234f,
- 0x3d321c5d,
- 0xc3f5e194,
- 0x4b269301,
- 0xc79f022f,
- 0x3c997e7e,
- 0x5e4f9504,
- 0x3ffafbbd,
- 0x76f7ad0e,
- 0x296693f4,
- 0x3d1fce6f,
- 0xc61e45be,
- 0xd3b5ab34,
- 0xf72bf9b7,
- 0x1b0434c0,
- 0x4e72b567,
- 0x5592a33d,
- 0xb5229301,
- 0xcfd2a87f,
- 0x60aeb767,
- 0x1814386b,
- 0x30bcc33d,
- 0x38a0c07d,
- 0xfd1606f2,
- 0xc363519b,
- 0x589dd390,
- 0x5479f8e6,
- 0x1cb8d647,
- 0x97fd61a9,
- 0xea7759f4,
- 0x2d57539d,
- 0x569a58cf,
- 0xe84e63ad,
- 0x462e1b78,
- 0x6580f87e,
- 0xf3817914,
- 0x91da55f4,
- 0x40a230f3,
- 0xd1988f35,
- 0xb6e318d2,
- 0x3ffa50bc,
- 0x3d40f021,
- 0xc3c0bdae,
- 0x4958c24c,
- 0x518f36b2,
- 0x84b1d370,
- 0x0fedce83,
- 0x878ddada,
- 0xf2a279c7,
- 0x94e01be8,
- 0x90716f4b,
- 0x954b8aa3,
+ 0x85e04019, 0x332bf567, 0x662dbfff, 0xcfc65693, 0x2a8d7f6f, 0xab9bc912, 0xde6008a1, 0x2028da1f,
+ 0x0227bce7, 0x4d642916, 0x18fac300, 0x50f18b82, 0x2cb2cb11, 0xb232e75c, 0x4b3695f2, 0xb28707de,
+ 0xa05fbcf6, 0xcd4181e9, 0xe150210c, 0xe24ef1bd, 0xb168c381, 0xfde4e789, 0x5c79b0d8, 0x1e8bfd43,
+ 0x4d495001, 0x38be4341, 0x913cee1d, 0x92a79c3f, 0x089766be, 0xbaeeadf4, 0x1286becf, 0xb6eacb19,
+ 0x2660c200, 0x7565bde4, 0x64241f7a, 0x8248dca9, 0xc3b3ad66, 0x28136086, 0x0bd8dfa8, 0x356d1cf2,
+ 0x107789be, 0xb3b2e9ce, 0x0502aa8f, 0x0bc0351e, 0x166bf52a, 0xeb12ff82, 0xe3486911, 0xd34d7516,
+ 0x4e7b3aff, 0x5f43671b, 0x9cf6e037, 0x4981ac83, 0x334266ce, 0x8c9341b7, 0xd0d854c0, 0xcb3a6c88,
+ 0x47bc2829, 0x4725ba37, 0xa66ad22b, 0x7ad61f1e, 0x0c5cbafa, 0x4437f107, 0xb6e79962, 0x42d2d816,
+ 0x0a961288, 0xe1a5c06e, 0x13749e67, 0x72fc081a, 0xb1d139f7, 0xf9583745, 0xcf19df58, 0xbec3f756,
+ 0xc06eba30, 0x07211b24, 0x45c28829, 0xc95e317f, 0xbc8ec511, 0x38bc46e9, 0xc6e6fa14, 0xbae8584a,
+ 0xad4ebc46, 0x468f508b, 0x7829435f, 0xf124183b, 0x821dba9f, 0xaff60ff4, 0xea2c4e6d, 0x16e39264,
+ 0x92544a8b, 0x009b4fc3, 0xaba68ced, 0x9ac96f78, 0x06a5b79a, 0xb2856e6e, 0x1aec3ca9, 0xbe838688,
+ 0x0e0804e9, 0x55f1be56, 0xe7e5363b, 0xb3a1f25d, 0xf7debb85, 0x61fe033c, 0x16746233, 0x3c034c28,
+ 0xda6d0c74, 0x79aac56c, 0x3ce4e1ad, 0x51f0c802, 0x98f8f35a, 0x1626a49f, 0xeed82b29, 0x1d382fe3,
+ 0x0c4fb99a, 0xbb325778, 0x3ec6d97b, 0x6e77a6a9, 0xcb658b5c, 0xd45230c7, 0x2bd1408b, 0x60c03eb7,
+ 0xb9068d78, 0xa33754f4, 0xf430c87d, 0xc8a71302, 0xb96d8c32, 0xebd4e7be, 0xbe8b9d2d, 0x7979fb06,
+ 0xe7225308, 0x8b75cf77, 0x11ef8da4, 0xe083c858, 0x8d6b786f, 0x5a6317a6, 0xfa5cf7a0, 0x5dda0033,
+ 0xf28ebfb0, 0xf5b9c310, 0xa0eac280, 0x08b9767a, 0xa3d9d2b0, 0x79d34217, 0x021a718d, 0x9ac6336a,
+ 0x2711fd60, 0x438050e3, 0x069908a8, 0x3d7fedc4, 0x826d2bef, 0x4eeb8476, 0x488dcf25, 0x36c9d566,
+ 0x28e74e41, 0xc2610aca, 0x3d49a9cf, 0xbae3b9df, 0xb65f8de6, 0x92aeaf64, 0x3ac7d5e6, 0x9ea80509,
+ 0xf22b017d, 0xa4173f70, 0xdd1e16c3, 0x15e0d7f9, 0x50b1b887, 0x2b9f4fd5, 0x625aba82, 0x6a017962,
+ 0x2ec01b9c, 0x15488aa9, 0xd716e740, 0x40055a2c, 0x93d29a22, 0xe32dbf9a, 0x058745b9, 0x3453dc1e,
+ 0xd699296e, 0x496cff6f, 0x1c9f4986, 0xdfe2ed07, 0xb87242d1, 0x19de7eae, 0x053e561a, 0x15ad6f8c,
+ 0x66626c1c, 0x7154c24c, 0xea082b2a, 0x93eb2939, 0x17dcb0f0, 0x58d4f2ae, 0x9ea294fb, 0x52cf564c,
+ 0x9883fe66, 0x2ec40581, 0x763953c3, 0x01d6692e, 0xd3a0c108, 0xa1e7160e, 0xe4f2dfa6, 0x693ed285,
+ 0x74904698, 0x4c2b0edd, 0x4f757656, 0x5d393378, 0xa132234f, 0x3d321c5d, 0xc3f5e194, 0x4b269301,
+ 0xc79f022f, 0x3c997e7e, 0x5e4f9504, 0x3ffafbbd, 0x76f7ad0e, 0x296693f4, 0x3d1fce6f, 0xc61e45be,
+ 0xd3b5ab34, 0xf72bf9b7, 0x1b0434c0, 0x4e72b567, 0x5592a33d, 0xb5229301, 0xcfd2a87f, 0x60aeb767,
+ 0x1814386b, 0x30bcc33d, 0x38a0c07d, 0xfd1606f2, 0xc363519b, 0x589dd390, 0x5479f8e6, 0x1cb8d647,
+ 0x97fd61a9, 0xea7759f4, 0x2d57539d, 0x569a58cf, 0xe84e63ad, 0x462e1b78, 0x6580f87e, 0xf3817914,
+ 0x91da55f4, 0x40a230f3, 0xd1988f35, 0xb6e318d2, 0x3ffa50bc, 0x3d40f021, 0xc3c0bdae, 0x4958c24c,
+ 0x518f36b2, 0x84b1d370, 0x0fedce83, 0x878ddada, 0xf2a279c7, 0x94e01be8, 0x90716f4b, 0x954b8aa3
};
const CAST_LONG CAST_S_table7[256] = {
- 0xe216300d,
- 0xbbddfffc,
- 0xa7ebdabd,
- 0x35648095,
- 0x7789f8b7,
- 0xe6c1121b,
- 0x0e241600,
- 0x052ce8b5,
- 0x11a9cfb0,
- 0xe5952f11,
- 0xece7990a,
- 0x9386d174,
- 0x2a42931c,
- 0x76e38111,
- 0xb12def3a,
- 0x37ddddfc,
- 0xde9adeb1,
- 0x0a0cc32c,
- 0xbe197029,
- 0x84a00940,
- 0xbb243a0f,
- 0xb4d137cf,
- 0xb44e79f0,
- 0x049eedfd,
- 0x0b15a15d,
- 0x480d3168,
- 0x8bbbde5a,
- 0x669ded42,
- 0xc7ece831,
- 0x3f8f95e7,
- 0x72df191b,
- 0x7580330d,
- 0x94074251,
- 0x5c7dcdfa,
- 0xabbe6d63,
- 0xaa402164,
- 0xb301d40a,
- 0x02e7d1ca,
- 0x53571dae,
- 0x7a3182a2,
- 0x12a8ddec,
- 0xfdaa335d,
- 0x176f43e8,
- 0x71fb46d4,
- 0x38129022,
- 0xce949ad4,
- 0xb84769ad,
- 0x965bd862,
- 0x82f3d055,
- 0x66fb9767,
- 0x15b80b4e,
- 0x1d5b47a0,
- 0x4cfde06f,
- 0xc28ec4b8,
- 0x57e8726e,
- 0x647a78fc,
- 0x99865d44,
- 0x608bd593,
- 0x6c200e03,
- 0x39dc5ff6,
- 0x5d0b00a3,
- 0xae63aff2,
- 0x7e8bd632,
- 0x70108c0c,
- 0xbbd35049,
- 0x2998df04,
- 0x980cf42a,
- 0x9b6df491,
- 0x9e7edd53,
- 0x06918548,
- 0x58cb7e07,
- 0x3b74ef2e,
- 0x522fffb1,
- 0xd24708cc,
- 0x1c7e27cd,
- 0xa4eb215b,
- 0x3cf1d2e2,
- 0x19b47a38,
- 0x424f7618,
- 0x35856039,
- 0x9d17dee7,
- 0x27eb35e6,
- 0xc9aff67b,
- 0x36baf5b8,
- 0x09c467cd,
- 0xc18910b1,
- 0xe11dbf7b,
- 0x06cd1af8,
- 0x7170c608,
- 0x2d5e3354,
- 0xd4de495a,
- 0x64c6d006,
- 0xbcc0c62c,
- 0x3dd00db3,
- 0x708f8f34,
- 0x77d51b42,
- 0x264f620f,
- 0x24b8d2bf,
- 0x15c1b79e,
- 0x46a52564,
- 0xf8d7e54e,
- 0x3e378160,
- 0x7895cda5,
- 0x859c15a5,
- 0xe6459788,
- 0xc37bc75f,
- 0xdb07ba0c,
- 0x0676a3ab,
- 0x7f229b1e,
- 0x31842e7b,
- 0x24259fd7,
- 0xf8bef472,
- 0x835ffcb8,
- 0x6df4c1f2,
- 0x96f5b195,
- 0xfd0af0fc,
- 0xb0fe134c,
- 0xe2506d3d,
- 0x4f9b12ea,
- 0xf215f225,
- 0xa223736f,
- 0x9fb4c428,
- 0x25d04979,
- 0x34c713f8,
- 0xc4618187,
- 0xea7a6e98,
- 0x7cd16efc,
- 0x1436876c,
- 0xf1544107,
- 0xbedeee14,
- 0x56e9af27,
- 0xa04aa441,
- 0x3cf7c899,
- 0x92ecbae6,
- 0xdd67016d,
- 0x151682eb,
- 0xa842eedf,
- 0xfdba60b4,
- 0xf1907b75,
- 0x20e3030f,
- 0x24d8c29e,
- 0xe139673b,
- 0xefa63fb8,
- 0x71873054,
- 0xb6f2cf3b,
- 0x9f326442,
- 0xcb15a4cc,
- 0xb01a4504,
- 0xf1e47d8d,
- 0x844a1be5,
- 0xbae7dfdc,
- 0x42cbda70,
- 0xcd7dae0a,
- 0x57e85b7a,
- 0xd53f5af6,
- 0x20cf4d8c,
- 0xcea4d428,
- 0x79d130a4,
- 0x3486ebfb,
- 0x33d3cddc,
- 0x77853b53,
- 0x37effcb5,
- 0xc5068778,
- 0xe580b3e6,
- 0x4e68b8f4,
- 0xc5c8b37e,
- 0x0d809ea2,
- 0x398feb7c,
- 0x132a4f94,
- 0x43b7950e,
- 0x2fee7d1c,
- 0x223613bd,
- 0xdd06caa2,
- 0x37df932b,
- 0xc4248289,
- 0xacf3ebc3,
- 0x5715f6b7,
- 0xef3478dd,
- 0xf267616f,
- 0xc148cbe4,
- 0x9052815e,
- 0x5e410fab,
- 0xb48a2465,
- 0x2eda7fa4,
- 0xe87b40e4,
- 0xe98ea084,
- 0x5889e9e1,
- 0xefd390fc,
- 0xdd07d35b,
- 0xdb485694,
- 0x38d7e5b2,
- 0x57720101,
- 0x730edebc,
- 0x5b643113,
- 0x94917e4f,
- 0x503c2fba,
- 0x646f1282,
- 0x7523d24a,
- 0xe0779695,
- 0xf9c17a8f,
- 0x7a5b2121,
- 0xd187b896,
- 0x29263a4d,
- 0xba510cdf,
- 0x81f47c9f,
- 0xad1163ed,
- 0xea7b5965,
- 0x1a00726e,
- 0x11403092,
- 0x00da6d77,
- 0x4a0cdd61,
- 0xad1f4603,
- 0x605bdfb0,
- 0x9eedc364,
- 0x22ebe6a8,
- 0xcee7d28a,
- 0xa0e736a0,
- 0x5564a6b9,
- 0x10853209,
- 0xc7eb8f37,
- 0x2de705ca,
- 0x8951570f,
- 0xdf09822b,
- 0xbd691a6c,
- 0xaa12e4f2,
- 0x87451c0f,
- 0xe0f6a27a,
- 0x3ada4819,
- 0x4cf1764f,
- 0x0d771c2b,
- 0x67cdb156,
- 0x350d8384,
- 0x5938fa0f,
- 0x42399ef3,
- 0x36997b07,
- 0x0e84093d,
- 0x4aa93e61,
- 0x8360d87b,
- 0x1fa98b0c,
- 0x1149382c,
- 0xe97625a5,
- 0x0614d1b7,
- 0x0e25244b,
- 0x0c768347,
- 0x589e8d82,
- 0x0d2059d1,
- 0xa466bb1e,
- 0xf8da0a82,
- 0x04f19130,
- 0xba6e4ec0,
- 0x99265164,
- 0x1ee7230d,
- 0x50b2ad80,
- 0xeaee6801,
- 0x8db2a283,
- 0xea8bf59e,
+ 0xe216300d, 0xbbddfffc, 0xa7ebdabd, 0x35648095, 0x7789f8b7, 0xe6c1121b, 0x0e241600, 0x052ce8b5,
+ 0x11a9cfb0, 0xe5952f11, 0xece7990a, 0x9386d174, 0x2a42931c, 0x76e38111, 0xb12def3a, 0x37ddddfc,
+ 0xde9adeb1, 0x0a0cc32c, 0xbe197029, 0x84a00940, 0xbb243a0f, 0xb4d137cf, 0xb44e79f0, 0x049eedfd,
+ 0x0b15a15d, 0x480d3168, 0x8bbbde5a, 0x669ded42, 0xc7ece831, 0x3f8f95e7, 0x72df191b, 0x7580330d,
+ 0x94074251, 0x5c7dcdfa, 0xabbe6d63, 0xaa402164, 0xb301d40a, 0x02e7d1ca, 0x53571dae, 0x7a3182a2,
+ 0x12a8ddec, 0xfdaa335d, 0x176f43e8, 0x71fb46d4, 0x38129022, 0xce949ad4, 0xb84769ad, 0x965bd862,
+ 0x82f3d055, 0x66fb9767, 0x15b80b4e, 0x1d5b47a0, 0x4cfde06f, 0xc28ec4b8, 0x57e8726e, 0x647a78fc,
+ 0x99865d44, 0x608bd593, 0x6c200e03, 0x39dc5ff6, 0x5d0b00a3, 0xae63aff2, 0x7e8bd632, 0x70108c0c,
+ 0xbbd35049, 0x2998df04, 0x980cf42a, 0x9b6df491, 0x9e7edd53, 0x06918548, 0x58cb7e07, 0x3b74ef2e,
+ 0x522fffb1, 0xd24708cc, 0x1c7e27cd, 0xa4eb215b, 0x3cf1d2e2, 0x19b47a38, 0x424f7618, 0x35856039,
+ 0x9d17dee7, 0x27eb35e6, 0xc9aff67b, 0x36baf5b8, 0x09c467cd, 0xc18910b1, 0xe11dbf7b, 0x06cd1af8,
+ 0x7170c608, 0x2d5e3354, 0xd4de495a, 0x64c6d006, 0xbcc0c62c, 0x3dd00db3, 0x708f8f34, 0x77d51b42,
+ 0x264f620f, 0x24b8d2bf, 0x15c1b79e, 0x46a52564, 0xf8d7e54e, 0x3e378160, 0x7895cda5, 0x859c15a5,
+ 0xe6459788, 0xc37bc75f, 0xdb07ba0c, 0x0676a3ab, 0x7f229b1e, 0x31842e7b, 0x24259fd7, 0xf8bef472,
+ 0x835ffcb8, 0x6df4c1f2, 0x96f5b195, 0xfd0af0fc, 0xb0fe134c, 0xe2506d3d, 0x4f9b12ea, 0xf215f225,
+ 0xa223736f, 0x9fb4c428, 0x25d04979, 0x34c713f8, 0xc4618187, 0xea7a6e98, 0x7cd16efc, 0x1436876c,
+ 0xf1544107, 0xbedeee14, 0x56e9af27, 0xa04aa441, 0x3cf7c899, 0x92ecbae6, 0xdd67016d, 0x151682eb,
+ 0xa842eedf, 0xfdba60b4, 0xf1907b75, 0x20e3030f, 0x24d8c29e, 0xe139673b, 0xefa63fb8, 0x71873054,
+ 0xb6f2cf3b, 0x9f326442, 0xcb15a4cc, 0xb01a4504, 0xf1e47d8d, 0x844a1be5, 0xbae7dfdc, 0x42cbda70,
+ 0xcd7dae0a, 0x57e85b7a, 0xd53f5af6, 0x20cf4d8c, 0xcea4d428, 0x79d130a4, 0x3486ebfb, 0x33d3cddc,
+ 0x77853b53, 0x37effcb5, 0xc5068778, 0xe580b3e6, 0x4e68b8f4, 0xc5c8b37e, 0x0d809ea2, 0x398feb7c,
+ 0x132a4f94, 0x43b7950e, 0x2fee7d1c, 0x223613bd, 0xdd06caa2, 0x37df932b, 0xc4248289, 0xacf3ebc3,
+ 0x5715f6b7, 0xef3478dd, 0xf267616f, 0xc148cbe4, 0x9052815e, 0x5e410fab, 0xb48a2465, 0x2eda7fa4,
+ 0xe87b40e4, 0xe98ea084, 0x5889e9e1, 0xefd390fc, 0xdd07d35b, 0xdb485694, 0x38d7e5b2, 0x57720101,
+ 0x730edebc, 0x5b643113, 0x94917e4f, 0x503c2fba, 0x646f1282, 0x7523d24a, 0xe0779695, 0xf9c17a8f,
+ 0x7a5b2121, 0xd187b896, 0x29263a4d, 0xba510cdf, 0x81f47c9f, 0xad1163ed, 0xea7b5965, 0x1a00726e,
+ 0x11403092, 0x00da6d77, 0x4a0cdd61, 0xad1f4603, 0x605bdfb0, 0x9eedc364, 0x22ebe6a8, 0xcee7d28a,
+ 0xa0e736a0, 0x5564a6b9, 0x10853209, 0xc7eb8f37, 0x2de705ca, 0x8951570f, 0xdf09822b, 0xbd691a6c,
+ 0xaa12e4f2, 0x87451c0f, 0xe0f6a27a, 0x3ada4819, 0x4cf1764f, 0x0d771c2b, 0x67cdb156, 0x350d8384,
+ 0x5938fa0f, 0x42399ef3, 0x36997b07, 0x0e84093d, 0x4aa93e61, 0x8360d87b, 0x1fa98b0c, 0x1149382c,
+ 0xe97625a5, 0x0614d1b7, 0x0e25244b, 0x0c768347, 0x589e8d82, 0x0d2059d1, 0xa466bb1e, 0xf8da0a82,
+ 0x04f19130, 0xba6e4ec0, 0x99265164, 0x1ee7230d, 0x50b2ad80, 0xeaee6801, 0x8db2a283, 0xea8bf59e
};
diff --git a/crypto/openssl/crypto/chacha/asm/chachap10-ppc.pl b/crypto/openssl/crypto/chacha/asm/chachap10-ppc.pl
index a6bff8db38a..9c508266888 100755
--- a/crypto/openssl/crypto/chacha/asm/chachap10-ppc.pl
+++ b/crypto/openssl/crypto/chacha/asm/chachap10-ppc.pl
@@ -1,5 +1,5 @@
#! /usr/bin/env perl
-# Copyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved.
+# Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License 2.0 (the "License"). You may not use
# this file except in compliance with the License. You can obtain a copy
@@ -501,7 +501,7 @@ my ($xv8,$xv9,$xv10,$xv11,$xv12,$xv13,$xv14,$xv15,$xv16,$xv17) = map("v$_",(8..1
my ($xv18,$xv19,$xv20,$xv21) = map("v$_",(18..21));
my ($xv22,$xv23,$xv24,$xv25,$xv26) = map("v$_",(22..26));
-my $FRAME=$LOCALS+64+9*16; # 8*16 is for v24-v31 offload
+my $FRAME=$LOCALS+64+9*16+13*8+4*16; # 8*16 for v24-v31 offload, 13*8 for f14-f26, 4*16 for v20-v23
sub VSX_lane_ROUND_8x {
my ($a0,$b0,$c0,$d0,$a4,$b4,$c4,$d4)=@_;
@@ -665,7 +665,28 @@ $code.=<<___;
addi r11,r11,32
stvx v30,r10,$sp
stvx v31,r11,$sp
- stw r12,`$FRAME-4`($sp) # save vrsave
+ stfd f14,`$LOCALS+64+9*16+0*8`($sp) # save FPR14-FPR26 (callee-saved per ELFv2 ABI)
+ stfd f15,`$LOCALS+64+9*16+1*8`($sp)
+ stfd f16,`$LOCALS+64+9*16+2*8`($sp)
+ stfd f17,`$LOCALS+64+9*16+3*8`($sp)
+ stfd f18,`$LOCALS+64+9*16+4*8`($sp)
+ stfd f19,`$LOCALS+64+9*16+5*8`($sp)
+ stfd f20,`$LOCALS+64+9*16+6*8`($sp)
+ stfd f21,`$LOCALS+64+9*16+7*8`($sp)
+ stfd f22,`$LOCALS+64+9*16+8*8`($sp)
+ stfd f23,`$LOCALS+64+9*16+9*8`($sp)
+ stfd f24,`$LOCALS+64+9*16+10*8`($sp)
+ stfd f25,`$LOCALS+64+9*16+11*8`($sp)
+ be?stfd f26,`$LOCALS+64+9*16+12*8`($sp) # BE only
+ li r10,`$LOCALS+64+9*16+13*8+15`
+ li r11,`$LOCALS+64+9*16+13*8+31`
+ stvx v20,r10,$sp # save VMX v20-v23 (callee-saved per ELFv2 ABI)
+ addi r10,r10,32
+ stvx v21,r11,$sp
+ addi r11,r11,32
+ stvx v22,r10,$sp
+ stvx v23,r11,$sp
+ stw r12,`$LOCALS+64+9*16-4`($sp) # save vrsave
li r12,-4096+63
$PUSH r0, `$FRAME+$LRSAVE`($sp)
mtspr 256,r12 # preserve 29 AltiVec registers
@@ -1159,7 +1180,28 @@ $code.=<<___;
bne Loop_outer_vsx_8x
Ldone_vsx_8x:
- lwz r12,`$FRAME-4`($sp) # pull vrsave
+ lwz r12,`$LOCALS+64+9*16-4`($sp) # pull vrsave
+ lfd f14,`$LOCALS+64+9*16+0*8`($sp) # restore FPR14-FPR26 (callee-saved per ELFv2 ABI)
+ lfd f15,`$LOCALS+64+9*16+1*8`($sp)
+ lfd f16,`$LOCALS+64+9*16+2*8`($sp)
+ lfd f17,`$LOCALS+64+9*16+3*8`($sp)
+ lfd f18,`$LOCALS+64+9*16+4*8`($sp)
+ lfd f19,`$LOCALS+64+9*16+5*8`($sp)
+ lfd f20,`$LOCALS+64+9*16+6*8`($sp)
+ lfd f21,`$LOCALS+64+9*16+7*8`($sp)
+ lfd f22,`$LOCALS+64+9*16+8*8`($sp)
+ lfd f23,`$LOCALS+64+9*16+9*8`($sp)
+ lfd f24,`$LOCALS+64+9*16+10*8`($sp)
+ lfd f25,`$LOCALS+64+9*16+11*8`($sp)
+ be?lfd f26,`$LOCALS+64+9*16+12*8`($sp) # BE only
+ li r10,`$LOCALS+64+9*16+13*8+15`
+ li r11,`$LOCALS+64+9*16+13*8+31`
+ lvx v20,r10,$sp # restore VMX v20-v23 (callee-saved per ELFv2 ABI)
+ addi r10,r10,32
+ lvx v21,r11,$sp
+ addi r11,r11,32
+ lvx v22,r10,$sp
+ lvx v23,r11,$sp
li r10,`15+$LOCALS+64`
li r11,`31+$LOCALS+64`
$POP r0, `$FRAME+$LRSAVE`($sp)
diff --git a/crypto/openssl/crypto/cmp/cmp_genm.c b/crypto/openssl/crypto/cmp/cmp_genm.c
index ec1f03d20c1..4fecc01a324 100644
--- a/crypto/openssl/crypto/cmp/cmp_genm.c
+++ b/crypto/openssl/crypto/cmp/cmp_genm.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright Siemens AG 2022
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
@@ -113,8 +113,7 @@ static OSSL_CMP_ITAV *get_genm_itav(OSSL_CMP_CTX *ctx,
for (i = 0; i < n; i++) {
OSSL_CMP_ITAV *itav = sk_OSSL_CMP_ITAV_shift(itavs);
ASN1_OBJECT *obj = OSSL_CMP_ITAV_get0_type(itav);
- char name[128] = "genp contains InfoType '";
- size_t offset = strlen(name);
+ char name[128];
if (OBJ_obj2nid(obj) == expected) {
for (i++; i < n; i++)
@@ -123,9 +122,11 @@ static OSSL_CMP_ITAV *get_genm_itav(OSSL_CMP_CTX *ctx,
return itav;
}
- if (OBJ_obj2txt(name + offset, sizeof(name) - offset, obj, 0) < 0)
- strcat(name, "");
- ossl_cmp_log2(WARN, ctx, "%s' while expecting 'id-it-%s'", name, desc);
+ if (OBJ_obj2txt(name, sizeof(name), obj, 0) < 0)
+ name[0] = '\0';
+ ossl_cmp_log2(WARN, ctx,
+ "genp contains InfoType '%s' while expecting 'id-it-%s'",
+ name[0] == '\0' ? "" : name, desc);
OSSL_CMP_ITAV_free(itav);
}
ERR_raise_data(ERR_LIB_CMP, CMP_R_INVALID_GENP,
diff --git a/crypto/openssl/crypto/cms/cms_enc.c b/crypto/openssl/crypto/cms/cms_enc.c
index ba7082cebd7..2aba01be3ef 100644
--- a/crypto/openssl/crypto/cms/cms_enc.c
+++ b/crypto/openssl/crypto/cms/cms_enc.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2008-2021 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2008-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/crypto/cms/cms_env.c b/crypto/openssl/crypto/cms/cms_env.c
index 70dd59c0616..a8ecabb64ed 100644
--- a/crypto/openssl/crypto/cms/cms_env.c
+++ b/crypto/openssl/crypto/cms/cms_env.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2008-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2008-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/crypto/cms/cms_pwri.c b/crypto/openssl/crypto/cms/cms_pwri.c
index faf6a164669..54f0eda2a2d 100644
--- a/crypto/openssl/crypto/cms/cms_pwri.c
+++ b/crypto/openssl/crypto/cms/cms_pwri.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2009-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2009-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/crypto/crmf/crmf_lib.c b/crypto/openssl/crypto/crmf/crmf_lib.c
index 34477d52662..aba92f24c05 100644
--- a/crypto/openssl/crypto/crmf/crmf_lib.c
+++ b/crypto/openssl/crypto/crmf/crmf_lib.c
@@ -1,5 +1,5 @@
/*-
- * Copyright 2007-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2007-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright Nokia 2007-2018
* Copyright Siemens AG 2015-2019
*
diff --git a/crypto/openssl/crypto/des/fcrypt.c b/crypto/openssl/crypto/des/fcrypt.c
index ebf5ce0ee00..09740de6306 100644
--- a/crypto/openssl/crypto/des/fcrypt.c
+++ b/crypto/openssl/crypto/des/fcrypt.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1998-2021 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1998-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -32,134 +32,19 @@
* implementations do.
*/
static const unsigned char con_salt[128] = {
- 0xD2,
- 0xD3,
- 0xD4,
- 0xD5,
- 0xD6,
- 0xD7,
- 0xD8,
- 0xD9,
- 0xDA,
- 0xDB,
- 0xDC,
- 0xDD,
- 0xDE,
- 0xDF,
- 0xE0,
- 0xE1,
- 0xE2,
- 0xE3,
- 0xE4,
- 0xE5,
- 0xE6,
- 0xE7,
- 0xE8,
- 0xE9,
- 0xEA,
- 0xEB,
- 0xEC,
- 0xED,
- 0xEE,
- 0xEF,
- 0xF0,
- 0xF1,
- 0xF2,
- 0xF3,
- 0xF4,
- 0xF5,
- 0xF6,
- 0xF7,
- 0xF8,
- 0xF9,
- 0xFA,
- 0xFB,
- 0xFC,
- 0xFD,
- 0xFE,
- 0xFF,
- 0x00,
- 0x01,
- 0x02,
- 0x03,
- 0x04,
- 0x05,
- 0x06,
- 0x07,
- 0x08,
- 0x09,
- 0x0A,
- 0x0B,
- 0x05,
- 0x06,
- 0x07,
- 0x08,
- 0x09,
- 0x0A,
- 0x0B,
- 0x0C,
- 0x0D,
- 0x0E,
- 0x0F,
- 0x10,
- 0x11,
- 0x12,
- 0x13,
- 0x14,
- 0x15,
- 0x16,
- 0x17,
- 0x18,
- 0x19,
- 0x1A,
- 0x1B,
- 0x1C,
- 0x1D,
- 0x1E,
- 0x1F,
- 0x20,
- 0x21,
- 0x22,
- 0x23,
- 0x24,
- 0x25,
- 0x20,
- 0x21,
- 0x22,
- 0x23,
- 0x24,
- 0x25,
- 0x26,
- 0x27,
- 0x28,
- 0x29,
- 0x2A,
- 0x2B,
- 0x2C,
- 0x2D,
- 0x2E,
- 0x2F,
- 0x30,
- 0x31,
- 0x32,
- 0x33,
- 0x34,
- 0x35,
- 0x36,
- 0x37,
- 0x38,
- 0x39,
- 0x3A,
- 0x3B,
- 0x3C,
- 0x3D,
- 0x3E,
- 0x3F,
- 0x40,
- 0x41,
- 0x42,
- 0x43,
- 0x44,
+ 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB,
+ 0xDC, 0xDD, 0xDE, 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5,
+ 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
+ 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9,
+ 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x00, 0x01, 0x02, 0x03,
+ 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x05, 0x06,
+ 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10,
+ 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A,
+ 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24,
+ 0x25, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
+ 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32,
+ 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C,
+ 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44
};
static const unsigned char cov_2char[64] = {
diff --git a/crypto/openssl/crypto/dso/dso_win32.c b/crypto/openssl/crypto/dso/dso_win32.c
index c36bd757064..3c1e0fbcf2b 100644
--- a/crypto/openssl/crypto/dso/dso_win32.c
+++ b/crypto/openssl/crypto/dso/dso_win32.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2022 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2000-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -319,7 +319,7 @@ static char *win32_joiner(DSO *dso, const struct file_st *file_split)
len++; /* 1 for ending \ */
}
len += file_split->dirlen;
- if (file_split->dir && file_split->file) {
+ if (file_split->dir) {
len++; /* 1 for ending \ */
}
len += file_split->filelen;
diff --git a/crypto/openssl/crypto/ec/curve448/scalar.c b/crypto/openssl/crypto/ec/curve448/scalar.c
index 191b0b4fd2c..cad2a4c465b 100644
--- a/crypto/openssl/crypto/ec/curve448/scalar.c
+++ b/crypto/openssl/crypto/ec/curve448/scalar.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2017-2021 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2017-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright 2015-2016 Cryptography Research, Inc.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
@@ -213,6 +213,7 @@ void ossl_curve448_scalar_halve(curve448_scalar_t out, const curve448_scalar_t a
c448_dword_t chain = 0;
unsigned int i;
+ mask = value_barrier_c448(mask);
for (i = 0; i < C448_SCALAR_LIMBS; i++) {
chain = (chain + a->limb[i]) + (sc_p->limb[i] & mask);
out->limb[i] = (c448_word_t)chain;
diff --git a/crypto/openssl/crypto/ec/curve448/word.h b/crypto/openssl/crypto/ec/curve448/word.h
index 8137be6abb8..df533f2b36d 100644
--- a/crypto/openssl/crypto/ec/curve448/word.h
+++ b/crypto/openssl/crypto/ec/curve448/word.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2017-2021 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2017-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright 2014 Cryptography Research, Inc.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
@@ -18,6 +18,7 @@
#include
#include
#include "curve448utils.h"
+#include "internal/constant_time.h"
#ifdef INT128_MAX
#include "arch_64/arch_intrinsics.h"
@@ -53,6 +54,12 @@ typedef int64_t dsword_t;
#error "For now we only support 32- and 64-bit architectures."
#endif
+#if C448_WORD_BITS == 64
+#define value_barrier_c448(x) value_barrier_64(x)
+#elif C448_WORD_BITS == 32
+#define value_barrier_c448(x) value_barrier_32(x)
+#endif
+
/*
* The plan on booleans: The external interface uses c448_bool_t, but this
* might be a different size than our particular arch's word_t (and thus
diff --git a/crypto/openssl/crypto/ec/ec_curve.c b/crypto/openssl/crypto/ec/ec_curve.c
index c17a7e54771..c3bc92fd75a 100644
--- a/crypto/openssl/crypto/ec/ec_curve.c
+++ b/crypto/openssl/crypto/ec/ec_curve.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2002-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
@@ -2495,208 +2495,38 @@ static const struct {
unsigned char data[0 + 32 * 6];
} _EC_sm2p256v1 = {
{ NID_X9_62_prime_field, 0, 32, 1 },
- {
- /* no seed */
+ { /* no seed */
/* p */
- 0xff,
- 0xff,
- 0xff,
- 0xfe,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
+ 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff,
/* a */
- 0xff,
- 0xff,
- 0xff,
- 0xfe,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xfc,
+ 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xfc,
/* b */
- 0x28,
- 0xe9,
- 0xfa,
- 0x9e,
- 0x9d,
- 0x9f,
- 0x5e,
- 0x34,
- 0x4d,
- 0x5a,
- 0x9e,
- 0x4b,
- 0xcf,
- 0x65,
- 0x09,
- 0xa7,
- 0xf3,
- 0x97,
- 0x89,
- 0xf5,
- 0x15,
- 0xab,
- 0x8f,
- 0x92,
- 0xdd,
- 0xbc,
- 0xbd,
- 0x41,
- 0x4d,
- 0x94,
- 0x0e,
- 0x93,
+ 0x28, 0xe9, 0xfa, 0x9e, 0x9d, 0x9f, 0x5e, 0x34, 0x4d, 0x5a,
+ 0x9e, 0x4b, 0xcf, 0x65, 0x09, 0xa7, 0xf3, 0x97, 0x89, 0xf5,
+ 0x15, 0xab, 0x8f, 0x92, 0xdd, 0xbc, 0xbd, 0x41, 0x4d, 0x94,
+ 0x0e, 0x93,
/* x */
- 0x32,
- 0xc4,
- 0xae,
- 0x2c,
- 0x1f,
- 0x19,
- 0x81,
- 0x19,
- 0x5f,
- 0x99,
- 0x04,
- 0x46,
- 0x6a,
- 0x39,
- 0xc9,
- 0x94,
- 0x8f,
- 0xe3,
- 0x0b,
- 0xbf,
- 0xf2,
- 0x66,
- 0x0b,
- 0xe1,
- 0x71,
- 0x5a,
- 0x45,
- 0x89,
- 0x33,
- 0x4c,
- 0x74,
- 0xc7,
+ 0x32, 0xc4, 0xae, 0x2c, 0x1f, 0x19, 0x81, 0x19, 0x5f, 0x99,
+ 0x04, 0x46, 0x6a, 0x39, 0xc9, 0x94, 0x8f, 0xe3, 0x0b, 0xbf,
+ 0xf2, 0x66, 0x0b, 0xe1, 0x71, 0x5a, 0x45, 0x89, 0x33, 0x4c,
+ 0x74, 0xc7,
/* y */
- 0xbc,
- 0x37,
- 0x36,
- 0xa2,
- 0xf4,
- 0xf6,
- 0x77,
- 0x9c,
- 0x59,
- 0xbd,
- 0xce,
- 0xe3,
- 0x6b,
- 0x69,
- 0x21,
- 0x53,
- 0xd0,
- 0xa9,
- 0x87,
- 0x7c,
- 0xc6,
- 0x2a,
- 0x47,
- 0x40,
- 0x02,
- 0xdf,
- 0x32,
- 0xe5,
- 0x21,
- 0x39,
- 0xf0,
- 0xa0,
+ 0xbc, 0x37, 0x36, 0xa2, 0xf4, 0xf6, 0x77, 0x9c, 0x59, 0xbd,
+ 0xce, 0xe3, 0x6b, 0x69, 0x21, 0x53, 0xd0, 0xa9, 0x87, 0x7c,
+ 0xc6, 0x2a, 0x47, 0x40, 0x02, 0xdf, 0x32, 0xe5, 0x21, 0x39,
+ 0xf0, 0xa0,
/* order */
- 0xff,
- 0xff,
- 0xff,
- 0xfe,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0x72,
- 0x03,
- 0xdf,
- 0x6b,
- 0x21,
- 0xc6,
- 0x05,
- 0x2b,
- 0x53,
- 0xbb,
- 0xf4,
- 0x09,
- 0x39,
- 0xd5,
- 0x41,
- 0x23,
- }
+ 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x72, 0x03, 0xdf, 0x6b,
+ 0x21, 0xc6, 0x05, 0x2b, 0x53, 0xbb, 0xf4, 0x09, 0x39, 0xd5,
+ 0x41, 0x23 }
};
#endif /* OPENSSL_NO_SM2 */
diff --git a/crypto/openssl/crypto/ec/ec_lib.c b/crypto/openssl/crypto/ec/ec_lib.c
index 2a5f93de1fd..e29e39aca56 100644
--- a/crypto/openssl/crypto/ec/ec_lib.c
+++ b/crypto/openssl/crypto/ec/ec_lib.c
@@ -1683,7 +1683,8 @@ EC_GROUP *EC_GROUP_new_from_params(const OSSL_PARAM params[],
/* generator base point */
ptmp = OSSL_PARAM_locate_const(params, OSSL_PKEY_PARAM_EC_GENERATOR);
if (ptmp == NULL
- || ptmp->data_type != OSSL_PARAM_OCTET_STRING) {
+ || ptmp->data_type != OSSL_PARAM_OCTET_STRING
+ || ptmp->data_size == 0) {
ERR_raise(ERR_LIB_EC, EC_R_INVALID_GENERATOR);
goto err;
}
diff --git a/crypto/openssl/crypto/ec/ecp_s390x_nistp.c b/crypto/openssl/crypto/ec/ecp_s390x_nistp.c
index 85f98609054..d06fd444f18 100644
--- a/crypto/openssl/crypto/ec/ecp_s390x_nistp.c
+++ b/crypto/openssl/crypto/ec/ecp_s390x_nistp.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -142,9 +142,24 @@ static ECDSA_SIG *ecdsa_s390x_nistp_sign_sig(const unsigned char *dgst,
const BIGNUM *privkey;
int off;
+ if (dgstlen < 0) {
+ ERR_raise(ERR_LIB_EC, EC_R_INVALID_LENGTH);
+ return NULL;
+ }
+
+ if (eckey == NULL) {
+ ERR_raise(ERR_LIB_EC, EC_R_MISSING_PARAMETERS);
+ return NULL;
+ }
+
group = EC_KEY_get0_group(eckey);
+ if (group == NULL) {
+ ERR_raise(ERR_LIB_EC, EC_R_MISSING_PARAMETERS);
+ return NULL;
+ }
+
privkey = EC_KEY_get0_private_key(eckey);
- if (group == NULL || privkey == NULL) {
+ if (privkey == NULL) {
ERR_raise(ERR_LIB_EC, EC_R_MISSING_PARAMETERS);
return NULL;
}
@@ -239,9 +254,24 @@ static int ecdsa_s390x_nistp_verify_sig(const unsigned char *dgst, int dgstlen,
const EC_POINT *pubkey;
int off;
+ if (dgstlen < 0) {
+ ERR_raise(ERR_LIB_EC, EC_R_INVALID_LENGTH);
+ return -1;
+ }
+
+ if (sig == NULL || eckey == NULL) {
+ ERR_raise(ERR_LIB_EC, EC_R_MISSING_PARAMETERS);
+ return -1;
+ }
+
group = EC_KEY_get0_group(eckey);
+ if (group == NULL) {
+ ERR_raise(ERR_LIB_EC, EC_R_MISSING_PARAMETERS);
+ return -1;
+ }
+
pubkey = EC_KEY_get0_public_key(eckey);
- if (eckey == NULL || group == NULL || pubkey == NULL || sig == NULL) {
+ if (pubkey == NULL) {
ERR_raise(ERR_LIB_EC, EC_R_MISSING_PARAMETERS);
return -1;
}
diff --git a/crypto/openssl/crypto/ec/ecp_sm2p256.c b/crypto/openssl/crypto/ec/ecp_sm2p256.c
index 37020c49beb..5cb5f1be994 100644
--- a/crypto/openssl/crypto/ec/ecp_sm2p256.c
+++ b/crypto/openssl/crypto/ec/ecp_sm2p256.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2023-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2023-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -46,10 +46,7 @@ ALIGN32 static const BN_ULONG def_xG[P256_LIMBS] = {
};
ALIGN32 static const BN_ULONG def_yG[P256_LIMBS] = {
- 0x02df32e52139f0a0,
- 0xd0a9877cc62a4740,
- 0x59bdcee36b692153,
- 0xbc3736a2f4f6779c,
+ 0x02df32e52139f0a0, 0xd0a9877cc62a4740, 0x59bdcee36b692153, 0xbc3736a2f4f6779c
};
#endif
diff --git a/crypto/openssl/crypto/evp/asymcipher.c b/crypto/openssl/crypto/evp/asymcipher.c
index 652303483d0..f1f5fd35390 100644
--- a/crypto/openssl/crypto/evp/asymcipher.c
+++ b/crypto/openssl/crypto/evp/asymcipher.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2006-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2006-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -102,7 +102,9 @@ static int evp_pkey_asym_cipher_init(EVP_PKEY_CTX *ctx, int operation,
* iteration we're on.
*/
EVP_ASYM_CIPHER_free(cipher);
+ cipher = NULL;
EVP_KEYMGMT_free(tmp_keymgmt);
+ tmp_keymgmt = NULL;
switch (iter) {
case 1:
diff --git a/crypto/openssl/crypto/evp/e_aes.c b/crypto/openssl/crypto/evp/e_aes.c
index 5a99fe8d577..da2090f894c 100644
--- a/crypto/openssl/crypto/evp/e_aes.c
+++ b/crypto/openssl/crypto/evp/e_aes.c
@@ -1466,7 +1466,7 @@ static int s390x_aes_gcm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
return 1;
case EVP_CTRL_AEAD_SET_IVLEN:
- if (arg <= 0)
+ if (arg <= 0 || arg > EVP_MAX_IV_LENGTH)
return 0;
if (arg != 12) {
diff --git a/crypto/openssl/crypto/evp/encode.c b/crypto/openssl/crypto/evp/encode.c
index d554941e7cc..19cc550519e 100644
--- a/crypto/openssl/crypto/evp/encode.c
+++ b/crypto/openssl/crypto/evp/encode.c
@@ -67,265 +67,35 @@ static const unsigned char srpdata_bin2ascii[65] = "0123456789ABCDEFGHIJKLMNOPQR
#define B64_BASE64(a) (!B64_NOT_BASE64(a))
static const unsigned char data_ascii2bin[128] = {
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xE0,
- 0xF0,
- 0xFF,
- 0xFF,
- 0xF1,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xE0,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0x3E,
- 0xFF,
- 0xF2,
- 0xFF,
- 0x3F,
- 0x34,
- 0x35,
- 0x36,
- 0x37,
- 0x38,
- 0x39,
- 0x3A,
- 0x3B,
- 0x3C,
- 0x3D,
- 0xFF,
- 0xFF,
- 0xFF,
- 0x00,
- 0xFF,
- 0xFF,
- 0xFF,
- 0x00,
- 0x01,
- 0x02,
- 0x03,
- 0x04,
- 0x05,
- 0x06,
- 0x07,
- 0x08,
- 0x09,
- 0x0A,
- 0x0B,
- 0x0C,
- 0x0D,
- 0x0E,
- 0x0F,
- 0x10,
- 0x11,
- 0x12,
- 0x13,
- 0x14,
- 0x15,
- 0x16,
- 0x17,
- 0x18,
- 0x19,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0x1A,
- 0x1B,
- 0x1C,
- 0x1D,
- 0x1E,
- 0x1F,
- 0x20,
- 0x21,
- 0x22,
- 0x23,
- 0x24,
- 0x25,
- 0x26,
- 0x27,
- 0x28,
- 0x29,
- 0x2A,
- 0x2B,
- 0x2C,
- 0x2D,
- 0x2E,
- 0x2F,
- 0x30,
- 0x31,
- 0x32,
- 0x33,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0,
+ 0xF0, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0x3E, 0xFF, 0xF2, 0xFF, 0x3F, 0x34, 0x35,
+ 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0xFF, 0xFF,
+ 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0x02, 0x03, 0x04,
+ 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E,
+ 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
+ 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x1A, 0x1B, 0x1C,
+ 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
+ 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30,
+ 0x31, 0x32, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
static const unsigned char srpdata_ascii2bin[128] = {
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xE0,
- 0xF0,
- 0xFF,
- 0xFF,
- 0xF1,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xE0,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xF2,
- 0x3E,
- 0x3F,
- 0x00,
- 0x01,
- 0x02,
- 0x03,
- 0x04,
- 0x05,
- 0x06,
- 0x07,
- 0x08,
- 0x09,
- 0xFF,
- 0xFF,
- 0xFF,
- 0x00,
- 0xFF,
- 0xFF,
- 0xFF,
- 0x0A,
- 0x0B,
- 0x0C,
- 0x0D,
- 0x0E,
- 0x0F,
- 0x10,
- 0x11,
- 0x12,
- 0x13,
- 0x14,
- 0x15,
- 0x16,
- 0x17,
- 0x18,
- 0x19,
- 0x1A,
- 0x1B,
- 0x1C,
- 0x1D,
- 0x1E,
- 0x1F,
- 0x20,
- 0x21,
- 0x22,
- 0x23,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0x24,
- 0x25,
- 0x26,
- 0x27,
- 0x28,
- 0x29,
- 0x2A,
- 0x2B,
- 0x2C,
- 0x2D,
- 0x2E,
- 0x2F,
- 0x30,
- 0x31,
- 0x32,
- 0x33,
- 0x34,
- 0x35,
- 0x36,
- 0x37,
- 0x38,
- 0x39,
- 0x3A,
- 0x3B,
- 0x3C,
- 0x3D,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0,
+ 0xF0, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF2, 0x3E, 0x3F, 0x00, 0x01,
+ 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0xFF, 0xFF,
+ 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E,
+ 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
+ 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22,
+ 0x23, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x24, 0x25, 0x26,
+ 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30,
+ 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A,
+ 0x3B, 0x3C, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
#ifndef CHARSET_EBCDIC
diff --git a/crypto/openssl/crypto/evp/evp_lib.c b/crypto/openssl/crypto/evp/evp_lib.c
index ddf5fd54b31..95eeca3c4d4 100644
--- a/crypto/openssl/crypto/evp/evp_lib.c
+++ b/crypto/openssl/crypto/evp/evp_lib.c
@@ -297,7 +297,7 @@ int EVP_CIPHER_get_type(const EVP_CIPHER *cipher)
case NID_des_ede3_cfb8:
case NID_des_ede3_cfb1:
- return NID_des_cfb64;
+ return NID_des_ede3_cfb64;
default:
#ifdef FIPS_MODULE
diff --git a/crypto/openssl/crypto/evp/kem.c b/crypto/openssl/crypto/evp/kem.c
index d0cf696b322..cb53d40eeb1 100644
--- a/crypto/openssl/crypto/evp/kem.c
+++ b/crypto/openssl/crypto/evp/kem.c
@@ -97,7 +97,9 @@ static int evp_kem_init(EVP_PKEY_CTX *ctx, int operation,
* iteration we're on.
*/
EVP_KEM_free(kem);
+ kem = NULL;
EVP_KEYMGMT_free(tmp_keymgmt);
+ tmp_keymgmt = NULL;
switch (iter) {
case 1:
diff --git a/crypto/openssl/crypto/evp/m_sigver.c b/crypto/openssl/crypto/evp/m_sigver.c
index 0a433adbe41..01f7e923932 100644
--- a/crypto/openssl/crypto/evp/m_sigver.c
+++ b/crypto/openssl/crypto/evp/m_sigver.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2006-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2006-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -139,7 +139,9 @@ static int do_sigver_init(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
* iteration we're on.
*/
EVP_SIGNATURE_free(signature);
+ signature = NULL;
EVP_KEYMGMT_free(tmp_keymgmt);
+ tmp_keymgmt = NULL;
switch (iter) {
case 1:
diff --git a/crypto/openssl/crypto/evp/signature.c b/crypto/openssl/crypto/evp/signature.c
index 8b57ac67fe7..85560ec4fde 100644
--- a/crypto/openssl/crypto/evp/signature.c
+++ b/crypto/openssl/crypto/evp/signature.c
@@ -726,7 +726,9 @@ static int evp_pkey_signature_init(EVP_PKEY_CTX *ctx, EVP_SIGNATURE *signature,
* iteration we're on.
*/
EVP_SIGNATURE_free(signature);
+ signature = NULL;
EVP_KEYMGMT_free(tmp_keymgmt);
+ tmp_keymgmt = NULL;
switch (iter) {
case 1:
diff --git a/crypto/openssl/crypto/ffc/ffc_params.c b/crypto/openssl/crypto/ffc/ffc_params.c
index 9815360a4e8..ce0f7e08c97 100644
--- a/crypto/openssl/crypto/ffc/ffc_params.c
+++ b/crypto/openssl/crypto/ffc/ffc_params.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -182,8 +182,10 @@ int ossl_ffc_params_copy(FFC_PARAMS *dst, const FFC_PARAMS *src)
if (!ffc_bn_cpy(&dst->p, src->p)
|| !ffc_bn_cpy(&dst->g, src->g)
|| !ffc_bn_cpy(&dst->q, src->q)
- || !ffc_bn_cpy(&dst->j, src->j))
+ || !ffc_bn_cpy(&dst->j, src->j)) {
+ ossl_ffc_params_cleanup(dst);
return 0;
+ }
dst->mdname = src->mdname;
dst->mdprops = src->mdprops;
@@ -191,8 +193,10 @@ int ossl_ffc_params_copy(FFC_PARAMS *dst, const FFC_PARAMS *src)
dst->seedlen = src->seedlen;
if (src->seed != NULL) {
dst->seed = OPENSSL_memdup(src->seed, src->seedlen);
- if (dst->seed == NULL)
+ if (dst->seed == NULL) {
+ ossl_ffc_params_cleanup(dst);
return 0;
+ }
} else {
dst->seed = NULL;
}
diff --git a/crypto/openssl/crypto/hashtable/hashtable.c b/crypto/openssl/crypto/hashtable/hashtable.c
index 8b9f9cc0d9f..11f144f2219 100644
--- a/crypto/openssl/crypto/hashtable/hashtable.c
+++ b/crypto/openssl/crypto/hashtable/hashtable.c
@@ -285,6 +285,7 @@ static int ossl_ht_flush_internal(HT *h)
{
struct ht_mutable_data_st *newmd = NULL;
struct ht_mutable_data_st *oldmd = NULL;
+ CRYPTO_RCU_CB_ITEM *cbi = NULL;
newmd = OPENSSL_zalloc(sizeof(*newmd));
if (newmd == NULL)
@@ -299,6 +300,13 @@ static int ossl_ht_flush_internal(HT *h)
newmd->neighborhood_mask = DEFAULT_NEIGH_LEN - 1;
+ cbi = ossl_rcu_cb_item_new();
+ if (cbi == NULL) {
+ OPENSSL_free(newmd->neighborhood_ptr_to_free);
+ OPENSSL_free(newmd);
+ return 0;
+ }
+
/* Swap the old and new mutable data sets */
oldmd = ossl_rcu_deref(&h->md);
ossl_rcu_assign_ptr(&h->md, &newmd);
@@ -307,8 +315,9 @@ static int ossl_ht_flush_internal(HT *h)
h->wpd.value_count = 0;
h->wpd.neighborhood_len = DEFAULT_NEIGH_LEN;
- ossl_rcu_call(h->lock, free_oldmd, oldmd);
+ ossl_rcu_call(h->lock, cbi, free_oldmd, oldmd);
h->wpd.need_sync = 1;
+
return 1;
}
@@ -319,17 +328,23 @@ int ossl_ht_flush(HT *h)
void ossl_ht_free(HT *h)
{
+ int flush_ok;
+
if (h == NULL)
return;
ossl_ht_write_lock(h);
- ossl_ht_flush_internal(h);
+ flush_ok = ossl_ht_flush_internal(h);
ossl_ht_write_unlock(h);
/* Freeing the lock does a final sync for us */
CRYPTO_THREAD_lock_free(h->atomic_lock);
ossl_rcu_lock_free(h->lock);
- OPENSSL_free(h->md->neighborhood_ptr_to_free);
- OPENSSL_free(h->md);
+ if (flush_ok) {
+ OPENSSL_free(h->md->neighborhood_ptr_to_free);
+ OPENSSL_free(h->md);
+ } else {
+ free_oldmd(h->md);
+ }
OPENSSL_free(h);
return;
}
@@ -423,6 +438,7 @@ static int grow_hashtable(HT *h, size_t oldsize)
{
struct ht_mutable_data_st *newmd;
struct ht_mutable_data_st *oldmd = ossl_rcu_deref(&h->md);
+ CRYPTO_RCU_CB_ITEM *cbi = NULL;
int rc = 0;
uint64_t oldi, oldj, newi, newj;
uint64_t oldhash;
@@ -469,12 +485,20 @@ static int grow_hashtable(HT *h, size_t oldsize)
}
if (rehashed == 0) {
/* we ran out of space in a neighborhood, grow again */
- OPENSSL_free(newmd->neighborhoods);
+ OPENSSL_free(newmd->neighborhood_ptr_to_free);
OPENSSL_free(newmd);
return grow_hashtable(h, newsize);
}
}
}
+
+ /*
+ * Pre allocate the rcu callback item before assigning the newmd.
+ */
+ cbi = ossl_rcu_cb_item_new();
+ if (cbi == NULL)
+ goto out_free;
+
/*
* Now that our entries are all hashed into the new bucket list
* update our bucket_len and target_max_load
@@ -485,7 +509,7 @@ static int grow_hashtable(HT *h, size_t oldsize)
* Now we replace the old mutable data with the new
*/
ossl_rcu_assign_ptr(&h->md, &newmd);
- ossl_rcu_call(h->lock, free_old_neigh_table, oldmd);
+ ossl_rcu_call(h->lock, cbi, free_old_neigh_table, oldmd);
h->wpd.need_sync = 1;
/*
* And we're done
@@ -495,7 +519,7 @@ static int grow_hashtable(HT *h, size_t oldsize)
out:
return rc;
out_free:
- OPENSSL_free(newmd->neighborhoods);
+ OPENSSL_free(newmd->neighborhood_ptr_to_free);
OPENSSL_free(newmd);
goto out;
}
@@ -539,6 +563,7 @@ static int ossl_ht_insert_locked(HT *h, uint64_t hash,
HT_VALUE *ival;
size_t empty_idx = SIZE_MAX;
int lockless_reads = h->config.lockless_reads;
+ CRYPTO_RCU_CB_ITEM *cbi;
do {
PREFETCH_NEIGHBORHOOD(md->neighborhoods[neigh_idx]);
@@ -561,13 +586,16 @@ static int ossl_ht_insert_locked(HT *h, uint64_t hash,
return 0;
}
/* Do a replacement */
+ cbi = ossl_rcu_cb_item_new();
+ if (cbi == NULL)
+ return 0;
if (!CRYPTO_atomic_store(&md->neighborhoods[neigh_idx].entries[j].hash,
hash, h->atomic_lock))
return 0;
*olddata = (HT_VALUE *)md->neighborhoods[neigh_idx].entries[j].value;
ossl_rcu_assign_ptr(&md->neighborhoods[neigh_idx].entries[j].value,
&newval);
- ossl_rcu_call(h->lock, free_old_ht_value, *olddata);
+ ossl_rcu_call(h->lock, cbi, free_old_ht_value, *olddata);
h->wpd.need_sync = 1;
return 1;
}
@@ -646,7 +674,7 @@ int ossl_ht_insert(HT *h, HT_KEY *key, HT_VALUE *data, HT_VALUE **olddata)
for (i = 0;
(rc = ossl_ht_insert_locked(h, hash, newval, olddata)) == -1
- && i < 4;
+ && i <= (int)NEIGHBORHOOD_LEN;
++i)
if (!grow_hashtable(h, h->wpd.neighborhood_len)) {
rc = -1;
@@ -730,19 +758,20 @@ int ossl_ht_delete(HT *h, HT_KEY *key)
continue;
if (compare_hash(hash, h->md->neighborhoods[neigh_idx].entries[j].hash)
&& match_key(key, &v->value.key)) {
+ CRYPTO_RCU_CB_ITEM *cbi = ossl_rcu_cb_item_new();
+ if (cbi == NULL)
+ break;
if (!CRYPTO_atomic_store(&h->md->neighborhoods[neigh_idx].entries[j].hash,
0, h->atomic_lock))
break;
h->wpd.value_count--;
ossl_rcu_assign_ptr(&h->md->neighborhoods[neigh_idx].entries[j].value,
&nv);
+ ossl_rcu_call(h->lock, cbi, free_old_entry, v);
+ h->wpd.need_sync = 1;
rc = 1;
break;
}
}
- if (rc == 1) {
- ossl_rcu_call(h->lock, free_old_entry, v);
- h->wpd.need_sync = 1;
- }
return rc;
}
diff --git a/crypto/openssl/crypto/hpke/hpke_util.c b/crypto/openssl/crypto/hpke/hpke_util.c
index b74f36b6e37..511e08b0c26 100644
--- a/crypto/openssl/crypto/hpke/hpke_util.c
+++ b/crypto/openssl/crypto/hpke/hpke_util.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -406,9 +406,8 @@ EVP_KDF_CTX *ossl_kdf_ctx_create(const char *kdfname, const char *mdname,
if (kctx != NULL && mdname != NULL) {
OSSL_PARAM params[3], *p = params;
- if (mdname != NULL)
- *p++ = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_DIGEST,
- (char *)mdname, 0);
+ *p++ = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_DIGEST,
+ (char *)mdname, 0);
if (propq != NULL)
*p++ = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_PROPERTIES,
(char *)propq, 0);
diff --git a/crypto/openssl/crypto/http/http_client.c b/crypto/openssl/crypto/http/http_client.c
index 1e603d870c0..3502766f6b7 100644
--- a/crypto/openssl/crypto/http/http_client.c
+++ b/crypto/openssl/crypto/http/http_client.c
@@ -95,6 +95,16 @@ struct ossl_http_req_ctx_st {
/* Low-level HTTP API implementation */
+static int no_crlf(const char *component, const char *value)
+{
+ if (value != NULL && strpbrk(value, "\r\n") != NULL) {
+ ERR_raise_data(ERR_LIB_HTTP, ERR_R_PASSED_INVALID_ARGUMENT,
+ "CR or LF character in %s", component);
+ return 0;
+ }
+ return 1;
+}
+
OSSL_HTTP_REQ_CTX *OSSL_HTTP_REQ_CTX_new(BIO *wbio, BIO *rbio, int buf_size)
{
OSSL_HTTP_REQ_CTX *rctx;
@@ -184,6 +194,10 @@ int OSSL_HTTP_REQ_CTX_set_request_line(OSSL_HTTP_REQ_CTX *rctx, int method_POST,
ERR_raise(ERR_LIB_HTTP, ERR_R_PASSED_NULL_PARAMETER);
return 0;
}
+ if (!no_crlf("server", server)
+ || !no_crlf("port", port)
+ || !no_crlf("path", path))
+ return 0;
BIO_free(rctx->mem);
if ((rctx->mem = BIO_new(BIO_s_mem())) == NULL)
return 0;
@@ -237,6 +251,9 @@ int OSSL_HTTP_REQ_CTX_add1_header(OSSL_HTTP_REQ_CTX *rctx,
ERR_raise(ERR_LIB_HTTP, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
return 0;
}
+ if (!no_crlf("header name", name)
+ || !no_crlf("header value", value))
+ return 0;
if (BIO_puts(rctx->mem, name) <= 0)
return 0;
@@ -310,7 +327,7 @@ static int set1_content(OSSL_HTTP_REQ_CTX *rctx,
} else {
if (HAS_CASE_PREFIX(content_type, "text/"))
rctx->text = 1;
- if (BIO_printf(rctx->mem, "Content-Type: %s\r\n", content_type) <= 0)
+ if (!OSSL_HTTP_REQ_CTX_add1_header(rctx, "Content-Type", content_type))
return 0;
}
@@ -1442,11 +1459,11 @@ int OSSL_HTTP_proxy_connect(BIO *bio, const char *server, const char *port,
{
#undef BUF_SIZE
#define BUF_SIZE (8 * 1024)
- char *mbuf = OPENSSL_malloc(BUF_SIZE);
+ char *mbuf = NULL;
char *mbufp;
int read_len = 0;
int ret = 0;
- BIO *fbio = BIO_new(BIO_f_buffer());
+ BIO *fbio = NULL;
int rv;
time_t max_time = timeout > 0 ? time(NULL) + timeout : 0;
@@ -1457,8 +1474,11 @@ int OSSL_HTTP_proxy_connect(BIO *bio, const char *server, const char *port,
}
if (port == NULL || *port == '\0')
port = OSSL_HTTPS_PORT;
+ if (!no_crlf("server", server) || !no_crlf("port", port))
+ goto end;
- if (mbuf == NULL || fbio == NULL) {
+ if ((mbuf = OPENSSL_malloc(BUF_SIZE)) == NULL
+ || (fbio = BIO_new(BIO_f_buffer())) == NULL) {
BIO_printf(bio_err /* may be NULL */, "%s: out of memory", prog);
goto end;
}
diff --git a/crypto/openssl/crypto/http/http_lib.c b/crypto/openssl/crypto/http/http_lib.c
index c8ffd87c062..05bf4be7885 100644
--- a/crypto/openssl/crypto/http/http_lib.c
+++ b/crypto/openssl/crypto/http/http_lib.c
@@ -271,6 +271,9 @@ static int use_proxy(const char *no_proxy, const char *server)
server = host;
}
+ if (sl == 0)
+ return 1;
+
/*
* using environment variable names, both lowercase and uppercase variants,
* compatible with other HTTP client implementations like wget, curl and git
diff --git a/crypto/openssl/crypto/initthread.c b/crypto/openssl/crypto/initthread.c
index 241fdf85362..22738b93310 100644
--- a/crypto/openssl/crypto/initthread.c
+++ b/crypto/openssl/crypto/initthread.c
@@ -121,6 +121,16 @@ init_get_thread_local(CRYPTO_THREAD_LOCAL *local, int alloc, int keep)
return hands;
}
+int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *))
+{
+
+#ifndef FIPS_MODULE
+ if (!ossl_init_thread())
+ return 0;
+#endif
+ return ossl_thread_init_local(key, cleanup);
+}
+
#ifndef FIPS_MODULE
/*
* Since per-thread-specific-data destructors are not universally
@@ -200,36 +210,18 @@ static void init_thread_destructor(void *hands)
}
static CRYPTO_ONCE ossl_init_thread_runonce = CRYPTO_ONCE_STATIC_INIT;
-/* MSVC linker can use other segment for uninitialized (zeroed) variables */
-#if defined(OPENSSL_SYS_WINDOWS)
-static CRYPTO_THREAD_ID recursion_guard = (CRYPTO_THREAD_ID)-1;
-#elif defined(OPENSSL_SYS_TANDEM) && (defined(_PUT_MODEL_) || defined(_KLT_MODEL_))
-static CRYPTO_THREAD_ID recursion_guard = { (void *)-1, (short)-1, (short)-1 };
-#else
-static CRYPTO_THREAD_ID recursion_guard = (CRYPTO_THREAD_ID)0;
-#endif
DEFINE_RUN_ONCE_STATIC(ossl_init_thread_once)
{
- /* CRYPTO_THREAD_init_local() can call ossl_init_threads() again */
- recursion_guard = CRYPTO_THREAD_get_current_id();
- if (!CRYPTO_THREAD_init_local(&destructor_key.value,
+ if (!ossl_thread_init_local(&destructor_key.value,
init_thread_destructor))
return 0;
-#if defined(OPENSSL_SYS_TANDEM)
- memset(&recursion_guard, 0, sizeof(recursion_guard));
-#else
- recursion_guard = (CRYPTO_THREAD_ID)0;
-#endif
return 1;
}
int ossl_init_thread(void)
{
- if (CRYPTO_THREAD_compare_id(recursion_guard,
- CRYPTO_THREAD_get_current_id()))
- return 1;
if (!RUN_ONCE(&ossl_init_thread_runonce, ossl_init_thread_once))
return 0;
return 1;
diff --git a/crypto/openssl/crypto/md2/md2_dgst.c b/crypto/openssl/crypto/md2/md2_dgst.c
index 61c4b72507a..6fb24e32dd5 100644
--- a/crypto/openssl/crypto/md2/md2_dgst.c
+++ b/crypto/openssl/crypto/md2/md2_dgst.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -32,262 +32,32 @@ static void md2_block(MD2_CTX *c, const unsigned char *d);
* a random byte string.
*/
static const MD2_INT S[256] = {
- 0x29,
- 0x2E,
- 0x43,
- 0xC9,
- 0xA2,
- 0xD8,
- 0x7C,
- 0x01,
- 0x3D,
- 0x36,
- 0x54,
- 0xA1,
- 0xEC,
- 0xF0,
- 0x06,
- 0x13,
- 0x62,
- 0xA7,
- 0x05,
- 0xF3,
- 0xC0,
- 0xC7,
- 0x73,
- 0x8C,
- 0x98,
- 0x93,
- 0x2B,
- 0xD9,
- 0xBC,
- 0x4C,
- 0x82,
- 0xCA,
- 0x1E,
- 0x9B,
- 0x57,
- 0x3C,
- 0xFD,
- 0xD4,
- 0xE0,
- 0x16,
- 0x67,
- 0x42,
- 0x6F,
- 0x18,
- 0x8A,
- 0x17,
- 0xE5,
- 0x12,
- 0xBE,
- 0x4E,
- 0xC4,
- 0xD6,
- 0xDA,
- 0x9E,
- 0xDE,
- 0x49,
- 0xA0,
- 0xFB,
- 0xF5,
- 0x8E,
- 0xBB,
- 0x2F,
- 0xEE,
- 0x7A,
- 0xA9,
- 0x68,
- 0x79,
- 0x91,
- 0x15,
- 0xB2,
- 0x07,
- 0x3F,
- 0x94,
- 0xC2,
- 0x10,
- 0x89,
- 0x0B,
- 0x22,
- 0x5F,
- 0x21,
- 0x80,
- 0x7F,
- 0x5D,
- 0x9A,
- 0x5A,
- 0x90,
- 0x32,
- 0x27,
- 0x35,
- 0x3E,
- 0xCC,
- 0xE7,
- 0xBF,
- 0xF7,
- 0x97,
- 0x03,
- 0xFF,
- 0x19,
- 0x30,
- 0xB3,
- 0x48,
- 0xA5,
- 0xB5,
- 0xD1,
- 0xD7,
- 0x5E,
- 0x92,
- 0x2A,
- 0xAC,
- 0x56,
- 0xAA,
- 0xC6,
- 0x4F,
- 0xB8,
- 0x38,
- 0xD2,
- 0x96,
- 0xA4,
- 0x7D,
- 0xB6,
- 0x76,
- 0xFC,
- 0x6B,
- 0xE2,
- 0x9C,
- 0x74,
- 0x04,
- 0xF1,
- 0x45,
- 0x9D,
- 0x70,
- 0x59,
- 0x64,
- 0x71,
- 0x87,
- 0x20,
- 0x86,
- 0x5B,
- 0xCF,
- 0x65,
- 0xE6,
- 0x2D,
- 0xA8,
- 0x02,
- 0x1B,
- 0x60,
- 0x25,
- 0xAD,
- 0xAE,
- 0xB0,
- 0xB9,
- 0xF6,
- 0x1C,
- 0x46,
- 0x61,
- 0x69,
- 0x34,
- 0x40,
- 0x7E,
- 0x0F,
- 0x55,
- 0x47,
- 0xA3,
- 0x23,
- 0xDD,
- 0x51,
- 0xAF,
- 0x3A,
- 0xC3,
- 0x5C,
- 0xF9,
- 0xCE,
- 0xBA,
- 0xC5,
- 0xEA,
- 0x26,
- 0x2C,
- 0x53,
- 0x0D,
- 0x6E,
- 0x85,
- 0x28,
- 0x84,
- 0x09,
- 0xD3,
- 0xDF,
- 0xCD,
- 0xF4,
- 0x41,
- 0x81,
- 0x4D,
- 0x52,
- 0x6A,
- 0xDC,
- 0x37,
- 0xC8,
- 0x6C,
- 0xC1,
- 0xAB,
- 0xFA,
- 0x24,
- 0xE1,
- 0x7B,
- 0x08,
- 0x0C,
- 0xBD,
- 0xB1,
- 0x4A,
- 0x78,
- 0x88,
- 0x95,
- 0x8B,
- 0xE3,
- 0x63,
- 0xE8,
- 0x6D,
- 0xE9,
- 0xCB,
- 0xD5,
- 0xFE,
- 0x3B,
- 0x00,
- 0x1D,
- 0x39,
- 0xF2,
- 0xEF,
- 0xB7,
- 0x0E,
- 0x66,
- 0x58,
- 0xD0,
- 0xE4,
- 0xA6,
- 0x77,
- 0x72,
- 0xF8,
- 0xEB,
- 0x75,
- 0x4B,
- 0x0A,
- 0x31,
- 0x44,
- 0x50,
- 0xB4,
- 0x8F,
- 0xED,
- 0x1F,
- 0x1A,
- 0xDB,
- 0x99,
- 0x8D,
- 0x33,
- 0x9F,
- 0x11,
- 0x83,
- 0x14,
+ 0x29, 0x2E, 0x43, 0xC9, 0xA2, 0xD8, 0x7C, 0x01, 0x3D, 0x36,
+ 0x54, 0xA1, 0xEC, 0xF0, 0x06, 0x13, 0x62, 0xA7, 0x05, 0xF3,
+ 0xC0, 0xC7, 0x73, 0x8C, 0x98, 0x93, 0x2B, 0xD9, 0xBC, 0x4C,
+ 0x82, 0xCA, 0x1E, 0x9B, 0x57, 0x3C, 0xFD, 0xD4, 0xE0, 0x16,
+ 0x67, 0x42, 0x6F, 0x18, 0x8A, 0x17, 0xE5, 0x12, 0xBE, 0x4E,
+ 0xC4, 0xD6, 0xDA, 0x9E, 0xDE, 0x49, 0xA0, 0xFB, 0xF5, 0x8E,
+ 0xBB, 0x2F, 0xEE, 0x7A, 0xA9, 0x68, 0x79, 0x91, 0x15, 0xB2,
+ 0x07, 0x3F, 0x94, 0xC2, 0x10, 0x89, 0x0B, 0x22, 0x5F, 0x21,
+ 0x80, 0x7F, 0x5D, 0x9A, 0x5A, 0x90, 0x32, 0x27, 0x35, 0x3E,
+ 0xCC, 0xE7, 0xBF, 0xF7, 0x97, 0x03, 0xFF, 0x19, 0x30, 0xB3,
+ 0x48, 0xA5, 0xB5, 0xD1, 0xD7, 0x5E, 0x92, 0x2A, 0xAC, 0x56,
+ 0xAA, 0xC6, 0x4F, 0xB8, 0x38, 0xD2, 0x96, 0xA4, 0x7D, 0xB6,
+ 0x76, 0xFC, 0x6B, 0xE2, 0x9C, 0x74, 0x04, 0xF1, 0x45, 0x9D,
+ 0x70, 0x59, 0x64, 0x71, 0x87, 0x20, 0x86, 0x5B, 0xCF, 0x65,
+ 0xE6, 0x2D, 0xA8, 0x02, 0x1B, 0x60, 0x25, 0xAD, 0xAE, 0xB0,
+ 0xB9, 0xF6, 0x1C, 0x46, 0x61, 0x69, 0x34, 0x40, 0x7E, 0x0F,
+ 0x55, 0x47, 0xA3, 0x23, 0xDD, 0x51, 0xAF, 0x3A, 0xC3, 0x5C,
+ 0xF9, 0xCE, 0xBA, 0xC5, 0xEA, 0x26, 0x2C, 0x53, 0x0D, 0x6E,
+ 0x85, 0x28, 0x84, 0x09, 0xD3, 0xDF, 0xCD, 0xF4, 0x41, 0x81,
+ 0x4D, 0x52, 0x6A, 0xDC, 0x37, 0xC8, 0x6C, 0xC1, 0xAB, 0xFA,
+ 0x24, 0xE1, 0x7B, 0x08, 0x0C, 0xBD, 0xB1, 0x4A, 0x78, 0x88,
+ 0x95, 0x8B, 0xE3, 0x63, 0xE8, 0x6D, 0xE9, 0xCB, 0xD5, 0xFE,
+ 0x3B, 0x00, 0x1D, 0x39, 0xF2, 0xEF, 0xB7, 0x0E, 0x66, 0x58,
+ 0xD0, 0xE4, 0xA6, 0x77, 0x72, 0xF8, 0xEB, 0x75, 0x4B, 0x0A,
+ 0x31, 0x44, 0x50, 0xB4, 0x8F, 0xED, 0x1F, 0x1A, 0xDB, 0x99,
+ 0x8D, 0x33, 0x9F, 0x11, 0x83, 0x14
};
const char *MD2_options(void)
diff --git a/crypto/openssl/crypto/ml_dsa/ml_dsa_key.c b/crypto/openssl/crypto/ml_dsa/ml_dsa_key.c
index 87613c937d5..e999b6c08d0 100644
--- a/crypto/openssl/crypto/ml_dsa/ml_dsa_key.c
+++ b/crypto/openssl/crypto/ml_dsa/ml_dsa_key.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2024-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2024-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -274,7 +274,7 @@ int ossl_ml_dsa_key_equal(const ML_DSA_KEY *key1, const ML_DSA_KEY *key2,
if (!key_checked
&& (selection & OSSL_KEYMGMT_SELECT_PRIVATE_KEY) != 0) {
if (key1->priv_encoding != NULL && key2->priv_encoding != NULL) {
- if (memcmp(key1->priv_encoding, key2->priv_encoding,
+ if (CRYPTO_memcmp(key1->priv_encoding, key2->priv_encoding,
key1->params->sk_len)
!= 0)
return 0;
diff --git a/crypto/openssl/crypto/modes/wrap128.c b/crypto/openssl/crypto/modes/wrap128.c
index 8b84e4709c6..0df4dfe786a 100644
--- a/crypto/openssl/crypto/modes/wrap128.c
+++ b/crypto/openssl/crypto/modes/wrap128.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2013-2018 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2013-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -18,14 +18,7 @@
/** RFC 3394 section 2.2.3.1 Default Initial Value */
static const unsigned char default_iv[] = {
- 0xA6,
- 0xA6,
- 0xA6,
- 0xA6,
- 0xA6,
- 0xA6,
- 0xA6,
- 0xA6,
+ 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6, 0xA6
};
/** RFC 5649 section 3 Alternative Initial Value 32-bit constant */
@@ -178,7 +171,9 @@ size_t CRYPTO_128_unwrap(void *key, const unsigned char *iv,
*
* @param[in] key Key value.
* @param[in] icv (Non-standard) IV, 4 bytes. NULL = use default_aiv.
- * @param[out] out Ciphertext. Minimal buffer length = (inlen + 15) bytes.
+ * @param[out] out Ciphertext. Minimal buffer length =
+ * (inlen rounded up to 8 + 8) bytes, i.e.
+ * ((inlen + 7) / 8) * 8 + 8.
* Input and output buffers can overlap if block function
* supports that.
* @param[in] in Plaintext as n 64-bit blocks, n >= 2.
diff --git a/crypto/openssl/crypto/objects/obj_dat.c b/crypto/openssl/crypto/objects/obj_dat.c
index 482718eadb0..9a823d3cd92 100644
--- a/crypto/openssl/crypto/objects/obj_dat.c
+++ b/crypto/openssl/crypto/objects/obj_dat.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -705,8 +705,8 @@ const void *OBJ_bsearch_ex_(const void *key, const void *base, int num,
*/
if (p == NULL) {
const char *base_ = base;
- int l, h, i = 0, c = 0;
- char *p1;
+ int i = 0, c = 0;
+ const char *p1;
for (i = 0; i < num; ++i) {
p1 = &(base_[i * size]);
diff --git a/crypto/openssl/crypto/objects/obj_lib.c b/crypto/openssl/crypto/objects/obj_lib.c
index adc22a10e28..d718a11e222 100644
--- a/crypto/openssl/crypto/objects/obj_lib.c
+++ b/crypto/openssl/crypto/objects/obj_lib.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -58,5 +58,7 @@ int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b)
ret = (a->length - b->length);
if (ret)
return ret;
+ if (a->length == 0)
+ return 0;
return memcmp(a->data, b->data, a->length);
}
diff --git a/crypto/openssl/crypto/param_build.c b/crypto/openssl/crypto/param_build.c
index 4e90c581a0e..d37b18c4dd8 100644
--- a/crypto/openssl/crypto/param_build.c
+++ b/crypto/openssl/crypto/param_build.c
@@ -345,7 +345,7 @@ int OSSL_PARAM_BLD_push_utf8_ptr(OSSL_PARAM_BLD *bld, const char *key,
{
OSSL_PARAM_BLD_DEF *pd;
- if (bld == NULL || key == NULL) {
+ if (bld == NULL || key == NULL || buf == NULL) {
ERR_raise(ERR_LIB_CRYPTO, ERR_R_PASSED_NULL_PARAMETER);
return 0;
}
@@ -365,7 +365,7 @@ int OSSL_PARAM_BLD_push_octet_string(OSSL_PARAM_BLD *bld, const char *key,
OSSL_PARAM_BLD_DEF *pd;
int secure;
- if (bld == NULL || key == NULL || buf == NULL) {
+ if (bld == NULL || key == NULL || (buf == NULL && bsize != 0)) {
ERR_raise(ERR_LIB_CRYPTO, ERR_R_PASSED_NULL_PARAMETER);
return 0;
}
@@ -383,7 +383,7 @@ int OSSL_PARAM_BLD_push_octet_ptr(OSSL_PARAM_BLD *bld, const char *key,
{
OSSL_PARAM_BLD_DEF *pd;
- if (bld == NULL || key == NULL) {
+ if (bld == NULL || key == NULL || (buf == NULL && bsize != 0)) {
ERR_raise(ERR_LIB_CRYPTO, ERR_R_PASSED_NULL_PARAMETER);
return 0;
}
diff --git a/crypto/openssl/crypto/param_build_set.c b/crypto/openssl/crypto/param_build_set.c
index db49683ed97..063e35d33b9 100644
--- a/crypto/openssl/crypto/param_build_set.c
+++ b/crypto/openssl/crypto/param_build_set.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2022 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2020-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -73,6 +73,11 @@ int ossl_param_build_set_bn_pad(OSSL_PARAM_BLD *bld, OSSL_PARAM *p,
return OSSL_PARAM_BLD_push_BN_pad(bld, key, bn, sz);
p = OSSL_PARAM_locate(p, key);
if (p != NULL) {
+ /* Size probe: NULL data means "report the required size". */
+ if (p->data == NULL) {
+ p->return_size = sz;
+ return 1;
+ }
if (sz > p->data_size) {
ERR_raise(ERR_LIB_CRYPTO, CRYPTO_R_TOO_SMALL_BUFFER);
return 0;
diff --git a/crypto/openssl/crypto/pkcs12/p12_decr.c b/crypto/openssl/crypto/pkcs12/p12_decr.c
index 46f3752e390..0d415e755a1 100644
--- a/crypto/openssl/crypto/pkcs12/p12_decr.c
+++ b/crypto/openssl/crypto/pkcs12/p12_decr.c
@@ -103,7 +103,7 @@ unsigned char *PKCS12_pbe_crypt_ex(const X509_ALGOR *algor,
if (EVP_CIPHER_CTX_is_encrypting(ctx)) {
if (EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG,
(int)mac_len, out + outlen)
- < 0) {
+ <= 0) {
OPENSSL_free(out);
out = NULL;
ERR_raise(ERR_LIB_PKCS12, ERR_R_INTERNAL_ERROR);
diff --git a/crypto/openssl/crypto/pkcs7/pk7_smime.c b/crypto/openssl/crypto/pkcs7/pk7_smime.c
index dc003ee2aff..ec041809fea 100644
--- a/crypto/openssl/crypto/pkcs7/pk7_smime.c
+++ b/crypto/openssl/crypto/pkcs7/pk7_smime.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1999-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1999-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/crypto/rc2/rc2_skey.c b/crypto/openssl/crypto/rc2/rc2_skey.c
index e82a7627a05..148753e5538 100644
--- a/crypto/openssl/crypto/rc2/rc2_skey.c
+++ b/crypto/openssl/crypto/rc2/rc2_skey.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -17,262 +17,32 @@
#include "rc2_local.h"
static const unsigned char key_table[256] = {
- 0xd9,
- 0x78,
- 0xf9,
- 0xc4,
- 0x19,
- 0xdd,
- 0xb5,
- 0xed,
- 0x28,
- 0xe9,
- 0xfd,
- 0x79,
- 0x4a,
- 0xa0,
- 0xd8,
- 0x9d,
- 0xc6,
- 0x7e,
- 0x37,
- 0x83,
- 0x2b,
- 0x76,
- 0x53,
- 0x8e,
- 0x62,
- 0x4c,
- 0x64,
- 0x88,
- 0x44,
- 0x8b,
- 0xfb,
- 0xa2,
- 0x17,
- 0x9a,
- 0x59,
- 0xf5,
- 0x87,
- 0xb3,
- 0x4f,
- 0x13,
- 0x61,
- 0x45,
- 0x6d,
- 0x8d,
- 0x09,
- 0x81,
- 0x7d,
- 0x32,
- 0xbd,
- 0x8f,
- 0x40,
- 0xeb,
- 0x86,
- 0xb7,
- 0x7b,
- 0x0b,
- 0xf0,
- 0x95,
- 0x21,
- 0x22,
- 0x5c,
- 0x6b,
- 0x4e,
- 0x82,
- 0x54,
- 0xd6,
- 0x65,
- 0x93,
- 0xce,
- 0x60,
- 0xb2,
- 0x1c,
- 0x73,
- 0x56,
- 0xc0,
- 0x14,
- 0xa7,
- 0x8c,
- 0xf1,
- 0xdc,
- 0x12,
- 0x75,
- 0xca,
- 0x1f,
- 0x3b,
- 0xbe,
- 0xe4,
- 0xd1,
- 0x42,
- 0x3d,
- 0xd4,
- 0x30,
- 0xa3,
- 0x3c,
- 0xb6,
- 0x26,
- 0x6f,
- 0xbf,
- 0x0e,
- 0xda,
- 0x46,
- 0x69,
- 0x07,
- 0x57,
- 0x27,
- 0xf2,
- 0x1d,
- 0x9b,
- 0xbc,
- 0x94,
- 0x43,
- 0x03,
- 0xf8,
- 0x11,
- 0xc7,
- 0xf6,
- 0x90,
- 0xef,
- 0x3e,
- 0xe7,
- 0x06,
- 0xc3,
- 0xd5,
- 0x2f,
- 0xc8,
- 0x66,
- 0x1e,
- 0xd7,
- 0x08,
- 0xe8,
- 0xea,
- 0xde,
- 0x80,
- 0x52,
- 0xee,
- 0xf7,
- 0x84,
- 0xaa,
- 0x72,
- 0xac,
- 0x35,
- 0x4d,
- 0x6a,
- 0x2a,
- 0x96,
- 0x1a,
- 0xd2,
- 0x71,
- 0x5a,
- 0x15,
- 0x49,
- 0x74,
- 0x4b,
- 0x9f,
- 0xd0,
- 0x5e,
- 0x04,
- 0x18,
- 0xa4,
- 0xec,
- 0xc2,
- 0xe0,
- 0x41,
- 0x6e,
- 0x0f,
- 0x51,
- 0xcb,
- 0xcc,
- 0x24,
- 0x91,
- 0xaf,
- 0x50,
- 0xa1,
- 0xf4,
- 0x70,
- 0x39,
- 0x99,
- 0x7c,
- 0x3a,
- 0x85,
- 0x23,
- 0xb8,
- 0xb4,
- 0x7a,
- 0xfc,
- 0x02,
- 0x36,
- 0x5b,
- 0x25,
- 0x55,
- 0x97,
- 0x31,
- 0x2d,
- 0x5d,
- 0xfa,
- 0x98,
- 0xe3,
- 0x8a,
- 0x92,
- 0xae,
- 0x05,
- 0xdf,
- 0x29,
- 0x10,
- 0x67,
- 0x6c,
- 0xba,
- 0xc9,
- 0xd3,
- 0x00,
- 0xe6,
- 0xcf,
- 0xe1,
- 0x9e,
- 0xa8,
- 0x2c,
- 0x63,
- 0x16,
- 0x01,
- 0x3f,
- 0x58,
- 0xe2,
- 0x89,
- 0xa9,
- 0x0d,
- 0x38,
- 0x34,
- 0x1b,
- 0xab,
- 0x33,
- 0xff,
- 0xb0,
- 0xbb,
- 0x48,
- 0x0c,
- 0x5f,
- 0xb9,
- 0xb1,
- 0xcd,
- 0x2e,
- 0xc5,
- 0xf3,
- 0xdb,
- 0x47,
- 0xe5,
- 0xa5,
- 0x9c,
- 0x77,
- 0x0a,
- 0xa6,
- 0x20,
- 0x68,
- 0xfe,
- 0x7f,
- 0xc1,
- 0xad,
+ 0xd9, 0x78, 0xf9, 0xc4, 0x19, 0xdd, 0xb5, 0xed, 0x28, 0xe9,
+ 0xfd, 0x79, 0x4a, 0xa0, 0xd8, 0x9d, 0xc6, 0x7e, 0x37, 0x83,
+ 0x2b, 0x76, 0x53, 0x8e, 0x62, 0x4c, 0x64, 0x88, 0x44, 0x8b,
+ 0xfb, 0xa2, 0x17, 0x9a, 0x59, 0xf5, 0x87, 0xb3, 0x4f, 0x13,
+ 0x61, 0x45, 0x6d, 0x8d, 0x09, 0x81, 0x7d, 0x32, 0xbd, 0x8f,
+ 0x40, 0xeb, 0x86, 0xb7, 0x7b, 0x0b, 0xf0, 0x95, 0x21, 0x22,
+ 0x5c, 0x6b, 0x4e, 0x82, 0x54, 0xd6, 0x65, 0x93, 0xce, 0x60,
+ 0xb2, 0x1c, 0x73, 0x56, 0xc0, 0x14, 0xa7, 0x8c, 0xf1, 0xdc,
+ 0x12, 0x75, 0xca, 0x1f, 0x3b, 0xbe, 0xe4, 0xd1, 0x42, 0x3d,
+ 0xd4, 0x30, 0xa3, 0x3c, 0xb6, 0x26, 0x6f, 0xbf, 0x0e, 0xda,
+ 0x46, 0x69, 0x07, 0x57, 0x27, 0xf2, 0x1d, 0x9b, 0xbc, 0x94,
+ 0x43, 0x03, 0xf8, 0x11, 0xc7, 0xf6, 0x90, 0xef, 0x3e, 0xe7,
+ 0x06, 0xc3, 0xd5, 0x2f, 0xc8, 0x66, 0x1e, 0xd7, 0x08, 0xe8,
+ 0xea, 0xde, 0x80, 0x52, 0xee, 0xf7, 0x84, 0xaa, 0x72, 0xac,
+ 0x35, 0x4d, 0x6a, 0x2a, 0x96, 0x1a, 0xd2, 0x71, 0x5a, 0x15,
+ 0x49, 0x74, 0x4b, 0x9f, 0xd0, 0x5e, 0x04, 0x18, 0xa4, 0xec,
+ 0xc2, 0xe0, 0x41, 0x6e, 0x0f, 0x51, 0xcb, 0xcc, 0x24, 0x91,
+ 0xaf, 0x50, 0xa1, 0xf4, 0x70, 0x39, 0x99, 0x7c, 0x3a, 0x85,
+ 0x23, 0xb8, 0xb4, 0x7a, 0xfc, 0x02, 0x36, 0x5b, 0x25, 0x55,
+ 0x97, 0x31, 0x2d, 0x5d, 0xfa, 0x98, 0xe3, 0x8a, 0x92, 0xae,
+ 0x05, 0xdf, 0x29, 0x10, 0x67, 0x6c, 0xba, 0xc9, 0xd3, 0x00,
+ 0xe6, 0xcf, 0xe1, 0x9e, 0xa8, 0x2c, 0x63, 0x16, 0x01, 0x3f,
+ 0x58, 0xe2, 0x89, 0xa9, 0x0d, 0x38, 0x34, 0x1b, 0xab, 0x33,
+ 0xff, 0xb0, 0xbb, 0x48, 0x0c, 0x5f, 0xb9, 0xb1, 0xcd, 0x2e,
+ 0xc5, 0xf3, 0xdb, 0x47, 0xe5, 0xa5, 0x9c, 0x77, 0x0a, 0xa6,
+ 0x20, 0x68, 0xfe, 0x7f, 0xc1, 0xad
};
#if defined(_MSC_VER) && defined(_ARM_)
diff --git a/crypto/openssl/crypto/slh_dsa/slh_dsa_key.c b/crypto/openssl/crypto/slh_dsa/slh_dsa_key.c
index 2fa59a65989..6d778a39f46 100644
--- a/crypto/openssl/crypto/slh_dsa/slh_dsa_key.c
+++ b/crypto/openssl/crypto/slh_dsa/slh_dsa_key.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2024-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2024-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -62,7 +62,6 @@ static int slh_dsa_key_hash_init(SLH_DSA_KEY *key)
key->hash_func = ossl_slh_get_hash_fn(is_shake);
return 1;
err:
- slh_dsa_key_hash_cleanup(key);
return 0;
}
@@ -206,7 +205,7 @@ int ossl_slh_dsa_key_equal(const SLH_DSA_KEY *key1, const SLH_DSA_KEY *key2,
if (!key_checked
&& (selection & OSSL_KEYMGMT_SELECT_PRIVATE_KEY) != 0) {
if (key1->has_priv && key2->has_priv) {
- if (memcmp(key1->priv, key2->priv,
+ if (CRYPTO_memcmp(key1->priv, key2->priv,
key1->params->pk_len)
!= 0)
return 0;
diff --git a/crypto/openssl/crypto/sm2/sm2_crypt.c b/crypto/openssl/crypto/sm2/sm2_crypt.c
index b1c2ef6b630..32bfa9797fa 100644
--- a/crypto/openssl/crypto/sm2/sm2_crypt.c
+++ b/crypto/openssl/crypto/sm2/sm2_crypt.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2017-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2017-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright 2017 Ribose Inc. All Rights Reserved.
* Ported from Ribose contributions from Botan.
*
@@ -248,12 +248,23 @@ int ossl_sm2_encrypt(const EC_KEY *key,
goto done;
}
- ciphertext_leni = i2d_SM2_Ciphertext(&ctext_struct, &ciphertext_buf);
+ ciphertext_leni = i2d_SM2_Ciphertext(&ctext_struct, NULL);
/* Ensure cast to size_t is safe */
if (ciphertext_leni < 0) {
ERR_raise(ERR_LIB_SM2, ERR_R_INTERNAL_ERROR);
goto done;
}
+
+ if (*ciphertext_len < (size_t)ciphertext_leni) {
+ ERR_raise(ERR_LIB_SM2, SM2_R_BUFFER_TOO_SMALL);
+ goto done;
+ }
+
+ ciphertext_leni = i2d_SM2_Ciphertext(&ctext_struct, &ciphertext_buf);
+ if (ciphertext_leni < 0) {
+ ERR_raise(ERR_LIB_SM2, ERR_R_INTERNAL_ERROR);
+ goto done;
+ }
*ciphertext_len = (size_t)ciphertext_leni;
rc = 1;
@@ -266,6 +277,7 @@ int ossl_sm2_encrypt(const EC_KEY *key,
OPENSSL_free(x2y2);
OPENSSL_free(C3);
EVP_MD_CTX_free(hash);
+ BN_CTX_end(ctx);
BN_CTX_free(ctx);
EC_POINT_free(kG);
EC_POINT_free(kP);
@@ -406,6 +418,7 @@ int ossl_sm2_decrypt(const EC_KEY *key,
OPENSSL_free(x2y2);
OPENSSL_free(computed_C3);
EC_POINT_free(C1);
+ BN_CTX_end(ctx);
BN_CTX_free(ctx);
SM2_Ciphertext_free(sm2_ctext);
EVP_MD_CTX_free(hash);
diff --git a/crypto/openssl/crypto/sm2/sm2_sign.c b/crypto/openssl/crypto/sm2/sm2_sign.c
index 590a7309748..9389c70817a 100644
--- a/crypto/openssl/crypto/sm2/sm2_sign.c
+++ b/crypto/openssl/crypto/sm2/sm2_sign.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2017-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2017-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright 2017 Ribose Inc. All Rights Reserved.
* Ported from Ribose contributions from Botan.
*
@@ -60,6 +60,7 @@ int ossl_sm2_compute_z_digest(uint8_t *out,
goto done;
}
+ BN_CTX_start(ctx);
p = BN_CTX_get(ctx);
a = BN_CTX_get(ctx);
b = BN_CTX_get(ctx);
@@ -141,6 +142,7 @@ int ossl_sm2_compute_z_digest(uint8_t *out,
done:
OPENSSL_free(buf);
+ BN_CTX_end(ctx);
BN_CTX_free(ctx);
EVP_MD_CTX_free(hash);
return rc;
@@ -322,6 +324,7 @@ static ECDSA_SIG *sm2_sig_gen(const EC_KEY *key, const BIGNUM *e)
BN_free(s);
}
+ BN_CTX_end(ctx);
BN_CTX_free(ctx);
EC_POINT_free(kG);
return sig;
@@ -405,8 +408,8 @@ static int sm2_sig_verify(const EC_KEY *key, const ECDSA_SIG *sig,
ret = 1;
done:
- BN_CTX_end(ctx);
EC_POINT_free(pt);
+ BN_CTX_end(ctx);
BN_CTX_free(ctx);
return ret;
}
diff --git a/crypto/openssl/crypto/threads_none.c b/crypto/openssl/crypto/threads_none.c
index fd2ab38d809..cf2091c2c27 100644
--- a/crypto/openssl/crypto/threads_none.c
+++ b/crypto/openssl/crypto/threads_none.c
@@ -73,18 +73,23 @@ void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock)
}
}
-int ossl_rcu_call(CRYPTO_RCU_LOCK *lock, rcu_cb_fn cb, void *data)
+CRYPTO_RCU_CB_ITEM *ossl_rcu_cb_item_new(void)
{
- struct rcu_cb_item *new = OPENSSL_zalloc(sizeof(*new));
+ return OPENSSL_zalloc(sizeof(CRYPTO_RCU_CB_ITEM));
+}
- if (new == NULL)
- return 0;
+void ossl_rcu_cb_item_free(CRYPTO_RCU_CB_ITEM *item)
+{
+ OPENSSL_free(item);
+}
- new->fn = cb;
- new->data = data;
- new->next = lock->cb_items;
- lock->cb_items = new;
- return 1;
+void ossl_rcu_call(CRYPTO_RCU_LOCK *lock, CRYPTO_RCU_CB_ITEM *item,
+ rcu_cb_fn cb, void *data)
+{
+ item->fn = cb;
+ item->data = data;
+ item->next = lock->cb_items;
+ lock->cb_items = item;
}
void *ossl_rcu_uptr_deref(void **p)
@@ -162,15 +167,10 @@ struct thread_local_storage_entry {
static struct thread_local_storage_entry thread_local_storage[OPENSSL_CRYPTO_THREAD_LOCAL_KEY_MAX];
-int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *))
+int ossl_thread_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *))
{
int entry_idx = 0;
-#ifndef FIPS_MODULE
- if (!ossl_init_thread())
- return 0;
-#endif
-
for (entry_idx = 0; entry_idx < OPENSSL_CRYPTO_THREAD_LOCAL_KEY_MAX; entry_idx++) {
if (!thread_local_storage[entry_idx].used)
break;
diff --git a/crypto/openssl/crypto/threads_pthread.c b/crypto/openssl/crypto/threads_pthread.c
index b4394f78fc1..70e09b75586 100644
--- a/crypto/openssl/crypto/threads_pthread.c
+++ b/crypto/openssl/crypto/threads_pthread.c
@@ -501,24 +501,27 @@ void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock)
}
}
+CRYPTO_RCU_CB_ITEM *ossl_rcu_cb_item_new(void)
+{
+ return OPENSSL_zalloc(sizeof(CRYPTO_RCU_CB_ITEM));
+}
+
+void ossl_rcu_cb_item_free(CRYPTO_RCU_CB_ITEM *item)
+{
+ OPENSSL_free(item);
+}
+
/*
* Note: This call assumes its made under the protection of
* ossl_rcu_write_lock
*/
-int ossl_rcu_call(CRYPTO_RCU_LOCK *lock, rcu_cb_fn cb, void *data)
+void ossl_rcu_call(CRYPTO_RCU_LOCK *lock, CRYPTO_RCU_CB_ITEM *item,
+ rcu_cb_fn cb, void *data)
{
- struct rcu_cb_item *new = OPENSSL_zalloc(sizeof(*new));
-
- if (new == NULL)
- return 0;
-
- new->data = data;
- new->fn = cb;
-
- new->next = lock->cb_items;
- lock->cb_items = new;
-
- return 1;
+ item->fn = cb;
+ item->data = data;
+ item->next = lock->cb_items;
+ lock->cb_items = item;
}
void *ossl_rcu_uptr_deref(void **p)
@@ -728,14 +731,9 @@ int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void))
return 1;
}
-int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *))
+int ossl_thread_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *))
{
-#ifndef FIPS_MODULE
- if (!ossl_init_thread())
- return 0;
-#endif
-
if (pthread_key_create(key, cleanup) != 0)
return 0;
diff --git a/crypto/openssl/crypto/threads_win.c b/crypto/openssl/crypto/threads_win.c
index 795d97a012e..2c0e27ce06e 100644
--- a/crypto/openssl/crypto/threads_win.c
+++ b/crypto/openssl/crypto/threads_win.c
@@ -397,23 +397,26 @@ void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock)
return;
}
+CRYPTO_RCU_CB_ITEM *ossl_rcu_cb_item_new(void)
+{
+ return OPENSSL_zalloc(sizeof(CRYPTO_RCU_CB_ITEM));
+}
+
+void ossl_rcu_cb_item_free(CRYPTO_RCU_CB_ITEM *item)
+{
+ OPENSSL_free(item);
+}
+
/*
* Note, must be called under the protection of ossl_rcu_write_lock
*/
-int ossl_rcu_call(CRYPTO_RCU_LOCK *lock, rcu_cb_fn cb, void *data)
+void ossl_rcu_call(CRYPTO_RCU_LOCK *lock, CRYPTO_RCU_CB_ITEM *item,
+ rcu_cb_fn cb, void *data)
{
- struct rcu_cb_item *new;
-
- new = OPENSSL_zalloc(sizeof(struct rcu_cb_item));
- if (new == NULL)
- return 0;
- new->data = data;
- new->fn = cb;
-
- new->next = lock->cb_items;
- lock->cb_items = new;
-
- return 1;
+ item->fn = cb;
+ item->data = data;
+ item->next = lock->cb_items;
+ lock->cb_items = item;
}
void *ossl_rcu_uptr_deref(void **p)
@@ -540,14 +543,9 @@ int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void))
return (*lock == ONCE_DONE);
}
-int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *))
+int ossl_thread_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *))
{
-#ifndef FIPS_MODULE
- if (!ossl_init_thread())
- return 0;
-#endif
-
*key = TlsAlloc();
if (*key == TLS_OUT_OF_INDEXES)
return 0;
diff --git a/crypto/openssl/crypto/x509/v3_ist.c b/crypto/openssl/crypto/x509/v3_ist.c
index 2401c2fbfe8..bac6dc34f98 100644
--- a/crypto/openssl/crypto/x509/v3_ist.c
+++ b/crypto/openssl/crypto/x509/v3_ist.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2020-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -48,7 +48,6 @@ static ISSUER_SIGN_TOOL *v2i_issuer_sign_tool(X509V3_EXT_METHOD *method, X509V3_
continue;
}
if (strcmp(cnf->name, "signTool") == 0) {
- ist->signTool = ASN1_UTF8STRING_new();
if (ist->signTool == NULL
|| cnf->value == NULL
|| !ASN1_STRING_set(ist->signTool, cnf->value, strlen(cnf->value))) {
@@ -56,7 +55,6 @@ static ISSUER_SIGN_TOOL *v2i_issuer_sign_tool(X509V3_EXT_METHOD *method, X509V3_
goto err;
}
} else if (strcmp(cnf->name, "cATool") == 0) {
- ist->cATool = ASN1_UTF8STRING_new();
if (ist->cATool == NULL
|| cnf->value == NULL
|| !ASN1_STRING_set(ist->cATool, cnf->value, strlen(cnf->value))) {
@@ -64,7 +62,6 @@ static ISSUER_SIGN_TOOL *v2i_issuer_sign_tool(X509V3_EXT_METHOD *method, X509V3_
goto err;
}
} else if (strcmp(cnf->name, "signToolCert") == 0) {
- ist->signToolCert = ASN1_UTF8STRING_new();
if (ist->signToolCert == NULL
|| cnf->value == NULL
|| !ASN1_STRING_set(ist->signToolCert, cnf->value, strlen(cnf->value))) {
@@ -72,7 +69,6 @@ static ISSUER_SIGN_TOOL *v2i_issuer_sign_tool(X509V3_EXT_METHOD *method, X509V3_
goto err;
}
} else if (strcmp(cnf->name, "cAToolCert") == 0) {
- ist->cAToolCert = ASN1_UTF8STRING_new();
if (ist->cAToolCert == NULL
|| cnf->value == NULL
|| !ASN1_STRING_set(ist->cAToolCert, cnf->value, strlen(cnf->value))) {
diff --git a/crypto/openssl/demos/cipher/aeskeywrap.c b/crypto/openssl/demos/cipher/aeskeywrap.c
index 89de1e242c5..560c32c5c48 100644
--- a/crypto/openssl/demos/cipher/aeskeywrap.c
+++ b/crypto/openssl/demos/cipher/aeskeywrap.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -27,102 +27,24 @@ static const unsigned char wrap_key[] = {
/* Unique initialisation vector */
static const unsigned char wrap_iv[] = {
- 0x99,
- 0xaa,
- 0x3e,
- 0x68,
- 0xed,
- 0x81,
- 0x73,
- 0xa0,
- 0xee,
- 0xd0,
- 0x66,
- 0x84,
- 0x99,
- 0xaa,
- 0x3e,
- 0x68,
+ 0x99, 0xaa, 0x3e, 0x68, 0xed, 0x81, 0x73, 0xa0, 0xee, 0xd0,
+ 0x66, 0x84, 0x99, 0xaa, 0x3e, 0x68
};
/* Example plaintext to encrypt */
static const unsigned char wrap_pt[] = {
- 0xad,
- 0x4f,
- 0xc9,
- 0xfc,
- 0x77,
- 0x69,
- 0xc9,
- 0xea,
- 0xfc,
- 0xdf,
- 0x00,
- 0xac,
- 0x34,
- 0xec,
- 0x40,
- 0xbc,
- 0x28,
- 0x3f,
- 0xa4,
- 0x5e,
- 0xd8,
- 0x99,
- 0xe4,
- 0x5d,
- 0x5e,
- 0x7a,
- 0xc4,
- 0xe6,
- 0xca,
- 0x7b,
- 0xa5,
- 0xb7,
+ 0xad, 0x4f, 0xc9, 0xfc, 0x77, 0x69, 0xc9, 0xea, 0xfc, 0xdf,
+ 0x00, 0xac, 0x34, 0xec, 0x40, 0xbc, 0x28, 0x3f, 0xa4, 0x5e,
+ 0xd8, 0x99, 0xe4, 0x5d, 0x5e, 0x7a, 0xc4, 0xe6, 0xca, 0x7b,
+ 0xa5, 0xb7
};
/* Expected ciphertext value */
static const unsigned char wrap_ct[] = {
- 0x97,
- 0x99,
- 0x55,
- 0xca,
- 0xf6,
- 0x3e,
- 0x95,
- 0x54,
- 0x39,
- 0xd6,
- 0xaf,
- 0x63,
- 0xff,
- 0x2c,
- 0xe3,
- 0x96,
- 0xf7,
- 0x0d,
- 0x2c,
- 0x9c,
- 0xc7,
- 0x43,
- 0xc0,
- 0xb6,
- 0x31,
- 0x43,
- 0xb9,
- 0x20,
- 0xac,
- 0x6b,
- 0xd3,
- 0x67,
- 0xad,
- 0x01,
- 0xaf,
- 0xa7,
- 0x32,
- 0x74,
- 0x26,
- 0x92,
+ 0x97, 0x99, 0x55, 0xca, 0xf6, 0x3e, 0x95, 0x54, 0x39, 0xd6,
+ 0xaf, 0x63, 0xff, 0x2c, 0xe3, 0x96, 0xf7, 0x0d, 0x2c, 0x9c,
+ 0xc7, 0x43, 0xc0, 0xb6, 0x31, 0x43, 0xb9, 0x20, 0xac, 0x6b,
+ 0xd3, 0x67, 0xad, 0x01, 0xaf, 0xa7, 0x32, 0x74, 0x26, 0x92
};
/*
diff --git a/crypto/openssl/demos/cipher/ariacbc.c b/crypto/openssl/demos/cipher/ariacbc.c
index 637dfcef0cf..48c2bdc0bf7 100644
--- a/crypto/openssl/demos/cipher/ariacbc.c
+++ b/crypto/openssl/demos/cipher/ariacbc.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2012-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -27,22 +27,8 @@ static const unsigned char cbc_key[] = {
/* Unique initialisation vector */
static const unsigned char cbc_iv[] = {
- 0x99,
- 0xaa,
- 0x3e,
- 0x68,
- 0xed,
- 0x81,
- 0x73,
- 0xa0,
- 0xee,
- 0xd0,
- 0x66,
- 0x84,
- 0x99,
- 0xaa,
- 0x3e,
- 0x68,
+ 0x99, 0xaa, 0x3e, 0x68, 0xed, 0x81, 0x73, 0xa0, 0xee, 0xd0,
+ 0x66, 0x84, 0x99, 0xaa, 0x3e, 0x68
};
/* Example plaintext to encrypt */
diff --git a/crypto/openssl/demos/digest/EVP_MD_demo.c b/crypto/openssl/demos/digest/EVP_MD_demo.c
index 622b8b1f876..a32794fe582 100644
--- a/crypto/openssl/demos/digest/EVP_MD_demo.c
+++ b/crypto/openssl/demos/digest/EVP_MD_demo.c
@@ -1,5 +1,5 @@
/*-
- * Copyright 2021-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2021-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -62,70 +62,13 @@ static const char *hamlet_2 = "The insolence of Office, and the spurns\n"
/* The known value of the SHA3-512 digest of the above soliloqy */
static const unsigned char known_answer[] = {
- 0xbb,
- 0x69,
- 0xf8,
- 0x09,
- 0x9c,
- 0x2e,
- 0x00,
- 0x3d,
- 0xa4,
- 0x29,
- 0x5f,
- 0x59,
- 0x4b,
- 0x89,
- 0xe4,
- 0xd9,
- 0xdb,
- 0xa2,
- 0xe5,
- 0xaf,
- 0xa5,
- 0x87,
- 0x73,
- 0x9d,
- 0x83,
- 0x72,
- 0xcf,
- 0xea,
- 0x84,
- 0x66,
- 0xc1,
- 0xf9,
- 0xc9,
- 0x78,
- 0xef,
- 0xba,
- 0x3d,
- 0xe9,
- 0xc1,
- 0xff,
- 0xa3,
- 0x75,
- 0xc7,
- 0x58,
- 0x74,
- 0x8e,
- 0x9c,
- 0x1d,
- 0x14,
- 0xd9,
- 0xdd,
- 0xd1,
- 0xfd,
- 0x24,
- 0x30,
- 0xd6,
- 0x81,
- 0xca,
- 0x8f,
- 0x78,
- 0x29,
- 0x19,
- 0x9a,
- 0xfe,
+ 0xbb, 0x69, 0xf8, 0x09, 0x9c, 0x2e, 0x00, 0x3d, 0xa4, 0x29,
+ 0x5f, 0x59, 0x4b, 0x89, 0xe4, 0xd9, 0xdb, 0xa2, 0xe5, 0xaf,
+ 0xa5, 0x87, 0x73, 0x9d, 0x83, 0x72, 0xcf, 0xea, 0x84, 0x66,
+ 0xc1, 0xf9, 0xc9, 0x78, 0xef, 0xba, 0x3d, 0xe9, 0xc1, 0xff,
+ 0xa3, 0x75, 0xc7, 0x58, 0x74, 0x8e, 0x9c, 0x1d, 0x14, 0xd9,
+ 0xdd, 0xd1, 0xfd, 0x24, 0x30, 0xd6, 0x81, 0xca, 0x8f, 0x78,
+ 0x29, 0x19, 0x9a, 0xfe
};
static int demonstrate_digest(void)
diff --git a/crypto/openssl/demos/encrypt/rsa_encrypt.h b/crypto/openssl/demos/encrypt/rsa_encrypt.h
index be9ee66eda4..72854950d04 100644
--- a/crypto/openssl/demos/encrypt/rsa_encrypt.h
+++ b/crypto/openssl/demos/encrypt/rsa_encrypt.h
@@ -1,5 +1,5 @@
/*-
- * Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2021-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -9,1494 +9,158 @@
/* Private RSA key used for decryption */
static const unsigned char priv_key_der[] = {
- 0x30,
- 0x82,
- 0x04,
- 0xa4,
- 0x02,
- 0x01,
- 0x00,
- 0x02,
- 0x82,
- 0x01,
- 0x01,
- 0x00,
- 0xc2,
- 0x44,
- 0xbc,
- 0xcf,
- 0x5b,
- 0xca,
- 0xcd,
- 0x80,
- 0x77,
- 0xae,
- 0xf9,
- 0x7a,
- 0x34,
- 0xbb,
- 0x37,
- 0x6f,
- 0x5c,
- 0x76,
- 0x4c,
- 0xe4,
- 0xbb,
- 0x0c,
- 0x1d,
- 0xe7,
- 0xfe,
- 0x0f,
- 0xda,
- 0xcf,
- 0x8c,
- 0x56,
- 0x65,
- 0x72,
- 0x6e,
- 0x2c,
- 0xf9,
- 0xfd,
- 0x87,
- 0x43,
- 0xeb,
- 0x4c,
- 0x26,
- 0xb1,
- 0xd3,
- 0xf0,
- 0x87,
- 0xb1,
- 0x18,
- 0x68,
- 0x14,
- 0x7d,
- 0x3c,
- 0x2a,
- 0xfa,
- 0xc2,
- 0x5d,
- 0x70,
- 0x19,
- 0x11,
- 0x00,
- 0x2e,
- 0xb3,
- 0x9c,
- 0x8e,
- 0x38,
- 0x08,
- 0xbe,
- 0xe3,
- 0xeb,
- 0x7d,
- 0x6e,
- 0xc7,
- 0x19,
- 0xc6,
- 0x7f,
- 0x59,
- 0x48,
- 0x84,
- 0x1b,
- 0xe3,
- 0x27,
- 0x30,
- 0x46,
- 0x30,
- 0xd3,
- 0xfc,
- 0xfc,
- 0xb3,
- 0x35,
- 0x75,
- 0xc4,
- 0x31,
- 0x1a,
- 0xc0,
- 0xc2,
- 0x4c,
- 0x0b,
- 0xc7,
- 0x01,
- 0x95,
- 0xb2,
- 0xdc,
- 0x17,
- 0x77,
- 0x9b,
- 0x09,
- 0x15,
- 0x04,
- 0xbc,
- 0xdb,
- 0x57,
- 0x0b,
- 0x26,
- 0xda,
- 0x59,
- 0x54,
- 0x0d,
- 0x6e,
- 0xb7,
- 0x89,
- 0xbc,
- 0x53,
- 0x9d,
- 0x5f,
- 0x8c,
- 0xad,
- 0x86,
- 0x97,
- 0xd2,
- 0x48,
- 0x4f,
- 0x5c,
- 0x94,
- 0xdd,
- 0x30,
- 0x2f,
- 0xcf,
- 0xfc,
- 0xde,
- 0x20,
- 0x31,
- 0x25,
- 0x9d,
- 0x29,
- 0x25,
- 0x78,
- 0xb7,
- 0xd2,
- 0x5b,
- 0x5d,
- 0x99,
- 0x5b,
- 0x08,
- 0x12,
- 0x81,
- 0x79,
- 0x89,
- 0xa0,
- 0xcf,
- 0x8f,
- 0x40,
- 0xb1,
- 0x77,
- 0x72,
- 0x3b,
- 0x13,
- 0xfc,
- 0x55,
- 0x43,
- 0x70,
- 0x29,
- 0xd5,
- 0x41,
- 0xed,
- 0x31,
- 0x4b,
- 0x2d,
- 0x6c,
- 0x7d,
- 0xcf,
- 0x99,
- 0x5f,
- 0xd1,
- 0x72,
- 0x9f,
- 0x8b,
- 0x32,
- 0x96,
- 0xde,
- 0x5d,
- 0x8b,
- 0x19,
- 0x77,
- 0x75,
- 0xff,
- 0x09,
- 0xbf,
- 0x26,
- 0xe9,
- 0xd7,
- 0x3d,
- 0xc7,
- 0x1a,
- 0x81,
- 0xcf,
- 0x05,
- 0x1b,
- 0x89,
- 0xbf,
- 0x45,
- 0x32,
- 0xbf,
- 0x5e,
- 0xc9,
- 0xe3,
- 0x5c,
- 0x33,
- 0x4a,
- 0x72,
- 0x47,
- 0xf4,
- 0x24,
- 0xae,
- 0x9b,
- 0x38,
- 0x24,
- 0x76,
- 0x9a,
- 0xa2,
- 0x9a,
- 0x50,
- 0x50,
- 0x49,
- 0xf5,
- 0x26,
- 0xb9,
- 0x55,
- 0xa6,
- 0x47,
- 0xc9,
- 0x14,
- 0xa2,
- 0xca,
- 0xd4,
- 0xa8,
- 0x8a,
- 0x9f,
- 0xe9,
- 0x5a,
- 0x5a,
- 0x12,
- 0xaa,
- 0x30,
- 0xd5,
- 0x78,
- 0x8b,
- 0x39,
- 0x02,
- 0x03,
- 0x01,
- 0x00,
- 0x01,
- 0x02,
- 0x82,
- 0x01,
- 0x00,
- 0x22,
- 0x5d,
- 0xb9,
- 0x8e,
- 0xef,
- 0x1c,
- 0x91,
- 0xbd,
- 0x03,
- 0xaf,
- 0x1a,
- 0xe8,
- 0x00,
- 0xf3,
- 0x0b,
- 0x8b,
- 0xf2,
- 0x2d,
- 0xe5,
- 0x4d,
- 0x63,
- 0x3f,
- 0x71,
- 0xfc,
- 0xeb,
- 0xc7,
- 0x4f,
- 0x3c,
- 0x7f,
- 0x05,
- 0x7b,
- 0x9d,
- 0xc2,
- 0x1a,
- 0xc7,
- 0xc0,
- 0x8f,
- 0x50,
- 0xb7,
- 0x0b,
- 0xba,
- 0x1e,
- 0xa4,
- 0x30,
- 0xfd,
- 0x38,
- 0x19,
- 0x6a,
- 0xb4,
- 0x11,
- 0x31,
- 0x77,
- 0x22,
- 0xf4,
- 0x06,
- 0x46,
- 0x81,
- 0xd0,
- 0xad,
- 0x99,
- 0x15,
- 0x62,
- 0x01,
- 0x10,
- 0xad,
- 0x8f,
- 0x63,
- 0x4f,
- 0x71,
- 0xd9,
- 0x8a,
- 0x74,
- 0x27,
- 0x56,
- 0xb8,
- 0xeb,
- 0x28,
- 0x9f,
- 0xac,
- 0x4f,
- 0xee,
- 0xec,
- 0xc3,
- 0xcf,
- 0x84,
- 0x86,
- 0x09,
- 0x87,
- 0xd0,
- 0x04,
- 0xfc,
- 0x70,
- 0xd0,
- 0x9f,
- 0xae,
- 0x87,
- 0x38,
- 0xd5,
- 0xb1,
- 0x6f,
- 0x3a,
- 0x1b,
- 0x16,
- 0xa8,
- 0x00,
- 0xf3,
- 0xcc,
- 0x6a,
- 0x42,
- 0x5d,
- 0x04,
- 0x16,
- 0x83,
- 0xf2,
- 0xe0,
- 0x79,
- 0x1d,
- 0xd8,
- 0x6f,
- 0x0f,
- 0xb7,
- 0x34,
- 0xf4,
- 0x45,
- 0xb5,
- 0x1e,
- 0xc5,
- 0xb5,
- 0x78,
- 0xa7,
- 0xd3,
- 0xa3,
- 0x23,
- 0x35,
- 0xbc,
- 0x7b,
- 0x01,
- 0x59,
- 0x7d,
- 0xee,
- 0xb9,
- 0x4f,
- 0xda,
- 0x28,
- 0xad,
- 0x5d,
- 0x25,
- 0xab,
- 0x66,
- 0x6a,
- 0xb0,
- 0x61,
- 0xf6,
- 0x12,
- 0xa7,
- 0xee,
- 0xd1,
- 0xe7,
- 0xb1,
- 0x8b,
- 0x91,
- 0x29,
- 0xba,
- 0xb5,
- 0xf8,
- 0x78,
- 0xc8,
- 0x6b,
- 0x76,
- 0x67,
- 0x32,
- 0xe8,
- 0xf3,
- 0x4e,
- 0x59,
- 0xba,
- 0xc1,
- 0x44,
- 0xc0,
- 0xec,
- 0x8d,
- 0x7c,
- 0x63,
- 0xb2,
- 0x6e,
- 0x0c,
- 0xb9,
- 0x33,
- 0x42,
- 0x0c,
- 0x8d,
- 0xae,
- 0x4e,
- 0x54,
- 0xc8,
- 0x8a,
- 0xef,
- 0xf9,
- 0x47,
- 0xc8,
- 0x99,
- 0x84,
- 0xc8,
- 0x46,
- 0xf6,
- 0xa6,
- 0x53,
- 0x59,
- 0xf8,
- 0x60,
- 0xe3,
- 0xd7,
- 0x1d,
- 0x10,
- 0x95,
- 0xf5,
- 0x6d,
- 0xf4,
- 0xa3,
- 0x18,
- 0x40,
- 0xd7,
- 0x14,
- 0x04,
- 0xac,
- 0x8c,
- 0x69,
- 0xd6,
- 0x14,
- 0xdc,
- 0xd8,
- 0xcc,
- 0xbc,
- 0x1c,
- 0xac,
- 0xd7,
- 0x21,
- 0x2b,
- 0x7e,
- 0x29,
- 0x88,
- 0x06,
- 0xa0,
- 0xf4,
- 0x06,
- 0x08,
- 0x14,
- 0x04,
- 0x4d,
- 0x32,
- 0x33,
- 0x84,
- 0x9c,
- 0x20,
- 0x8e,
- 0xcf,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xf3,
- 0xf9,
- 0xbd,
- 0xd5,
- 0x43,
- 0x6f,
- 0x27,
- 0x4a,
- 0x92,
- 0xd6,
- 0x18,
- 0x3d,
- 0x4b,
- 0xf1,
- 0x77,
- 0x7c,
- 0xaf,
- 0xce,
- 0x01,
- 0x17,
- 0x98,
- 0xcb,
- 0xbe,
- 0x06,
- 0x86,
- 0x3a,
- 0x13,
- 0x72,
- 0x4b,
- 0x7c,
- 0x81,
- 0x51,
- 0x24,
- 0x5d,
- 0xc3,
- 0xe9,
- 0xa2,
- 0x63,
- 0x1e,
- 0x4a,
- 0xeb,
- 0x66,
- 0xae,
- 0x01,
- 0x5e,
- 0xa4,
- 0xa4,
- 0x74,
- 0x9e,
- 0xee,
- 0x32,
- 0xe5,
- 0x59,
- 0x1b,
- 0x37,
- 0xef,
- 0x7d,
- 0xb3,
- 0x42,
- 0x8c,
- 0x93,
- 0x8b,
- 0xd3,
- 0x1e,
- 0x83,
- 0x43,
- 0xb5,
- 0x88,
- 0x3e,
- 0x24,
- 0xeb,
- 0xdc,
- 0x92,
- 0x2d,
- 0xcc,
- 0x9a,
- 0x9d,
- 0xf1,
- 0x7d,
- 0x16,
- 0x71,
- 0xcb,
- 0x25,
- 0x47,
- 0x36,
- 0xb0,
- 0xc4,
- 0x6b,
- 0xc8,
- 0x53,
- 0x4a,
- 0x25,
- 0x80,
- 0x47,
- 0x77,
- 0xdb,
- 0x97,
- 0x13,
- 0x15,
- 0x0f,
- 0x4a,
- 0xfa,
- 0x0c,
- 0x6c,
- 0x44,
- 0x13,
- 0x2f,
- 0xbc,
- 0x9a,
- 0x6b,
- 0x13,
- 0x57,
- 0xfc,
- 0x42,
- 0xb9,
- 0xe9,
- 0xd3,
- 0x2e,
- 0xd2,
- 0x11,
- 0xf4,
- 0xc5,
- 0x84,
- 0x55,
- 0xd2,
- 0xdf,
- 0x1d,
- 0xa7,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xcb,
- 0xd7,
- 0xd6,
- 0x9d,
- 0x71,
- 0xb3,
- 0x86,
- 0xbe,
- 0x68,
- 0xed,
- 0x67,
- 0xe1,
- 0x51,
- 0x92,
- 0x17,
- 0x60,
- 0x58,
- 0xb3,
- 0x2a,
- 0x56,
- 0xfd,
- 0x18,
- 0xfb,
- 0x39,
- 0x4b,
- 0x14,
- 0xc6,
- 0xf6,
- 0x67,
- 0x0e,
- 0x31,
- 0xe3,
- 0xb3,
- 0x2f,
- 0x1f,
- 0xec,
- 0x16,
- 0x1c,
- 0x23,
- 0x2b,
- 0x60,
- 0x36,
- 0xd1,
- 0xcb,
- 0x4a,
- 0x03,
- 0x6a,
- 0x3a,
- 0x4c,
- 0x8c,
- 0xf2,
- 0x73,
- 0x08,
- 0x23,
- 0x29,
- 0xda,
- 0xcb,
- 0xf7,
- 0xb6,
- 0x18,
- 0x97,
- 0xc6,
- 0xfe,
- 0xd4,
- 0x40,
- 0x06,
- 0x87,
- 0x9d,
- 0x6e,
- 0xbb,
- 0x5d,
- 0x14,
- 0x44,
- 0xc8,
- 0x19,
- 0xfa,
- 0x7f,
- 0x0c,
- 0xc5,
- 0x02,
- 0x92,
- 0x00,
- 0xbb,
- 0x2e,
- 0x4f,
- 0x50,
- 0xb0,
- 0x71,
- 0x9f,
- 0xf3,
- 0x94,
- 0x12,
- 0xb8,
- 0x6c,
- 0x5f,
- 0xe1,
- 0x83,
- 0x7b,
- 0xbc,
- 0x8c,
- 0x0a,
- 0x6f,
- 0x09,
- 0x6a,
- 0x35,
- 0x4f,
- 0xf9,
- 0xa4,
- 0x92,
- 0x93,
- 0xe3,
- 0xad,
- 0x36,
- 0x25,
- 0x28,
- 0x90,
- 0x85,
- 0xd2,
- 0x9f,
- 0x86,
- 0xfd,
- 0xd9,
- 0xa8,
- 0x61,
- 0xe9,
- 0xb2,
- 0xec,
- 0x1f,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xdd,
- 0x1c,
- 0x52,
- 0xda,
- 0x2b,
- 0xc2,
- 0x5a,
- 0x26,
- 0xb0,
- 0xcb,
- 0x0d,
- 0xae,
- 0xc7,
- 0xdb,
- 0xf0,
- 0x41,
- 0x75,
- 0x87,
- 0x4a,
- 0xe0,
- 0x1a,
- 0xdf,
- 0x53,
- 0xb9,
- 0xcf,
- 0xfe,
- 0x64,
- 0x4f,
- 0x6a,
- 0x70,
- 0x4d,
- 0x36,
- 0xbf,
- 0xb1,
- 0xa6,
- 0xf3,
- 0x5f,
- 0xf3,
- 0x5a,
- 0xa9,
- 0xe5,
- 0x8b,
- 0xea,
- 0x59,
- 0x5d,
- 0x6f,
- 0xf3,
- 0x87,
- 0xa9,
- 0xde,
- 0x11,
- 0x0c,
- 0x60,
- 0x64,
- 0x55,
- 0x9e,
- 0x5c,
- 0x1a,
- 0x91,
- 0x4e,
- 0x9c,
- 0x0d,
- 0xd5,
- 0xe9,
- 0x4a,
- 0x67,
- 0x9b,
- 0xe6,
- 0xfd,
- 0x03,
- 0x33,
- 0x2b,
- 0x74,
- 0xe3,
- 0xc3,
- 0x11,
- 0xc1,
- 0xe0,
- 0xf1,
- 0x4f,
- 0xdd,
- 0x13,
- 0x92,
- 0x16,
- 0x67,
- 0x4f,
- 0x6e,
- 0xc4,
- 0x8c,
- 0x0a,
- 0x48,
- 0x21,
- 0x92,
- 0x8f,
- 0xb2,
- 0xe5,
- 0xb5,
- 0x96,
- 0x5a,
- 0xb8,
- 0xc0,
- 0x67,
- 0xbb,
- 0xc8,
- 0x87,
- 0x2d,
- 0xa8,
- 0x4e,
- 0xd2,
- 0xd8,
- 0x05,
- 0xf0,
- 0xf0,
- 0xb3,
- 0x7c,
- 0x90,
- 0x98,
- 0x8f,
- 0x4f,
- 0x5d,
- 0x6c,
- 0xab,
- 0x71,
- 0x92,
- 0xe2,
- 0x88,
- 0xc8,
- 0xf3,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0x99,
- 0x27,
- 0x5a,
- 0x00,
- 0x81,
- 0x65,
- 0x39,
- 0x5f,
- 0xe6,
- 0xc6,
- 0x38,
- 0xbe,
- 0x79,
- 0xe3,
- 0x21,
- 0xdd,
- 0x29,
- 0xc7,
- 0xb3,
- 0x90,
- 0x18,
- 0x29,
- 0xa4,
- 0xd7,
- 0xaf,
- 0x29,
- 0xb5,
- 0x33,
- 0x7c,
- 0xca,
- 0x95,
- 0x81,
- 0x57,
- 0x27,
- 0x98,
- 0xfc,
- 0x70,
- 0xc0,
- 0x43,
- 0x4c,
- 0x5b,
- 0xc5,
- 0xd4,
- 0x6a,
- 0xc0,
- 0xf9,
- 0x3f,
- 0xde,
- 0xfd,
- 0x95,
- 0x08,
- 0xb4,
- 0x94,
- 0xf0,
- 0x96,
- 0x89,
- 0xe5,
- 0xa6,
- 0x00,
- 0x13,
- 0x0a,
- 0x36,
- 0x61,
- 0x50,
- 0x67,
- 0xaa,
- 0x80,
- 0x4a,
- 0x30,
- 0xe0,
- 0x65,
- 0x56,
- 0xcd,
- 0x36,
- 0xeb,
- 0x0d,
- 0xe2,
- 0x57,
- 0x5d,
- 0xce,
- 0x48,
- 0x94,
- 0x74,
- 0x0e,
- 0x9f,
- 0x59,
- 0x28,
- 0xb8,
- 0xb6,
- 0x4c,
- 0xf4,
- 0x7b,
- 0xfc,
- 0x44,
- 0xb0,
- 0xe5,
- 0x67,
- 0x3c,
- 0x98,
- 0xb5,
- 0x3f,
- 0x41,
- 0x9d,
- 0xf9,
- 0x46,
- 0x85,
- 0x08,
- 0x34,
- 0x36,
- 0x4d,
- 0x17,
- 0x4b,
- 0x14,
- 0xdb,
- 0x66,
- 0x56,
- 0xef,
- 0xb5,
- 0x08,
- 0x57,
- 0x0c,
- 0x73,
- 0x74,
- 0xa7,
- 0xdc,
- 0x46,
- 0xaa,
- 0x51,
- 0x02,
- 0x81,
- 0x80,
- 0x1e,
- 0x50,
- 0x4c,
- 0xde,
- 0x9c,
- 0x60,
- 0x6d,
- 0xd7,
- 0x31,
- 0xf6,
- 0xd8,
- 0x4f,
- 0xc2,
- 0x25,
- 0x7d,
- 0x83,
- 0xb3,
- 0xe7,
- 0xed,
- 0x92,
- 0xe7,
- 0x28,
- 0x1e,
- 0xb3,
- 0x9b,
- 0xcb,
- 0xf2,
- 0x86,
- 0xa4,
- 0x49,
- 0x45,
- 0x5e,
- 0xba,
- 0x1d,
- 0xdb,
- 0x21,
- 0x5d,
- 0xdf,
- 0xeb,
- 0x3c,
- 0x5e,
- 0x01,
- 0xc6,
- 0x68,
- 0x25,
- 0x28,
- 0xe6,
- 0x1a,
- 0xbf,
- 0xc1,
- 0xa1,
- 0xc5,
- 0x92,
- 0x0b,
- 0x08,
- 0x43,
- 0x0e,
- 0x5a,
- 0xa3,
- 0x85,
- 0x8a,
- 0x65,
- 0xb4,
- 0x54,
- 0xa1,
- 0x4c,
- 0x20,
- 0xa2,
- 0x5a,
- 0x08,
- 0xf6,
- 0x90,
- 0x0d,
- 0x9a,
- 0xd7,
- 0x20,
- 0xf1,
- 0x10,
- 0x66,
- 0x28,
- 0x4c,
- 0x22,
- 0x56,
- 0xa6,
- 0xb9,
- 0xff,
- 0xd0,
- 0x6a,
- 0x62,
- 0x8c,
- 0x9f,
- 0xf8,
- 0x7c,
- 0xf4,
- 0xad,
- 0xd7,
- 0xe8,
- 0xf9,
- 0x87,
- 0x43,
- 0xbf,
- 0x73,
- 0x5b,
- 0x04,
- 0xc7,
- 0xd0,
- 0x77,
- 0xcc,
- 0xe3,
- 0xbe,
- 0xda,
- 0xc2,
- 0x07,
- 0xed,
- 0x8d,
- 0x2a,
- 0x15,
- 0x77,
- 0x1d,
- 0x53,
- 0x47,
- 0xe0,
- 0xa2,
- 0x11,
- 0x41,
- 0x0d,
- 0xe2,
- 0xe7,
+ 0x30, 0x82, 0x04, 0xa4, 0x02, 0x01, 0x00, 0x02, 0x82, 0x01,
+ 0x01, 0x00, 0xc2, 0x44, 0xbc, 0xcf, 0x5b, 0xca, 0xcd, 0x80,
+ 0x77, 0xae, 0xf9, 0x7a, 0x34, 0xbb, 0x37, 0x6f, 0x5c, 0x76,
+ 0x4c, 0xe4, 0xbb, 0x0c, 0x1d, 0xe7, 0xfe, 0x0f, 0xda, 0xcf,
+ 0x8c, 0x56, 0x65, 0x72, 0x6e, 0x2c, 0xf9, 0xfd, 0x87, 0x43,
+ 0xeb, 0x4c, 0x26, 0xb1, 0xd3, 0xf0, 0x87, 0xb1, 0x18, 0x68,
+ 0x14, 0x7d, 0x3c, 0x2a, 0xfa, 0xc2, 0x5d, 0x70, 0x19, 0x11,
+ 0x00, 0x2e, 0xb3, 0x9c, 0x8e, 0x38, 0x08, 0xbe, 0xe3, 0xeb,
+ 0x7d, 0x6e, 0xc7, 0x19, 0xc6, 0x7f, 0x59, 0x48, 0x84, 0x1b,
+ 0xe3, 0x27, 0x30, 0x46, 0x30, 0xd3, 0xfc, 0xfc, 0xb3, 0x35,
+ 0x75, 0xc4, 0x31, 0x1a, 0xc0, 0xc2, 0x4c, 0x0b, 0xc7, 0x01,
+ 0x95, 0xb2, 0xdc, 0x17, 0x77, 0x9b, 0x09, 0x15, 0x04, 0xbc,
+ 0xdb, 0x57, 0x0b, 0x26, 0xda, 0x59, 0x54, 0x0d, 0x6e, 0xb7,
+ 0x89, 0xbc, 0x53, 0x9d, 0x5f, 0x8c, 0xad, 0x86, 0x97, 0xd2,
+ 0x48, 0x4f, 0x5c, 0x94, 0xdd, 0x30, 0x2f, 0xcf, 0xfc, 0xde,
+ 0x20, 0x31, 0x25, 0x9d, 0x29, 0x25, 0x78, 0xb7, 0xd2, 0x5b,
+ 0x5d, 0x99, 0x5b, 0x08, 0x12, 0x81, 0x79, 0x89, 0xa0, 0xcf,
+ 0x8f, 0x40, 0xb1, 0x77, 0x72, 0x3b, 0x13, 0xfc, 0x55, 0x43,
+ 0x70, 0x29, 0xd5, 0x41, 0xed, 0x31, 0x4b, 0x2d, 0x6c, 0x7d,
+ 0xcf, 0x99, 0x5f, 0xd1, 0x72, 0x9f, 0x8b, 0x32, 0x96, 0xde,
+ 0x5d, 0x8b, 0x19, 0x77, 0x75, 0xff, 0x09, 0xbf, 0x26, 0xe9,
+ 0xd7, 0x3d, 0xc7, 0x1a, 0x81, 0xcf, 0x05, 0x1b, 0x89, 0xbf,
+ 0x45, 0x32, 0xbf, 0x5e, 0xc9, 0xe3, 0x5c, 0x33, 0x4a, 0x72,
+ 0x47, 0xf4, 0x24, 0xae, 0x9b, 0x38, 0x24, 0x76, 0x9a, 0xa2,
+ 0x9a, 0x50, 0x50, 0x49, 0xf5, 0x26, 0xb9, 0x55, 0xa6, 0x47,
+ 0xc9, 0x14, 0xa2, 0xca, 0xd4, 0xa8, 0x8a, 0x9f, 0xe9, 0x5a,
+ 0x5a, 0x12, 0xaa, 0x30, 0xd5, 0x78, 0x8b, 0x39, 0x02, 0x03,
+ 0x01, 0x00, 0x01, 0x02, 0x82, 0x01, 0x00, 0x22, 0x5d, 0xb9,
+ 0x8e, 0xef, 0x1c, 0x91, 0xbd, 0x03, 0xaf, 0x1a, 0xe8, 0x00,
+ 0xf3, 0x0b, 0x8b, 0xf2, 0x2d, 0xe5, 0x4d, 0x63, 0x3f, 0x71,
+ 0xfc, 0xeb, 0xc7, 0x4f, 0x3c, 0x7f, 0x05, 0x7b, 0x9d, 0xc2,
+ 0x1a, 0xc7, 0xc0, 0x8f, 0x50, 0xb7, 0x0b, 0xba, 0x1e, 0xa4,
+ 0x30, 0xfd, 0x38, 0x19, 0x6a, 0xb4, 0x11, 0x31, 0x77, 0x22,
+ 0xf4, 0x06, 0x46, 0x81, 0xd0, 0xad, 0x99, 0x15, 0x62, 0x01,
+ 0x10, 0xad, 0x8f, 0x63, 0x4f, 0x71, 0xd9, 0x8a, 0x74, 0x27,
+ 0x56, 0xb8, 0xeb, 0x28, 0x9f, 0xac, 0x4f, 0xee, 0xec, 0xc3,
+ 0xcf, 0x84, 0x86, 0x09, 0x87, 0xd0, 0x04, 0xfc, 0x70, 0xd0,
+ 0x9f, 0xae, 0x87, 0x38, 0xd5, 0xb1, 0x6f, 0x3a, 0x1b, 0x16,
+ 0xa8, 0x00, 0xf3, 0xcc, 0x6a, 0x42, 0x5d, 0x04, 0x16, 0x83,
+ 0xf2, 0xe0, 0x79, 0x1d, 0xd8, 0x6f, 0x0f, 0xb7, 0x34, 0xf4,
+ 0x45, 0xb5, 0x1e, 0xc5, 0xb5, 0x78, 0xa7, 0xd3, 0xa3, 0x23,
+ 0x35, 0xbc, 0x7b, 0x01, 0x59, 0x7d, 0xee, 0xb9, 0x4f, 0xda,
+ 0x28, 0xad, 0x5d, 0x25, 0xab, 0x66, 0x6a, 0xb0, 0x61, 0xf6,
+ 0x12, 0xa7, 0xee, 0xd1, 0xe7, 0xb1, 0x8b, 0x91, 0x29, 0xba,
+ 0xb5, 0xf8, 0x78, 0xc8, 0x6b, 0x76, 0x67, 0x32, 0xe8, 0xf3,
+ 0x4e, 0x59, 0xba, 0xc1, 0x44, 0xc0, 0xec, 0x8d, 0x7c, 0x63,
+ 0xb2, 0x6e, 0x0c, 0xb9, 0x33, 0x42, 0x0c, 0x8d, 0xae, 0x4e,
+ 0x54, 0xc8, 0x8a, 0xef, 0xf9, 0x47, 0xc8, 0x99, 0x84, 0xc8,
+ 0x46, 0xf6, 0xa6, 0x53, 0x59, 0xf8, 0x60, 0xe3, 0xd7, 0x1d,
+ 0x10, 0x95, 0xf5, 0x6d, 0xf4, 0xa3, 0x18, 0x40, 0xd7, 0x14,
+ 0x04, 0xac, 0x8c, 0x69, 0xd6, 0x14, 0xdc, 0xd8, 0xcc, 0xbc,
+ 0x1c, 0xac, 0xd7, 0x21, 0x2b, 0x7e, 0x29, 0x88, 0x06, 0xa0,
+ 0xf4, 0x06, 0x08, 0x14, 0x04, 0x4d, 0x32, 0x33, 0x84, 0x9c,
+ 0x20, 0x8e, 0xcf, 0x02, 0x81, 0x81, 0x00, 0xf3, 0xf9, 0xbd,
+ 0xd5, 0x43, 0x6f, 0x27, 0x4a, 0x92, 0xd6, 0x18, 0x3d, 0x4b,
+ 0xf1, 0x77, 0x7c, 0xaf, 0xce, 0x01, 0x17, 0x98, 0xcb, 0xbe,
+ 0x06, 0x86, 0x3a, 0x13, 0x72, 0x4b, 0x7c, 0x81, 0x51, 0x24,
+ 0x5d, 0xc3, 0xe9, 0xa2, 0x63, 0x1e, 0x4a, 0xeb, 0x66, 0xae,
+ 0x01, 0x5e, 0xa4, 0xa4, 0x74, 0x9e, 0xee, 0x32, 0xe5, 0x59,
+ 0x1b, 0x37, 0xef, 0x7d, 0xb3, 0x42, 0x8c, 0x93, 0x8b, 0xd3,
+ 0x1e, 0x83, 0x43, 0xb5, 0x88, 0x3e, 0x24, 0xeb, 0xdc, 0x92,
+ 0x2d, 0xcc, 0x9a, 0x9d, 0xf1, 0x7d, 0x16, 0x71, 0xcb, 0x25,
+ 0x47, 0x36, 0xb0, 0xc4, 0x6b, 0xc8, 0x53, 0x4a, 0x25, 0x80,
+ 0x47, 0x77, 0xdb, 0x97, 0x13, 0x15, 0x0f, 0x4a, 0xfa, 0x0c,
+ 0x6c, 0x44, 0x13, 0x2f, 0xbc, 0x9a, 0x6b, 0x13, 0x57, 0xfc,
+ 0x42, 0xb9, 0xe9, 0xd3, 0x2e, 0xd2, 0x11, 0xf4, 0xc5, 0x84,
+ 0x55, 0xd2, 0xdf, 0x1d, 0xa7, 0x02, 0x81, 0x81, 0x00, 0xcb,
+ 0xd7, 0xd6, 0x9d, 0x71, 0xb3, 0x86, 0xbe, 0x68, 0xed, 0x67,
+ 0xe1, 0x51, 0x92, 0x17, 0x60, 0x58, 0xb3, 0x2a, 0x56, 0xfd,
+ 0x18, 0xfb, 0x39, 0x4b, 0x14, 0xc6, 0xf6, 0x67, 0x0e, 0x31,
+ 0xe3, 0xb3, 0x2f, 0x1f, 0xec, 0x16, 0x1c, 0x23, 0x2b, 0x60,
+ 0x36, 0xd1, 0xcb, 0x4a, 0x03, 0x6a, 0x3a, 0x4c, 0x8c, 0xf2,
+ 0x73, 0x08, 0x23, 0x29, 0xda, 0xcb, 0xf7, 0xb6, 0x18, 0x97,
+ 0xc6, 0xfe, 0xd4, 0x40, 0x06, 0x87, 0x9d, 0x6e, 0xbb, 0x5d,
+ 0x14, 0x44, 0xc8, 0x19, 0xfa, 0x7f, 0x0c, 0xc5, 0x02, 0x92,
+ 0x00, 0xbb, 0x2e, 0x4f, 0x50, 0xb0, 0x71, 0x9f, 0xf3, 0x94,
+ 0x12, 0xb8, 0x6c, 0x5f, 0xe1, 0x83, 0x7b, 0xbc, 0x8c, 0x0a,
+ 0x6f, 0x09, 0x6a, 0x35, 0x4f, 0xf9, 0xa4, 0x92, 0x93, 0xe3,
+ 0xad, 0x36, 0x25, 0x28, 0x90, 0x85, 0xd2, 0x9f, 0x86, 0xfd,
+ 0xd9, 0xa8, 0x61, 0xe9, 0xb2, 0xec, 0x1f, 0x02, 0x81, 0x81,
+ 0x00, 0xdd, 0x1c, 0x52, 0xda, 0x2b, 0xc2, 0x5a, 0x26, 0xb0,
+ 0xcb, 0x0d, 0xae, 0xc7, 0xdb, 0xf0, 0x41, 0x75, 0x87, 0x4a,
+ 0xe0, 0x1a, 0xdf, 0x53, 0xb9, 0xcf, 0xfe, 0x64, 0x4f, 0x6a,
+ 0x70, 0x4d, 0x36, 0xbf, 0xb1, 0xa6, 0xf3, 0x5f, 0xf3, 0x5a,
+ 0xa9, 0xe5, 0x8b, 0xea, 0x59, 0x5d, 0x6f, 0xf3, 0x87, 0xa9,
+ 0xde, 0x11, 0x0c, 0x60, 0x64, 0x55, 0x9e, 0x5c, 0x1a, 0x91,
+ 0x4e, 0x9c, 0x0d, 0xd5, 0xe9, 0x4a, 0x67, 0x9b, 0xe6, 0xfd,
+ 0x03, 0x33, 0x2b, 0x74, 0xe3, 0xc3, 0x11, 0xc1, 0xe0, 0xf1,
+ 0x4f, 0xdd, 0x13, 0x92, 0x16, 0x67, 0x4f, 0x6e, 0xc4, 0x8c,
+ 0x0a, 0x48, 0x21, 0x92, 0x8f, 0xb2, 0xe5, 0xb5, 0x96, 0x5a,
+ 0xb8, 0xc0, 0x67, 0xbb, 0xc8, 0x87, 0x2d, 0xa8, 0x4e, 0xd2,
+ 0xd8, 0x05, 0xf0, 0xf0, 0xb3, 0x7c, 0x90, 0x98, 0x8f, 0x4f,
+ 0x5d, 0x6c, 0xab, 0x71, 0x92, 0xe2, 0x88, 0xc8, 0xf3, 0x02,
+ 0x81, 0x81, 0x00, 0x99, 0x27, 0x5a, 0x00, 0x81, 0x65, 0x39,
+ 0x5f, 0xe6, 0xc6, 0x38, 0xbe, 0x79, 0xe3, 0x21, 0xdd, 0x29,
+ 0xc7, 0xb3, 0x90, 0x18, 0x29, 0xa4, 0xd7, 0xaf, 0x29, 0xb5,
+ 0x33, 0x7c, 0xca, 0x95, 0x81, 0x57, 0x27, 0x98, 0xfc, 0x70,
+ 0xc0, 0x43, 0x4c, 0x5b, 0xc5, 0xd4, 0x6a, 0xc0, 0xf9, 0x3f,
+ 0xde, 0xfd, 0x95, 0x08, 0xb4, 0x94, 0xf0, 0x96, 0x89, 0xe5,
+ 0xa6, 0x00, 0x13, 0x0a, 0x36, 0x61, 0x50, 0x67, 0xaa, 0x80,
+ 0x4a, 0x30, 0xe0, 0x65, 0x56, 0xcd, 0x36, 0xeb, 0x0d, 0xe2,
+ 0x57, 0x5d, 0xce, 0x48, 0x94, 0x74, 0x0e, 0x9f, 0x59, 0x28,
+ 0xb8, 0xb6, 0x4c, 0xf4, 0x7b, 0xfc, 0x44, 0xb0, 0xe5, 0x67,
+ 0x3c, 0x98, 0xb5, 0x3f, 0x41, 0x9d, 0xf9, 0x46, 0x85, 0x08,
+ 0x34, 0x36, 0x4d, 0x17, 0x4b, 0x14, 0xdb, 0x66, 0x56, 0xef,
+ 0xb5, 0x08, 0x57, 0x0c, 0x73, 0x74, 0xa7, 0xdc, 0x46, 0xaa,
+ 0x51, 0x02, 0x81, 0x80, 0x1e, 0x50, 0x4c, 0xde, 0x9c, 0x60,
+ 0x6d, 0xd7, 0x31, 0xf6, 0xd8, 0x4f, 0xc2, 0x25, 0x7d, 0x83,
+ 0xb3, 0xe7, 0xed, 0x92, 0xe7, 0x28, 0x1e, 0xb3, 0x9b, 0xcb,
+ 0xf2, 0x86, 0xa4, 0x49, 0x45, 0x5e, 0xba, 0x1d, 0xdb, 0x21,
+ 0x5d, 0xdf, 0xeb, 0x3c, 0x5e, 0x01, 0xc6, 0x68, 0x25, 0x28,
+ 0xe6, 0x1a, 0xbf, 0xc1, 0xa1, 0xc5, 0x92, 0x0b, 0x08, 0x43,
+ 0x0e, 0x5a, 0xa3, 0x85, 0x8a, 0x65, 0xb4, 0x54, 0xa1, 0x4c,
+ 0x20, 0xa2, 0x5a, 0x08, 0xf6, 0x90, 0x0d, 0x9a, 0xd7, 0x20,
+ 0xf1, 0x10, 0x66, 0x28, 0x4c, 0x22, 0x56, 0xa6, 0xb9, 0xff,
+ 0xd0, 0x6a, 0x62, 0x8c, 0x9f, 0xf8, 0x7c, 0xf4, 0xad, 0xd7,
+ 0xe8, 0xf9, 0x87, 0x43, 0xbf, 0x73, 0x5b, 0x04, 0xc7, 0xd0,
+ 0x77, 0xcc, 0xe3, 0xbe, 0xda, 0xc2, 0x07, 0xed, 0x8d, 0x2a,
+ 0x15, 0x77, 0x1d, 0x53, 0x47, 0xe0, 0xa2, 0x11, 0x41, 0x0d,
+ 0xe2, 0xe7
};
/* The matching public key used for encryption*/
static const unsigned char pub_key_der[] = {
- 0x30,
- 0x82,
- 0x01,
- 0x22,
- 0x30,
- 0x0d,
- 0x06,
- 0x09,
- 0x2a,
- 0x86,
- 0x48,
- 0x86,
- 0xf7,
- 0x0d,
- 0x01,
- 0x01,
- 0x01,
- 0x05,
- 0x00,
- 0x03,
- 0x82,
- 0x01,
- 0x0f,
- 0x00,
- 0x30,
- 0x82,
- 0x01,
- 0x0a,
- 0x02,
- 0x82,
- 0x01,
- 0x01,
- 0x00,
- 0xc2,
- 0x44,
- 0xbc,
- 0xcf,
- 0x5b,
- 0xca,
- 0xcd,
- 0x80,
- 0x77,
- 0xae,
- 0xf9,
- 0x7a,
- 0x34,
- 0xbb,
- 0x37,
- 0x6f,
- 0x5c,
- 0x76,
- 0x4c,
- 0xe4,
- 0xbb,
- 0x0c,
- 0x1d,
- 0xe7,
- 0xfe,
- 0x0f,
- 0xda,
- 0xcf,
- 0x8c,
- 0x56,
- 0x65,
- 0x72,
- 0x6e,
- 0x2c,
- 0xf9,
- 0xfd,
- 0x87,
- 0x43,
- 0xeb,
- 0x4c,
- 0x26,
- 0xb1,
- 0xd3,
- 0xf0,
- 0x87,
- 0xb1,
- 0x18,
- 0x68,
- 0x14,
- 0x7d,
- 0x3c,
- 0x2a,
- 0xfa,
- 0xc2,
- 0x5d,
- 0x70,
- 0x19,
- 0x11,
- 0x00,
- 0x2e,
- 0xb3,
- 0x9c,
- 0x8e,
- 0x38,
- 0x08,
- 0xbe,
- 0xe3,
- 0xeb,
- 0x7d,
- 0x6e,
- 0xc7,
- 0x19,
- 0xc6,
- 0x7f,
- 0x59,
- 0x48,
- 0x84,
- 0x1b,
- 0xe3,
- 0x27,
- 0x30,
- 0x46,
- 0x30,
- 0xd3,
- 0xfc,
- 0xfc,
- 0xb3,
- 0x35,
- 0x75,
- 0xc4,
- 0x31,
- 0x1a,
- 0xc0,
- 0xc2,
- 0x4c,
- 0x0b,
- 0xc7,
- 0x01,
- 0x95,
- 0xb2,
- 0xdc,
- 0x17,
- 0x77,
- 0x9b,
- 0x09,
- 0x15,
- 0x04,
- 0xbc,
- 0xdb,
- 0x57,
- 0x0b,
- 0x26,
- 0xda,
- 0x59,
- 0x54,
- 0x0d,
- 0x6e,
- 0xb7,
- 0x89,
- 0xbc,
- 0x53,
- 0x9d,
- 0x5f,
- 0x8c,
- 0xad,
- 0x86,
- 0x97,
- 0xd2,
- 0x48,
- 0x4f,
- 0x5c,
- 0x94,
- 0xdd,
- 0x30,
- 0x2f,
- 0xcf,
- 0xfc,
- 0xde,
- 0x20,
- 0x31,
- 0x25,
- 0x9d,
- 0x29,
- 0x25,
- 0x78,
- 0xb7,
- 0xd2,
- 0x5b,
- 0x5d,
- 0x99,
- 0x5b,
- 0x08,
- 0x12,
- 0x81,
- 0x79,
- 0x89,
- 0xa0,
- 0xcf,
- 0x8f,
- 0x40,
- 0xb1,
- 0x77,
- 0x72,
- 0x3b,
- 0x13,
- 0xfc,
- 0x55,
- 0x43,
- 0x70,
- 0x29,
- 0xd5,
- 0x41,
- 0xed,
- 0x31,
- 0x4b,
- 0x2d,
- 0x6c,
- 0x7d,
- 0xcf,
- 0x99,
- 0x5f,
- 0xd1,
- 0x72,
- 0x9f,
- 0x8b,
- 0x32,
- 0x96,
- 0xde,
- 0x5d,
- 0x8b,
- 0x19,
- 0x77,
- 0x75,
- 0xff,
- 0x09,
- 0xbf,
- 0x26,
- 0xe9,
- 0xd7,
- 0x3d,
- 0xc7,
- 0x1a,
- 0x81,
- 0xcf,
- 0x05,
- 0x1b,
- 0x89,
- 0xbf,
- 0x45,
- 0x32,
- 0xbf,
- 0x5e,
- 0xc9,
- 0xe3,
- 0x5c,
- 0x33,
- 0x4a,
- 0x72,
- 0x47,
- 0xf4,
- 0x24,
- 0xae,
- 0x9b,
- 0x38,
- 0x24,
- 0x76,
- 0x9a,
- 0xa2,
- 0x9a,
- 0x50,
- 0x50,
- 0x49,
- 0xf5,
- 0x26,
- 0xb9,
- 0x55,
- 0xa6,
- 0x47,
- 0xc9,
- 0x14,
- 0xa2,
- 0xca,
- 0xd4,
- 0xa8,
- 0x8a,
- 0x9f,
- 0xe9,
- 0x5a,
- 0x5a,
- 0x12,
- 0xaa,
- 0x30,
- 0xd5,
- 0x78,
- 0x8b,
- 0x39,
- 0x02,
- 0x03,
- 0x01,
- 0x00,
- 0x01,
+ 0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
+ 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03,
+ 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02, 0x82,
+ 0x01, 0x01, 0x00, 0xc2, 0x44, 0xbc, 0xcf, 0x5b, 0xca, 0xcd,
+ 0x80, 0x77, 0xae, 0xf9, 0x7a, 0x34, 0xbb, 0x37, 0x6f, 0x5c,
+ 0x76, 0x4c, 0xe4, 0xbb, 0x0c, 0x1d, 0xe7, 0xfe, 0x0f, 0xda,
+ 0xcf, 0x8c, 0x56, 0x65, 0x72, 0x6e, 0x2c, 0xf9, 0xfd, 0x87,
+ 0x43, 0xeb, 0x4c, 0x26, 0xb1, 0xd3, 0xf0, 0x87, 0xb1, 0x18,
+ 0x68, 0x14, 0x7d, 0x3c, 0x2a, 0xfa, 0xc2, 0x5d, 0x70, 0x19,
+ 0x11, 0x00, 0x2e, 0xb3, 0x9c, 0x8e, 0x38, 0x08, 0xbe, 0xe3,
+ 0xeb, 0x7d, 0x6e, 0xc7, 0x19, 0xc6, 0x7f, 0x59, 0x48, 0x84,
+ 0x1b, 0xe3, 0x27, 0x30, 0x46, 0x30, 0xd3, 0xfc, 0xfc, 0xb3,
+ 0x35, 0x75, 0xc4, 0x31, 0x1a, 0xc0, 0xc2, 0x4c, 0x0b, 0xc7,
+ 0x01, 0x95, 0xb2, 0xdc, 0x17, 0x77, 0x9b, 0x09, 0x15, 0x04,
+ 0xbc, 0xdb, 0x57, 0x0b, 0x26, 0xda, 0x59, 0x54, 0x0d, 0x6e,
+ 0xb7, 0x89, 0xbc, 0x53, 0x9d, 0x5f, 0x8c, 0xad, 0x86, 0x97,
+ 0xd2, 0x48, 0x4f, 0x5c, 0x94, 0xdd, 0x30, 0x2f, 0xcf, 0xfc,
+ 0xde, 0x20, 0x31, 0x25, 0x9d, 0x29, 0x25, 0x78, 0xb7, 0xd2,
+ 0x5b, 0x5d, 0x99, 0x5b, 0x08, 0x12, 0x81, 0x79, 0x89, 0xa0,
+ 0xcf, 0x8f, 0x40, 0xb1, 0x77, 0x72, 0x3b, 0x13, 0xfc, 0x55,
+ 0x43, 0x70, 0x29, 0xd5, 0x41, 0xed, 0x31, 0x4b, 0x2d, 0x6c,
+ 0x7d, 0xcf, 0x99, 0x5f, 0xd1, 0x72, 0x9f, 0x8b, 0x32, 0x96,
+ 0xde, 0x5d, 0x8b, 0x19, 0x77, 0x75, 0xff, 0x09, 0xbf, 0x26,
+ 0xe9, 0xd7, 0x3d, 0xc7, 0x1a, 0x81, 0xcf, 0x05, 0x1b, 0x89,
+ 0xbf, 0x45, 0x32, 0xbf, 0x5e, 0xc9, 0xe3, 0x5c, 0x33, 0x4a,
+ 0x72, 0x47, 0xf4, 0x24, 0xae, 0x9b, 0x38, 0x24, 0x76, 0x9a,
+ 0xa2, 0x9a, 0x50, 0x50, 0x49, 0xf5, 0x26, 0xb9, 0x55, 0xa6,
+ 0x47, 0xc9, 0x14, 0xa2, 0xca, 0xd4, 0xa8, 0x8a, 0x9f, 0xe9,
+ 0x5a, 0x5a, 0x12, 0xaa, 0x30, 0xd5, 0x78, 0x8b, 0x39, 0x02,
+ 0x03, 0x01, 0x00, 0x01
};
diff --git a/crypto/openssl/demos/mac/cmac-aes256.c b/crypto/openssl/demos/mac/cmac-aes256.c
index d091db71489..477e37575fb 100644
--- a/crypto/openssl/demos/mac/cmac-aes256.c
+++ b/crypto/openssl/demos/mac/cmac-aes256.c
@@ -1,5 +1,5 @@
/*-
- * Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -26,38 +26,10 @@
* It is done here solely for educational purposes.
*/
static unsigned char key[] = {
- 0x6c,
- 0xde,
- 0x14,
- 0xf5,
- 0xd5,
- 0x2a,
- 0x4a,
- 0xdf,
- 0x12,
- 0x39,
- 0x1e,
- 0xbf,
- 0x36,
- 0xf9,
- 0x6a,
- 0x46,
- 0x48,
- 0xd0,
- 0xb6,
- 0x51,
- 0x89,
- 0xfc,
- 0x24,
- 0x85,
- 0xa8,
- 0x8d,
- 0xdf,
- 0x7e,
- 0x80,
- 0x14,
- 0xc8,
- 0xce,
+ 0x6c, 0xde, 0x14, 0xf5, 0xd5, 0x2a, 0x4a, 0xdf, 0x12, 0x39,
+ 0x1e, 0xbf, 0x36, 0xf9, 0x6a, 0x46, 0x48, 0xd0, 0xb6, 0x51,
+ 0x89, 0xfc, 0x24, 0x85, 0xa8, 0x8d, 0xdf, 0x7e, 0x80, 0x14,
+ 0xc8, 0xce
};
static const unsigned char data[] = "To be, or not to be, that is the question,\n"
@@ -80,22 +52,8 @@ static const unsigned char data[] = "To be, or not to be, that is the question,\
/* The known value of the CMAC/AES256 MAC of the above soliloqy */
static const unsigned char expected_output[] = {
- 0x67,
- 0x92,
- 0x32,
- 0x23,
- 0x50,
- 0x3d,
- 0xc5,
- 0xba,
- 0x78,
- 0xd4,
- 0x6d,
- 0x63,
- 0xf2,
- 0x2b,
- 0xe9,
- 0x56,
+ 0x67, 0x92, 0x32, 0x23, 0x50, 0x3d, 0xc5, 0xba, 0x78, 0xd4,
+ 0x6d, 0x63, 0xf2, 0x2b, 0xe9, 0x56
};
/*
diff --git a/crypto/openssl/demos/mac/hmac-sha512.c b/crypto/openssl/demos/mac/hmac-sha512.c
index 084c907778f..78dfc92160f 100644
--- a/crypto/openssl/demos/mac/hmac-sha512.c
+++ b/crypto/openssl/demos/mac/hmac-sha512.c
@@ -1,5 +1,5 @@
/*-
- * Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -26,70 +26,13 @@
* It is done here solely for educational purposes.
*/
static unsigned char key[] = {
- 0x25,
- 0xfd,
- 0x12,
- 0x99,
- 0xdf,
- 0xad,
- 0x1a,
- 0x03,
- 0x0a,
- 0x81,
- 0x3c,
- 0x2d,
- 0xcc,
- 0x05,
- 0xd1,
- 0x5c,
- 0x17,
- 0x7a,
- 0x36,
- 0x73,
- 0x17,
- 0xef,
- 0x41,
- 0x75,
- 0x71,
- 0x18,
- 0xe0,
- 0x1a,
- 0xda,
- 0x99,
- 0xc3,
- 0x61,
- 0x38,
- 0xb5,
- 0xb1,
- 0xe0,
- 0x82,
- 0x2c,
- 0x70,
- 0xa4,
- 0xc0,
- 0x8e,
- 0x5e,
- 0xf9,
- 0x93,
- 0x9f,
- 0xcf,
- 0xf7,
- 0x32,
- 0x4d,
- 0x0c,
- 0xbd,
- 0x31,
- 0x12,
- 0x0f,
- 0x9a,
- 0x15,
- 0xee,
- 0x82,
- 0xdb,
- 0x8d,
- 0x29,
- 0x54,
- 0x14,
+ 0x25, 0xfd, 0x12, 0x99, 0xdf, 0xad, 0x1a, 0x03, 0x0a, 0x81,
+ 0x3c, 0x2d, 0xcc, 0x05, 0xd1, 0x5c, 0x17, 0x7a, 0x36, 0x73,
+ 0x17, 0xef, 0x41, 0x75, 0x71, 0x18, 0xe0, 0x1a, 0xda, 0x99,
+ 0xc3, 0x61, 0x38, 0xb5, 0xb1, 0xe0, 0x82, 0x2c, 0x70, 0xa4,
+ 0xc0, 0x8e, 0x5e, 0xf9, 0x93, 0x9f, 0xcf, 0xf7, 0x32, 0x4d,
+ 0x0c, 0xbd, 0x31, 0x12, 0x0f, 0x9a, 0x15, 0xee, 0x82, 0xdb,
+ 0x8d, 0x29, 0x54, 0x14
};
static const unsigned char data[] = "To be, or not to be, that is the question,\n"
@@ -112,70 +55,13 @@ static const unsigned char data[] = "To be, or not to be, that is the question,\
/* The known value of the HMAC/SHA3-512 MAC of the above soliloqy */
static const unsigned char expected_output[] = {
- 0x3b,
- 0x77,
- 0x5f,
- 0xf1,
- 0x4f,
- 0x9e,
- 0xb9,
- 0x23,
- 0x8f,
- 0xdc,
- 0xa0,
- 0x68,
- 0x15,
- 0x7b,
- 0x8a,
- 0xf1,
- 0x96,
- 0x23,
- 0xaa,
- 0x3c,
- 0x1f,
- 0xe9,
- 0xdc,
- 0x89,
- 0x11,
- 0x7d,
- 0x58,
- 0x07,
- 0xe7,
- 0x96,
- 0x17,
- 0xe3,
- 0x44,
- 0x8b,
- 0x03,
- 0x37,
- 0x91,
- 0xc0,
- 0x6e,
- 0x06,
- 0x7c,
- 0x54,
- 0xe4,
- 0xa4,
- 0xcc,
- 0xd5,
- 0x16,
- 0xbb,
- 0x5e,
- 0x4d,
- 0x64,
- 0x7d,
- 0x88,
- 0x23,
- 0xc9,
- 0xb7,
- 0x25,
- 0xda,
- 0xbe,
- 0x4b,
- 0xe4,
- 0xd5,
- 0x34,
- 0x30,
+ 0x3b, 0x77, 0x5f, 0xf1, 0x4f, 0x9e, 0xb9, 0x23, 0x8f, 0xdc,
+ 0xa0, 0x68, 0x15, 0x7b, 0x8a, 0xf1, 0x96, 0x23, 0xaa, 0x3c,
+ 0x1f, 0xe9, 0xdc, 0x89, 0x11, 0x7d, 0x58, 0x07, 0xe7, 0x96,
+ 0x17, 0xe3, 0x44, 0x8b, 0x03, 0x37, 0x91, 0xc0, 0x6e, 0x06,
+ 0x7c, 0x54, 0xe4, 0xa4, 0xcc, 0xd5, 0x16, 0xbb, 0x5e, 0x4d,
+ 0x64, 0x7d, 0x88, 0x23, 0xc9, 0xb7, 0x25, 0xda, 0xbe, 0x4b,
+ 0xe4, 0xd5, 0x34, 0x30
};
/*
diff --git a/crypto/openssl/demos/signature/EVP_EC_Signature_demo.h b/crypto/openssl/demos/signature/EVP_EC_Signature_demo.h
index 81957567931..33e08b9507d 100644
--- a/crypto/openssl/demos/signature/EVP_EC_Signature_demo.h
+++ b/crypto/openssl/demos/signature/EVP_EC_Signature_demo.h
@@ -1,5 +1,5 @@
/*-
- * Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2021-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -9,707 +9,79 @@
/* Signers private EC key */
static const unsigned char priv_key_der[] = {
- 0x30,
- 0x82,
- 0x01,
- 0x68,
- 0x02,
- 0x01,
- 0x01,
- 0x04,
- 0x20,
- 0x51,
- 0x77,
- 0xae,
- 0xf4,
- 0x18,
- 0xf4,
- 0x6b,
- 0xc4,
- 0xe5,
- 0xbb,
- 0xe9,
- 0xe6,
- 0x9e,
- 0x6d,
- 0xb0,
- 0xea,
- 0x12,
- 0xf9,
- 0xf3,
- 0xdb,
- 0x9d,
- 0x56,
- 0x59,
- 0xf7,
- 0x5a,
- 0x17,
- 0xd7,
- 0xd1,
- 0xe4,
- 0xd7,
- 0x47,
- 0x28,
- 0xa0,
- 0x81,
- 0xfa,
- 0x30,
- 0x81,
- 0xf7,
- 0x02,
- 0x01,
- 0x01,
- 0x30,
- 0x2c,
- 0x06,
- 0x07,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x01,
- 0x01,
- 0x02,
- 0x21,
- 0x00,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0x30,
- 0x5b,
- 0x04,
- 0x20,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xfc,
- 0x04,
- 0x20,
- 0x5a,
- 0xc6,
- 0x35,
- 0xd8,
- 0xaa,
- 0x3a,
- 0x93,
- 0xe7,
- 0xb3,
- 0xeb,
- 0xbd,
- 0x55,
- 0x76,
- 0x98,
- 0x86,
- 0xbc,
- 0x65,
- 0x1d,
- 0x06,
- 0xb0,
- 0xcc,
- 0x53,
- 0xb0,
- 0xf6,
- 0x3b,
- 0xce,
- 0x3c,
- 0x3e,
- 0x27,
- 0xd2,
- 0x60,
- 0x4b,
- 0x03,
- 0x15,
- 0x00,
- 0xc4,
- 0x9d,
- 0x36,
- 0x08,
- 0x86,
- 0xe7,
- 0x04,
- 0x93,
- 0x6a,
- 0x66,
- 0x78,
- 0xe1,
- 0x13,
- 0x9d,
- 0x26,
- 0xb7,
- 0x81,
- 0x9f,
- 0x7e,
- 0x90,
- 0x04,
- 0x41,
- 0x04,
- 0x6b,
- 0x17,
- 0xd1,
- 0xf2,
- 0xe1,
- 0x2c,
- 0x42,
- 0x47,
- 0xf8,
- 0xbc,
- 0xe6,
- 0xe5,
- 0x63,
- 0xa4,
- 0x40,
- 0xf2,
- 0x77,
- 0x03,
- 0x7d,
- 0x81,
- 0x2d,
- 0xeb,
- 0x33,
- 0xa0,
- 0xf4,
- 0xa1,
- 0x39,
- 0x45,
- 0xd8,
- 0x98,
- 0xc2,
- 0x96,
- 0x4f,
- 0xe3,
- 0x42,
- 0xe2,
- 0xfe,
- 0x1a,
- 0x7f,
- 0x9b,
- 0x8e,
- 0xe7,
- 0xeb,
- 0x4a,
- 0x7c,
- 0x0f,
- 0x9e,
- 0x16,
- 0x2b,
- 0xce,
- 0x33,
- 0x57,
- 0x6b,
- 0x31,
- 0x5e,
- 0xce,
- 0xcb,
- 0xb6,
- 0x40,
- 0x68,
- 0x37,
- 0xbf,
- 0x51,
- 0xf5,
- 0x02,
- 0x21,
- 0x00,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xbc,
- 0xe6,
- 0xfa,
- 0xad,
- 0xa7,
- 0x17,
- 0x9e,
- 0x84,
- 0xf3,
- 0xb9,
- 0xca,
- 0xc2,
- 0xfc,
- 0x63,
- 0x25,
- 0x51,
- 0x02,
- 0x01,
- 0x01,
- 0xa1,
- 0x44,
- 0x03,
- 0x42,
- 0x00,
- 0x04,
- 0x4f,
- 0xe7,
- 0x7b,
- 0xb6,
- 0xbb,
- 0x54,
- 0x42,
- 0x39,
- 0xed,
- 0x5d,
- 0xe5,
- 0x40,
- 0xc8,
- 0xd8,
- 0x71,
- 0xca,
- 0x6d,
- 0x83,
- 0x71,
- 0xd1,
- 0x88,
- 0x2a,
- 0x65,
- 0x00,
- 0x6c,
- 0xc6,
- 0x2f,
- 0x01,
- 0x31,
- 0x49,
- 0xbe,
- 0x76,
- 0x7a,
- 0x67,
- 0x6a,
- 0x28,
- 0x33,
- 0xc7,
- 0x5b,
- 0xb9,
- 0x24,
- 0x45,
- 0x24,
- 0x6e,
- 0xf0,
- 0x6d,
- 0x2f,
- 0x34,
- 0x06,
- 0x53,
- 0x73,
- 0x6a,
- 0xff,
- 0x90,
- 0x90,
- 0xc1,
- 0x6d,
- 0x9b,
- 0x94,
- 0x0d,
- 0x0e,
- 0x1f,
- 0x95,
- 0x65,
+ 0x30, 0x82, 0x01, 0x68, 0x02, 0x01, 0x01, 0x04, 0x20, 0x51,
+ 0x77, 0xae, 0xf4, 0x18, 0xf4, 0x6b, 0xc4, 0xe5, 0xbb, 0xe9,
+ 0xe6, 0x9e, 0x6d, 0xb0, 0xea, 0x12, 0xf9, 0xf3, 0xdb, 0x9d,
+ 0x56, 0x59, 0xf7, 0x5a, 0x17, 0xd7, 0xd1, 0xe4, 0xd7, 0x47,
+ 0x28, 0xa0, 0x81, 0xfa, 0x30, 0x81, 0xf7, 0x02, 0x01, 0x01,
+ 0x30, 0x2c, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x01,
+ 0x01, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x5b, 0x04, 0x20,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xfc, 0x04, 0x20, 0x5a, 0xc6, 0x35, 0xd8, 0xaa, 0x3a,
+ 0x93, 0xe7, 0xb3, 0xeb, 0xbd, 0x55, 0x76, 0x98, 0x86, 0xbc,
+ 0x65, 0x1d, 0x06, 0xb0, 0xcc, 0x53, 0xb0, 0xf6, 0x3b, 0xce,
+ 0x3c, 0x3e, 0x27, 0xd2, 0x60, 0x4b, 0x03, 0x15, 0x00, 0xc4,
+ 0x9d, 0x36, 0x08, 0x86, 0xe7, 0x04, 0x93, 0x6a, 0x66, 0x78,
+ 0xe1, 0x13, 0x9d, 0x26, 0xb7, 0x81, 0x9f, 0x7e, 0x90, 0x04,
+ 0x41, 0x04, 0x6b, 0x17, 0xd1, 0xf2, 0xe1, 0x2c, 0x42, 0x47,
+ 0xf8, 0xbc, 0xe6, 0xe5, 0x63, 0xa4, 0x40, 0xf2, 0x77, 0x03,
+ 0x7d, 0x81, 0x2d, 0xeb, 0x33, 0xa0, 0xf4, 0xa1, 0x39, 0x45,
+ 0xd8, 0x98, 0xc2, 0x96, 0x4f, 0xe3, 0x42, 0xe2, 0xfe, 0x1a,
+ 0x7f, 0x9b, 0x8e, 0xe7, 0xeb, 0x4a, 0x7c, 0x0f, 0x9e, 0x16,
+ 0x2b, 0xce, 0x33, 0x57, 0x6b, 0x31, 0x5e, 0xce, 0xcb, 0xb6,
+ 0x40, 0x68, 0x37, 0xbf, 0x51, 0xf5, 0x02, 0x21, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xbc, 0xe6, 0xfa, 0xad, 0xa7,
+ 0x17, 0x9e, 0x84, 0xf3, 0xb9, 0xca, 0xc2, 0xfc, 0x63, 0x25,
+ 0x51, 0x02, 0x01, 0x01, 0xa1, 0x44, 0x03, 0x42, 0x00, 0x04,
+ 0x4f, 0xe7, 0x7b, 0xb6, 0xbb, 0x54, 0x42, 0x39, 0xed, 0x5d,
+ 0xe5, 0x40, 0xc8, 0xd8, 0x71, 0xca, 0x6d, 0x83, 0x71, 0xd1,
+ 0x88, 0x2a, 0x65, 0x00, 0x6c, 0xc6, 0x2f, 0x01, 0x31, 0x49,
+ 0xbe, 0x76, 0x7a, 0x67, 0x6a, 0x28, 0x33, 0xc7, 0x5b, 0xb9,
+ 0x24, 0x45, 0x24, 0x6e, 0xf0, 0x6d, 0x2f, 0x34, 0x06, 0x53,
+ 0x73, 0x6a, 0xff, 0x90, 0x90, 0xc1, 0x6d, 0x9b, 0x94, 0x0d,
+ 0x0e, 0x1f, 0x95, 0x65
};
/* The matching public key used for verifying */
static const unsigned char pub_key_der[] = {
- 0x30,
- 0x82,
- 0x01,
- 0x4b,
- 0x30,
- 0x82,
- 0x01,
- 0x03,
- 0x06,
- 0x07,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x02,
- 0x01,
- 0x30,
- 0x81,
- 0xf7,
- 0x02,
- 0x01,
- 0x01,
- 0x30,
- 0x2c,
- 0x06,
- 0x07,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x01,
- 0x01,
- 0x02,
- 0x21,
- 0x00,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0x30,
- 0x5b,
- 0x04,
- 0x20,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xfc,
- 0x04,
- 0x20,
- 0x5a,
- 0xc6,
- 0x35,
- 0xd8,
- 0xaa,
- 0x3a,
- 0x93,
- 0xe7,
- 0xb3,
- 0xeb,
- 0xbd,
- 0x55,
- 0x76,
- 0x98,
- 0x86,
- 0xbc,
- 0x65,
- 0x1d,
- 0x06,
- 0xb0,
- 0xcc,
- 0x53,
- 0xb0,
- 0xf6,
- 0x3b,
- 0xce,
- 0x3c,
- 0x3e,
- 0x27,
- 0xd2,
- 0x60,
- 0x4b,
- 0x03,
- 0x15,
- 0x00,
- 0xc4,
- 0x9d,
- 0x36,
- 0x08,
- 0x86,
- 0xe7,
- 0x04,
- 0x93,
- 0x6a,
- 0x66,
- 0x78,
- 0xe1,
- 0x13,
- 0x9d,
- 0x26,
- 0xb7,
- 0x81,
- 0x9f,
- 0x7e,
- 0x90,
- 0x04,
- 0x41,
- 0x04,
- 0x6b,
- 0x17,
- 0xd1,
- 0xf2,
- 0xe1,
- 0x2c,
- 0x42,
- 0x47,
- 0xf8,
- 0xbc,
- 0xe6,
- 0xe5,
- 0x63,
- 0xa4,
- 0x40,
- 0xf2,
- 0x77,
- 0x03,
- 0x7d,
- 0x81,
- 0x2d,
- 0xeb,
- 0x33,
- 0xa0,
- 0xf4,
- 0xa1,
- 0x39,
- 0x45,
- 0xd8,
- 0x98,
- 0xc2,
- 0x96,
- 0x4f,
- 0xe3,
- 0x42,
- 0xe2,
- 0xfe,
- 0x1a,
- 0x7f,
- 0x9b,
- 0x8e,
- 0xe7,
- 0xeb,
- 0x4a,
- 0x7c,
- 0x0f,
- 0x9e,
- 0x16,
- 0x2b,
- 0xce,
- 0x33,
- 0x57,
- 0x6b,
- 0x31,
- 0x5e,
- 0xce,
- 0xcb,
- 0xb6,
- 0x40,
- 0x68,
- 0x37,
- 0xbf,
- 0x51,
- 0xf5,
- 0x02,
- 0x21,
- 0x00,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xbc,
- 0xe6,
- 0xfa,
- 0xad,
- 0xa7,
- 0x17,
- 0x9e,
- 0x84,
- 0xf3,
- 0xb9,
- 0xca,
- 0xc2,
- 0xfc,
- 0x63,
- 0x25,
- 0x51,
- 0x02,
- 0x01,
- 0x01,
- 0x03,
- 0x42,
- 0x00,
- 0x04,
- 0x4f,
- 0xe7,
- 0x7b,
- 0xb6,
- 0xbb,
- 0x54,
- 0x42,
- 0x39,
- 0xed,
- 0x5d,
- 0xe5,
- 0x40,
- 0xc8,
- 0xd8,
- 0x71,
- 0xca,
- 0x6d,
- 0x83,
- 0x71,
- 0xd1,
- 0x88,
- 0x2a,
- 0x65,
- 0x00,
- 0x6c,
- 0xc6,
- 0x2f,
- 0x01,
- 0x31,
- 0x49,
- 0xbe,
- 0x76,
- 0x7a,
- 0x67,
- 0x6a,
- 0x28,
- 0x33,
- 0xc7,
- 0x5b,
- 0xb9,
- 0x24,
- 0x45,
- 0x24,
- 0x6e,
- 0xf0,
- 0x6d,
- 0x2f,
- 0x34,
- 0x06,
- 0x53,
- 0x73,
- 0x6a,
- 0xff,
- 0x90,
- 0x90,
- 0xc1,
- 0x6d,
- 0x9b,
- 0x94,
- 0x0d,
- 0x0e,
- 0x1f,
- 0x95,
- 0x65,
+ 0x30, 0x82, 0x01, 0x4b, 0x30, 0x82, 0x01, 0x03, 0x06, 0x07,
+ 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x30, 0x81, 0xf7,
+ 0x02, 0x01, 0x01, 0x30, 0x2c, 0x06, 0x07, 0x2a, 0x86, 0x48,
+ 0xce, 0x3d, 0x01, 0x01, 0x02, 0x21, 0x00, 0xff, 0xff, 0xff,
+ 0xff, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30,
+ 0x5b, 0x04, 0x20, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x04, 0x20, 0x5a, 0xc6, 0x35,
+ 0xd8, 0xaa, 0x3a, 0x93, 0xe7, 0xb3, 0xeb, 0xbd, 0x55, 0x76,
+ 0x98, 0x86, 0xbc, 0x65, 0x1d, 0x06, 0xb0, 0xcc, 0x53, 0xb0,
+ 0xf6, 0x3b, 0xce, 0x3c, 0x3e, 0x27, 0xd2, 0x60, 0x4b, 0x03,
+ 0x15, 0x00, 0xc4, 0x9d, 0x36, 0x08, 0x86, 0xe7, 0x04, 0x93,
+ 0x6a, 0x66, 0x78, 0xe1, 0x13, 0x9d, 0x26, 0xb7, 0x81, 0x9f,
+ 0x7e, 0x90, 0x04, 0x41, 0x04, 0x6b, 0x17, 0xd1, 0xf2, 0xe1,
+ 0x2c, 0x42, 0x47, 0xf8, 0xbc, 0xe6, 0xe5, 0x63, 0xa4, 0x40,
+ 0xf2, 0x77, 0x03, 0x7d, 0x81, 0x2d, 0xeb, 0x33, 0xa0, 0xf4,
+ 0xa1, 0x39, 0x45, 0xd8, 0x98, 0xc2, 0x96, 0x4f, 0xe3, 0x42,
+ 0xe2, 0xfe, 0x1a, 0x7f, 0x9b, 0x8e, 0xe7, 0xeb, 0x4a, 0x7c,
+ 0x0f, 0x9e, 0x16, 0x2b, 0xce, 0x33, 0x57, 0x6b, 0x31, 0x5e,
+ 0xce, 0xcb, 0xb6, 0x40, 0x68, 0x37, 0xbf, 0x51, 0xf5, 0x02,
+ 0x21, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbc, 0xe6,
+ 0xfa, 0xad, 0xa7, 0x17, 0x9e, 0x84, 0xf3, 0xb9, 0xca, 0xc2,
+ 0xfc, 0x63, 0x25, 0x51, 0x02, 0x01, 0x01, 0x03, 0x42, 0x00,
+ 0x04, 0x4f, 0xe7, 0x7b, 0xb6, 0xbb, 0x54, 0x42, 0x39, 0xed,
+ 0x5d, 0xe5, 0x40, 0xc8, 0xd8, 0x71, 0xca, 0x6d, 0x83, 0x71,
+ 0xd1, 0x88, 0x2a, 0x65, 0x00, 0x6c, 0xc6, 0x2f, 0x01, 0x31,
+ 0x49, 0xbe, 0x76, 0x7a, 0x67, 0x6a, 0x28, 0x33, 0xc7, 0x5b,
+ 0xb9, 0x24, 0x45, 0x24, 0x6e, 0xf0, 0x6d, 0x2f, 0x34, 0x06,
+ 0x53, 0x73, 0x6a, 0xff, 0x90, 0x90, 0xc1, 0x6d, 0x9b, 0x94,
+ 0x0d, 0x0e, 0x1f, 0x95, 0x65
};
diff --git a/crypto/openssl/doc/fingerprints.txt b/crypto/openssl/doc/fingerprints.txt
index bdcad147230..e8015f26b9a 100644
--- a/crypto/openssl/doc/fingerprints.txt
+++ b/crypto/openssl/doc/fingerprints.txt
@@ -13,6 +13,9 @@ The following is the list of fingerprints for the keys that are
currently in use to sign OpenSSL distributions:
OpenSSL:
+B146 647E 45A7 B339 47AB 226B 2A2C 87D1 6169 2D40
+
+OpenSSL (old keys):
BA54 73A2 B058 7B07 FB27 CF2D 2160 94DF D0CB 81EF
Richard Levitte:
diff --git a/crypto/openssl/doc/internal/man3/ossl_rcu_lock_new.pod b/crypto/openssl/doc/internal/man3/ossl_rcu_lock_new.pod
index 57b5e4d73d2..aca2693e231 100644
--- a/crypto/openssl/doc/internal/man3/ossl_rcu_lock_new.pod
+++ b/crypto/openssl/doc/internal/man3/ossl_rcu_lock_new.pod
@@ -6,6 +6,7 @@ ossl_rcu_lock_new,
ossl_rcu_lock_free, ossl_rcu_read_lock,
ossl_rcu_read_unlock, ossl_rcu_write_lock,
ossl_rcu_write_unlock, ossl_synchronize_rcu,
+ossl_rcu_cb_item_new, ossl_rcu_cb_item_free,
ossl_rcu_call, ossl_rcu_deref,
ossl_rcu_assign_ptr, ossl_rcu_uptr_deref,
ossl_rcu_assign_uptr
@@ -19,7 +20,10 @@ ossl_rcu_assign_uptr
void ossl_rcu_write_unlock(CRYPTO_RCU_LOCK *lock);
void ossl_rcu_read_unlock(CRYPTO_RCU_LOCK *lock);
void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock);
- void ossl_rcu_call(CRYPTO_RCU_LOCK *lock, rcu_cb_fn cb, void *data);
+ CRYPTO_RCU_CB_ITEM *ossl_rcu_cb_item_new(void);
+ void ossl_rcu_cb_item_free(CRYPTO_RCU_CB_ITEM *item);
+ void ossl_rcu_call(CRYPTO_RCU_LOCK *lock, CRYPTO_RCU_CB_ITEM *item,
+ rcu_cb_fn cb, void *data);
void *ossl_rcu_deref(void **p);
void ossl_rcu_uptr_deref(void **p);
void ossl_rcu_assign_ptr(void **p, void **v);
@@ -96,10 +100,29 @@ the write side thread is safe to free.
=item *
-ossl_rcu_call() enqueues a callback function to the lock, to be called
-when the next synchronization completes. Note: It is not guaranteed that the
-thread which enqueued the callback will be the thread which executes the
-callback
+ossl_rcu_cb_item_new() allocates a callback item suitable for use with
+ossl_rcu_call(). Returns NULL on allocation failure. The item is owned by
+the caller until it is passed to ossl_rcu_call(), at which point ownership
+transfers to the lock and the item must not be touched again by the caller.
+
+=item *
+
+ossl_rcu_cb_item_free() frees a callback item that was allocated by
+ossl_rcu_cb_item_new() but never passed to ossl_rcu_call(). Use this to
+release the item on the failure path of an operation that decided not to
+publish its update.
+
+=item *
+
+ossl_rcu_call() enqueues a callback function I to the lock, to be
+called with I when the next synchronization completes. The caller
+must provide a callback item I- previously obtained from
+ossl_rcu_cb_item_new(). After this call the lock owns the item and will
+free it after invoking the callback. This function does not allocate and
+cannot fail, which lets callers allocate the item before performing any
+publish (assign_ptr) and bail cleanly if allocation fails. Note: it is
+not guaranteed that the thread which enqueued the callback will be the
+thread which executes the callback.
=item *
@@ -121,6 +144,9 @@ ossl_rcu_lock_free() frees an allocated RCU lock
ossl_rcu_lock_new() returns a pointer to a newly created RCU lock structure.
+ossl_rcu_cb_item_new() returns a pointer to a newly created callback item,
+or NULL on allocation failure.
+
ossl_rcu_deref() and ossl_rcu_uptr_deref() return the value pointed
to by the passed in value v.
@@ -152,7 +178,7 @@ This example safely initializes and uses a lock.
static void myinit(void)
{
- lock = ossl_rcu_lock_new(1);
+ lock = ossl_rcu_lock_new(1, NULL);
}
static int initlock(void)
@@ -162,10 +188,16 @@ This example safely initializes and uses a lock.
return 1;
}
- static void writer_thread()
+ static void free_old_foo(void *data)
+ {
+ OPENSSL_free(data);
+ }
+
+ static int writer_thread(void)
{
struct foo *newfoo;
struct foo *oldfoo;
+ CRYPTO_RCU_CB_ITEM *cbi;
initlock();
@@ -177,48 +209,60 @@ This example safely initializes and uses a lock.
* 1) create a new shared object
*/
newfoo = OPENSSL_zalloc(sizeof(struct foo));
+ if (newfoo == NULL)
+ return 0;
/*
- * acquire the write side lock
+ * 2) Pre allocate the rcu callback item before any publish.
+ */
+ cbi = ossl_rcu_cb_item_new();
+ if (cbi == NULL) {
+ OPENSSL_free(newfoo);
+ return 0;
+ }
+
+ /*
+ * 3) acquire the write side lock
*/
ossl_rcu_write_lock(lock);
/*
- * 2) read the old pointer
+ * 4) read the old pointer
*/
oldfoo = ossl_rcu_deref(&fooptr);
/*
- * 3) Copy the old pointer to the new object, and
+ * 5) Copy the old pointer to the new object, and
* make any needed adjustments
*/
memcpy(newfoo, oldfoo, sizeof(struct foo));
newfoo->aval++;
/*
- * 4) Update the shared pointer to the new value
+ * 6) Update the shared pointer to the new value
*/
ossl_rcu_assign_ptr(&fooptr, &newfoo);
/*
- * 5) Release the write side lock
+ * 7) Schedule the old pointer to be freed when readers are done.
+ */
+ ossl_rcu_call(lock, cbi, free_old_foo, oldfoo);
+
+ /*
+ * 8) Release the write side lock
*/
ossl_rcu_write_unlock(lock);
/*
- * 6) wait for any read side holds on the old data
- * to be released
+ * 9) wait for any read side holds on the old data
+ * to be released, after which free_old_foo will run
*/
ossl_synchronize_rcu(lock);
- /*
- * 7) free the old pointer, now that there are no
- * further readers
- */
- OPENSSL_free(oldfoo);
+ return 1;
}
- static void reader_thread()
+ static void reader_thread(void)
{
struct foo *myfoo = NULL;
int a;
@@ -249,7 +293,7 @@ L, L.
=head1 COPYRIGHT
-Copyright 2023-2024 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2023-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man1/openssl-format-options.pod b/crypto/openssl/doc/man1/openssl-format-options.pod
index 115aa9936f8..e97cc3b51e9 100644
--- a/crypto/openssl/doc/man1/openssl-format-options.pod
+++ b/crypto/openssl/doc/man1/openssl-format-options.pod
@@ -84,11 +84,11 @@ a block of base-64 encoding (defined in IETF RFC 4648), with specific
lines used to mark the start and end:
Text before the BEGIN line is ignored.
- ----- BEGIN object-type -----
+ -----BEGIN object-type-----
OT43gQKBgQC/2OHZoko6iRlNOAQ/tMVFNq7fL81GivoQ9F1U0Qr+DH3ZfaH8eIkX
xT0ToMPJUzWAn8pZv0snA0um6SIgvkCuxO84OkANCVbttzXImIsL7pFzfcwV/ERK
UM6j0ZuSMFOCr/lGPAoOQU0fskidGEHi1/kW+suSr28TqsyYZpwBDQ==
- ----- END object-type -----
+ -----END object-type-----
Text after the END line is also ignored
The I must match the type of object that is expected.
diff --git a/crypto/openssl/doc/man1/openssl-pkcs8.pod.in b/crypto/openssl/doc/man1/openssl-pkcs8.pod.in
index db089d6777d..0e50459d2ca 100644
--- a/crypto/openssl/doc/man1/openssl-pkcs8.pod.in
+++ b/crypto/openssl/doc/man1/openssl-pkcs8.pod.in
@@ -74,7 +74,7 @@ is included.
=item B<-traditional>
-When this option is present and B<-topk8> is not a traditional format private
+When this option is present and B<-topk8> is not, a traditional format private
key is written.
=item B<-in> I
@@ -289,7 +289,7 @@ The B<-engine> option was deprecated in OpenSSL 3.0.
=head1 COPYRIGHT
-Copyright 2000-2023 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2000-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man1/openssl-rehash.pod.in b/crypto/openssl/doc/man1/openssl-rehash.pod.in
index 466ff42aea5..4605f088d00 100644
--- a/crypto/openssl/doc/man1/openssl-rehash.pod.in
+++ b/crypto/openssl/doc/man1/openssl-rehash.pod.in
@@ -49,8 +49,8 @@ directories to be set up like this in order to find certificates.
If any directories are named on the command line, then those are
processed in turn. If not, then the B environment variable
-is consulted; this should be a colon-separated list of directories,
-like the Unix B variable.
+is consulted; this should be a colon-separated list of directories
+(or semicolon-separated on Windows), like the B variable.
If that is not set then the default directory (installation-specific
but often F) is processed.
@@ -149,7 +149,7 @@ L
=head1 COPYRIGHT
-Copyright 2015-2025 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2015-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man1/openssl-s_client.pod.in b/crypto/openssl/doc/man1/openssl-s_client.pod.in
index 82c5917f608..bd24ab1ef19 100644
--- a/crypto/openssl/doc/man1/openssl-s_client.pod.in
+++ b/crypto/openssl/doc/man1/openssl-s_client.pod.in
@@ -323,6 +323,12 @@ see L for more information.
The URI of a store containing trusted certificates to use
for verifying the server's certificate.
+When any of B<-verifyCAfile>, B<-verifyCApath>, or B<-verifyCAstore> is
+specified, they are loaded into a separate verification store (via
+L) and used for server certificate
+verification instead of the store built from B<-CAfile>, B<-CApath>, and
+B<-CAstore>.
+
=item B<-chainCAfile> I
A file in PEM format containing trusted certificates to use
@@ -680,9 +686,6 @@ The I list is a comma-separated list of protocol names that
the client should advertise support for. The list should contain the most
desirable protocols first. Protocol names are printable ASCII strings,
for example "http/1.1" or "spdy/3".
-An empty list of protocols is treated specially and will cause the
-client to advertise support for the TLS extension but disconnect just
-after receiving ServerHello with a list of server supported protocols.
The flag B<-nextprotoneg> cannot be specified if B<-tls1_3> is used.
=item B<-ct>, B<-noct>
@@ -1025,7 +1028,7 @@ options were added in OpenSSL 3.2.
=head1 COPYRIGHT
-Copyright 2000-2025 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2000-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man1/openssl-s_server.pod.in b/crypto/openssl/doc/man1/openssl-s_server.pod.in
index 4f2a63d9b69..6d55fac7d11 100644
--- a/crypto/openssl/doc/man1/openssl-s_server.pod.in
+++ b/crypto/openssl/doc/man1/openssl-s_server.pod.in
@@ -334,8 +334,8 @@ Download CRLs from distribution points given in CDP extensions of certificates
=item B<-verifyCAfile> I
-A file in PEM format CA containing trusted certificates to use
-for verifying client certificates.
+A file in PEM format containing trusted CA certificates (root and/or
+intermediate) used to verify the client certificate chain.
=item B<-verifyCApath> I
@@ -349,6 +349,15 @@ see L for more information.
The URI of a store containing trusted certificates to use
for verifying client certificates.
+When any of B<-verifyCAfile>, B<-verifyCApath>, or B<-verifyCAstore> is
+specified, they are loaded into a separate verification store (via
+L) and used for client certificate
+verification instead of the store built from B<-CAfile>, B<-CApath>, and
+B<-CAstore>. Note that B<-CAfile> is the sole source of acceptable issuing
+CA names sent to the client in the Certificate Request message during the
+handshake; B<-CApath>, B<-CAstore>, and the B<-verifyCA*> options do not
+contribute to this list.
+
=item B<-chainCAfile> I
A file in PEM format containing trusted certificates to use
@@ -763,6 +772,10 @@ has been negotiated, and early data is enabled on the server. A full handshake
is forced if a session ticket is used a second or subsequent time. Any early
data that was sent will be rejected.
+Note that the server manages an internal cache of session tickets. If a client
+closes the connection without sending the close_notify alert, the
+corresponding session ticket is removed and a full handshake is forced.
+
=item B<-tfo>
Enable acceptance of TCP Fast Open (RFC7413) connections.
@@ -927,7 +940,7 @@ options were added in OpenSSL 3.2.
=head1 COPYRIGHT
-Copyright 2000-2025 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2000-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man1/openssl-smime.pod.in b/crypto/openssl/doc/man1/openssl-smime.pod.in
index 0a8fe013665..63a16ddfe06 100644
--- a/crypto/openssl/doc/man1/openssl-smime.pod.in
+++ b/crypto/openssl/doc/man1/openssl-smime.pod.in
@@ -54,8 +54,9 @@ I ...
=head1 DESCRIPTION
-This command handles S/MIME mail. It can encrypt, decrypt, sign
-and verify S/MIME messages.
+This command handles S/MIME according to RFC 2311 (1998) with no CMS support.
+It can encrypt, decrypt, sign and verify S/MIME 2.0 messages. For newer messages
+use the OpenSSL CMS tool.
=head1 OPTIONS
@@ -479,7 +480,7 @@ The B<-engine> option was deprecated in OpenSSL 3.0.
=head1 COPYRIGHT
-Copyright 2000-2025 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2000-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man3/BIO_s_bio.pod b/crypto/openssl/doc/man3/BIO_s_bio.pod
index 653fe4785a4..494b3632ee9 100644
--- a/crypto/openssl/doc/man3/BIO_s_bio.pod
+++ b/crypto/openssl/doc/man3/BIO_s_bio.pod
@@ -5,7 +5,8 @@
BIO_s_bio, BIO_make_bio_pair, BIO_destroy_bio_pair, BIO_shutdown_wr,
BIO_set_write_buf_size, BIO_get_write_buf_size, BIO_new_bio_pair,
BIO_get_write_guarantee, BIO_ctrl_get_write_guarantee, BIO_get_read_request,
-BIO_ctrl_get_read_request, BIO_ctrl_reset_read_request - BIO pair BIO
+BIO_ctrl_get_read_request, BIO_ctrl_reset_read_request,
+BIO_nread0, BIO_nread, BIO_nwrite0, BIO_nwrite - BIO pair BIO
=head1 SYNOPSIS
@@ -28,6 +29,11 @@ BIO_ctrl_get_read_request, BIO_ctrl_reset_read_request - BIO pair BIO
size_t BIO_ctrl_get_read_request(BIO *b);
int BIO_ctrl_reset_read_request(BIO *b);
+ int BIO_nread0(BIO *bio, char **buf);
+ int BIO_nread(BIO *bio, char **buf, int num);
+ int BIO_nwrite0(BIO *bio, char **buf);
+ int BIO_nwrite(BIO *bio, char **buf, int num);
+
=head1 DESCRIPTION
BIO_s_bio() returns the method for a BIO pair. A BIO pair is a pair of source/sink
@@ -98,6 +104,44 @@ than that returned by BIO_get_write_guarantee().
BIO_ctrl_reset_read_request() can also be used to reset the value returned by
BIO_get_read_request() to zero.
+=head2 Non-copying Interface
+
+BIO_nread0(), BIO_nread(), BIO_nwrite0(), and BIO_nwrite() provide a non-copying
+interface for reading from and writing to BIO pairs. These functions allow
+direct access to the internal buffer, avoiding the overhead of copying data.
+
+BIO_nread0() returns in B<*buf> a pointer to the start of the available data
+in the peer's write buffer and returns the number of bytes available.
+This allows reading directly from the buffer without copying.
+It does not consume the data; a subsequent call to BIO_nread() is needed
+to advance the buffer position.
+
+BIO_nread() is similar to BIO_nread0() but also advances the read position
+by up to B bytes. The actual number of bytes consumed is returned.
+The B<*buf> pointer is set to the start of the data that was consumed.
+Since the data is considered consumed after this call, the pointer returned
+by BIO_nread() should not be used afterwards unless the caller also
+controls the writing side. The typical pattern is to call BIO_nread0() first,
+use the data, and then call BIO_nread() to consume it.
+
+BIO_nwrite0() returns in B<*buf> a pointer to the start of the available
+space in the write buffer and returns the number of bytes that can be written.
+This allows writing directly to the buffer without copying.
+It does not commit the data; a subsequent call to BIO_nwrite() is needed
+to update the buffer length.
+
+BIO_nwrite() is similar to BIO_nwrite0() but also commits up to B bytes
+as written. The actual number of bytes committed is returned.
+The B<*buf> pointer is set to the start of the region that was committed.
+BIO_nwrite() should only be called after the data has actually been written
+to the buffer obtained from BIO_nwrite0(), since committing signals data
+availability to the reading side.
+
+Note that due to the ring buffer implementation, if wrapping around would be
+required, BIO_nread0() and BIO_nwrite0() may return less than the total
+available space. In such cases, a second call may be needed to access the
+remaining data or space.
+
=head1 NOTES
Both halves of a BIO pair should be freed. That is even if one half is implicit
@@ -133,6 +177,17 @@ locations for B and B. Check the error stack for more information.
[XXXXX: More return values need to be added here]
+BIO_nread0() returns the number of bytes available for reading, 0 if the peer
+has closed and no data remains (EOF), or -1 if no data is currently available
+(retry may be appropriate). If the BIO is not initialized, -2 is returned.
+
+BIO_nwrite0() returns the number of bytes of space available for writing, or -1
+if no space is currently available (retry may be appropriate) or the BIO has
+been closed. If the BIO is not initialized, -2 is returned.
+
+BIO_nread() and BIO_nwrite() return the number of bytes consumed or committed
+respectively, or the same error values as BIO_nread0() and BIO_nwrite0().
+
=head1 EXAMPLES
The BIO pair can be used to have full control over the network access of an
@@ -176,6 +231,30 @@ and must be transferred to the network. Use BIO_ctrl_get_read_request() to
find out, how many bytes must be written into the buffer before the
SSL_operation() can successfully be continued.
+A typical usage pattern for the non-copying write interface is:
+
+ int ret;
+ char *buf;
+
+ ret = BIO_nwrite0(bio, &buf);
+ if (ret > 0) {
+ /* write up to 'ret' bytes directly to 'buf' */
+ memcpy(buf, data, len);
+ BIO_nwrite(bio, &buf, len); /* commit the write */
+ }
+
+A typical usage pattern for the non-copying read interface is:
+
+ int ret;
+ char *buf;
+
+ ret = BIO_nread0(bio, &buf);
+ if (ret > 0) {
+ /* read up to 'ret' bytes directly from 'buf' */
+ process_data(buf, ret);
+ BIO_nread(bio, &buf, ret); /* consume the data */
+ }
+
=head1 WARNINGS
As the data is buffered, SSL_operation() may return with an ERROR_SSL_WANT_READ
@@ -191,7 +270,7 @@ L, L
=head1 COPYRIGHT
-Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2000-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man3/BN_add.pod b/crypto/openssl/doc/man3/BN_add.pod
index 46966d99637..a7ff19565f4 100644
--- a/crypto/openssl/doc/man3/BN_add.pod
+++ b/crypto/openssl/doc/man3/BN_add.pod
@@ -108,8 +108,10 @@ BN_gcd() computes the greatest common divisor of I and I and
places the result in I. I may be the same B as I or
I.
-For all functions, I is a previously allocated B used for
-temporary variables; see L.
+For all functions that take a I parameter, it must be a previously
+allocated B used for temporary variables; see L.
+Unless stated otherwise in the documentation for a specific function,
+the I parameter must not be NULL.
Unless noted otherwise, the result B must be different from
the arguments.
@@ -135,7 +137,7 @@ L, L
=head1 COPYRIGHT
-Copyright 2000-2024 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2000-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man3/CMS_decrypt.pod b/crypto/openssl/doc/man3/CMS_decrypt.pod
index 66a94287b6f..4e40b37f214 100644
--- a/crypto/openssl/doc/man3/CMS_decrypt.pod
+++ b/crypto/openssl/doc/man3/CMS_decrypt.pod
@@ -112,7 +112,7 @@ were added in OpenSSL 3.0.
=head1 COPYRIGHT
-Copyright 2008-2020 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2008-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man3/EVP_EncryptInit.pod b/crypto/openssl/doc/man3/EVP_EncryptInit.pod
index 2af4ebec91f..46cff34f075 100644
--- a/crypto/openssl/doc/man3/EVP_EncryptInit.pod
+++ b/crypto/openssl/doc/man3/EVP_EncryptInit.pod
@@ -413,7 +413,8 @@ encrypted data.
For most ciphers and modes, the amount of data written can be anything
from zero bytes to (inl + cipher_block_size - 1) bytes.
For wrap cipher modes, the amount of data written can be anything
-from zero bytes to (inl + cipher_block_size) bytes.
+from zero bytes to (inl rounded up to cipher_block_size + cipher_block_size)
+bytes.
For stream ciphers, the amount of data written can be anything from zero
bytes to inl bytes.
Thus, the buffer pointed to by I must contain sufficient room for the
diff --git a/crypto/openssl/doc/man3/OSSL_HTTP_REQ_CTX.pod b/crypto/openssl/doc/man3/OSSL_HTTP_REQ_CTX.pod
index 210f33801ca..b8db1724c6f 100644
--- a/crypto/openssl/doc/man3/OSSL_HTTP_REQ_CTX.pod
+++ b/crypto/openssl/doc/man3/OSSL_HTTP_REQ_CTX.pod
@@ -86,9 +86,12 @@ For backward compatibility, I may begin with C and thus convey
an absoluteURI. In this case it indicates HTTP proxy use and provides also the
server (and optionally the port) that the proxy shall forward the request to.
In this case the I and I arguments must be NULL.
+The I, I, and I arguments must not contain CR or LF
+characters.
OSSL_HTTP_REQ_CTX_add1_header() adds header I with value I to the
context I. It can be called more than once to add multiple header lines.
+The I and I arguments must not contain CR or LF characters.
For example, to add a C header for C you would call:
OSSL_HTTP_REQ_CTX_add1_header(ctx, "Host", "example.com");
@@ -143,6 +146,7 @@ The HTTP header C is filled out with the length of the request.
I must be NULL if I is NULL.
If I isn't NULL,
the HTTP header C is also added with the given string value.
+The I argument must not contain CR or LF characters.
The header lines are added to the internal memory B for the request header.
OSSL_HTTP_REQ_CTX_nbio() attempts to send the request prepared in I
@@ -299,7 +303,7 @@ All other functions described here were added in OpenSSL 3.0.
=head1 COPYRIGHT
-Copyright 2015-2025 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2015-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man3/OSSL_HTTP_parse_url.pod b/crypto/openssl/doc/man3/OSSL_HTTP_parse_url.pod
index bc29fb18d14..60d9fcdd640 100644
--- a/crypto/openssl/doc/man3/OSSL_HTTP_parse_url.pod
+++ b/crypto/openssl/doc/man3/OSSL_HTTP_parse_url.pod
@@ -32,7 +32,9 @@ see L:
=head1 DESCRIPTION
-OSSL_HTTP_adapt_proxy() takes an optional proxy hostname I
+OSSL_HTTP_adapt_proxy() determines whether a proxy should be used
+when connecting to the given I.
+It takes an optional proxy hostname I
and returns it transformed according to the optional I parameter,
I, I, and the applicable environment variable, as follows.
If I is NULL, take any default value from the C
@@ -40,11 +42,13 @@ environment variable, or from C if I is nonzero.
If this still does not yield a proxy hostname,
take any further default value from the C
environment variable, or from C if I is nonzero.
-If I is NULL, take any default exclusion value from the C
-environment variable, or else from C.
-Return the determined proxy host unless the exclusion value,
-which is a list of proxy hosts separated by C<,> and/or whitespace,
-contains I.
+Return the determined proxy host if I is the empty string
+or I is not in the exclusion list.
+The exclusion list is a list of server hosts separated by C<,>
+and/or whitespace.
+They may be given via the I parameter.
+If it is NULL, the exclusion list is taken from the C
+environment variable if set, otherwise from C.
Otherwise return NULL.
When I is a string delimited by C<[> and C<]>, which are used for IPv6
addresses, the enclosing C<[> and C<]> are stripped prior to comparison.
@@ -102,7 +106,7 @@ OCSP_parse_url() was deprecated in OpenSSL 3.0.
=head1 COPYRIGHT
-Copyright 2019-2022 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man3/OSSL_HTTP_transfer.pod b/crypto/openssl/doc/man3/OSSL_HTTP_transfer.pod
index eaa0986666f..b854756ffd4 100644
--- a/crypto/openssl/doc/man3/OSSL_HTTP_transfer.pod
+++ b/crypto/openssl/doc/man3/OSSL_HTTP_transfer.pod
@@ -158,6 +158,7 @@ pre-established with a TLS proxy using the HTTP CONNECT method,
optionally using proxy client credentials I and I,
to connect with TLS protection ultimately to I and I.
If the I argument is NULL or the empty string it defaults to "443".
+The I and I arguments must not contain CR or LF characters.
If the I parameter is > 0 this indicates the maximum number of
seconds the connection setup is allowed to take.
A value <= 0 enables waiting indefinitely, i.e., no timeout.
@@ -178,6 +179,8 @@ else HTTP POST with the contents of I and optional I, where
the length of the data in I does not need to be determined in advance: the
BIO will be read on-the-fly while sending the request, which supports streaming.
The optional list I may contain additional custom HTTP header lines.
+The I, I names and values, and I must not contain
+CR or LF characters.
The I parameter specifies the maximum allowed
response content length, where the value 0 indicates no limit.
For the meaning of the I, I, I,
@@ -275,7 +278,7 @@ All the functions described here were added in OpenSSL 3.0.
=head1 COPYRIGHT
-Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man3/PKCS7_decrypt.pod b/crypto/openssl/doc/man3/PKCS7_decrypt.pod
index cfb5b3f8737..751556501b9 100644
--- a/crypto/openssl/doc/man3/PKCS7_decrypt.pod
+++ b/crypto/openssl/doc/man3/PKCS7_decrypt.pod
@@ -46,16 +46,13 @@ The error can be obtained from ERR_get_error(3)
PKCS7_decrypt() must be passed the correct recipient key and certificate. It would
be better if it could look up the correct key and certificate from a database.
-The lack of single pass processing and need to hold all data in memory as
-mentioned in PKCS7_sign() also applies to PKCS7_verify().
-
=head1 SEE ALSO
L, L, L
=head1 COPYRIGHT
-Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2002-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man3/SSL_CTX_set_session_cache_mode.pod b/crypto/openssl/doc/man3/SSL_CTX_set_session_cache_mode.pod
index 25b588f5809..839f787d9d3 100644
--- a/crypto/openssl/doc/man3/SSL_CTX_set_session_cache_mode.pod
+++ b/crypto/openssl/doc/man3/SSL_CTX_set_session_cache_mode.pod
@@ -8,8 +8,8 @@ SSL_CTX_set_session_cache_mode, SSL_CTX_get_session_cache_mode - enable/disable
#include
- long SSL_CTX_set_session_cache_mode(SSL_CTX ctx, long mode);
- long SSL_CTX_get_session_cache_mode(SSL_CTX ctx);
+ long SSL_CTX_set_session_cache_mode(SSL_CTX *ctx, long mode);
+ long SSL_CTX_get_session_cache_mode(SSL_CTX *ctx);
=head1 DESCRIPTION
@@ -136,7 +136,7 @@ L
=head1 COPYRIGHT
-Copyright 2001-2021 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2001-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man3/SSL_CTX_set_session_id_context.pod b/crypto/openssl/doc/man3/SSL_CTX_set_session_id_context.pod
index c9572bd0d83..35b06ef2037 100644
--- a/crypto/openssl/doc/man3/SSL_CTX_set_session_id_context.pod
+++ b/crypto/openssl/doc/man3/SSL_CTX_set_session_id_context.pod
@@ -38,9 +38,6 @@ is set by the SSL/TLS server. The SSL_CTX_set_session_id_context() and
SSL_set_session_id_context() functions are therefore only useful on the
server side.
-OpenSSL clients will check the session id context returned by the server
-when reusing a session.
-
The maximum length of the B is limited to
B.
@@ -51,11 +48,24 @@ certificates are used, stored sessions
will not be reused but a fatal error will be flagged and the handshake
will fail.
-If a server returns a different session id context to an OpenSSL client
-when reusing a session, an error will be flagged and the handshake will
-fail. OpenSSL servers will always return the correct session id context,
-as an OpenSSL server checks the session id context itself before reusing
-a session as described above.
+If a client attempts to resume a session and the server detects that the session
+id context associated with the session is different to the current session id
+context then the resumption will fail. The handshake will continue normally but
+no resumption will occur.
+
+It is vital that the session id context is set before any session resumption
+occurs. Sessions get created early in the handshake. If the session id context
+is not set by the time the session gets created then the session will be
+associated with an empty session id context. The already created session will
+not get updated if the session id context is later set. In particular the
+callback set via the L function will
+be invoked after the session gets created, so if the session id context is set
+in the callback then this will be too late for the current handshake and the
+session id context setting will be ignored with respect to resumption. Typically
+the session id context should be set before the TLS handshake starts, but it may
+occur as late as in the callback set via the L
+function.
+
=head1 RETURN VALUES
@@ -82,7 +92,7 @@ L
=head1 COPYRIGHT
-Copyright 2001-2020 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2001-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod b/crypto/openssl/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod
index a0a4bd63678..a1b3f58994b 100644
--- a/crypto/openssl/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod
+++ b/crypto/openssl/doc/man3/SSL_CTX_set_tlsext_servername_callback.pod
@@ -29,7 +29,11 @@ still necessary in order to acknowledge the servername requested by the client.
SSL_CTX_set_tlsext_servername_callback() sets the application callback B
used by a server to perform any actions or configuration required based on
the servername extension received in the incoming connection. When B
-is NULL, SNI is not used.
+is NULL, SNI is not used. Note that this callback occurs late in the processing
+of the ClientHello message. In particular it happens after session resumption
+has occurred, and so typically this callback should not call functions such
+as L since it is too late to affect the session
+resumption for the current handshake.
The servername callback should return one of the following values:
@@ -169,7 +173,7 @@ NULL.
=head1 COPYRIGHT
-Copyright 2017-2020 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2017-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man3/d2i_X509.pod b/crypto/openssl/doc/man3/d2i_X509.pod
index 41e76ae8379..9f0589a87e4 100644
--- a/crypto/openssl/doc/man3/d2i_X509.pod
+++ b/crypto/openssl/doc/man3/d2i_X509.pod
@@ -471,21 +471,29 @@ encoding. Unlike the C structures which can have pointers to sub-objects
within, the DER is a serialized encoding, suitable for sending over the
network, writing to a file, and so on.
-B>() attempts to decode I bytes at I<*ppin>. If successful a
-pointer to the B> structure is returned and I<*ppin> is incremented to
-the byte following the parsed data. If I is not NULL then a pointer
-to the returned structure is also written to I<*a>. If an error occurred
-then NULL is returned. The caller retains ownership of the
-returned object and needs to free it when it is no longer needed, e.g.
-using X509_free() for X509 objects or DSA_SIG_free() for DSA_SIG objects.
+B>() attempts to decode I bytes at I<*ppin>.
+When there is no error, a pointer to a B> object is returned and I<*ppin> is
+incremented to the byte following the parsed data.
+The caller owns the returned object and needs to free it when it is no longer needed,
+e.g., via X509_free() for B objects.
-On a successful return, if I<*a> is not NULL then it is assumed that I<*a>
-contains a valid B> structure and an attempt is made to reuse it.
-For B> structures where it matters it is possible to set up a library
-context on the decoded structure this way (see the B section).
-However using the "reuse" capability for other purposes is B (see B below, and the discussion in the B
-section).
+If either I or I<*a> is NULL, then fresh storage is allocated for the
+returned object, and if I is not NULL then I<*a> is set equal to the
+returned pointer.
+
+When both I and I<*a> are not NULL, I<*a> MUST be a pointer to an
+existing I object, which is reused to hold the decoded result.
+On error (NULL return value), the object is freed and I<*a> is set to NULL.
+
+From OpenSSL 3.x onwards, reuse is only supported when I<*a> points to a newly
+allocated, and not otherwise modified, I object.
+Allocation can be via one of the various _ex() routines, which make it possible
+to associate the allocated object with a chosen I (library context)
+or I (property query), see the B section.
+No other reuse is supported (see B below, and the discussion in the
+B section).
+The returned object is not suitable for another reuse: each reuse attempt MUST
+start with a newly allocated object.
B_bio>() is similar to B>() except it attempts
to parse data from BIO I.
@@ -761,7 +769,7 @@ were added in OpenSSL 3.5.
=head1 COPYRIGHT
-Copyright 1998-2025 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 1998-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man7/EVP_CIPHER-AES.pod b/crypto/openssl/doc/man7/EVP_CIPHER-AES.pod
index 7bd3746c9ba..2c894bb34ea 100644
--- a/crypto/openssl/doc/man7/EVP_CIPHER-AES.pod
+++ b/crypto/openssl/doc/man7/EVP_CIPHER-AES.pod
@@ -69,6 +69,10 @@ The AES-SIV and AES-WRAP mode implementations do not support streaming. That
means to obtain correct results there can be only one L
or L call after the initialization of the context.
+When wrapping with AES-WRAP-PAD ciphers, the output buffer must be at least
+I rounded up to the cipher block size (8 bytes) plus the block size.
+That is, the minimum output buffer size is C<((inl + 7) / 8) * 8 + 8> bytes.
+
The AES-XTS implementations allow streaming to be performed, but each
L or L call requires each input
to be a multiple of the blocksize. Only the final EVP_EncryptUpdate() or
@@ -86,7 +90,7 @@ The GCM-SIV mode ciphers were added in OpenSSL version 3.2.
=head1 COPYRIGHT
-Copyright 2021-2023 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2021-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man7/openssl-env.pod b/crypto/openssl/doc/man7/openssl-env.pod
index 73a2e933fa7..5647af84f96 100644
--- a/crypto/openssl/doc/man7/openssl-env.pod
+++ b/crypto/openssl/doc/man7/openssl-env.pod
@@ -168,6 +168,8 @@ See L.
=item B, B
Specify the default directory or file containing CA certificates.
+B can contain multiple directories separated by colons
+(or semicolons on Windows).
See L.
=item B
diff --git a/crypto/openssl/doc/man7/provider-asym_cipher.pod b/crypto/openssl/doc/man7/provider-asym_cipher.pod
index 9679c5c9852..3ff9e647ca6 100644
--- a/crypto/openssl/doc/man7/provider-asym_cipher.pod
+++ b/crypto/openssl/doc/man7/provider-asym_cipher.pod
@@ -38,9 +38,9 @@ provider-asym_cipher - The asym_cipher library E-E provider functions
/* Asymmetric Cipher parameters */
int OSSL_FUNC_asym_cipher_get_ctx_params(void *ctx, OSSL_PARAM params[]);
- const OSSL_PARAM *OSSL_FUNC_asym_cipher_gettable_ctx_params(void *provctx);
+ const OSSL_PARAM *OSSL_FUNC_asym_cipher_gettable_ctx_params(void *ctx, void *provctx);
int OSSL_FUNC_asym_cipher_set_ctx_params(void *ctx, const OSSL_PARAM params[]);
- const OSSL_PARAM *OSSL_FUNC_asym_cipher_settable_ctx_params(void *provctx);
+ const OSSL_PARAM *OSSL_FUNC_asym_cipher_settable_ctx_params(void *ctx, void *provctx);
=head1 DESCRIPTION
@@ -291,7 +291,7 @@ were added in OpenSSL 3.4.
=head1 COPYRIGHT
-Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/doc/man7/provider-signature.pod b/crypto/openssl/doc/man7/provider-signature.pod
index 3ef927feb59..0e25dc3d32d 100644
--- a/crypto/openssl/doc/man7/provider-signature.pod
+++ b/crypto/openssl/doc/man7/provider-signature.pod
@@ -269,7 +269,6 @@ OSSL_FUNC_signature_gettable_ctx_params() functions,
as well as the "md_params" functions.
The OSSL_FUNC_signature_dupctx() function is optional.
-It is not yet used by OpenSSL.
The OSSL_FUNC_signature_query_key_types() function is optional.
When present, it should return a NULL-terminated array of strings
@@ -708,7 +707,7 @@ Deterministic digital signature generation for ECDSA was added to the FIPS provi
=head1 COPYRIGHT
-Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/fuzz/dtlsserver.c b/crypto/openssl/fuzz/dtlsserver.c
index 9261e819d1f..8ade7a3d8c8 100644
--- a/crypto/openssl/fuzz/dtlsserver.c
+++ b/crypto/openssl/fuzz/dtlsserver.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -50,1328 +50,172 @@ a2vbz3gpOsl87U0c01JCl9SZXDSO09w=
-----END CERTIFICATE-----
*/
static const uint8_t RSACertificatePEM[] = {
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x42,
- 0x45,
- 0x47,
- 0x49,
- 0x4e,
- 0x20,
- 0x43,
- 0x45,
- 0x52,
- 0x54,
- 0x49,
- 0x46,
- 0x49,
- 0x43,
- 0x41,
- 0x54,
- 0x45,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x0a,
- 0x4d,
- 0x49,
- 0x49,
- 0x44,
- 0x6f,
- 0x7a,
- 0x43,
- 0x43,
- 0x41,
- 0x6f,
- 0x75,
- 0x67,
- 0x41,
- 0x77,
- 0x49,
- 0x42,
- 0x41,
- 0x67,
- 0x49,
- 0x55,
- 0x53,
- 0x4b,
- 0x77,
- 0x51,
- 0x44,
- 0x31,
- 0x71,
- 0x52,
- 0x74,
- 0x53,
- 0x2b,
- 0x6c,
- 0x72,
- 0x69,
- 0x64,
- 0x61,
- 0x77,
- 0x6d,
- 0x61,
- 0x59,
- 0x4b,
- 0x36,
- 0x63,
- 0x65,
- 0x6a,
- 0x32,
- 0x6b,
- 0x77,
- 0x44,
- 0x51,
- 0x59,
- 0x4a,
- 0x4b,
- 0x6f,
- 0x5a,
- 0x49,
- 0x68,
- 0x76,
- 0x63,
- 0x4e,
- 0x41,
- 0x51,
- 0x45,
- 0x4c,
- 0x0a,
- 0x42,
- 0x51,
- 0x41,
- 0x77,
- 0x59,
- 0x54,
- 0x45,
- 0x4c,
- 0x4d,
- 0x41,
- 0x6b,
- 0x47,
- 0x41,
- 0x31,
- 0x55,
- 0x45,
- 0x42,
- 0x68,
- 0x4d,
- 0x43,
- 0x62,
- 0x6d,
- 0x38,
- 0x78,
- 0x43,
- 0x7a,
- 0x41,
- 0x4a,
- 0x42,
- 0x67,
- 0x4e,
- 0x56,
- 0x42,
- 0x41,
- 0x67,
- 0x4d,
- 0x41,
- 0x6d,
- 0x35,
- 0x76,
- 0x4d,
- 0x51,
- 0x73,
- 0x77,
- 0x43,
- 0x51,
- 0x59,
- 0x44,
- 0x56,
- 0x51,
- 0x51,
- 0x48,
- 0x44,
- 0x41,
- 0x4a,
- 0x75,
- 0x62,
- 0x7a,
- 0x45,
- 0x4c,
- 0x4d,
- 0x41,
- 0x6b,
- 0x47,
- 0x0a,
- 0x41,
- 0x31,
- 0x55,
- 0x45,
- 0x43,
- 0x67,
- 0x77,
- 0x43,
- 0x62,
- 0x6d,
- 0x38,
- 0x78,
- 0x43,
- 0x7a,
- 0x41,
- 0x4a,
- 0x42,
- 0x67,
- 0x4e,
- 0x56,
- 0x42,
- 0x41,
- 0x73,
- 0x4d,
- 0x41,
- 0x6d,
- 0x35,
- 0x76,
- 0x4d,
- 0x51,
- 0x73,
- 0x77,
- 0x43,
- 0x51,
- 0x59,
- 0x44,
- 0x56,
- 0x51,
- 0x51,
- 0x44,
- 0x44,
- 0x41,
- 0x4a,
- 0x75,
- 0x62,
- 0x7a,
- 0x45,
- 0x52,
- 0x4d,
- 0x41,
- 0x38,
- 0x47,
- 0x43,
- 0x53,
- 0x71,
- 0x47,
- 0x53,
- 0x49,
- 0x62,
- 0x33,
- 0x44,
- 0x51,
- 0x45,
- 0x4a,
- 0x0a,
- 0x41,
- 0x52,
- 0x59,
- 0x43,
- 0x62,
- 0x6d,
- 0x38,
- 0x77,
- 0x48,
- 0x68,
- 0x63,
- 0x4e,
- 0x4d,
- 0x6a,
- 0x51,
- 0x77,
- 0x4d,
- 0x6a,
- 0x49,
- 0x34,
- 0x4d,
- 0x54,
- 0x6b,
- 0x7a,
- 0x4e,
- 0x7a,
- 0x45,
- 0x77,
- 0x57,
- 0x68,
- 0x63,
- 0x4e,
- 0x4d,
- 0x6a,
- 0x55,
- 0x77,
- 0x4d,
- 0x6a,
- 0x49,
- 0x33,
- 0x4d,
- 0x54,
- 0x6b,
- 0x7a,
- 0x4e,
- 0x7a,
- 0x45,
- 0x77,
- 0x57,
- 0x6a,
- 0x42,
- 0x68,
- 0x4d,
- 0x51,
- 0x73,
- 0x77,
- 0x43,
- 0x51,
- 0x59,
- 0x44,
- 0x56,
- 0x51,
- 0x51,
- 0x47,
- 0x0a,
- 0x45,
- 0x77,
- 0x4a,
- 0x75,
- 0x62,
- 0x7a,
- 0x45,
- 0x4c,
- 0x4d,
- 0x41,
- 0x6b,
- 0x47,
- 0x41,
- 0x31,
- 0x55,
- 0x45,
- 0x43,
- 0x41,
- 0x77,
- 0x43,
- 0x62,
- 0x6d,
- 0x38,
- 0x78,
- 0x43,
- 0x7a,
- 0x41,
- 0x4a,
- 0x42,
- 0x67,
- 0x4e,
- 0x56,
- 0x42,
- 0x41,
- 0x63,
- 0x4d,
- 0x41,
- 0x6d,
- 0x35,
- 0x76,
- 0x4d,
- 0x51,
- 0x73,
- 0x77,
- 0x43,
- 0x51,
- 0x59,
- 0x44,
- 0x56,
- 0x51,
- 0x51,
- 0x4b,
- 0x44,
- 0x41,
- 0x4a,
- 0x75,
- 0x62,
- 0x7a,
- 0x45,
- 0x4c,
- 0x4d,
- 0x41,
- 0x6b,
- 0x47,
- 0x0a,
- 0x41,
- 0x31,
- 0x55,
- 0x45,
- 0x43,
- 0x77,
- 0x77,
- 0x43,
- 0x62,
- 0x6d,
- 0x38,
- 0x78,
- 0x43,
- 0x7a,
- 0x41,
- 0x4a,
- 0x42,
- 0x67,
- 0x4e,
- 0x56,
- 0x42,
- 0x41,
- 0x4d,
- 0x4d,
- 0x41,
- 0x6d,
- 0x35,
- 0x76,
- 0x4d,
- 0x52,
- 0x45,
- 0x77,
- 0x44,
- 0x77,
- 0x59,
- 0x4a,
- 0x4b,
- 0x6f,
- 0x5a,
- 0x49,
- 0x68,
- 0x76,
- 0x63,
- 0x4e,
- 0x41,
- 0x51,
- 0x6b,
- 0x42,
- 0x46,
- 0x67,
- 0x4a,
- 0x75,
- 0x62,
- 0x7a,
- 0x43,
- 0x43,
- 0x41,
- 0x53,
- 0x49,
- 0x77,
- 0x44,
- 0x51,
- 0x59,
- 0x4a,
- 0x0a,
- 0x4b,
- 0x6f,
- 0x5a,
- 0x49,
- 0x68,
- 0x76,
- 0x63,
- 0x4e,
- 0x41,
- 0x51,
- 0x45,
- 0x42,
- 0x42,
- 0x51,
- 0x41,
- 0x44,
- 0x67,
- 0x67,
- 0x45,
- 0x50,
- 0x41,
- 0x44,
- 0x43,
- 0x43,
- 0x41,
- 0x51,
- 0x6f,
- 0x43,
- 0x67,
- 0x67,
- 0x45,
- 0x42,
- 0x41,
- 0x4c,
- 0x57,
- 0x5a,
- 0x42,
- 0x39,
- 0x4d,
- 0x74,
- 0x61,
- 0x73,
- 0x30,
- 0x56,
- 0x39,
- 0x53,
- 0x79,
- 0x61,
- 0x2b,
- 0x55,
- 0x68,
- 0x45,
- 0x61,
- 0x62,
- 0x77,
- 0x7a,
- 0x73,
- 0x33,
- 0x45,
- 0x6f,
- 0x6c,
- 0x2b,
- 0x2f,
- 0x4d,
- 0x0a,
- 0x68,
- 0x77,
- 0x55,
- 0x46,
- 0x57,
- 0x49,
- 0x46,
- 0x72,
- 0x72,
- 0x38,
- 0x74,
- 0x56,
- 0x79,
- 0x59,
- 0x76,
- 0x67,
- 0x38,
- 0x58,
- 0x73,
- 0x2f,
- 0x4b,
- 0x6e,
- 0x43,
- 0x32,
- 0x56,
- 0x61,
- 0x45,
- 0x70,
- 0x6e,
- 0x45,
- 0x6c,
- 0x74,
- 0x42,
- 0x4e,
- 0x4c,
- 0x61,
- 0x4f,
- 0x41,
- 0x44,
- 0x5a,
- 0x47,
- 0x55,
- 0x75,
- 0x58,
- 0x7a,
- 0x7a,
- 0x35,
- 0x45,
- 0x62,
- 0x63,
- 0x63,
- 0x62,
- 0x32,
- 0x69,
- 0x31,
- 0x38,
- 0x67,
- 0x68,
- 0x76,
- 0x4d,
- 0x44,
- 0x58,
- 0x35,
- 0x6f,
- 0x0a,
- 0x4f,
- 0x77,
- 0x41,
- 0x41,
- 0x69,
- 0x64,
- 0x4c,
- 0x33,
- 0x74,
- 0x76,
- 0x36,
- 0x6c,
- 0x68,
- 0x38,
- 0x2f,
- 0x56,
- 0x75,
- 0x6a,
- 0x38,
- 0x74,
- 0x70,
- 0x4c,
- 0x41,
- 0x35,
- 0x33,
- 0x53,
- 0x44,
- 0x52,
- 0x35,
- 0x56,
- 0x54,
- 0x51,
- 0x63,
- 0x78,
- 0x69,
- 0x74,
- 0x69,
- 0x70,
- 0x73,
- 0x63,
- 0x63,
- 0x6a,
- 0x61,
- 0x63,
- 0x48,
- 0x44,
- 0x66,
- 0x74,
- 0x54,
- 0x71,
- 0x44,
- 0x41,
- 0x37,
- 0x2b,
- 0x39,
- 0x34,
- 0x53,
- 0x54,
- 0x54,
- 0x38,
- 0x51,
- 0x53,
- 0x48,
- 0x74,
- 0x0a,
- 0x57,
- 0x75,
- 0x35,
- 0x46,
- 0x6d,
- 0x58,
- 0x50,
- 0x4b,
- 0x76,
- 0x4a,
- 0x4c,
- 0x6d,
- 0x50,
- 0x75,
- 0x4b,
- 0x51,
- 0x4a,
- 0x4d,
- 0x62,
- 0x4f,
- 0x4a,
- 0x53,
- 0x47,
- 0x44,
- 0x4a,
- 0x4c,
- 0x76,
- 0x64,
- 0x54,
- 0x2f,
- 0x30,
- 0x64,
- 0x79,
- 0x4d,
- 0x39,
- 0x61,
- 0x55,
- 0x33,
- 0x78,
- 0x4b,
- 0x77,
- 0x36,
- 0x34,
- 0x69,
- 0x76,
- 0x37,
- 0x53,
- 0x33,
- 0x6c,
- 0x61,
- 0x45,
- 0x52,
- 0x57,
- 0x79,
- 0x57,
- 0x34,
- 0x2f,
- 0x4f,
- 0x65,
- 0x6d,
- 0x4d,
- 0x51,
- 0x58,
- 0x73,
- 0x0a,
- 0x69,
- 0x2b,
- 0x6b,
- 0x62,
- 0x61,
- 0x6e,
- 0x70,
- 0x56,
- 0x4e,
- 0x4a,
- 0x56,
- 0x6d,
- 0x71,
- 0x54,
- 0x74,
- 0x53,
- 0x2b,
- 0x71,
- 0x2f,
- 0x46,
- 0x79,
- 0x59,
- 0x76,
- 0x76,
- 0x72,
- 0x31,
- 0x4e,
- 0x70,
- 0x58,
- 0x30,
- 0x4f,
- 0x63,
- 0x2f,
- 0x41,
- 0x35,
- 0x48,
- 0x32,
- 0x48,
- 0x59,
- 0x51,
- 0x36,
- 0x66,
- 0x36,
- 0x50,
- 0x33,
- 0x6e,
- 0x76,
- 0x4a,
- 0x32,
- 0x32,
- 0x49,
- 0x4f,
- 0x58,
- 0x6f,
- 0x49,
- 0x63,
- 0x4e,
- 0x6a,
- 0x49,
- 0x31,
- 0x46,
- 0x6d,
- 0x4b,
- 0x62,
- 0x0a,
- 0x58,
- 0x33,
- 0x4e,
- 0x4a,
- 0x48,
- 0x65,
- 0x74,
- 0x48,
- 0x58,
- 0x74,
- 0x79,
- 0x5a,
- 0x4b,
- 0x58,
- 0x63,
- 0x66,
- 0x70,
- 0x69,
- 0x7a,
- 0x6c,
- 0x6a,
- 0x73,
- 0x4e,
- 0x76,
- 0x62,
- 0x66,
- 0x66,
- 0x73,
- 0x4c,
- 0x36,
- 0x74,
- 0x77,
- 0x78,
- 0x6a,
- 0x6a,
- 0x43,
- 0x52,
- 0x33,
- 0x4a,
- 0x64,
- 0x55,
- 0x71,
- 0x50,
- 0x31,
- 0x78,
- 0x45,
- 0x43,
- 0x65,
- 0x75,
- 0x6f,
- 0x4c,
- 0x42,
- 0x4d,
- 0x7a,
- 0x6b,
- 0x43,
- 0x41,
- 0x77,
- 0x45,
- 0x41,
- 0x41,
- 0x61,
- 0x4e,
- 0x54,
- 0x0a,
- 0x4d,
- 0x46,
- 0x45,
- 0x77,
- 0x48,
- 0x51,
- 0x59,
- 0x44,
- 0x56,
- 0x52,
- 0x30,
- 0x4f,
- 0x42,
- 0x42,
- 0x59,
- 0x45,
- 0x46,
- 0x4b,
- 0x5a,
- 0x32,
- 0x62,
- 0x39,
- 0x49,
- 0x4a,
- 0x33,
- 0x59,
- 0x57,
- 0x43,
- 0x59,
- 0x79,
- 0x4d,
- 0x6b,
- 0x52,
- 0x4f,
- 0x6a,
- 0x74,
- 0x6a,
- 0x46,
- 0x37,
- 0x43,
- 0x78,
- 0x73,
- 0x66,
- 0x61,
- 0x4d,
- 0x42,
- 0x38,
- 0x47,
- 0x41,
- 0x31,
- 0x55,
- 0x64,
- 0x49,
- 0x77,
- 0x51,
- 0x59,
- 0x4d,
- 0x42,
- 0x61,
- 0x41,
- 0x46,
- 0x4b,
- 0x5a,
- 0x32,
- 0x0a,
- 0x62,
- 0x39,
- 0x49,
- 0x4a,
- 0x33,
- 0x59,
- 0x57,
- 0x43,
- 0x59,
- 0x79,
- 0x4d,
- 0x6b,
- 0x52,
- 0x4f,
- 0x6a,
- 0x74,
- 0x6a,
- 0x46,
- 0x37,
- 0x43,
- 0x78,
- 0x73,
- 0x66,
- 0x61,
- 0x4d,
- 0x41,
- 0x38,
- 0x47,
- 0x41,
- 0x31,
- 0x55,
- 0x64,
- 0x45,
- 0x77,
- 0x45,
- 0x42,
- 0x2f,
- 0x77,
- 0x51,
- 0x46,
- 0x4d,
- 0x41,
- 0x4d,
- 0x42,
- 0x41,
- 0x66,
- 0x38,
- 0x77,
- 0x44,
- 0x51,
- 0x59,
- 0x4a,
- 0x4b,
- 0x6f,
- 0x5a,
- 0x49,
- 0x68,
- 0x76,
- 0x63,
- 0x4e,
- 0x41,
- 0x51,
- 0x45,
- 0x4c,
- 0x0a,
- 0x42,
- 0x51,
- 0x41,
- 0x44,
- 0x67,
- 0x67,
- 0x45,
- 0x42,
- 0x41,
- 0x47,
- 0x4a,
- 0x6f,
- 0x48,
- 0x44,
- 0x54,
- 0x73,
- 0x41,
- 0x69,
- 0x75,
- 0x52,
- 0x74,
- 0x41,
- 0x43,
- 0x54,
- 0x47,
- 0x69,
- 0x47,
- 0x7a,
- 0x2f,
- 0x6f,
- 0x79,
- 0x4e,
- 0x5a,
- 0x66,
- 0x48,
- 0x2f,
- 0x4f,
- 0x55,
- 0x4a,
- 0x61,
- 0x69,
- 0x6a,
- 0x55,
- 0x4d,
- 0x61,
- 0x4c,
- 0x62,
- 0x48,
- 0x64,
- 0x2f,
- 0x4a,
- 0x47,
- 0x32,
- 0x4c,
- 0x36,
- 0x67,
- 0x74,
- 0x70,
- 0x41,
- 0x43,
- 0x59,
- 0x59,
- 0x32,
- 0x62,
- 0x0a,
- 0x41,
- 0x6f,
- 0x4c,
- 0x6b,
- 0x49,
- 0x63,
- 0x43,
- 0x6c,
- 0x33,
- 0x38,
- 0x6e,
- 0x73,
- 0x4c,
- 0x59,
- 0x4d,
- 0x4c,
- 0x5a,
- 0x33,
- 0x32,
- 0x42,
- 0x62,
- 0x63,
- 0x35,
- 0x6a,
- 0x6e,
- 0x50,
- 0x2f,
- 0x51,
- 0x79,
- 0x33,
- 0x64,
- 0x32,
- 0x48,
- 0x4b,
- 0x73,
- 0x54,
- 0x4a,
- 0x35,
- 0x49,
- 0x74,
- 0x34,
- 0x71,
- 0x78,
- 0x44,
- 0x67,
- 0x74,
- 0x62,
- 0x74,
- 0x70,
- 0x55,
- 0x38,
- 0x65,
- 0x35,
- 0x4d,
- 0x68,
- 0x45,
- 0x65,
- 0x4a,
- 0x6f,
- 0x65,
- 0x4d,
- 0x48,
- 0x4f,
- 0x43,
- 0x0a,
- 0x66,
- 0x69,
- 0x7a,
- 0x62,
- 0x63,
- 0x57,
- 0x63,
- 0x37,
- 0x57,
- 0x37,
- 0x6d,
- 0x32,
- 0x53,
- 0x4c,
- 0x66,
- 0x70,
- 0x65,
- 0x51,
- 0x4a,
- 0x57,
- 0x4d,
- 0x67,
- 0x75,
- 0x32,
- 0x44,
- 0x61,
- 0x30,
- 0x48,
- 0x59,
- 0x45,
- 0x44,
- 0x53,
- 0x2f,
- 0x78,
- 0x7a,
- 0x4c,
- 0x6e,
- 0x37,
- 0x70,
- 0x78,
- 0x51,
- 0x67,
- 0x5a,
- 0x70,
- 0x4f,
- 0x72,
- 0x4d,
- 0x51,
- 0x37,
- 0x49,
- 0x68,
- 0x69,
- 0x31,
- 0x6a,
- 0x77,
- 0x58,
- 0x66,
- 0x4b,
- 0x46,
- 0x71,
- 0x49,
- 0x49,
- 0x61,
- 0x6c,
- 0x0a,
- 0x67,
- 0x36,
- 0x53,
- 0x69,
- 0x6a,
- 0x52,
- 0x47,
- 0x58,
- 0x68,
- 0x37,
- 0x6f,
- 0x6e,
- 0x45,
- 0x41,
- 0x78,
- 0x45,
- 0x6d,
- 0x4b,
- 0x4c,
- 0x6b,
- 0x70,
- 0x56,
- 0x51,
- 0x52,
- 0x71,
- 0x36,
- 0x33,
- 0x33,
- 0x42,
- 0x59,
- 0x50,
- 0x56,
- 0x36,
- 0x6f,
- 0x64,
- 0x78,
- 0x74,
- 0x58,
- 0x44,
- 0x68,
- 0x78,
- 0x79,
- 0x4a,
- 0x4b,
- 0x79,
- 0x47,
- 0x6a,
- 0x53,
- 0x4a,
- 0x73,
- 0x51,
- 0x6f,
- 0x4b,
- 0x76,
- 0x39,
- 0x6f,
- 0x43,
- 0x46,
- 0x32,
- 0x6b,
- 0x41,
- 0x64,
- 0x41,
- 0x69,
- 0x0a,
- 0x43,
- 0x76,
- 0x76,
- 0x61,
- 0x74,
- 0x71,
- 0x52,
- 0x57,
- 0x52,
- 0x77,
- 0x67,
- 0x49,
- 0x65,
- 0x6c,
- 0x6e,
- 0x31,
- 0x53,
- 0x77,
- 0x39,
- 0x45,
- 0x65,
- 0x36,
- 0x63,
- 0x54,
- 0x59,
- 0x5a,
- 0x43,
- 0x47,
- 0x32,
- 0x55,
- 0x2b,
- 0x2f,
- 0x55,
- 0x66,
- 0x2b,
- 0x4c,
- 0x73,
- 0x37,
- 0x66,
- 0x6a,
- 0x4e,
- 0x38,
- 0x74,
- 0x72,
- 0x62,
- 0x2f,
- 0x53,
- 0x68,
- 0x6d,
- 0x78,
- 0x6f,
- 0x38,
- 0x64,
- 0x6f,
- 0x2f,
- 0x6e,
- 0x70,
- 0x42,
- 0x6e,
- 0x7a,
- 0x38,
- 0x6a,
- 0x2b,
- 0x31,
- 0x0a,
- 0x61,
- 0x32,
- 0x76,
- 0x62,
- 0x7a,
- 0x33,
- 0x67,
- 0x70,
- 0x4f,
- 0x73,
- 0x6c,
- 0x38,
- 0x37,
- 0x55,
- 0x30,
- 0x63,
- 0x30,
- 0x31,
- 0x4a,
- 0x43,
- 0x6c,
- 0x39,
- 0x53,
- 0x5a,
- 0x58,
- 0x44,
- 0x53,
- 0x4f,
- 0x30,
- 0x39,
- 0x77,
- 0x3d,
- 0x0a,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x45,
- 0x4e,
- 0x44,
- 0x20,
- 0x43,
- 0x45,
- 0x52,
- 0x54,
- 0x49,
- 0x46,
- 0x49,
- 0x43,
- 0x41,
- 0x54,
- 0x45,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x0a,
+ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47,
+ 0x49, 0x4e, 0x20, 0x43, 0x45, 0x52, 0x54, 0x49,
+ 0x46, 0x49, 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d,
+ 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x44,
+ 0x6f, 0x7a, 0x43, 0x43, 0x41, 0x6f, 0x75, 0x67,
+ 0x41, 0x77, 0x49, 0x42, 0x41, 0x67, 0x49, 0x55,
+ 0x53, 0x4b, 0x77, 0x51, 0x44, 0x31, 0x71, 0x52,
+ 0x74, 0x53, 0x2b, 0x6c, 0x72, 0x69, 0x64, 0x61,
+ 0x77, 0x6d, 0x61, 0x59, 0x4b, 0x36, 0x63, 0x65,
+ 0x6a, 0x32, 0x6b, 0x77, 0x44, 0x51, 0x59, 0x4a,
+ 0x4b, 0x6f, 0x5a, 0x49, 0x68, 0x76, 0x63, 0x4e,
+ 0x41, 0x51, 0x45, 0x4c, 0x0a, 0x42, 0x51, 0x41,
+ 0x77, 0x59, 0x54, 0x45, 0x4c, 0x4d, 0x41, 0x6b,
+ 0x47, 0x41, 0x31, 0x55, 0x45, 0x42, 0x68, 0x4d,
+ 0x43, 0x62, 0x6d, 0x38, 0x78, 0x43, 0x7a, 0x41,
+ 0x4a, 0x42, 0x67, 0x4e, 0x56, 0x42, 0x41, 0x67,
+ 0x4d, 0x41, 0x6d, 0x35, 0x76, 0x4d, 0x51, 0x73,
+ 0x77, 0x43, 0x51, 0x59, 0x44, 0x56, 0x51, 0x51,
+ 0x48, 0x44, 0x41, 0x4a, 0x75, 0x62, 0x7a, 0x45,
+ 0x4c, 0x4d, 0x41, 0x6b, 0x47, 0x0a, 0x41, 0x31,
+ 0x55, 0x45, 0x43, 0x67, 0x77, 0x43, 0x62, 0x6d,
+ 0x38, 0x78, 0x43, 0x7a, 0x41, 0x4a, 0x42, 0x67,
+ 0x4e, 0x56, 0x42, 0x41, 0x73, 0x4d, 0x41, 0x6d,
+ 0x35, 0x76, 0x4d, 0x51, 0x73, 0x77, 0x43, 0x51,
+ 0x59, 0x44, 0x56, 0x51, 0x51, 0x44, 0x44, 0x41,
+ 0x4a, 0x75, 0x62, 0x7a, 0x45, 0x52, 0x4d, 0x41,
+ 0x38, 0x47, 0x43, 0x53, 0x71, 0x47, 0x53, 0x49,
+ 0x62, 0x33, 0x44, 0x51, 0x45, 0x4a, 0x0a, 0x41,
+ 0x52, 0x59, 0x43, 0x62, 0x6d, 0x38, 0x77, 0x48,
+ 0x68, 0x63, 0x4e, 0x4d, 0x6a, 0x51, 0x77, 0x4d,
+ 0x6a, 0x49, 0x34, 0x4d, 0x54, 0x6b, 0x7a, 0x4e,
+ 0x7a, 0x45, 0x77, 0x57, 0x68, 0x63, 0x4e, 0x4d,
+ 0x6a, 0x55, 0x77, 0x4d, 0x6a, 0x49, 0x33, 0x4d,
+ 0x54, 0x6b, 0x7a, 0x4e, 0x7a, 0x45, 0x77, 0x57,
+ 0x6a, 0x42, 0x68, 0x4d, 0x51, 0x73, 0x77, 0x43,
+ 0x51, 0x59, 0x44, 0x56, 0x51, 0x51, 0x47, 0x0a,
+ 0x45, 0x77, 0x4a, 0x75, 0x62, 0x7a, 0x45, 0x4c,
+ 0x4d, 0x41, 0x6b, 0x47, 0x41, 0x31, 0x55, 0x45,
+ 0x43, 0x41, 0x77, 0x43, 0x62, 0x6d, 0x38, 0x78,
+ 0x43, 0x7a, 0x41, 0x4a, 0x42, 0x67, 0x4e, 0x56,
+ 0x42, 0x41, 0x63, 0x4d, 0x41, 0x6d, 0x35, 0x76,
+ 0x4d, 0x51, 0x73, 0x77, 0x43, 0x51, 0x59, 0x44,
+ 0x56, 0x51, 0x51, 0x4b, 0x44, 0x41, 0x4a, 0x75,
+ 0x62, 0x7a, 0x45, 0x4c, 0x4d, 0x41, 0x6b, 0x47,
+ 0x0a, 0x41, 0x31, 0x55, 0x45, 0x43, 0x77, 0x77,
+ 0x43, 0x62, 0x6d, 0x38, 0x78, 0x43, 0x7a, 0x41,
+ 0x4a, 0x42, 0x67, 0x4e, 0x56, 0x42, 0x41, 0x4d,
+ 0x4d, 0x41, 0x6d, 0x35, 0x76, 0x4d, 0x52, 0x45,
+ 0x77, 0x44, 0x77, 0x59, 0x4a, 0x4b, 0x6f, 0x5a,
+ 0x49, 0x68, 0x76, 0x63, 0x4e, 0x41, 0x51, 0x6b,
+ 0x42, 0x46, 0x67, 0x4a, 0x75, 0x62, 0x7a, 0x43,
+ 0x43, 0x41, 0x53, 0x49, 0x77, 0x44, 0x51, 0x59,
+ 0x4a, 0x0a, 0x4b, 0x6f, 0x5a, 0x49, 0x68, 0x76,
+ 0x63, 0x4e, 0x41, 0x51, 0x45, 0x42, 0x42, 0x51,
+ 0x41, 0x44, 0x67, 0x67, 0x45, 0x50, 0x41, 0x44,
+ 0x43, 0x43, 0x41, 0x51, 0x6f, 0x43, 0x67, 0x67,
+ 0x45, 0x42, 0x41, 0x4c, 0x57, 0x5a, 0x42, 0x39,
+ 0x4d, 0x74, 0x61, 0x73, 0x30, 0x56, 0x39, 0x53,
+ 0x79, 0x61, 0x2b, 0x55, 0x68, 0x45, 0x61, 0x62,
+ 0x77, 0x7a, 0x73, 0x33, 0x45, 0x6f, 0x6c, 0x2b,
+ 0x2f, 0x4d, 0x0a, 0x68, 0x77, 0x55, 0x46, 0x57,
+ 0x49, 0x46, 0x72, 0x72, 0x38, 0x74, 0x56, 0x79,
+ 0x59, 0x76, 0x67, 0x38, 0x58, 0x73, 0x2f, 0x4b,
+ 0x6e, 0x43, 0x32, 0x56, 0x61, 0x45, 0x70, 0x6e,
+ 0x45, 0x6c, 0x74, 0x42, 0x4e, 0x4c, 0x61, 0x4f,
+ 0x41, 0x44, 0x5a, 0x47, 0x55, 0x75, 0x58, 0x7a,
+ 0x7a, 0x35, 0x45, 0x62, 0x63, 0x63, 0x62, 0x32,
+ 0x69, 0x31, 0x38, 0x67, 0x68, 0x76, 0x4d, 0x44,
+ 0x58, 0x35, 0x6f, 0x0a, 0x4f, 0x77, 0x41, 0x41,
+ 0x69, 0x64, 0x4c, 0x33, 0x74, 0x76, 0x36, 0x6c,
+ 0x68, 0x38, 0x2f, 0x56, 0x75, 0x6a, 0x38, 0x74,
+ 0x70, 0x4c, 0x41, 0x35, 0x33, 0x53, 0x44, 0x52,
+ 0x35, 0x56, 0x54, 0x51, 0x63, 0x78, 0x69, 0x74,
+ 0x69, 0x70, 0x73, 0x63, 0x63, 0x6a, 0x61, 0x63,
+ 0x48, 0x44, 0x66, 0x74, 0x54, 0x71, 0x44, 0x41,
+ 0x37, 0x2b, 0x39, 0x34, 0x53, 0x54, 0x54, 0x38,
+ 0x51, 0x53, 0x48, 0x74, 0x0a, 0x57, 0x75, 0x35,
+ 0x46, 0x6d, 0x58, 0x50, 0x4b, 0x76, 0x4a, 0x4c,
+ 0x6d, 0x50, 0x75, 0x4b, 0x51, 0x4a, 0x4d, 0x62,
+ 0x4f, 0x4a, 0x53, 0x47, 0x44, 0x4a, 0x4c, 0x76,
+ 0x64, 0x54, 0x2f, 0x30, 0x64, 0x79, 0x4d, 0x39,
+ 0x61, 0x55, 0x33, 0x78, 0x4b, 0x77, 0x36, 0x34,
+ 0x69, 0x76, 0x37, 0x53, 0x33, 0x6c, 0x61, 0x45,
+ 0x52, 0x57, 0x79, 0x57, 0x34, 0x2f, 0x4f, 0x65,
+ 0x6d, 0x4d, 0x51, 0x58, 0x73, 0x0a, 0x69, 0x2b,
+ 0x6b, 0x62, 0x61, 0x6e, 0x70, 0x56, 0x4e, 0x4a,
+ 0x56, 0x6d, 0x71, 0x54, 0x74, 0x53, 0x2b, 0x71,
+ 0x2f, 0x46, 0x79, 0x59, 0x76, 0x76, 0x72, 0x31,
+ 0x4e, 0x70, 0x58, 0x30, 0x4f, 0x63, 0x2f, 0x41,
+ 0x35, 0x48, 0x32, 0x48, 0x59, 0x51, 0x36, 0x66,
+ 0x36, 0x50, 0x33, 0x6e, 0x76, 0x4a, 0x32, 0x32,
+ 0x49, 0x4f, 0x58, 0x6f, 0x49, 0x63, 0x4e, 0x6a,
+ 0x49, 0x31, 0x46, 0x6d, 0x4b, 0x62, 0x0a, 0x58,
+ 0x33, 0x4e, 0x4a, 0x48, 0x65, 0x74, 0x48, 0x58,
+ 0x74, 0x79, 0x5a, 0x4b, 0x58, 0x63, 0x66, 0x70,
+ 0x69, 0x7a, 0x6c, 0x6a, 0x73, 0x4e, 0x76, 0x62,
+ 0x66, 0x66, 0x73, 0x4c, 0x36, 0x74, 0x77, 0x78,
+ 0x6a, 0x6a, 0x43, 0x52, 0x33, 0x4a, 0x64, 0x55,
+ 0x71, 0x50, 0x31, 0x78, 0x45, 0x43, 0x65, 0x75,
+ 0x6f, 0x4c, 0x42, 0x4d, 0x7a, 0x6b, 0x43, 0x41,
+ 0x77, 0x45, 0x41, 0x41, 0x61, 0x4e, 0x54, 0x0a,
+ 0x4d, 0x46, 0x45, 0x77, 0x48, 0x51, 0x59, 0x44,
+ 0x56, 0x52, 0x30, 0x4f, 0x42, 0x42, 0x59, 0x45,
+ 0x46, 0x4b, 0x5a, 0x32, 0x62, 0x39, 0x49, 0x4a,
+ 0x33, 0x59, 0x57, 0x43, 0x59, 0x79, 0x4d, 0x6b,
+ 0x52, 0x4f, 0x6a, 0x74, 0x6a, 0x46, 0x37, 0x43,
+ 0x78, 0x73, 0x66, 0x61, 0x4d, 0x42, 0x38, 0x47,
+ 0x41, 0x31, 0x55, 0x64, 0x49, 0x77, 0x51, 0x59,
+ 0x4d, 0x42, 0x61, 0x41, 0x46, 0x4b, 0x5a, 0x32,
+ 0x0a, 0x62, 0x39, 0x49, 0x4a, 0x33, 0x59, 0x57,
+ 0x43, 0x59, 0x79, 0x4d, 0x6b, 0x52, 0x4f, 0x6a,
+ 0x74, 0x6a, 0x46, 0x37, 0x43, 0x78, 0x73, 0x66,
+ 0x61, 0x4d, 0x41, 0x38, 0x47, 0x41, 0x31, 0x55,
+ 0x64, 0x45, 0x77, 0x45, 0x42, 0x2f, 0x77, 0x51,
+ 0x46, 0x4d, 0x41, 0x4d, 0x42, 0x41, 0x66, 0x38,
+ 0x77, 0x44, 0x51, 0x59, 0x4a, 0x4b, 0x6f, 0x5a,
+ 0x49, 0x68, 0x76, 0x63, 0x4e, 0x41, 0x51, 0x45,
+ 0x4c, 0x0a, 0x42, 0x51, 0x41, 0x44, 0x67, 0x67,
+ 0x45, 0x42, 0x41, 0x47, 0x4a, 0x6f, 0x48, 0x44,
+ 0x54, 0x73, 0x41, 0x69, 0x75, 0x52, 0x74, 0x41,
+ 0x43, 0x54, 0x47, 0x69, 0x47, 0x7a, 0x2f, 0x6f,
+ 0x79, 0x4e, 0x5a, 0x66, 0x48, 0x2f, 0x4f, 0x55,
+ 0x4a, 0x61, 0x69, 0x6a, 0x55, 0x4d, 0x61, 0x4c,
+ 0x62, 0x48, 0x64, 0x2f, 0x4a, 0x47, 0x32, 0x4c,
+ 0x36, 0x67, 0x74, 0x70, 0x41, 0x43, 0x59, 0x59,
+ 0x32, 0x62, 0x0a, 0x41, 0x6f, 0x4c, 0x6b, 0x49,
+ 0x63, 0x43, 0x6c, 0x33, 0x38, 0x6e, 0x73, 0x4c,
+ 0x59, 0x4d, 0x4c, 0x5a, 0x33, 0x32, 0x42, 0x62,
+ 0x63, 0x35, 0x6a, 0x6e, 0x50, 0x2f, 0x51, 0x79,
+ 0x33, 0x64, 0x32, 0x48, 0x4b, 0x73, 0x54, 0x4a,
+ 0x35, 0x49, 0x74, 0x34, 0x71, 0x78, 0x44, 0x67,
+ 0x74, 0x62, 0x74, 0x70, 0x55, 0x38, 0x65, 0x35,
+ 0x4d, 0x68, 0x45, 0x65, 0x4a, 0x6f, 0x65, 0x4d,
+ 0x48, 0x4f, 0x43, 0x0a, 0x66, 0x69, 0x7a, 0x62,
+ 0x63, 0x57, 0x63, 0x37, 0x57, 0x37, 0x6d, 0x32,
+ 0x53, 0x4c, 0x66, 0x70, 0x65, 0x51, 0x4a, 0x57,
+ 0x4d, 0x67, 0x75, 0x32, 0x44, 0x61, 0x30, 0x48,
+ 0x59, 0x45, 0x44, 0x53, 0x2f, 0x78, 0x7a, 0x4c,
+ 0x6e, 0x37, 0x70, 0x78, 0x51, 0x67, 0x5a, 0x70,
+ 0x4f, 0x72, 0x4d, 0x51, 0x37, 0x49, 0x68, 0x69,
+ 0x31, 0x6a, 0x77, 0x58, 0x66, 0x4b, 0x46, 0x71,
+ 0x49, 0x49, 0x61, 0x6c, 0x0a, 0x67, 0x36, 0x53,
+ 0x69, 0x6a, 0x52, 0x47, 0x58, 0x68, 0x37, 0x6f,
+ 0x6e, 0x45, 0x41, 0x78, 0x45, 0x6d, 0x4b, 0x4c,
+ 0x6b, 0x70, 0x56, 0x51, 0x52, 0x71, 0x36, 0x33,
+ 0x33, 0x42, 0x59, 0x50, 0x56, 0x36, 0x6f, 0x64,
+ 0x78, 0x74, 0x58, 0x44, 0x68, 0x78, 0x79, 0x4a,
+ 0x4b, 0x79, 0x47, 0x6a, 0x53, 0x4a, 0x73, 0x51,
+ 0x6f, 0x4b, 0x76, 0x39, 0x6f, 0x43, 0x46, 0x32,
+ 0x6b, 0x41, 0x64, 0x41, 0x69, 0x0a, 0x43, 0x76,
+ 0x76, 0x61, 0x74, 0x71, 0x52, 0x57, 0x52, 0x77,
+ 0x67, 0x49, 0x65, 0x6c, 0x6e, 0x31, 0x53, 0x77,
+ 0x39, 0x45, 0x65, 0x36, 0x63, 0x54, 0x59, 0x5a,
+ 0x43, 0x47, 0x32, 0x55, 0x2b, 0x2f, 0x55, 0x66,
+ 0x2b, 0x4c, 0x73, 0x37, 0x66, 0x6a, 0x4e, 0x38,
+ 0x74, 0x72, 0x62, 0x2f, 0x53, 0x68, 0x6d, 0x78,
+ 0x6f, 0x38, 0x64, 0x6f, 0x2f, 0x6e, 0x70, 0x42,
+ 0x6e, 0x7a, 0x38, 0x6a, 0x2b, 0x31, 0x0a, 0x61,
+ 0x32, 0x76, 0x62, 0x7a, 0x33, 0x67, 0x70, 0x4f,
+ 0x73, 0x6c, 0x38, 0x37, 0x55, 0x30, 0x63, 0x30,
+ 0x31, 0x4a, 0x43, 0x6c, 0x39, 0x53, 0x5a, 0x58,
+ 0x44, 0x53, 0x4f, 0x30, 0x39, 0x77, 0x3d, 0x0a,
+ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44,
+ 0x20, 0x43, 0x45, 0x52, 0x54, 0x49, 0x46, 0x49,
+ 0x43, 0x41, 0x54, 0x45, 0x2d, 0x2d, 0x2d, 0x2d,
+ 0x2d, 0x0a
};
#ifndef OPENSSL_NO_DEPRECATED_3_0
@@ -1406,1710 +250,219 @@ hljAVnB9v6NMfcRERTx10SUc
-----END PRIVATE KEY-----
*/
static const uint8_t RSAPrivateKeyPEM[] = {
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x42,
- 0x45,
- 0x47,
- 0x49,
- 0x4e,
- 0x20,
- 0x50,
- 0x52,
- 0x49,
- 0x56,
- 0x41,
- 0x54,
- 0x45,
- 0x20,
- 0x4b,
- 0x45,
- 0x59,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x0a,
- 0x4d,
- 0x49,
- 0x49,
- 0x45,
- 0x76,
- 0x67,
- 0x49,
- 0x42,
- 0x41,
- 0x44,
- 0x41,
- 0x4e,
- 0x42,
- 0x67,
- 0x6b,
- 0x71,
- 0x68,
- 0x6b,
- 0x69,
- 0x47,
- 0x39,
- 0x77,
- 0x30,
- 0x42,
- 0x41,
- 0x51,
- 0x45,
- 0x46,
- 0x41,
- 0x41,
- 0x53,
- 0x43,
- 0x42,
- 0x4b,
- 0x67,
- 0x77,
- 0x67,
- 0x67,
- 0x53,
- 0x6b,
- 0x41,
- 0x67,
- 0x45,
- 0x41,
- 0x41,
- 0x6f,
- 0x49,
- 0x42,
- 0x41,
- 0x51,
- 0x43,
- 0x31,
- 0x6d,
- 0x51,
- 0x66,
- 0x54,
- 0x4c,
- 0x57,
- 0x72,
- 0x4e,
- 0x46,
- 0x66,
- 0x55,
- 0x73,
- 0x0a,
- 0x6d,
- 0x76,
- 0x6c,
- 0x49,
- 0x52,
- 0x47,
- 0x6d,
- 0x38,
- 0x4d,
- 0x37,
- 0x4e,
- 0x78,
- 0x4b,
- 0x4a,
- 0x66,
- 0x76,
- 0x7a,
- 0x49,
- 0x63,
- 0x46,
- 0x42,
- 0x56,
- 0x69,
- 0x42,
- 0x61,
- 0x36,
- 0x2f,
- 0x4c,
- 0x56,
- 0x63,
- 0x6d,
- 0x4c,
- 0x34,
- 0x50,
- 0x46,
- 0x37,
- 0x50,
- 0x79,
- 0x70,
- 0x77,
- 0x74,
- 0x6c,
- 0x57,
- 0x68,
- 0x4b,
- 0x5a,
- 0x78,
- 0x4a,
- 0x62,
- 0x51,
- 0x54,
- 0x53,
- 0x32,
- 0x6a,
- 0x67,
- 0x41,
- 0x32,
- 0x52,
- 0x6c,
- 0x4c,
- 0x6c,
- 0x38,
- 0x38,
- 0x2b,
- 0x0a,
- 0x52,
- 0x47,
- 0x33,
- 0x48,
- 0x47,
- 0x39,
- 0x6f,
- 0x74,
- 0x66,
- 0x49,
- 0x49,
- 0x62,
- 0x7a,
- 0x41,
- 0x31,
- 0x2b,
- 0x61,
- 0x44,
- 0x73,
- 0x41,
- 0x41,
- 0x49,
- 0x6e,
- 0x53,
- 0x39,
- 0x37,
- 0x62,
- 0x2b,
- 0x70,
- 0x59,
- 0x66,
- 0x50,
- 0x31,
- 0x62,
- 0x6f,
- 0x2f,
- 0x4c,
- 0x61,
- 0x53,
- 0x77,
- 0x4f,
- 0x64,
- 0x30,
- 0x67,
- 0x30,
- 0x65,
- 0x56,
- 0x55,
- 0x30,
- 0x48,
- 0x4d,
- 0x59,
- 0x72,
- 0x59,
- 0x71,
- 0x62,
- 0x48,
- 0x48,
- 0x49,
- 0x32,
- 0x6e,
- 0x42,
- 0x77,
- 0x33,
- 0x0a,
- 0x37,
- 0x55,
- 0x36,
- 0x67,
- 0x77,
- 0x4f,
- 0x2f,
- 0x76,
- 0x65,
- 0x45,
- 0x6b,
- 0x30,
- 0x2f,
- 0x45,
- 0x45,
- 0x68,
- 0x37,
- 0x56,
- 0x72,
- 0x75,
- 0x52,
- 0x5a,
- 0x6c,
- 0x7a,
- 0x79,
- 0x72,
- 0x79,
- 0x53,
- 0x35,
- 0x6a,
- 0x37,
- 0x69,
- 0x6b,
- 0x43,
- 0x54,
- 0x47,
- 0x7a,
- 0x69,
- 0x55,
- 0x68,
- 0x67,
- 0x79,
- 0x53,
- 0x37,
- 0x33,
- 0x55,
- 0x2f,
- 0x39,
- 0x48,
- 0x63,
- 0x6a,
- 0x50,
- 0x57,
- 0x6c,
- 0x4e,
- 0x38,
- 0x53,
- 0x73,
- 0x4f,
- 0x75,
- 0x49,
- 0x72,
- 0x2b,
- 0x30,
- 0x0a,
- 0x74,
- 0x35,
- 0x57,
- 0x68,
- 0x45,
- 0x56,
- 0x73,
- 0x6c,
- 0x75,
- 0x50,
- 0x7a,
- 0x6e,
- 0x70,
- 0x6a,
- 0x45,
- 0x46,
- 0x37,
- 0x49,
- 0x76,
- 0x70,
- 0x47,
- 0x32,
- 0x70,
- 0x36,
- 0x56,
- 0x54,
- 0x53,
- 0x56,
- 0x5a,
- 0x71,
- 0x6b,
- 0x37,
- 0x55,
- 0x76,
- 0x71,
- 0x76,
- 0x78,
- 0x63,
- 0x6d,
- 0x4c,
- 0x37,
- 0x36,
- 0x39,
- 0x54,
- 0x61,
- 0x56,
- 0x39,
- 0x44,
- 0x6e,
- 0x50,
- 0x77,
- 0x4f,
- 0x52,
- 0x39,
- 0x68,
- 0x32,
- 0x45,
- 0x4f,
- 0x6e,
- 0x2b,
- 0x6a,
- 0x39,
- 0x35,
- 0x37,
- 0x0a,
- 0x79,
- 0x64,
- 0x74,
- 0x69,
- 0x44,
- 0x6c,
- 0x36,
- 0x43,
- 0x48,
- 0x44,
- 0x59,
- 0x79,
- 0x4e,
- 0x52,
- 0x5a,
- 0x69,
- 0x6d,
- 0x31,
- 0x39,
- 0x7a,
- 0x53,
- 0x52,
- 0x33,
- 0x72,
- 0x52,
- 0x31,
- 0x37,
- 0x63,
- 0x6d,
- 0x53,
- 0x6c,
- 0x33,
- 0x48,
- 0x36,
- 0x59,
- 0x73,
- 0x35,
- 0x59,
- 0x37,
- 0x44,
- 0x62,
- 0x32,
- 0x33,
- 0x33,
- 0x37,
- 0x43,
- 0x2b,
- 0x72,
- 0x63,
- 0x4d,
- 0x59,
- 0x34,
- 0x77,
- 0x6b,
- 0x64,
- 0x79,
- 0x58,
- 0x56,
- 0x4b,
- 0x6a,
- 0x39,
- 0x63,
- 0x52,
- 0x41,
- 0x0a,
- 0x6e,
- 0x72,
- 0x71,
- 0x43,
- 0x77,
- 0x54,
- 0x4d,
- 0x35,
- 0x41,
- 0x67,
- 0x4d,
- 0x42,
- 0x41,
- 0x41,
- 0x45,
- 0x43,
- 0x67,
- 0x67,
- 0x45,
- 0x41,
- 0x46,
- 0x4f,
- 0x44,
- 0x2b,
- 0x58,
- 0x46,
- 0x4a,
- 0x5a,
- 0x65,
- 0x44,
- 0x44,
- 0x78,
- 0x47,
- 0x6d,
- 0x72,
- 0x4c,
- 0x42,
- 0x48,
- 0x73,
- 0x52,
- 0x4b,
- 0x52,
- 0x6c,
- 0x4d,
- 0x70,
- 0x56,
- 0x4d,
- 0x45,
- 0x66,
- 0x51,
- 0x61,
- 0x6e,
- 0x38,
- 0x33,
- 0x54,
- 0x55,
- 0x34,
- 0x7a,
- 0x52,
- 0x74,
- 0x5a,
- 0x74,
- 0x52,
- 0x37,
- 0x0a,
- 0x4d,
- 0x73,
- 0x44,
- 0x76,
- 0x49,
- 0x72,
- 0x74,
- 0x31,
- 0x64,
- 0x72,
- 0x59,
- 0x51,
- 0x44,
- 0x46,
- 0x4b,
- 0x4c,
- 0x62,
- 0x49,
- 0x6e,
- 0x44,
- 0x52,
- 0x7a,
- 0x62,
- 0x64,
- 0x76,
- 0x34,
- 0x4d,
- 0x32,
- 0x66,
- 0x46,
- 0x46,
- 0x38,
- 0x2b,
- 0x32,
- 0x7a,
- 0x45,
- 0x72,
- 0x6d,
- 0x4c,
- 0x4f,
- 0x5a,
- 0x2f,
- 0x4a,
- 0x72,
- 0x78,
- 0x79,
- 0x52,
- 0x6a,
- 0x33,
- 0x4d,
- 0x66,
- 0x42,
- 0x47,
- 0x4e,
- 0x50,
- 0x33,
- 0x42,
- 0x4c,
- 0x47,
- 0x45,
- 0x63,
- 0x61,
- 0x79,
- 0x34,
- 0x0a,
- 0x65,
- 0x37,
- 0x58,
- 0x59,
- 0x44,
- 0x78,
- 0x47,
- 0x42,
- 0x59,
- 0x4e,
- 0x32,
- 0x57,
- 0x52,
- 0x67,
- 0x4b,
- 0x37,
- 0x2b,
- 0x6b,
- 0x39,
- 0x70,
- 0x48,
- 0x45,
- 0x6f,
- 0x2f,
- 0x71,
- 0x47,
- 0x76,
- 0x52,
- 0x32,
- 0x65,
- 0x4f,
- 0x43,
- 0x2f,
- 0x77,
- 0x38,
- 0x69,
- 0x76,
- 0x69,
- 0x72,
- 0x51,
- 0x71,
- 0x31,
- 0x6a,
- 0x4b,
- 0x47,
- 0x66,
- 0x52,
- 0x79,
- 0x7a,
- 0x4b,
- 0x4c,
- 0x4d,
- 0x6c,
- 0x4a,
- 0x36,
- 0x64,
- 0x38,
- 0x51,
- 0x6b,
- 0x37,
- 0x4f,
- 0x79,
- 0x78,
- 0x5a,
- 0x0a,
- 0x6e,
- 0x30,
- 0x75,
- 0x33,
- 0x76,
- 0x32,
- 0x45,
- 0x4a,
- 0x39,
- 0x43,
- 0x57,
- 0x6f,
- 0x4e,
- 0x44,
- 0x67,
- 0x55,
- 0x48,
- 0x34,
- 0x65,
- 0x78,
- 0x43,
- 0x69,
- 0x6c,
- 0x2f,
- 0x4f,
- 0x65,
- 0x34,
- 0x68,
- 0x35,
- 0x57,
- 0x41,
- 0x35,
- 0x39,
- 0x78,
- 0x54,
- 0x35,
- 0x4e,
- 0x41,
- 0x6b,
- 0x78,
- 0x34,
- 0x52,
- 0x55,
- 0x6f,
- 0x6a,
- 0x73,
- 0x4a,
- 0x69,
- 0x45,
- 0x78,
- 0x57,
- 0x5a,
- 0x70,
- 0x7a,
- 0x54,
- 0x2f,
- 0x56,
- 0x58,
- 0x31,
- 0x64,
- 0x32,
- 0x31,
- 0x6d,
- 0x4e,
- 0x0a,
- 0x57,
- 0x4d,
- 0x62,
- 0x35,
- 0x45,
- 0x4f,
- 0x38,
- 0x65,
- 0x79,
- 0x69,
- 0x36,
- 0x46,
- 0x79,
- 0x5a,
- 0x6c,
- 0x41,
- 0x63,
- 0x62,
- 0x39,
- 0x4d,
- 0x49,
- 0x44,
- 0x30,
- 0x6b,
- 0x4d,
- 0x46,
- 0x36,
- 0x51,
- 0x33,
- 0x68,
- 0x55,
- 0x76,
- 0x2b,
- 0x6a,
- 0x54,
- 0x77,
- 0x2b,
- 0x58,
- 0x39,
- 0x79,
- 0x69,
- 0x67,
- 0x2b,
- 0x33,
- 0x42,
- 0x39,
- 0x62,
- 0x67,
- 0x32,
- 0x5a,
- 0x30,
- 0x49,
- 0x2b,
- 0x49,
- 0x4b,
- 0x48,
- 0x6c,
- 0x39,
- 0x49,
- 0x6e,
- 0x53,
- 0x68,
- 0x6b,
- 0x43,
- 0x0a,
- 0x6e,
- 0x64,
- 0x59,
- 0x6e,
- 0x34,
- 0x61,
- 0x64,
- 0x30,
- 0x7a,
- 0x64,
- 0x2f,
- 0x67,
- 0x67,
- 0x4d,
- 0x56,
- 0x6b,
- 0x6c,
- 0x6f,
- 0x6f,
- 0x6d,
- 0x68,
- 0x34,
- 0x75,
- 0x61,
- 0x53,
- 0x71,
- 0x5a,
- 0x78,
- 0x55,
- 0x69,
- 0x33,
- 0x79,
- 0x77,
- 0x74,
- 0x73,
- 0x7a,
- 0x5a,
- 0x6b,
- 0x52,
- 0x62,
- 0x7a,
- 0x51,
- 0x4b,
- 0x42,
- 0x67,
- 0x51,
- 0x44,
- 0x37,
- 0x50,
- 0x76,
- 0x78,
- 0x31,
- 0x45,
- 0x72,
- 0x4b,
- 0x6d,
- 0x35,
- 0x6c,
- 0x5a,
- 0x44,
- 0x41,
- 0x53,
- 0x32,
- 0x62,
- 0x0a,
- 0x62,
- 0x34,
- 0x72,
- 0x6c,
- 0x74,
- 0x7a,
- 0x71,
- 0x4a,
- 0x52,
- 0x55,
- 0x45,
- 0x4b,
- 0x79,
- 0x45,
- 0x71,
- 0x6a,
- 0x71,
- 0x7a,
- 0x50,
- 0x7a,
- 0x67,
- 0x61,
- 0x73,
- 0x4f,
- 0x61,
- 0x30,
- 0x6a,
- 0x57,
- 0x45,
- 0x71,
- 0x2f,
- 0x66,
- 0x78,
- 0x75,
- 0x47,
- 0x63,
- 0x2f,
- 0x62,
- 0x69,
- 0x78,
- 0x67,
- 0x2f,
- 0x45,
- 0x42,
- 0x61,
- 0x51,
- 0x38,
- 0x79,
- 0x79,
- 0x54,
- 0x47,
- 0x59,
- 0x64,
- 0x49,
- 0x59,
- 0x79,
- 0x72,
- 0x37,
- 0x44,
- 0x4b,
- 0x59,
- 0x59,
- 0x6a,
- 0x43,
- 0x0a,
- 0x30,
- 0x41,
- 0x47,
- 0x56,
- 0x6e,
- 0x42,
- 0x43,
- 0x68,
- 0x30,
- 0x2b,
- 0x54,
- 0x46,
- 0x55,
- 0x44,
- 0x42,
- 0x31,
- 0x6b,
- 0x66,
- 0x77,
- 0x6b,
- 0x62,
- 0x65,
- 0x66,
- 0x32,
- 0x62,
- 0x38,
- 0x79,
- 0x75,
- 0x66,
- 0x51,
- 0x2f,
- 0x76,
- 0x4a,
- 0x77,
- 0x63,
- 0x4f,
- 0x4a,
- 0x2b,
- 0x35,
- 0x6b,
- 0x42,
- 0x58,
- 0x51,
- 0x5a,
- 0x78,
- 0x38,
- 0x2b,
- 0x4c,
- 0x38,
- 0x55,
- 0x39,
- 0x69,
- 0x57,
- 0x4b,
- 0x41,
- 0x4e,
- 0x58,
- 0x78,
- 0x6b,
- 0x45,
- 0x65,
- 0x43,
- 0x58,
- 0x32,
- 0x0a,
- 0x69,
- 0x57,
- 0x50,
- 0x5a,
- 0x50,
- 0x7a,
- 0x35,
- 0x32,
- 0x70,
- 0x54,
- 0x54,
- 0x59,
- 0x6c,
- 0x66,
- 0x39,
- 0x30,
- 0x50,
- 0x4c,
- 0x7a,
- 0x45,
- 0x57,
- 0x36,
- 0x51,
- 0x79,
- 0x44,
- 0x77,
- 0x4b,
- 0x42,
- 0x67,
- 0x51,
- 0x43,
- 0x35,
- 0x43,
- 0x4b,
- 0x79,
- 0x66,
- 0x55,
- 0x77,
- 0x78,
- 0x33,
- 0x42,
- 0x61,
- 0x32,
- 0x69,
- 0x58,
- 0x74,
- 0x66,
- 0x49,
- 0x72,
- 0x65,
- 0x79,
- 0x50,
- 0x71,
- 0x44,
- 0x6f,
- 0x62,
- 0x62,
- 0x79,
- 0x62,
- 0x79,
- 0x54,
- 0x45,
- 0x59,
- 0x6b,
- 0x0a,
- 0x61,
- 0x79,
- 0x41,
- 0x32,
- 0x6f,
- 0x45,
- 0x6c,
- 0x53,
- 0x64,
- 0x65,
- 0x6a,
- 0x67,
- 0x56,
- 0x6b,
- 0x57,
- 0x77,
- 0x4a,
- 0x2b,
- 0x71,
- 0x37,
- 0x37,
- 0x67,
- 0x77,
- 0x72,
- 0x6e,
- 0x46,
- 0x35,
- 0x50,
- 0x65,
- 0x39,
- 0x7a,
- 0x62,
- 0x70,
- 0x55,
- 0x42,
- 0x6f,
- 0x63,
- 0x37,
- 0x56,
- 0x4a,
- 0x6a,
- 0x72,
- 0x52,
- 0x68,
- 0x55,
- 0x6f,
- 0x6a,
- 0x49,
- 0x37,
- 0x4c,
- 0x4f,
- 0x79,
- 0x53,
- 0x79,
- 0x74,
- 0x6f,
- 0x33,
- 0x57,
- 0x59,
- 0x59,
- 0x6f,
- 0x63,
- 0x7a,
- 0x58,
- 0x0a,
- 0x4c,
- 0x70,
- 0x72,
- 0x7a,
- 0x50,
- 0x6e,
- 0x6a,
- 0x32,
- 0x79,
- 0x45,
- 0x56,
- 0x65,
- 0x56,
- 0x32,
- 0x6c,
- 0x72,
- 0x54,
- 0x53,
- 0x36,
- 0x6c,
- 0x4b,
- 0x4e,
- 0x70,
- 0x64,
- 0x72,
- 0x61,
- 0x4f,
- 0x38,
- 0x51,
- 0x5a,
- 0x63,
- 0x53,
- 0x44,
- 0x37,
- 0x6d,
- 0x55,
- 0x55,
- 0x6d,
- 0x69,
- 0x4e,
- 0x52,
- 0x5a,
- 0x6e,
- 0x6f,
- 0x50,
- 0x4b,
- 0x31,
- 0x36,
- 0x4d,
- 0x6d,
- 0x39,
- 0x71,
- 0x6a,
- 0x6b,
- 0x6b,
- 0x32,
- 0x39,
- 0x48,
- 0x6e,
- 0x59,
- 0x37,
- 0x4d,
- 0x73,
- 0x71,
- 0x0a,
- 0x70,
- 0x6b,
- 0x69,
- 0x4f,
- 0x67,
- 0x34,
- 0x68,
- 0x75,
- 0x4e,
- 0x77,
- 0x4b,
- 0x42,
- 0x67,
- 0x51,
- 0x43,
- 0x6b,
- 0x68,
- 0x32,
- 0x48,
- 0x42,
- 0x74,
- 0x4f,
- 0x58,
- 0x6a,
- 0x48,
- 0x2f,
- 0x47,
- 0x62,
- 0x58,
- 0x56,
- 0x6b,
- 0x6c,
- 0x63,
- 0x63,
- 0x30,
- 0x4f,
- 0x6b,
- 0x34,
- 0x65,
- 0x30,
- 0x76,
- 0x76,
- 0x4a,
- 0x53,
- 0x41,
- 0x6b,
- 0x6e,
- 0x47,
- 0x6c,
- 0x6d,
- 0x57,
- 0x6c,
- 0x37,
- 0x2b,
- 0x4d,
- 0x35,
- 0x78,
- 0x51,
- 0x33,
- 0x6b,
- 0x69,
- 0x6b,
- 0x59,
- 0x38,
- 0x0a,
- 0x44,
- 0x37,
- 0x78,
- 0x4e,
- 0x46,
- 0x32,
- 0x58,
- 0x73,
- 0x63,
- 0x59,
- 0x2f,
- 0x51,
- 0x73,
- 0x61,
- 0x44,
- 0x76,
- 0x54,
- 0x41,
- 0x75,
- 0x37,
- 0x58,
- 0x34,
- 0x74,
- 0x47,
- 0x42,
- 0x41,
- 0x47,
- 0x4d,
- 0x39,
- 0x6f,
- 0x51,
- 0x64,
- 0x74,
- 0x79,
- 0x4e,
- 0x69,
- 0x65,
- 0x74,
- 0x6e,
- 0x31,
- 0x62,
- 0x35,
- 0x4a,
- 0x66,
- 0x6d,
- 0x42,
- 0x79,
- 0x7a,
- 0x30,
- 0x55,
- 0x37,
- 0x42,
- 0x2b,
- 0x47,
- 0x73,
- 0x76,
- 0x32,
- 0x5a,
- 0x53,
- 0x37,
- 0x4b,
- 0x31,
- 0x44,
- 0x55,
- 0x0a,
- 0x39,
- 0x73,
- 0x54,
- 0x4c,
- 0x41,
- 0x32,
- 0x45,
- 0x38,
- 0x68,
- 0x4d,
- 0x6d,
- 0x37,
- 0x33,
- 0x44,
- 0x70,
- 0x51,
- 0x31,
- 0x55,
- 0x78,
- 0x38,
- 0x42,
- 0x62,
- 0x65,
- 0x43,
- 0x4b,
- 0x69,
- 0x56,
- 0x79,
- 0x35,
- 0x4d,
- 0x39,
- 0x50,
- 0x66,
- 0x44,
- 0x63,
- 0x7a,
- 0x33,
- 0x42,
- 0x4f,
- 0x6d,
- 0x6c,
- 0x4a,
- 0x64,
- 0x66,
- 0x77,
- 0x68,
- 0x4b,
- 0x51,
- 0x5a,
- 0x76,
- 0x6e,
- 0x69,
- 0x79,
- 0x48,
- 0x52,
- 0x6c,
- 0x42,
- 0x77,
- 0x4b,
- 0x42,
- 0x67,
- 0x51,
- 0x43,
- 0x48,
- 0x0a,
- 0x2f,
- 0x73,
- 0x41,
- 0x68,
- 0x4f,
- 0x63,
- 0x44,
- 0x6e,
- 0x6d,
- 0x64,
- 0x7a,
- 0x4d,
- 0x67,
- 0x6a,
- 0x6a,
- 0x47,
- 0x33,
- 0x6b,
- 0x34,
- 0x49,
- 0x4a,
- 0x2f,
- 0x54,
- 0x4e,
- 0x52,
- 0x52,
- 0x79,
- 0x79,
- 0x36,
- 0x53,
- 0x79,
- 0x45,
- 0x68,
- 0x39,
- 0x66,
- 0x64,
- 0x54,
- 0x6d,
- 0x47,
- 0x56,
- 0x6f,
- 0x65,
- 0x50,
- 0x50,
- 0x50,
- 0x70,
- 0x6c,
- 0x70,
- 0x70,
- 0x32,
- 0x7a,
- 0x33,
- 0x51,
- 0x7a,
- 0x62,
- 0x65,
- 0x74,
- 0x73,
- 0x62,
- 0x36,
- 0x56,
- 0x47,
- 0x63,
- 0x33,
- 0x0a,
- 0x61,
- 0x48,
- 0x57,
- 0x32,
- 0x54,
- 0x35,
- 0x54,
- 0x6d,
- 0x77,
- 0x32,
- 0x51,
- 0x41,
- 0x51,
- 0x39,
- 0x45,
- 0x56,
- 0x48,
- 0x43,
- 0x50,
- 0x57,
- 0x33,
- 0x7a,
- 0x6a,
- 0x41,
- 0x6b,
- 0x6a,
- 0x6a,
- 0x2f,
- 0x30,
- 0x61,
- 0x76,
- 0x6b,
- 0x57,
- 0x2f,
- 0x53,
- 0x32,
- 0x34,
- 0x79,
- 0x75,
- 0x30,
- 0x39,
- 0x65,
- 0x31,
- 0x47,
- 0x4d,
- 0x61,
- 0x6a,
- 0x68,
- 0x6e,
- 0x4a,
- 0x43,
- 0x30,
- 0x41,
- 0x78,
- 0x71,
- 0x37,
- 0x7a,
- 0x32,
- 0x75,
- 0x51,
- 0x61,
- 0x67,
- 0x54,
- 0x47,
- 0x0a,
- 0x32,
- 0x5a,
- 0x66,
- 0x6b,
- 0x55,
- 0x38,
- 0x31,
- 0x55,
- 0x52,
- 0x39,
- 0x75,
- 0x65,
- 0x76,
- 0x54,
- 0x6f,
- 0x6a,
- 0x6e,
- 0x66,
- 0x34,
- 0x56,
- 0x71,
- 0x77,
- 0x35,
- 0x55,
- 0x76,
- 0x63,
- 0x72,
- 0x77,
- 0x6a,
- 0x4e,
- 0x6d,
- 0x6d,
- 0x4e,
- 0x79,
- 0x45,
- 0x4d,
- 0x33,
- 0x63,
- 0x2f,
- 0x67,
- 0x63,
- 0x51,
- 0x4b,
- 0x42,
- 0x67,
- 0x48,
- 0x61,
- 0x32,
- 0x64,
- 0x54,
- 0x35,
- 0x73,
- 0x76,
- 0x7a,
- 0x4d,
- 0x31,
- 0x6a,
- 0x52,
- 0x65,
- 0x69,
- 0x4f,
- 0x33,
- 0x56,
- 0x74,
- 0x0a,
- 0x64,
- 0x41,
- 0x55,
- 0x44,
- 0x7a,
- 0x74,
- 0x47,
- 0x4b,
- 0x55,
- 0x45,
- 0x33,
- 0x63,
- 0x6c,
- 0x50,
- 0x56,
- 0x33,
- 0x35,
- 0x4c,
- 0x32,
- 0x78,
- 0x6d,
- 0x4a,
- 0x65,
- 0x4a,
- 0x44,
- 0x58,
- 0x50,
- 0x4f,
- 0x71,
- 0x43,
- 0x4c,
- 0x33,
- 0x71,
- 0x6f,
- 0x5a,
- 0x39,
- 0x41,
- 0x36,
- 0x68,
- 0x48,
- 0x6d,
- 0x44,
- 0x77,
- 0x36,
- 0x67,
- 0x6d,
- 0x67,
- 0x38,
- 0x32,
- 0x67,
- 0x51,
- 0x44,
- 0x51,
- 0x65,
- 0x4a,
- 0x62,
- 0x4c,
- 0x2f,
- 0x2b,
- 0x6a,
- 0x4b,
- 0x6b,
- 0x6f,
- 0x6e,
- 0x0a,
- 0x65,
- 0x36,
- 0x61,
- 0x74,
- 0x48,
- 0x2f,
- 0x44,
- 0x66,
- 0x72,
- 0x2b,
- 0x4d,
- 0x34,
- 0x6e,
- 0x50,
- 0x66,
- 0x74,
- 0x39,
- 0x4c,
- 0x74,
- 0x34,
- 0x66,
- 0x4f,
- 0x41,
- 0x57,
- 0x4f,
- 0x51,
- 0x33,
- 0x74,
- 0x44,
- 0x73,
- 0x44,
- 0x75,
- 0x43,
- 0x6b,
- 0x4f,
- 0x4d,
- 0x6a,
- 0x53,
- 0x54,
- 0x6e,
- 0x38,
- 0x63,
- 0x4c,
- 0x4d,
- 0x5a,
- 0x4c,
- 0x47,
- 0x63,
- 0x77,
- 0x54,
- 0x32,
- 0x48,
- 0x31,
- 0x48,
- 0x32,
- 0x76,
- 0x42,
- 0x6f,
- 0x63,
- 0x4d,
- 0x2b,
- 0x55,
- 0x54,
- 0x64,
- 0x0a,
- 0x68,
- 0x6c,
- 0x6a,
- 0x41,
- 0x56,
- 0x6e,
- 0x42,
- 0x39,
- 0x76,
- 0x36,
- 0x4e,
- 0x4d,
- 0x66,
- 0x63,
- 0x52,
- 0x45,
- 0x52,
- 0x54,
- 0x78,
- 0x31,
- 0x30,
- 0x53,
- 0x55,
- 0x63,
- 0x0a,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x45,
- 0x4e,
- 0x44,
- 0x20,
- 0x50,
- 0x52,
- 0x49,
- 0x56,
- 0x41,
- 0x54,
- 0x45,
- 0x20,
- 0x4b,
- 0x45,
- 0x59,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x2d,
- 0x0a,
+ 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x42, 0x45, 0x47,
+ 0x49, 0x4e, 0x20, 0x50, 0x52, 0x49, 0x56, 0x41,
+ 0x54, 0x45, 0x20, 0x4b, 0x45, 0x59, 0x2d, 0x2d,
+ 0x2d, 0x2d, 0x2d, 0x0a, 0x4d, 0x49, 0x49, 0x45,
+ 0x76, 0x67, 0x49, 0x42, 0x41, 0x44, 0x41, 0x4e,
+ 0x42, 0x67, 0x6b, 0x71, 0x68, 0x6b, 0x69, 0x47,
+ 0x39, 0x77, 0x30, 0x42, 0x41, 0x51, 0x45, 0x46,
+ 0x41, 0x41, 0x53, 0x43, 0x42, 0x4b, 0x67, 0x77,
+ 0x67, 0x67, 0x53, 0x6b, 0x41, 0x67, 0x45, 0x41,
+ 0x41, 0x6f, 0x49, 0x42, 0x41, 0x51, 0x43, 0x31,
+ 0x6d, 0x51, 0x66, 0x54, 0x4c, 0x57, 0x72, 0x4e,
+ 0x46, 0x66, 0x55, 0x73, 0x0a, 0x6d, 0x76, 0x6c,
+ 0x49, 0x52, 0x47, 0x6d, 0x38, 0x4d, 0x37, 0x4e,
+ 0x78, 0x4b, 0x4a, 0x66, 0x76, 0x7a, 0x49, 0x63,
+ 0x46, 0x42, 0x56, 0x69, 0x42, 0x61, 0x36, 0x2f,
+ 0x4c, 0x56, 0x63, 0x6d, 0x4c, 0x34, 0x50, 0x46,
+ 0x37, 0x50, 0x79, 0x70, 0x77, 0x74, 0x6c, 0x57,
+ 0x68, 0x4b, 0x5a, 0x78, 0x4a, 0x62, 0x51, 0x54,
+ 0x53, 0x32, 0x6a, 0x67, 0x41, 0x32, 0x52, 0x6c,
+ 0x4c, 0x6c, 0x38, 0x38, 0x2b, 0x0a, 0x52, 0x47,
+ 0x33, 0x48, 0x47, 0x39, 0x6f, 0x74, 0x66, 0x49,
+ 0x49, 0x62, 0x7a, 0x41, 0x31, 0x2b, 0x61, 0x44,
+ 0x73, 0x41, 0x41, 0x49, 0x6e, 0x53, 0x39, 0x37,
+ 0x62, 0x2b, 0x70, 0x59, 0x66, 0x50, 0x31, 0x62,
+ 0x6f, 0x2f, 0x4c, 0x61, 0x53, 0x77, 0x4f, 0x64,
+ 0x30, 0x67, 0x30, 0x65, 0x56, 0x55, 0x30, 0x48,
+ 0x4d, 0x59, 0x72, 0x59, 0x71, 0x62, 0x48, 0x48,
+ 0x49, 0x32, 0x6e, 0x42, 0x77, 0x33, 0x0a, 0x37,
+ 0x55, 0x36, 0x67, 0x77, 0x4f, 0x2f, 0x76, 0x65,
+ 0x45, 0x6b, 0x30, 0x2f, 0x45, 0x45, 0x68, 0x37,
+ 0x56, 0x72, 0x75, 0x52, 0x5a, 0x6c, 0x7a, 0x79,
+ 0x72, 0x79, 0x53, 0x35, 0x6a, 0x37, 0x69, 0x6b,
+ 0x43, 0x54, 0x47, 0x7a, 0x69, 0x55, 0x68, 0x67,
+ 0x79, 0x53, 0x37, 0x33, 0x55, 0x2f, 0x39, 0x48,
+ 0x63, 0x6a, 0x50, 0x57, 0x6c, 0x4e, 0x38, 0x53,
+ 0x73, 0x4f, 0x75, 0x49, 0x72, 0x2b, 0x30, 0x0a,
+ 0x74, 0x35, 0x57, 0x68, 0x45, 0x56, 0x73, 0x6c,
+ 0x75, 0x50, 0x7a, 0x6e, 0x70, 0x6a, 0x45, 0x46,
+ 0x37, 0x49, 0x76, 0x70, 0x47, 0x32, 0x70, 0x36,
+ 0x56, 0x54, 0x53, 0x56, 0x5a, 0x71, 0x6b, 0x37,
+ 0x55, 0x76, 0x71, 0x76, 0x78, 0x63, 0x6d, 0x4c,
+ 0x37, 0x36, 0x39, 0x54, 0x61, 0x56, 0x39, 0x44,
+ 0x6e, 0x50, 0x77, 0x4f, 0x52, 0x39, 0x68, 0x32,
+ 0x45, 0x4f, 0x6e, 0x2b, 0x6a, 0x39, 0x35, 0x37,
+ 0x0a, 0x79, 0x64, 0x74, 0x69, 0x44, 0x6c, 0x36,
+ 0x43, 0x48, 0x44, 0x59, 0x79, 0x4e, 0x52, 0x5a,
+ 0x69, 0x6d, 0x31, 0x39, 0x7a, 0x53, 0x52, 0x33,
+ 0x72, 0x52, 0x31, 0x37, 0x63, 0x6d, 0x53, 0x6c,
+ 0x33, 0x48, 0x36, 0x59, 0x73, 0x35, 0x59, 0x37,
+ 0x44, 0x62, 0x32, 0x33, 0x33, 0x37, 0x43, 0x2b,
+ 0x72, 0x63, 0x4d, 0x59, 0x34, 0x77, 0x6b, 0x64,
+ 0x79, 0x58, 0x56, 0x4b, 0x6a, 0x39, 0x63, 0x52,
+ 0x41, 0x0a, 0x6e, 0x72, 0x71, 0x43, 0x77, 0x54,
+ 0x4d, 0x35, 0x41, 0x67, 0x4d, 0x42, 0x41, 0x41,
+ 0x45, 0x43, 0x67, 0x67, 0x45, 0x41, 0x46, 0x4f,
+ 0x44, 0x2b, 0x58, 0x46, 0x4a, 0x5a, 0x65, 0x44,
+ 0x44, 0x78, 0x47, 0x6d, 0x72, 0x4c, 0x42, 0x48,
+ 0x73, 0x52, 0x4b, 0x52, 0x6c, 0x4d, 0x70, 0x56,
+ 0x4d, 0x45, 0x66, 0x51, 0x61, 0x6e, 0x38, 0x33,
+ 0x54, 0x55, 0x34, 0x7a, 0x52, 0x74, 0x5a, 0x74,
+ 0x52, 0x37, 0x0a, 0x4d, 0x73, 0x44, 0x76, 0x49,
+ 0x72, 0x74, 0x31, 0x64, 0x72, 0x59, 0x51, 0x44,
+ 0x46, 0x4b, 0x4c, 0x62, 0x49, 0x6e, 0x44, 0x52,
+ 0x7a, 0x62, 0x64, 0x76, 0x34, 0x4d, 0x32, 0x66,
+ 0x46, 0x46, 0x38, 0x2b, 0x32, 0x7a, 0x45, 0x72,
+ 0x6d, 0x4c, 0x4f, 0x5a, 0x2f, 0x4a, 0x72, 0x78,
+ 0x79, 0x52, 0x6a, 0x33, 0x4d, 0x66, 0x42, 0x47,
+ 0x4e, 0x50, 0x33, 0x42, 0x4c, 0x47, 0x45, 0x63,
+ 0x61, 0x79, 0x34, 0x0a, 0x65, 0x37, 0x58, 0x59,
+ 0x44, 0x78, 0x47, 0x42, 0x59, 0x4e, 0x32, 0x57,
+ 0x52, 0x67, 0x4b, 0x37, 0x2b, 0x6b, 0x39, 0x70,
+ 0x48, 0x45, 0x6f, 0x2f, 0x71, 0x47, 0x76, 0x52,
+ 0x32, 0x65, 0x4f, 0x43, 0x2f, 0x77, 0x38, 0x69,
+ 0x76, 0x69, 0x72, 0x51, 0x71, 0x31, 0x6a, 0x4b,
+ 0x47, 0x66, 0x52, 0x79, 0x7a, 0x4b, 0x4c, 0x4d,
+ 0x6c, 0x4a, 0x36, 0x64, 0x38, 0x51, 0x6b, 0x37,
+ 0x4f, 0x79, 0x78, 0x5a, 0x0a, 0x6e, 0x30, 0x75,
+ 0x33, 0x76, 0x32, 0x45, 0x4a, 0x39, 0x43, 0x57,
+ 0x6f, 0x4e, 0x44, 0x67, 0x55, 0x48, 0x34, 0x65,
+ 0x78, 0x43, 0x69, 0x6c, 0x2f, 0x4f, 0x65, 0x34,
+ 0x68, 0x35, 0x57, 0x41, 0x35, 0x39, 0x78, 0x54,
+ 0x35, 0x4e, 0x41, 0x6b, 0x78, 0x34, 0x52, 0x55,
+ 0x6f, 0x6a, 0x73, 0x4a, 0x69, 0x45, 0x78, 0x57,
+ 0x5a, 0x70, 0x7a, 0x54, 0x2f, 0x56, 0x58, 0x31,
+ 0x64, 0x32, 0x31, 0x6d, 0x4e, 0x0a, 0x57, 0x4d,
+ 0x62, 0x35, 0x45, 0x4f, 0x38, 0x65, 0x79, 0x69,
+ 0x36, 0x46, 0x79, 0x5a, 0x6c, 0x41, 0x63, 0x62,
+ 0x39, 0x4d, 0x49, 0x44, 0x30, 0x6b, 0x4d, 0x46,
+ 0x36, 0x51, 0x33, 0x68, 0x55, 0x76, 0x2b, 0x6a,
+ 0x54, 0x77, 0x2b, 0x58, 0x39, 0x79, 0x69, 0x67,
+ 0x2b, 0x33, 0x42, 0x39, 0x62, 0x67, 0x32, 0x5a,
+ 0x30, 0x49, 0x2b, 0x49, 0x4b, 0x48, 0x6c, 0x39,
+ 0x49, 0x6e, 0x53, 0x68, 0x6b, 0x43, 0x0a, 0x6e,
+ 0x64, 0x59, 0x6e, 0x34, 0x61, 0x64, 0x30, 0x7a,
+ 0x64, 0x2f, 0x67, 0x67, 0x4d, 0x56, 0x6b, 0x6c,
+ 0x6f, 0x6f, 0x6d, 0x68, 0x34, 0x75, 0x61, 0x53,
+ 0x71, 0x5a, 0x78, 0x55, 0x69, 0x33, 0x79, 0x77,
+ 0x74, 0x73, 0x7a, 0x5a, 0x6b, 0x52, 0x62, 0x7a,
+ 0x51, 0x4b, 0x42, 0x67, 0x51, 0x44, 0x37, 0x50,
+ 0x76, 0x78, 0x31, 0x45, 0x72, 0x4b, 0x6d, 0x35,
+ 0x6c, 0x5a, 0x44, 0x41, 0x53, 0x32, 0x62, 0x0a,
+ 0x62, 0x34, 0x72, 0x6c, 0x74, 0x7a, 0x71, 0x4a,
+ 0x52, 0x55, 0x45, 0x4b, 0x79, 0x45, 0x71, 0x6a,
+ 0x71, 0x7a, 0x50, 0x7a, 0x67, 0x61, 0x73, 0x4f,
+ 0x61, 0x30, 0x6a, 0x57, 0x45, 0x71, 0x2f, 0x66,
+ 0x78, 0x75, 0x47, 0x63, 0x2f, 0x62, 0x69, 0x78,
+ 0x67, 0x2f, 0x45, 0x42, 0x61, 0x51, 0x38, 0x79,
+ 0x79, 0x54, 0x47, 0x59, 0x64, 0x49, 0x59, 0x79,
+ 0x72, 0x37, 0x44, 0x4b, 0x59, 0x59, 0x6a, 0x43,
+ 0x0a, 0x30, 0x41, 0x47, 0x56, 0x6e, 0x42, 0x43,
+ 0x68, 0x30, 0x2b, 0x54, 0x46, 0x55, 0x44, 0x42,
+ 0x31, 0x6b, 0x66, 0x77, 0x6b, 0x62, 0x65, 0x66,
+ 0x32, 0x62, 0x38, 0x79, 0x75, 0x66, 0x51, 0x2f,
+ 0x76, 0x4a, 0x77, 0x63, 0x4f, 0x4a, 0x2b, 0x35,
+ 0x6b, 0x42, 0x58, 0x51, 0x5a, 0x78, 0x38, 0x2b,
+ 0x4c, 0x38, 0x55, 0x39, 0x69, 0x57, 0x4b, 0x41,
+ 0x4e, 0x58, 0x78, 0x6b, 0x45, 0x65, 0x43, 0x58,
+ 0x32, 0x0a, 0x69, 0x57, 0x50, 0x5a, 0x50, 0x7a,
+ 0x35, 0x32, 0x70, 0x54, 0x54, 0x59, 0x6c, 0x66,
+ 0x39, 0x30, 0x50, 0x4c, 0x7a, 0x45, 0x57, 0x36,
+ 0x51, 0x79, 0x44, 0x77, 0x4b, 0x42, 0x67, 0x51,
+ 0x43, 0x35, 0x43, 0x4b, 0x79, 0x66, 0x55, 0x77,
+ 0x78, 0x33, 0x42, 0x61, 0x32, 0x69, 0x58, 0x74,
+ 0x66, 0x49, 0x72, 0x65, 0x79, 0x50, 0x71, 0x44,
+ 0x6f, 0x62, 0x62, 0x79, 0x62, 0x79, 0x54, 0x45,
+ 0x59, 0x6b, 0x0a, 0x61, 0x79, 0x41, 0x32, 0x6f,
+ 0x45, 0x6c, 0x53, 0x64, 0x65, 0x6a, 0x67, 0x56,
+ 0x6b, 0x57, 0x77, 0x4a, 0x2b, 0x71, 0x37, 0x37,
+ 0x67, 0x77, 0x72, 0x6e, 0x46, 0x35, 0x50, 0x65,
+ 0x39, 0x7a, 0x62, 0x70, 0x55, 0x42, 0x6f, 0x63,
+ 0x37, 0x56, 0x4a, 0x6a, 0x72, 0x52, 0x68, 0x55,
+ 0x6f, 0x6a, 0x49, 0x37, 0x4c, 0x4f, 0x79, 0x53,
+ 0x79, 0x74, 0x6f, 0x33, 0x57, 0x59, 0x59, 0x6f,
+ 0x63, 0x7a, 0x58, 0x0a, 0x4c, 0x70, 0x72, 0x7a,
+ 0x50, 0x6e, 0x6a, 0x32, 0x79, 0x45, 0x56, 0x65,
+ 0x56, 0x32, 0x6c, 0x72, 0x54, 0x53, 0x36, 0x6c,
+ 0x4b, 0x4e, 0x70, 0x64, 0x72, 0x61, 0x4f, 0x38,
+ 0x51, 0x5a, 0x63, 0x53, 0x44, 0x37, 0x6d, 0x55,
+ 0x55, 0x6d, 0x69, 0x4e, 0x52, 0x5a, 0x6e, 0x6f,
+ 0x50, 0x4b, 0x31, 0x36, 0x4d, 0x6d, 0x39, 0x71,
+ 0x6a, 0x6b, 0x6b, 0x32, 0x39, 0x48, 0x6e, 0x59,
+ 0x37, 0x4d, 0x73, 0x71, 0x0a, 0x70, 0x6b, 0x69,
+ 0x4f, 0x67, 0x34, 0x68, 0x75, 0x4e, 0x77, 0x4b,
+ 0x42, 0x67, 0x51, 0x43, 0x6b, 0x68, 0x32, 0x48,
+ 0x42, 0x74, 0x4f, 0x58, 0x6a, 0x48, 0x2f, 0x47,
+ 0x62, 0x58, 0x56, 0x6b, 0x6c, 0x63, 0x63, 0x30,
+ 0x4f, 0x6b, 0x34, 0x65, 0x30, 0x76, 0x76, 0x4a,
+ 0x53, 0x41, 0x6b, 0x6e, 0x47, 0x6c, 0x6d, 0x57,
+ 0x6c, 0x37, 0x2b, 0x4d, 0x35, 0x78, 0x51, 0x33,
+ 0x6b, 0x69, 0x6b, 0x59, 0x38, 0x0a, 0x44, 0x37,
+ 0x78, 0x4e, 0x46, 0x32, 0x58, 0x73, 0x63, 0x59,
+ 0x2f, 0x51, 0x73, 0x61, 0x44, 0x76, 0x54, 0x41,
+ 0x75, 0x37, 0x58, 0x34, 0x74, 0x47, 0x42, 0x41,
+ 0x47, 0x4d, 0x39, 0x6f, 0x51, 0x64, 0x74, 0x79,
+ 0x4e, 0x69, 0x65, 0x74, 0x6e, 0x31, 0x62, 0x35,
+ 0x4a, 0x66, 0x6d, 0x42, 0x79, 0x7a, 0x30, 0x55,
+ 0x37, 0x42, 0x2b, 0x47, 0x73, 0x76, 0x32, 0x5a,
+ 0x53, 0x37, 0x4b, 0x31, 0x44, 0x55, 0x0a, 0x39,
+ 0x73, 0x54, 0x4c, 0x41, 0x32, 0x45, 0x38, 0x68,
+ 0x4d, 0x6d, 0x37, 0x33, 0x44, 0x70, 0x51, 0x31,
+ 0x55, 0x78, 0x38, 0x42, 0x62, 0x65, 0x43, 0x4b,
+ 0x69, 0x56, 0x79, 0x35, 0x4d, 0x39, 0x50, 0x66,
+ 0x44, 0x63, 0x7a, 0x33, 0x42, 0x4f, 0x6d, 0x6c,
+ 0x4a, 0x64, 0x66, 0x77, 0x68, 0x4b, 0x51, 0x5a,
+ 0x76, 0x6e, 0x69, 0x79, 0x48, 0x52, 0x6c, 0x42,
+ 0x77, 0x4b, 0x42, 0x67, 0x51, 0x43, 0x48, 0x0a,
+ 0x2f, 0x73, 0x41, 0x68, 0x4f, 0x63, 0x44, 0x6e,
+ 0x6d, 0x64, 0x7a, 0x4d, 0x67, 0x6a, 0x6a, 0x47,
+ 0x33, 0x6b, 0x34, 0x49, 0x4a, 0x2f, 0x54, 0x4e,
+ 0x52, 0x52, 0x79, 0x79, 0x36, 0x53, 0x79, 0x45,
+ 0x68, 0x39, 0x66, 0x64, 0x54, 0x6d, 0x47, 0x56,
+ 0x6f, 0x65, 0x50, 0x50, 0x50, 0x70, 0x6c, 0x70,
+ 0x70, 0x32, 0x7a, 0x33, 0x51, 0x7a, 0x62, 0x65,
+ 0x74, 0x73, 0x62, 0x36, 0x56, 0x47, 0x63, 0x33,
+ 0x0a, 0x61, 0x48, 0x57, 0x32, 0x54, 0x35, 0x54,
+ 0x6d, 0x77, 0x32, 0x51, 0x41, 0x51, 0x39, 0x45,
+ 0x56, 0x48, 0x43, 0x50, 0x57, 0x33, 0x7a, 0x6a,
+ 0x41, 0x6b, 0x6a, 0x6a, 0x2f, 0x30, 0x61, 0x76,
+ 0x6b, 0x57, 0x2f, 0x53, 0x32, 0x34, 0x79, 0x75,
+ 0x30, 0x39, 0x65, 0x31, 0x47, 0x4d, 0x61, 0x6a,
+ 0x68, 0x6e, 0x4a, 0x43, 0x30, 0x41, 0x78, 0x71,
+ 0x37, 0x7a, 0x32, 0x75, 0x51, 0x61, 0x67, 0x54,
+ 0x47, 0x0a, 0x32, 0x5a, 0x66, 0x6b, 0x55, 0x38,
+ 0x31, 0x55, 0x52, 0x39, 0x75, 0x65, 0x76, 0x54,
+ 0x6f, 0x6a, 0x6e, 0x66, 0x34, 0x56, 0x71, 0x77,
+ 0x35, 0x55, 0x76, 0x63, 0x72, 0x77, 0x6a, 0x4e,
+ 0x6d, 0x6d, 0x4e, 0x79, 0x45, 0x4d, 0x33, 0x63,
+ 0x2f, 0x67, 0x63, 0x51, 0x4b, 0x42, 0x67, 0x48,
+ 0x61, 0x32, 0x64, 0x54, 0x35, 0x73, 0x76, 0x7a,
+ 0x4d, 0x31, 0x6a, 0x52, 0x65, 0x69, 0x4f, 0x33,
+ 0x56, 0x74, 0x0a, 0x64, 0x41, 0x55, 0x44, 0x7a,
+ 0x74, 0x47, 0x4b, 0x55, 0x45, 0x33, 0x63, 0x6c,
+ 0x50, 0x56, 0x33, 0x35, 0x4c, 0x32, 0x78, 0x6d,
+ 0x4a, 0x65, 0x4a, 0x44, 0x58, 0x50, 0x4f, 0x71,
+ 0x43, 0x4c, 0x33, 0x71, 0x6f, 0x5a, 0x39, 0x41,
+ 0x36, 0x68, 0x48, 0x6d, 0x44, 0x77, 0x36, 0x67,
+ 0x6d, 0x67, 0x38, 0x32, 0x67, 0x51, 0x44, 0x51,
+ 0x65, 0x4a, 0x62, 0x4c, 0x2f, 0x2b, 0x6a, 0x4b,
+ 0x6b, 0x6f, 0x6e, 0x0a, 0x65, 0x36, 0x61, 0x74,
+ 0x48, 0x2f, 0x44, 0x66, 0x72, 0x2b, 0x4d, 0x34,
+ 0x6e, 0x50, 0x66, 0x74, 0x39, 0x4c, 0x74, 0x34,
+ 0x66, 0x4f, 0x41, 0x57, 0x4f, 0x51, 0x33, 0x74,
+ 0x44, 0x73, 0x44, 0x75, 0x43, 0x6b, 0x4f, 0x4d,
+ 0x6a, 0x53, 0x54, 0x6e, 0x38, 0x63, 0x4c, 0x4d,
+ 0x5a, 0x4c, 0x47, 0x63, 0x77, 0x54, 0x32, 0x48,
+ 0x31, 0x48, 0x32, 0x76, 0x42, 0x6f, 0x63, 0x4d,
+ 0x2b, 0x55, 0x54, 0x64, 0x0a, 0x68, 0x6c, 0x6a,
+ 0x41, 0x56, 0x6e, 0x42, 0x39, 0x76, 0x36, 0x4e,
+ 0x4d, 0x66, 0x63, 0x52, 0x45, 0x52, 0x54, 0x78,
+ 0x31, 0x30, 0x53, 0x55, 0x63, 0x0a, 0x2d, 0x2d,
+ 0x2d, 0x2d, 0x2d, 0x45, 0x4e, 0x44, 0x20, 0x50,
+ 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x20, 0x4b,
+ 0x45, 0x59, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x0a
};
#endif
diff --git a/crypto/openssl/fuzz/server.c b/crypto/openssl/fuzz/server.c
index ea3392f0d57..550e07d893a 100644
--- a/crypto/openssl/fuzz/server.c
+++ b/crypto/openssl/fuzz/server.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -26,1974 +26,257 @@
#include "fuzzer.h"
static const uint8_t kCertificateDER[] = {
- 0x30,
- 0x82,
- 0x02,
- 0xff,
- 0x30,
- 0x82,
- 0x01,
- 0xe7,
- 0xa0,
- 0x03,
- 0x02,
- 0x01,
- 0x02,
- 0x02,
- 0x11,
- 0x00,
- 0xb1,
- 0x84,
- 0xee,
- 0x34,
- 0x99,
- 0x98,
- 0x76,
- 0xfb,
- 0x6f,
- 0xb2,
- 0x15,
- 0xc8,
- 0x47,
- 0x79,
- 0x05,
- 0x9b,
- 0x30,
- 0x0d,
- 0x06,
- 0x09,
- 0x2a,
- 0x86,
- 0x48,
- 0x86,
- 0xf7,
- 0x0d,
- 0x01,
- 0x01,
- 0x0b,
- 0x05,
- 0x00,
- 0x30,
- 0x12,
- 0x31,
- 0x10,
- 0x30,
- 0x0e,
- 0x06,
- 0x03,
- 0x55,
- 0x04,
- 0x0a,
- 0x13,
- 0x07,
- 0x41,
- 0x63,
- 0x6d,
- 0x65,
- 0x20,
- 0x43,
- 0x6f,
- 0x30,
- 0x1e,
- 0x17,
- 0x0d,
- 0x31,
- 0x35,
- 0x31,
- 0x31,
- 0x30,
- 0x37,
- 0x30,
- 0x30,
- 0x32,
- 0x34,
- 0x35,
- 0x36,
- 0x5a,
- 0x17,
- 0x0d,
- 0x31,
- 0x36,
- 0x31,
- 0x31,
- 0x30,
- 0x36,
- 0x30,
- 0x30,
- 0x32,
- 0x34,
- 0x35,
- 0x36,
- 0x5a,
- 0x30,
- 0x12,
- 0x31,
- 0x10,
- 0x30,
- 0x0e,
- 0x06,
- 0x03,
- 0x55,
- 0x04,
- 0x0a,
- 0x13,
- 0x07,
- 0x41,
- 0x63,
- 0x6d,
- 0x65,
- 0x20,
- 0x43,
- 0x6f,
- 0x30,
- 0x82,
- 0x01,
- 0x22,
- 0x30,
- 0x0d,
- 0x06,
- 0x09,
- 0x2a,
- 0x86,
- 0x48,
- 0x86,
- 0xf7,
- 0x0d,
- 0x01,
- 0x01,
- 0x01,
- 0x05,
- 0x00,
- 0x03,
- 0x82,
- 0x01,
- 0x0f,
- 0x00,
- 0x30,
- 0x82,
- 0x01,
- 0x0a,
- 0x02,
- 0x82,
- 0x01,
- 0x01,
- 0x00,
- 0xce,
- 0x47,
- 0xcb,
- 0x11,
- 0xbb,
- 0xd2,
- 0x9d,
- 0x8e,
- 0x9e,
- 0xd2,
- 0x1e,
- 0x14,
- 0xaf,
- 0xc7,
- 0xea,
- 0xb6,
- 0xc9,
- 0x38,
- 0x2a,
- 0x6f,
- 0xb3,
- 0x7e,
- 0xfb,
- 0xbc,
- 0xfc,
- 0x59,
- 0x42,
- 0xb9,
- 0x56,
- 0xf0,
- 0x4c,
- 0x3f,
- 0xf7,
- 0x31,
- 0x84,
- 0xbe,
- 0xac,
- 0x03,
- 0x9e,
- 0x71,
- 0x91,
- 0x85,
- 0xd8,
- 0x32,
- 0xbd,
- 0x00,
- 0xea,
- 0xac,
- 0x65,
- 0xf6,
- 0x03,
- 0xc8,
- 0x0f,
- 0x8b,
- 0xfd,
- 0x6e,
- 0x58,
- 0x88,
- 0x04,
- 0x41,
- 0x92,
- 0x74,
- 0xa6,
- 0x57,
- 0x2e,
- 0x8e,
- 0x88,
- 0xd5,
- 0x3d,
- 0xda,
- 0x14,
- 0x3e,
- 0x63,
- 0x88,
- 0x22,
- 0xe3,
- 0x53,
- 0xe9,
- 0xba,
- 0x39,
- 0x09,
- 0xac,
- 0xfb,
- 0xd0,
- 0x4c,
- 0xf2,
- 0x3c,
- 0x20,
- 0xd6,
- 0x97,
- 0xe6,
- 0xed,
- 0xf1,
- 0x62,
- 0x1e,
- 0xe5,
- 0xc9,
- 0x48,
- 0xa0,
- 0xca,
- 0x2e,
- 0x3c,
- 0x14,
- 0x5a,
- 0x82,
- 0xd4,
- 0xed,
- 0xb1,
- 0xe3,
- 0x43,
- 0xc1,
- 0x2a,
- 0x59,
- 0xa5,
- 0xb9,
- 0xc8,
- 0x48,
- 0xa7,
- 0x39,
- 0x23,
- 0x74,
- 0xa7,
- 0x37,
- 0xb0,
- 0x6f,
- 0xc3,
- 0x64,
- 0x99,
- 0x6c,
- 0xa2,
- 0x82,
- 0xc8,
- 0xf6,
- 0xdb,
- 0x86,
- 0x40,
- 0xce,
- 0xd1,
- 0x85,
- 0x9f,
- 0xce,
- 0x69,
- 0xf4,
- 0x15,
- 0x2a,
- 0x23,
- 0xca,
- 0xea,
- 0xb7,
- 0x7b,
- 0xdf,
- 0xfb,
- 0x43,
- 0x5f,
- 0xff,
- 0x7a,
- 0x49,
- 0x49,
- 0x0e,
- 0xe7,
- 0x02,
- 0x51,
- 0x45,
- 0x13,
- 0xe8,
- 0x90,
- 0x64,
- 0x21,
- 0x0c,
- 0x26,
- 0x2b,
- 0x5d,
- 0xfc,
- 0xe4,
- 0xb5,
- 0x86,
- 0x89,
- 0x43,
- 0x22,
- 0x4c,
- 0xf3,
- 0x3b,
- 0xf3,
- 0x09,
- 0xc4,
- 0xa4,
- 0x10,
- 0x80,
- 0xf2,
- 0x46,
- 0xe2,
- 0x46,
- 0x8f,
- 0x76,
- 0x50,
- 0xbf,
- 0xaf,
- 0x2b,
- 0x90,
- 0x1b,
- 0x78,
- 0xc7,
- 0xcf,
- 0xc1,
- 0x77,
- 0xd0,
- 0xfb,
- 0xa9,
- 0xfb,
- 0xc9,
- 0x66,
- 0x5a,
- 0xc5,
- 0x9b,
- 0x31,
- 0x41,
- 0x67,
- 0x01,
- 0xbe,
- 0x33,
- 0x10,
- 0xba,
- 0x05,
- 0x58,
- 0xed,
- 0x76,
- 0x53,
- 0xde,
- 0x5d,
- 0xc1,
- 0xe8,
- 0xbb,
- 0x9f,
- 0xf1,
- 0xcd,
- 0xfb,
- 0xdf,
- 0x64,
- 0x7f,
- 0xd7,
- 0x18,
- 0xab,
- 0x0f,
- 0x94,
- 0x28,
- 0x95,
- 0x4a,
- 0xcc,
- 0x6a,
- 0xa9,
- 0x50,
- 0xc7,
- 0x05,
- 0x47,
- 0x10,
- 0x41,
- 0x02,
- 0x03,
- 0x01,
- 0x00,
- 0x01,
- 0xa3,
- 0x50,
- 0x30,
- 0x4e,
- 0x30,
- 0x0e,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x0f,
- 0x01,
- 0x01,
- 0xff,
- 0x04,
- 0x04,
- 0x03,
- 0x02,
- 0x05,
- 0xa0,
- 0x30,
- 0x13,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x25,
- 0x04,
- 0x0c,
- 0x30,
- 0x0a,
- 0x06,
- 0x08,
- 0x2b,
- 0x06,
- 0x01,
- 0x05,
- 0x05,
- 0x07,
- 0x03,
- 0x01,
- 0x30,
- 0x0c,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x13,
- 0x01,
- 0x01,
- 0xff,
- 0x04,
- 0x02,
- 0x30,
- 0x00,
- 0x30,
- 0x19,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x11,
- 0x04,
- 0x12,
- 0x30,
- 0x10,
- 0x82,
- 0x0e,
- 0x66,
- 0x75,
- 0x7a,
- 0x7a,
- 0x2e,
- 0x62,
- 0x6f,
- 0x72,
- 0x69,
- 0x6e,
- 0x67,
- 0x73,
- 0x73,
- 0x6c,
- 0x30,
- 0x0d,
- 0x06,
- 0x09,
- 0x2a,
- 0x86,
- 0x48,
- 0x86,
- 0xf7,
- 0x0d,
- 0x01,
- 0x01,
- 0x0b,
- 0x05,
- 0x00,
- 0x03,
- 0x82,
- 0x01,
- 0x01,
- 0x00,
- 0x92,
- 0xde,
- 0xef,
- 0x96,
- 0x06,
- 0x7b,
- 0xff,
- 0x71,
- 0x7d,
- 0x4e,
- 0xa0,
- 0x7d,
- 0xae,
- 0xb8,
- 0x22,
- 0xb4,
- 0x2c,
- 0xf7,
- 0x96,
- 0x9c,
- 0x37,
- 0x1d,
- 0x8f,
- 0xe7,
- 0xd9,
- 0x47,
- 0xff,
- 0x3f,
- 0xe9,
- 0x35,
- 0x95,
- 0x0e,
- 0xdd,
- 0xdc,
- 0x7f,
- 0xc8,
- 0x8a,
- 0x1e,
- 0x36,
- 0x1d,
- 0x38,
- 0x47,
- 0xfc,
- 0x76,
- 0xd2,
- 0x1f,
- 0x98,
- 0xa1,
- 0x36,
- 0xac,
- 0xc8,
- 0x70,
- 0x38,
- 0x0a,
- 0x3d,
- 0x51,
- 0x8d,
- 0x0f,
- 0x03,
- 0x1b,
- 0xef,
- 0x62,
- 0xa1,
- 0xcb,
- 0x2b,
- 0x4a,
- 0x8c,
- 0x12,
- 0x2b,
- 0x54,
- 0x50,
- 0x9a,
- 0x6b,
- 0xfe,
- 0xaf,
- 0xd9,
- 0xf6,
- 0xbf,
- 0x58,
- 0x11,
- 0x58,
- 0x5e,
- 0xe5,
- 0x86,
- 0x1e,
- 0x3b,
- 0x6b,
- 0x30,
- 0x7e,
- 0x72,
- 0x89,
- 0xe8,
- 0x6b,
- 0x7b,
- 0xb7,
- 0xaf,
- 0xef,
- 0x8b,
- 0xa9,
- 0x3e,
- 0xb0,
- 0xcd,
- 0x0b,
- 0xef,
- 0xb0,
- 0x0c,
- 0x96,
- 0x2b,
- 0xc5,
- 0x3b,
- 0xd5,
- 0xf1,
- 0xc2,
- 0xae,
- 0x3a,
- 0x60,
- 0xd9,
- 0x0f,
- 0x75,
- 0x37,
- 0x55,
- 0x4d,
- 0x62,
- 0xd2,
- 0xed,
- 0x96,
- 0xac,
- 0x30,
- 0x6b,
- 0xda,
- 0xa1,
- 0x48,
- 0x17,
- 0x96,
- 0x23,
- 0x85,
- 0x9a,
- 0x57,
- 0x77,
- 0xe9,
- 0x22,
- 0xa2,
- 0x37,
- 0x03,
- 0xba,
- 0x49,
- 0x77,
- 0x40,
- 0x3b,
- 0x76,
- 0x4b,
- 0xda,
- 0xc1,
- 0x04,
- 0x57,
- 0x55,
- 0x34,
- 0x22,
- 0x83,
- 0x45,
- 0x29,
- 0xab,
- 0x2e,
- 0x11,
- 0xff,
- 0x0d,
- 0xab,
- 0x55,
- 0xb1,
- 0xa7,
- 0x58,
- 0x59,
- 0x05,
- 0x25,
- 0xf9,
- 0x1e,
- 0x3d,
- 0xb7,
- 0xac,
- 0x04,
- 0x39,
- 0x2c,
- 0xf9,
- 0xaf,
- 0xb8,
- 0x68,
- 0xfb,
- 0x8e,
- 0x35,
- 0x71,
- 0x32,
- 0xff,
- 0x70,
- 0xe9,
- 0x46,
- 0x6d,
- 0x5c,
- 0x06,
- 0x90,
- 0x88,
- 0x23,
- 0x48,
- 0x0c,
- 0x50,
- 0xeb,
- 0x0a,
- 0xa9,
- 0xae,
- 0xe8,
- 0xfc,
- 0xbe,
- 0xa5,
- 0x76,
- 0x94,
- 0xd7,
- 0x64,
- 0x22,
- 0x38,
- 0x98,
- 0x17,
- 0xa4,
- 0x3a,
- 0xa7,
- 0x59,
- 0x9f,
- 0x1d,
- 0x3b,
- 0x75,
- 0x90,
- 0x1a,
- 0x81,
- 0xef,
- 0x19,
- 0xfb,
- 0x2b,
- 0xb7,
- 0xa7,
- 0x64,
- 0x61,
- 0x22,
- 0xa4,
- 0x6f,
- 0x7b,
- 0xfa,
- 0x58,
- 0xbb,
- 0x8c,
- 0x4e,
- 0x77,
- 0x67,
- 0xd0,
- 0x5d,
- 0x58,
- 0x76,
- 0x8a,
- 0xbb,
+ 0x30, 0x82, 0x02, 0xff, 0x30, 0x82, 0x01, 0xe7,
+ 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x11, 0x00,
+ 0xb1, 0x84, 0xee, 0x34, 0x99, 0x98, 0x76, 0xfb,
+ 0x6f, 0xb2, 0x15, 0xc8, 0x47, 0x79, 0x05, 0x9b,
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
+ 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30,
+ 0x12, 0x31, 0x10, 0x30, 0x0e, 0x06, 0x03, 0x55,
+ 0x04, 0x0a, 0x13, 0x07, 0x41, 0x63, 0x6d, 0x65,
+ 0x20, 0x43, 0x6f, 0x30, 0x1e, 0x17, 0x0d, 0x31,
+ 0x35, 0x31, 0x31, 0x30, 0x37, 0x30, 0x30, 0x32,
+ 0x34, 0x35, 0x36, 0x5a, 0x17, 0x0d, 0x31, 0x36,
+ 0x31, 0x31, 0x30, 0x36, 0x30, 0x30, 0x32, 0x34,
+ 0x35, 0x36, 0x5a, 0x30, 0x12, 0x31, 0x10, 0x30,
+ 0x0e, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x07,
+ 0x41, 0x63, 0x6d, 0x65, 0x20, 0x43, 0x6f, 0x30,
+ 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a,
+ 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
+ 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30,
+ 0x82, 0x01, 0x0a, 0x02, 0x82, 0x01, 0x01, 0x00,
+ 0xce, 0x47, 0xcb, 0x11, 0xbb, 0xd2, 0x9d, 0x8e,
+ 0x9e, 0xd2, 0x1e, 0x14, 0xaf, 0xc7, 0xea, 0xb6,
+ 0xc9, 0x38, 0x2a, 0x6f, 0xb3, 0x7e, 0xfb, 0xbc,
+ 0xfc, 0x59, 0x42, 0xb9, 0x56, 0xf0, 0x4c, 0x3f,
+ 0xf7, 0x31, 0x84, 0xbe, 0xac, 0x03, 0x9e, 0x71,
+ 0x91, 0x85, 0xd8, 0x32, 0xbd, 0x00, 0xea, 0xac,
+ 0x65, 0xf6, 0x03, 0xc8, 0x0f, 0x8b, 0xfd, 0x6e,
+ 0x58, 0x88, 0x04, 0x41, 0x92, 0x74, 0xa6, 0x57,
+ 0x2e, 0x8e, 0x88, 0xd5, 0x3d, 0xda, 0x14, 0x3e,
+ 0x63, 0x88, 0x22, 0xe3, 0x53, 0xe9, 0xba, 0x39,
+ 0x09, 0xac, 0xfb, 0xd0, 0x4c, 0xf2, 0x3c, 0x20,
+ 0xd6, 0x97, 0xe6, 0xed, 0xf1, 0x62, 0x1e, 0xe5,
+ 0xc9, 0x48, 0xa0, 0xca, 0x2e, 0x3c, 0x14, 0x5a,
+ 0x82, 0xd4, 0xed, 0xb1, 0xe3, 0x43, 0xc1, 0x2a,
+ 0x59, 0xa5, 0xb9, 0xc8, 0x48, 0xa7, 0x39, 0x23,
+ 0x74, 0xa7, 0x37, 0xb0, 0x6f, 0xc3, 0x64, 0x99,
+ 0x6c, 0xa2, 0x82, 0xc8, 0xf6, 0xdb, 0x86, 0x40,
+ 0xce, 0xd1, 0x85, 0x9f, 0xce, 0x69, 0xf4, 0x15,
+ 0x2a, 0x23, 0xca, 0xea, 0xb7, 0x7b, 0xdf, 0xfb,
+ 0x43, 0x5f, 0xff, 0x7a, 0x49, 0x49, 0x0e, 0xe7,
+ 0x02, 0x51, 0x45, 0x13, 0xe8, 0x90, 0x64, 0x21,
+ 0x0c, 0x26, 0x2b, 0x5d, 0xfc, 0xe4, 0xb5, 0x86,
+ 0x89, 0x43, 0x22, 0x4c, 0xf3, 0x3b, 0xf3, 0x09,
+ 0xc4, 0xa4, 0x10, 0x80, 0xf2, 0x46, 0xe2, 0x46,
+ 0x8f, 0x76, 0x50, 0xbf, 0xaf, 0x2b, 0x90, 0x1b,
+ 0x78, 0xc7, 0xcf, 0xc1, 0x77, 0xd0, 0xfb, 0xa9,
+ 0xfb, 0xc9, 0x66, 0x5a, 0xc5, 0x9b, 0x31, 0x41,
+ 0x67, 0x01, 0xbe, 0x33, 0x10, 0xba, 0x05, 0x58,
+ 0xed, 0x76, 0x53, 0xde, 0x5d, 0xc1, 0xe8, 0xbb,
+ 0x9f, 0xf1, 0xcd, 0xfb, 0xdf, 0x64, 0x7f, 0xd7,
+ 0x18, 0xab, 0x0f, 0x94, 0x28, 0x95, 0x4a, 0xcc,
+ 0x6a, 0xa9, 0x50, 0xc7, 0x05, 0x47, 0x10, 0x41,
+ 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3, 0x50, 0x30,
+ 0x4e, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f,
+ 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x05,
+ 0xa0, 0x30, 0x13, 0x06, 0x03, 0x55, 0x1d, 0x25,
+ 0x04, 0x0c, 0x30, 0x0a, 0x06, 0x08, 0x2b, 0x06,
+ 0x01, 0x05, 0x05, 0x07, 0x03, 0x01, 0x30, 0x0c,
+ 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff,
+ 0x04, 0x02, 0x30, 0x00, 0x30, 0x19, 0x06, 0x03,
+ 0x55, 0x1d, 0x11, 0x04, 0x12, 0x30, 0x10, 0x82,
+ 0x0e, 0x66, 0x75, 0x7a, 0x7a, 0x2e, 0x62, 0x6f,
+ 0x72, 0x69, 0x6e, 0x67, 0x73, 0x73, 0x6c, 0x30,
+ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
+ 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x82,
+ 0x01, 0x01, 0x00, 0x92, 0xde, 0xef, 0x96, 0x06,
+ 0x7b, 0xff, 0x71, 0x7d, 0x4e, 0xa0, 0x7d, 0xae,
+ 0xb8, 0x22, 0xb4, 0x2c, 0xf7, 0x96, 0x9c, 0x37,
+ 0x1d, 0x8f, 0xe7, 0xd9, 0x47, 0xff, 0x3f, 0xe9,
+ 0x35, 0x95, 0x0e, 0xdd, 0xdc, 0x7f, 0xc8, 0x8a,
+ 0x1e, 0x36, 0x1d, 0x38, 0x47, 0xfc, 0x76, 0xd2,
+ 0x1f, 0x98, 0xa1, 0x36, 0xac, 0xc8, 0x70, 0x38,
+ 0x0a, 0x3d, 0x51, 0x8d, 0x0f, 0x03, 0x1b, 0xef,
+ 0x62, 0xa1, 0xcb, 0x2b, 0x4a, 0x8c, 0x12, 0x2b,
+ 0x54, 0x50, 0x9a, 0x6b, 0xfe, 0xaf, 0xd9, 0xf6,
+ 0xbf, 0x58, 0x11, 0x58, 0x5e, 0xe5, 0x86, 0x1e,
+ 0x3b, 0x6b, 0x30, 0x7e, 0x72, 0x89, 0xe8, 0x6b,
+ 0x7b, 0xb7, 0xaf, 0xef, 0x8b, 0xa9, 0x3e, 0xb0,
+ 0xcd, 0x0b, 0xef, 0xb0, 0x0c, 0x96, 0x2b, 0xc5,
+ 0x3b, 0xd5, 0xf1, 0xc2, 0xae, 0x3a, 0x60, 0xd9,
+ 0x0f, 0x75, 0x37, 0x55, 0x4d, 0x62, 0xd2, 0xed,
+ 0x96, 0xac, 0x30, 0x6b, 0xda, 0xa1, 0x48, 0x17,
+ 0x96, 0x23, 0x85, 0x9a, 0x57, 0x77, 0xe9, 0x22,
+ 0xa2, 0x37, 0x03, 0xba, 0x49, 0x77, 0x40, 0x3b,
+ 0x76, 0x4b, 0xda, 0xc1, 0x04, 0x57, 0x55, 0x34,
+ 0x22, 0x83, 0x45, 0x29, 0xab, 0x2e, 0x11, 0xff,
+ 0x0d, 0xab, 0x55, 0xb1, 0xa7, 0x58, 0x59, 0x05,
+ 0x25, 0xf9, 0x1e, 0x3d, 0xb7, 0xac, 0x04, 0x39,
+ 0x2c, 0xf9, 0xaf, 0xb8, 0x68, 0xfb, 0x8e, 0x35,
+ 0x71, 0x32, 0xff, 0x70, 0xe9, 0x46, 0x6d, 0x5c,
+ 0x06, 0x90, 0x88, 0x23, 0x48, 0x0c, 0x50, 0xeb,
+ 0x0a, 0xa9, 0xae, 0xe8, 0xfc, 0xbe, 0xa5, 0x76,
+ 0x94, 0xd7, 0x64, 0x22, 0x38, 0x98, 0x17, 0xa4,
+ 0x3a, 0xa7, 0x59, 0x9f, 0x1d, 0x3b, 0x75, 0x90,
+ 0x1a, 0x81, 0xef, 0x19, 0xfb, 0x2b, 0xb7, 0xa7,
+ 0x64, 0x61, 0x22, 0xa4, 0x6f, 0x7b, 0xfa, 0x58,
+ 0xbb, 0x8c, 0x4e, 0x77, 0x67, 0xd0, 0x5d, 0x58,
+ 0x76, 0x8a, 0xbb
};
#ifndef OPENSSL_NO_DEPRECATED_3_0
static const uint8_t kRSAPrivateKeyDER[] = {
- 0x30,
- 0x82,
- 0x04,
- 0xa5,
- 0x02,
- 0x01,
- 0x00,
- 0x02,
- 0x82,
- 0x01,
- 0x01,
- 0x00,
- 0xce,
- 0x47,
- 0xcb,
- 0x11,
- 0xbb,
- 0xd2,
- 0x9d,
- 0x8e,
- 0x9e,
- 0xd2,
- 0x1e,
- 0x14,
- 0xaf,
- 0xc7,
- 0xea,
- 0xb6,
- 0xc9,
- 0x38,
- 0x2a,
- 0x6f,
- 0xb3,
- 0x7e,
- 0xfb,
- 0xbc,
- 0xfc,
- 0x59,
- 0x42,
- 0xb9,
- 0x56,
- 0xf0,
- 0x4c,
- 0x3f,
- 0xf7,
- 0x31,
- 0x84,
- 0xbe,
- 0xac,
- 0x03,
- 0x9e,
- 0x71,
- 0x91,
- 0x85,
- 0xd8,
- 0x32,
- 0xbd,
- 0x00,
- 0xea,
- 0xac,
- 0x65,
- 0xf6,
- 0x03,
- 0xc8,
- 0x0f,
- 0x8b,
- 0xfd,
- 0x6e,
- 0x58,
- 0x88,
- 0x04,
- 0x41,
- 0x92,
- 0x74,
- 0xa6,
- 0x57,
- 0x2e,
- 0x8e,
- 0x88,
- 0xd5,
- 0x3d,
- 0xda,
- 0x14,
- 0x3e,
- 0x63,
- 0x88,
- 0x22,
- 0xe3,
- 0x53,
- 0xe9,
- 0xba,
- 0x39,
- 0x09,
- 0xac,
- 0xfb,
- 0xd0,
- 0x4c,
- 0xf2,
- 0x3c,
- 0x20,
- 0xd6,
- 0x97,
- 0xe6,
- 0xed,
- 0xf1,
- 0x62,
- 0x1e,
- 0xe5,
- 0xc9,
- 0x48,
- 0xa0,
- 0xca,
- 0x2e,
- 0x3c,
- 0x14,
- 0x5a,
- 0x82,
- 0xd4,
- 0xed,
- 0xb1,
- 0xe3,
- 0x43,
- 0xc1,
- 0x2a,
- 0x59,
- 0xa5,
- 0xb9,
- 0xc8,
- 0x48,
- 0xa7,
- 0x39,
- 0x23,
- 0x74,
- 0xa7,
- 0x37,
- 0xb0,
- 0x6f,
- 0xc3,
- 0x64,
- 0x99,
- 0x6c,
- 0xa2,
- 0x82,
- 0xc8,
- 0xf6,
- 0xdb,
- 0x86,
- 0x40,
- 0xce,
- 0xd1,
- 0x85,
- 0x9f,
- 0xce,
- 0x69,
- 0xf4,
- 0x15,
- 0x2a,
- 0x23,
- 0xca,
- 0xea,
- 0xb7,
- 0x7b,
- 0xdf,
- 0xfb,
- 0x43,
- 0x5f,
- 0xff,
- 0x7a,
- 0x49,
- 0x49,
- 0x0e,
- 0xe7,
- 0x02,
- 0x51,
- 0x45,
- 0x13,
- 0xe8,
- 0x90,
- 0x64,
- 0x21,
- 0x0c,
- 0x26,
- 0x2b,
- 0x5d,
- 0xfc,
- 0xe4,
- 0xb5,
- 0x86,
- 0x89,
- 0x43,
- 0x22,
- 0x4c,
- 0xf3,
- 0x3b,
- 0xf3,
- 0x09,
- 0xc4,
- 0xa4,
- 0x10,
- 0x80,
- 0xf2,
- 0x46,
- 0xe2,
- 0x46,
- 0x8f,
- 0x76,
- 0x50,
- 0xbf,
- 0xaf,
- 0x2b,
- 0x90,
- 0x1b,
- 0x78,
- 0xc7,
- 0xcf,
- 0xc1,
- 0x77,
- 0xd0,
- 0xfb,
- 0xa9,
- 0xfb,
- 0xc9,
- 0x66,
- 0x5a,
- 0xc5,
- 0x9b,
- 0x31,
- 0x41,
- 0x67,
- 0x01,
- 0xbe,
- 0x33,
- 0x10,
- 0xba,
- 0x05,
- 0x58,
- 0xed,
- 0x76,
- 0x53,
- 0xde,
- 0x5d,
- 0xc1,
- 0xe8,
- 0xbb,
- 0x9f,
- 0xf1,
- 0xcd,
- 0xfb,
- 0xdf,
- 0x64,
- 0x7f,
- 0xd7,
- 0x18,
- 0xab,
- 0x0f,
- 0x94,
- 0x28,
- 0x95,
- 0x4a,
- 0xcc,
- 0x6a,
- 0xa9,
- 0x50,
- 0xc7,
- 0x05,
- 0x47,
- 0x10,
- 0x41,
- 0x02,
- 0x03,
- 0x01,
- 0x00,
- 0x01,
- 0x02,
- 0x82,
- 0x01,
- 0x01,
- 0x00,
- 0xa8,
- 0x47,
- 0xb9,
- 0x4a,
- 0x06,
- 0x47,
- 0x93,
- 0x71,
- 0x3d,
- 0xef,
- 0x7b,
- 0xca,
- 0xb4,
- 0x7c,
- 0x0a,
- 0xe6,
- 0x82,
- 0xd0,
- 0xe7,
- 0x0d,
- 0xa9,
- 0x08,
- 0xf6,
- 0xa4,
- 0xfd,
- 0xd8,
- 0x73,
- 0xae,
- 0x6f,
- 0x56,
- 0x29,
- 0x5e,
- 0x25,
- 0x72,
- 0xa8,
- 0x30,
- 0x44,
- 0x73,
- 0xcf,
- 0x56,
- 0x26,
- 0xb9,
- 0x61,
- 0xde,
- 0x42,
- 0x81,
- 0xf4,
- 0xf0,
- 0x1f,
- 0x5d,
- 0xcb,
- 0x47,
- 0xf2,
- 0x26,
- 0xe9,
- 0xe0,
- 0x93,
- 0x28,
- 0xa3,
- 0x10,
- 0x3b,
- 0x42,
- 0x1e,
- 0x51,
- 0x11,
- 0x12,
- 0x06,
- 0x5e,
- 0xaf,
- 0xce,
- 0xb0,
- 0xa5,
- 0x14,
- 0xdd,
- 0x82,
- 0x58,
- 0xa1,
- 0xa4,
- 0x12,
- 0xdf,
- 0x65,
- 0x1d,
- 0x51,
- 0x70,
- 0x64,
- 0xd5,
- 0x58,
- 0x68,
- 0x11,
- 0xa8,
- 0x6a,
- 0x23,
- 0xc2,
- 0xbf,
- 0xa1,
- 0x25,
- 0x24,
- 0x47,
- 0xb3,
- 0xa4,
- 0x3c,
- 0x83,
- 0x96,
- 0xb7,
- 0x1f,
- 0xf4,
- 0x44,
- 0xd4,
- 0xd1,
- 0xe9,
- 0xfc,
- 0x33,
- 0x68,
- 0x5e,
- 0xe2,
- 0x68,
- 0x99,
- 0x9c,
- 0x91,
- 0xe8,
- 0x72,
- 0xc9,
- 0xd7,
- 0x8c,
- 0x80,
- 0x20,
- 0x8e,
- 0x77,
- 0x83,
- 0x4d,
- 0xe4,
- 0xab,
- 0xf9,
- 0x74,
- 0xa1,
- 0xdf,
- 0xd3,
- 0xc0,
- 0x0d,
- 0x5b,
- 0x05,
- 0x51,
- 0xc2,
- 0x6f,
- 0xb2,
- 0x91,
- 0x02,
- 0xec,
- 0xc0,
- 0x02,
- 0x1a,
- 0x5c,
- 0x91,
- 0x05,
- 0xf1,
- 0xe3,
- 0xfa,
- 0x65,
- 0xc2,
- 0xad,
- 0x24,
- 0xe6,
- 0xe5,
- 0x3c,
- 0xb6,
- 0x16,
- 0xf1,
- 0xa1,
- 0x67,
- 0x1a,
- 0x9d,
- 0x37,
- 0x56,
- 0xbf,
- 0x01,
- 0xd7,
- 0x3b,
- 0x35,
- 0x30,
- 0x57,
- 0x73,
- 0xf4,
- 0xf0,
- 0x5e,
- 0xa7,
- 0xe8,
- 0x0a,
- 0xc1,
- 0x94,
- 0x17,
- 0xcf,
- 0x0a,
- 0xbd,
- 0xf5,
- 0x31,
- 0xa7,
- 0x2d,
- 0xf7,
- 0xf5,
- 0xd9,
- 0x8c,
- 0xc2,
- 0x01,
- 0xbd,
- 0xda,
- 0x16,
- 0x8e,
- 0xb9,
- 0x30,
- 0x40,
- 0xa6,
- 0x6e,
- 0xbd,
- 0xcd,
- 0x4d,
- 0x84,
- 0x67,
- 0x4e,
- 0x0b,
- 0xce,
- 0xd5,
- 0xef,
- 0xf8,
- 0x08,
- 0x63,
- 0x02,
- 0xc6,
- 0xc7,
- 0xf7,
- 0x67,
- 0x92,
- 0xe2,
- 0x23,
- 0x9d,
- 0x27,
- 0x22,
- 0x1d,
- 0xc6,
- 0x67,
- 0x5e,
- 0x66,
- 0xbf,
- 0x03,
- 0xb8,
- 0xa9,
- 0x67,
- 0xd4,
- 0x39,
- 0xd8,
- 0x75,
- 0xfa,
- 0xe8,
- 0xed,
- 0x56,
- 0xb8,
- 0x81,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xf7,
- 0x46,
- 0x68,
- 0xc6,
- 0x13,
- 0xf8,
- 0xba,
- 0x0f,
- 0x83,
- 0xdb,
- 0x05,
- 0xa8,
- 0x25,
- 0x00,
- 0x70,
- 0x9c,
- 0x9e,
- 0x8b,
- 0x12,
- 0x34,
- 0x0d,
- 0x96,
- 0xcf,
- 0x0d,
- 0x98,
- 0x9b,
- 0x8d,
- 0x9c,
- 0x96,
- 0x78,
- 0xd1,
- 0x3c,
- 0x01,
- 0x8c,
- 0xb9,
- 0x35,
- 0x5c,
- 0x20,
- 0x42,
- 0xb4,
- 0x38,
- 0xe3,
- 0xd6,
- 0x54,
- 0xe7,
- 0x55,
- 0xd6,
- 0x26,
- 0x8a,
- 0x0c,
- 0xf6,
- 0x1f,
- 0xe0,
- 0x04,
- 0xc1,
- 0x22,
- 0x42,
- 0x19,
- 0x61,
- 0xc4,
- 0x94,
- 0x7c,
- 0x07,
- 0x2e,
- 0x80,
- 0x52,
- 0xfe,
- 0x8d,
- 0xe6,
- 0x92,
- 0x3a,
- 0x91,
- 0xfe,
- 0x72,
- 0x99,
- 0xe1,
- 0x2a,
- 0x73,
- 0x76,
- 0xb1,
- 0x24,
- 0x20,
- 0x67,
- 0xde,
- 0x28,
- 0xcb,
- 0x0e,
- 0xe6,
- 0x52,
- 0xb5,
- 0xfa,
- 0xfb,
- 0x8b,
- 0x1e,
- 0x6a,
- 0x1d,
- 0x09,
- 0x26,
- 0xb9,
- 0xa7,
- 0x61,
- 0xba,
- 0xf8,
- 0x79,
- 0xd2,
- 0x66,
- 0x57,
- 0x28,
- 0xd7,
- 0x31,
- 0xb5,
- 0x0b,
- 0x27,
- 0x19,
- 0x1e,
- 0x6f,
- 0x46,
- 0xfc,
- 0x54,
- 0x95,
- 0xeb,
- 0x78,
- 0x01,
- 0xb6,
- 0xd9,
- 0x79,
- 0x5a,
- 0x4d,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xd5,
- 0x8f,
- 0x16,
- 0x53,
- 0x2f,
- 0x57,
- 0x93,
- 0xbf,
- 0x09,
- 0x75,
- 0xbf,
- 0x63,
- 0x40,
- 0x3d,
- 0x27,
- 0xfd,
- 0x23,
- 0x21,
- 0xde,
- 0x9b,
- 0xe9,
- 0x73,
- 0x3f,
- 0x49,
- 0x02,
- 0xd2,
- 0x38,
- 0x96,
- 0xcf,
- 0xc3,
- 0xba,
- 0x92,
- 0x07,
- 0x87,
- 0x52,
- 0xa9,
- 0x35,
- 0xe3,
- 0x0c,
- 0xe4,
- 0x2f,
- 0x05,
- 0x7b,
- 0x37,
- 0xa5,
- 0x40,
- 0x9c,
- 0x3b,
- 0x94,
- 0xf7,
- 0xad,
- 0xa0,
- 0xee,
- 0x3a,
- 0xa8,
- 0xfb,
- 0x1f,
- 0x11,
- 0x1f,
- 0xd8,
- 0x9a,
- 0x80,
- 0x42,
- 0x3d,
- 0x7f,
- 0xa4,
- 0xb8,
- 0x9a,
- 0xaa,
- 0xea,
- 0x72,
- 0xc1,
- 0xe3,
- 0xed,
- 0x06,
- 0x60,
- 0x92,
- 0x37,
- 0xf9,
- 0xba,
- 0xfb,
- 0x9e,
- 0xed,
- 0x05,
- 0xa6,
- 0xd4,
- 0x72,
- 0x68,
- 0x4f,
- 0x63,
- 0xfe,
- 0xd6,
- 0x10,
- 0x0d,
- 0x4f,
- 0x0a,
- 0x93,
- 0xc6,
- 0xb9,
- 0xd7,
- 0xaf,
- 0xfd,
- 0xd9,
- 0x57,
- 0x7d,
- 0xcb,
- 0x75,
- 0xe8,
- 0x93,
- 0x2b,
- 0xae,
- 0x4f,
- 0xea,
- 0xd7,
- 0x30,
- 0x0b,
- 0x58,
- 0x44,
- 0x82,
- 0x0f,
- 0x84,
- 0x5d,
- 0x62,
- 0x11,
- 0x78,
- 0xea,
- 0x5f,
- 0xc5,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0x82,
- 0x0c,
- 0xc1,
- 0xe6,
- 0x0b,
- 0x72,
- 0xf1,
- 0x48,
- 0x5f,
- 0xac,
- 0xbd,
- 0x98,
- 0xe5,
- 0x7d,
- 0x09,
- 0xbd,
- 0x15,
- 0x95,
- 0x47,
- 0x09,
- 0xa1,
- 0x6c,
- 0x03,
- 0x91,
- 0xbf,
- 0x05,
- 0x70,
- 0xc1,
- 0x3e,
- 0x52,
- 0x64,
- 0x99,
- 0x0e,
- 0xa7,
- 0x98,
- 0x70,
- 0xfb,
- 0xf6,
- 0xeb,
- 0x9e,
- 0x25,
- 0x9d,
- 0x8e,
- 0x88,
- 0x30,
- 0xf2,
- 0xf0,
- 0x22,
- 0x6c,
- 0xd0,
- 0xcc,
- 0x51,
- 0x8f,
- 0x5c,
- 0x70,
- 0xc7,
- 0x37,
- 0xc4,
- 0x69,
- 0xab,
- 0x1d,
- 0xfc,
- 0xed,
- 0x3a,
- 0x03,
- 0xbb,
- 0xa2,
- 0xad,
- 0xb6,
- 0xea,
- 0x89,
- 0x6b,
- 0x67,
- 0x4b,
- 0x96,
- 0xaa,
- 0xd9,
- 0xcc,
- 0xc8,
- 0x4b,
- 0xfa,
- 0x18,
- 0x21,
- 0x08,
- 0xb2,
- 0xa3,
- 0xb9,
- 0x3e,
- 0x61,
- 0x99,
- 0xdc,
- 0x5a,
- 0x97,
- 0x9c,
- 0x73,
- 0x6a,
- 0xb9,
- 0xf9,
- 0x68,
- 0x03,
- 0x24,
- 0x5f,
- 0x55,
- 0x77,
- 0x9c,
- 0xb4,
- 0xbe,
- 0x7a,
- 0x78,
- 0x53,
- 0x68,
- 0x48,
- 0x69,
- 0x53,
- 0xc8,
- 0xb1,
- 0xf5,
- 0xbf,
- 0x98,
- 0x2d,
- 0x11,
- 0x1e,
- 0x98,
- 0xa8,
- 0x36,
- 0x50,
- 0xa0,
- 0xb1,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0x90,
- 0x88,
- 0x30,
- 0x71,
- 0xc7,
- 0xfe,
- 0x9b,
- 0x6d,
- 0x95,
- 0x37,
- 0x6d,
- 0x79,
- 0xfc,
- 0x85,
- 0xe7,
- 0x44,
- 0x78,
- 0xbc,
- 0x79,
- 0x6e,
- 0x47,
- 0x86,
- 0xc9,
- 0xf3,
- 0xdd,
- 0xc6,
- 0xec,
- 0xa9,
- 0x94,
- 0x9f,
- 0x40,
- 0xeb,
- 0x87,
- 0xd0,
- 0xdb,
- 0xee,
- 0xcd,
- 0x1b,
- 0x87,
- 0x23,
- 0xff,
- 0x76,
- 0xd4,
- 0x37,
- 0x8a,
- 0xcd,
- 0xb9,
- 0x6e,
- 0xd1,
- 0x98,
- 0xf6,
- 0x97,
- 0x8d,
- 0xe3,
- 0x81,
- 0x6d,
- 0xc3,
- 0x4e,
- 0xd1,
- 0xa0,
- 0xc4,
- 0x9f,
- 0xbd,
- 0x34,
- 0xe5,
- 0xe8,
- 0x53,
- 0x4f,
- 0xca,
- 0x10,
- 0xb5,
- 0xed,
- 0xe7,
- 0x16,
- 0x09,
- 0x54,
- 0xde,
- 0x60,
- 0xa7,
- 0xd1,
- 0x16,
- 0x6e,
- 0x2e,
- 0xb7,
- 0xbe,
- 0x7a,
- 0xd5,
- 0x9b,
- 0x26,
- 0xef,
- 0xe4,
- 0x0e,
- 0x77,
- 0xfa,
- 0xa9,
- 0xdd,
- 0xdc,
- 0xb9,
- 0x88,
- 0x19,
- 0x23,
- 0x70,
- 0xc7,
- 0xe1,
- 0x60,
- 0xaf,
- 0x8c,
- 0x73,
- 0x04,
- 0xf7,
- 0x71,
- 0x17,
- 0x81,
- 0x36,
- 0x75,
- 0xbb,
- 0x97,
- 0xd7,
- 0x75,
- 0xb6,
- 0x8e,
- 0xbc,
- 0xac,
- 0x9c,
- 0x6a,
- 0x9b,
- 0x24,
- 0x89,
- 0x02,
- 0x81,
- 0x80,
- 0x5a,
- 0x2b,
- 0xc7,
- 0x6b,
- 0x8c,
- 0x65,
- 0xdb,
- 0x04,
- 0x73,
- 0xab,
- 0x25,
- 0xe1,
- 0x5b,
- 0xbc,
- 0x3c,
- 0xcf,
- 0x5a,
- 0x3c,
- 0x04,
- 0xae,
- 0x97,
- 0x2e,
- 0xfd,
- 0xa4,
- 0x97,
- 0x1f,
- 0x05,
- 0x17,
- 0x27,
- 0xac,
- 0x7c,
- 0x30,
- 0x85,
- 0xb4,
- 0x82,
- 0x3f,
- 0x5b,
- 0xb7,
- 0x94,
- 0x3b,
- 0x7f,
- 0x6c,
- 0x0c,
- 0xc7,
- 0x16,
- 0xc6,
- 0xa0,
- 0xbd,
- 0x80,
- 0xb0,
- 0x81,
- 0xde,
- 0xa0,
- 0x23,
- 0xa6,
- 0xf6,
- 0x75,
- 0x33,
- 0x51,
- 0x35,
- 0xa2,
- 0x75,
- 0x55,
- 0x70,
- 0x4d,
- 0x42,
- 0xbb,
- 0xcf,
- 0x54,
- 0xe4,
- 0xdb,
- 0x2d,
- 0x88,
- 0xa0,
- 0x7a,
- 0xf2,
- 0x17,
- 0xa7,
- 0xdd,
- 0x13,
- 0x44,
- 0x9f,
- 0x5f,
- 0x6b,
- 0x2c,
- 0x42,
- 0x42,
- 0x8b,
- 0x13,
- 0x4d,
- 0xf9,
- 0x5b,
- 0xf8,
- 0x33,
- 0x42,
- 0xd9,
- 0x9e,
- 0x50,
- 0x1c,
- 0x7c,
- 0xbc,
- 0xfa,
- 0x62,
- 0x85,
- 0x0b,
- 0xcf,
- 0x99,
- 0xda,
- 0x9e,
- 0x04,
- 0x90,
- 0xb2,
- 0xc6,
- 0xb2,
- 0x0a,
- 0x2a,
- 0x7c,
- 0x6d,
- 0x6a,
- 0x40,
- 0xfc,
- 0xf5,
- 0x50,
- 0x98,
- 0x46,
- 0x89,
- 0x82,
- 0x40,
+ 0x30, 0x82, 0x04, 0xa5, 0x02, 0x01, 0x00, 0x02,
+ 0x82, 0x01, 0x01, 0x00, 0xce, 0x47, 0xcb, 0x11,
+ 0xbb, 0xd2, 0x9d, 0x8e, 0x9e, 0xd2, 0x1e, 0x14,
+ 0xaf, 0xc7, 0xea, 0xb6, 0xc9, 0x38, 0x2a, 0x6f,
+ 0xb3, 0x7e, 0xfb, 0xbc, 0xfc, 0x59, 0x42, 0xb9,
+ 0x56, 0xf0, 0x4c, 0x3f, 0xf7, 0x31, 0x84, 0xbe,
+ 0xac, 0x03, 0x9e, 0x71, 0x91, 0x85, 0xd8, 0x32,
+ 0xbd, 0x00, 0xea, 0xac, 0x65, 0xf6, 0x03, 0xc8,
+ 0x0f, 0x8b, 0xfd, 0x6e, 0x58, 0x88, 0x04, 0x41,
+ 0x92, 0x74, 0xa6, 0x57, 0x2e, 0x8e, 0x88, 0xd5,
+ 0x3d, 0xda, 0x14, 0x3e, 0x63, 0x88, 0x22, 0xe3,
+ 0x53, 0xe9, 0xba, 0x39, 0x09, 0xac, 0xfb, 0xd0,
+ 0x4c, 0xf2, 0x3c, 0x20, 0xd6, 0x97, 0xe6, 0xed,
+ 0xf1, 0x62, 0x1e, 0xe5, 0xc9, 0x48, 0xa0, 0xca,
+ 0x2e, 0x3c, 0x14, 0x5a, 0x82, 0xd4, 0xed, 0xb1,
+ 0xe3, 0x43, 0xc1, 0x2a, 0x59, 0xa5, 0xb9, 0xc8,
+ 0x48, 0xa7, 0x39, 0x23, 0x74, 0xa7, 0x37, 0xb0,
+ 0x6f, 0xc3, 0x64, 0x99, 0x6c, 0xa2, 0x82, 0xc8,
+ 0xf6, 0xdb, 0x86, 0x40, 0xce, 0xd1, 0x85, 0x9f,
+ 0xce, 0x69, 0xf4, 0x15, 0x2a, 0x23, 0xca, 0xea,
+ 0xb7, 0x7b, 0xdf, 0xfb, 0x43, 0x5f, 0xff, 0x7a,
+ 0x49, 0x49, 0x0e, 0xe7, 0x02, 0x51, 0x45, 0x13,
+ 0xe8, 0x90, 0x64, 0x21, 0x0c, 0x26, 0x2b, 0x5d,
+ 0xfc, 0xe4, 0xb5, 0x86, 0x89, 0x43, 0x22, 0x4c,
+ 0xf3, 0x3b, 0xf3, 0x09, 0xc4, 0xa4, 0x10, 0x80,
+ 0xf2, 0x46, 0xe2, 0x46, 0x8f, 0x76, 0x50, 0xbf,
+ 0xaf, 0x2b, 0x90, 0x1b, 0x78, 0xc7, 0xcf, 0xc1,
+ 0x77, 0xd0, 0xfb, 0xa9, 0xfb, 0xc9, 0x66, 0x5a,
+ 0xc5, 0x9b, 0x31, 0x41, 0x67, 0x01, 0xbe, 0x33,
+ 0x10, 0xba, 0x05, 0x58, 0xed, 0x76, 0x53, 0xde,
+ 0x5d, 0xc1, 0xe8, 0xbb, 0x9f, 0xf1, 0xcd, 0xfb,
+ 0xdf, 0x64, 0x7f, 0xd7, 0x18, 0xab, 0x0f, 0x94,
+ 0x28, 0x95, 0x4a, 0xcc, 0x6a, 0xa9, 0x50, 0xc7,
+ 0x05, 0x47, 0x10, 0x41, 0x02, 0x03, 0x01, 0x00,
+ 0x01, 0x02, 0x82, 0x01, 0x01, 0x00, 0xa8, 0x47,
+ 0xb9, 0x4a, 0x06, 0x47, 0x93, 0x71, 0x3d, 0xef,
+ 0x7b, 0xca, 0xb4, 0x7c, 0x0a, 0xe6, 0x82, 0xd0,
+ 0xe7, 0x0d, 0xa9, 0x08, 0xf6, 0xa4, 0xfd, 0xd8,
+ 0x73, 0xae, 0x6f, 0x56, 0x29, 0x5e, 0x25, 0x72,
+ 0xa8, 0x30, 0x44, 0x73, 0xcf, 0x56, 0x26, 0xb9,
+ 0x61, 0xde, 0x42, 0x81, 0xf4, 0xf0, 0x1f, 0x5d,
+ 0xcb, 0x47, 0xf2, 0x26, 0xe9, 0xe0, 0x93, 0x28,
+ 0xa3, 0x10, 0x3b, 0x42, 0x1e, 0x51, 0x11, 0x12,
+ 0x06, 0x5e, 0xaf, 0xce, 0xb0, 0xa5, 0x14, 0xdd,
+ 0x82, 0x58, 0xa1, 0xa4, 0x12, 0xdf, 0x65, 0x1d,
+ 0x51, 0x70, 0x64, 0xd5, 0x58, 0x68, 0x11, 0xa8,
+ 0x6a, 0x23, 0xc2, 0xbf, 0xa1, 0x25, 0x24, 0x47,
+ 0xb3, 0xa4, 0x3c, 0x83, 0x96, 0xb7, 0x1f, 0xf4,
+ 0x44, 0xd4, 0xd1, 0xe9, 0xfc, 0x33, 0x68, 0x5e,
+ 0xe2, 0x68, 0x99, 0x9c, 0x91, 0xe8, 0x72, 0xc9,
+ 0xd7, 0x8c, 0x80, 0x20, 0x8e, 0x77, 0x83, 0x4d,
+ 0xe4, 0xab, 0xf9, 0x74, 0xa1, 0xdf, 0xd3, 0xc0,
+ 0x0d, 0x5b, 0x05, 0x51, 0xc2, 0x6f, 0xb2, 0x91,
+ 0x02, 0xec, 0xc0, 0x02, 0x1a, 0x5c, 0x91, 0x05,
+ 0xf1, 0xe3, 0xfa, 0x65, 0xc2, 0xad, 0x24, 0xe6,
+ 0xe5, 0x3c, 0xb6, 0x16, 0xf1, 0xa1, 0x67, 0x1a,
+ 0x9d, 0x37, 0x56, 0xbf, 0x01, 0xd7, 0x3b, 0x35,
+ 0x30, 0x57, 0x73, 0xf4, 0xf0, 0x5e, 0xa7, 0xe8,
+ 0x0a, 0xc1, 0x94, 0x17, 0xcf, 0x0a, 0xbd, 0xf5,
+ 0x31, 0xa7, 0x2d, 0xf7, 0xf5, 0xd9, 0x8c, 0xc2,
+ 0x01, 0xbd, 0xda, 0x16, 0x8e, 0xb9, 0x30, 0x40,
+ 0xa6, 0x6e, 0xbd, 0xcd, 0x4d, 0x84, 0x67, 0x4e,
+ 0x0b, 0xce, 0xd5, 0xef, 0xf8, 0x08, 0x63, 0x02,
+ 0xc6, 0xc7, 0xf7, 0x67, 0x92, 0xe2, 0x23, 0x9d,
+ 0x27, 0x22, 0x1d, 0xc6, 0x67, 0x5e, 0x66, 0xbf,
+ 0x03, 0xb8, 0xa9, 0x67, 0xd4, 0x39, 0xd8, 0x75,
+ 0xfa, 0xe8, 0xed, 0x56, 0xb8, 0x81, 0x02, 0x81,
+ 0x81, 0x00, 0xf7, 0x46, 0x68, 0xc6, 0x13, 0xf8,
+ 0xba, 0x0f, 0x83, 0xdb, 0x05, 0xa8, 0x25, 0x00,
+ 0x70, 0x9c, 0x9e, 0x8b, 0x12, 0x34, 0x0d, 0x96,
+ 0xcf, 0x0d, 0x98, 0x9b, 0x8d, 0x9c, 0x96, 0x78,
+ 0xd1, 0x3c, 0x01, 0x8c, 0xb9, 0x35, 0x5c, 0x20,
+ 0x42, 0xb4, 0x38, 0xe3, 0xd6, 0x54, 0xe7, 0x55,
+ 0xd6, 0x26, 0x8a, 0x0c, 0xf6, 0x1f, 0xe0, 0x04,
+ 0xc1, 0x22, 0x42, 0x19, 0x61, 0xc4, 0x94, 0x7c,
+ 0x07, 0x2e, 0x80, 0x52, 0xfe, 0x8d, 0xe6, 0x92,
+ 0x3a, 0x91, 0xfe, 0x72, 0x99, 0xe1, 0x2a, 0x73,
+ 0x76, 0xb1, 0x24, 0x20, 0x67, 0xde, 0x28, 0xcb,
+ 0x0e, 0xe6, 0x52, 0xb5, 0xfa, 0xfb, 0x8b, 0x1e,
+ 0x6a, 0x1d, 0x09, 0x26, 0xb9, 0xa7, 0x61, 0xba,
+ 0xf8, 0x79, 0xd2, 0x66, 0x57, 0x28, 0xd7, 0x31,
+ 0xb5, 0x0b, 0x27, 0x19, 0x1e, 0x6f, 0x46, 0xfc,
+ 0x54, 0x95, 0xeb, 0x78, 0x01, 0xb6, 0xd9, 0x79,
+ 0x5a, 0x4d, 0x02, 0x81, 0x81, 0x00, 0xd5, 0x8f,
+ 0x16, 0x53, 0x2f, 0x57, 0x93, 0xbf, 0x09, 0x75,
+ 0xbf, 0x63, 0x40, 0x3d, 0x27, 0xfd, 0x23, 0x21,
+ 0xde, 0x9b, 0xe9, 0x73, 0x3f, 0x49, 0x02, 0xd2,
+ 0x38, 0x96, 0xcf, 0xc3, 0xba, 0x92, 0x07, 0x87,
+ 0x52, 0xa9, 0x35, 0xe3, 0x0c, 0xe4, 0x2f, 0x05,
+ 0x7b, 0x37, 0xa5, 0x40, 0x9c, 0x3b, 0x94, 0xf7,
+ 0xad, 0xa0, 0xee, 0x3a, 0xa8, 0xfb, 0x1f, 0x11,
+ 0x1f, 0xd8, 0x9a, 0x80, 0x42, 0x3d, 0x7f, 0xa4,
+ 0xb8, 0x9a, 0xaa, 0xea, 0x72, 0xc1, 0xe3, 0xed,
+ 0x06, 0x60, 0x92, 0x37, 0xf9, 0xba, 0xfb, 0x9e,
+ 0xed, 0x05, 0xa6, 0xd4, 0x72, 0x68, 0x4f, 0x63,
+ 0xfe, 0xd6, 0x10, 0x0d, 0x4f, 0x0a, 0x93, 0xc6,
+ 0xb9, 0xd7, 0xaf, 0xfd, 0xd9, 0x57, 0x7d, 0xcb,
+ 0x75, 0xe8, 0x93, 0x2b, 0xae, 0x4f, 0xea, 0xd7,
+ 0x30, 0x0b, 0x58, 0x44, 0x82, 0x0f, 0x84, 0x5d,
+ 0x62, 0x11, 0x78, 0xea, 0x5f, 0xc5, 0x02, 0x81,
+ 0x81, 0x00, 0x82, 0x0c, 0xc1, 0xe6, 0x0b, 0x72,
+ 0xf1, 0x48, 0x5f, 0xac, 0xbd, 0x98, 0xe5, 0x7d,
+ 0x09, 0xbd, 0x15, 0x95, 0x47, 0x09, 0xa1, 0x6c,
+ 0x03, 0x91, 0xbf, 0x05, 0x70, 0xc1, 0x3e, 0x52,
+ 0x64, 0x99, 0x0e, 0xa7, 0x98, 0x70, 0xfb, 0xf6,
+ 0xeb, 0x9e, 0x25, 0x9d, 0x8e, 0x88, 0x30, 0xf2,
+ 0xf0, 0x22, 0x6c, 0xd0, 0xcc, 0x51, 0x8f, 0x5c,
+ 0x70, 0xc7, 0x37, 0xc4, 0x69, 0xab, 0x1d, 0xfc,
+ 0xed, 0x3a, 0x03, 0xbb, 0xa2, 0xad, 0xb6, 0xea,
+ 0x89, 0x6b, 0x67, 0x4b, 0x96, 0xaa, 0xd9, 0xcc,
+ 0xc8, 0x4b, 0xfa, 0x18, 0x21, 0x08, 0xb2, 0xa3,
+ 0xb9, 0x3e, 0x61, 0x99, 0xdc, 0x5a, 0x97, 0x9c,
+ 0x73, 0x6a, 0xb9, 0xf9, 0x68, 0x03, 0x24, 0x5f,
+ 0x55, 0x77, 0x9c, 0xb4, 0xbe, 0x7a, 0x78, 0x53,
+ 0x68, 0x48, 0x69, 0x53, 0xc8, 0xb1, 0xf5, 0xbf,
+ 0x98, 0x2d, 0x11, 0x1e, 0x98, 0xa8, 0x36, 0x50,
+ 0xa0, 0xb1, 0x02, 0x81, 0x81, 0x00, 0x90, 0x88,
+ 0x30, 0x71, 0xc7, 0xfe, 0x9b, 0x6d, 0x95, 0x37,
+ 0x6d, 0x79, 0xfc, 0x85, 0xe7, 0x44, 0x78, 0xbc,
+ 0x79, 0x6e, 0x47, 0x86, 0xc9, 0xf3, 0xdd, 0xc6,
+ 0xec, 0xa9, 0x94, 0x9f, 0x40, 0xeb, 0x87, 0xd0,
+ 0xdb, 0xee, 0xcd, 0x1b, 0x87, 0x23, 0xff, 0x76,
+ 0xd4, 0x37, 0x8a, 0xcd, 0xb9, 0x6e, 0xd1, 0x98,
+ 0xf6, 0x97, 0x8d, 0xe3, 0x81, 0x6d, 0xc3, 0x4e,
+ 0xd1, 0xa0, 0xc4, 0x9f, 0xbd, 0x34, 0xe5, 0xe8,
+ 0x53, 0x4f, 0xca, 0x10, 0xb5, 0xed, 0xe7, 0x16,
+ 0x09, 0x54, 0xde, 0x60, 0xa7, 0xd1, 0x16, 0x6e,
+ 0x2e, 0xb7, 0xbe, 0x7a, 0xd5, 0x9b, 0x26, 0xef,
+ 0xe4, 0x0e, 0x77, 0xfa, 0xa9, 0xdd, 0xdc, 0xb9,
+ 0x88, 0x19, 0x23, 0x70, 0xc7, 0xe1, 0x60, 0xaf,
+ 0x8c, 0x73, 0x04, 0xf7, 0x71, 0x17, 0x81, 0x36,
+ 0x75, 0xbb, 0x97, 0xd7, 0x75, 0xb6, 0x8e, 0xbc,
+ 0xac, 0x9c, 0x6a, 0x9b, 0x24, 0x89, 0x02, 0x81,
+ 0x80, 0x5a, 0x2b, 0xc7, 0x6b, 0x8c, 0x65, 0xdb,
+ 0x04, 0x73, 0xab, 0x25, 0xe1, 0x5b, 0xbc, 0x3c,
+ 0xcf, 0x5a, 0x3c, 0x04, 0xae, 0x97, 0x2e, 0xfd,
+ 0xa4, 0x97, 0x1f, 0x05, 0x17, 0x27, 0xac, 0x7c,
+ 0x30, 0x85, 0xb4, 0x82, 0x3f, 0x5b, 0xb7, 0x94,
+ 0x3b, 0x7f, 0x6c, 0x0c, 0xc7, 0x16, 0xc6, 0xa0,
+ 0xbd, 0x80, 0xb0, 0x81, 0xde, 0xa0, 0x23, 0xa6,
+ 0xf6, 0x75, 0x33, 0x51, 0x35, 0xa2, 0x75, 0x55,
+ 0x70, 0x4d, 0x42, 0xbb, 0xcf, 0x54, 0xe4, 0xdb,
+ 0x2d, 0x88, 0xa0, 0x7a, 0xf2, 0x17, 0xa7, 0xdd,
+ 0x13, 0x44, 0x9f, 0x5f, 0x6b, 0x2c, 0x42, 0x42,
+ 0x8b, 0x13, 0x4d, 0xf9, 0x5b, 0xf8, 0x33, 0x42,
+ 0xd9, 0x9e, 0x50, 0x1c, 0x7c, 0xbc, 0xfa, 0x62,
+ 0x85, 0x0b, 0xcf, 0x99, 0xda, 0x9e, 0x04, 0x90,
+ 0xb2, 0xc6, 0xb2, 0x0a, 0x2a, 0x7c, 0x6d, 0x6a,
+ 0x40, 0xfc, 0xf5, 0x50, 0x98, 0x46, 0x89, 0x82,
+ 0x40
};
#endif
diff --git a/crypto/openssl/include/crypto/riscv_arch.h b/crypto/openssl/include/crypto/riscv_arch.h
index 9894b714d74..782e341c7a5 100644
--- a/crypto/openssl/include/crypto/riscv_arch.h
+++ b/crypto/openssl/include/crypto/riscv_arch.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -27,7 +27,7 @@ extern unsigned int OPENSSL_riscv_hwcap_P;
#define VECTOR_CAPABLE (OPENSSL_riscv_hwcap_P & COMPAT_HWCAP_ISA_V)
#define ZVX_MIN 15
#define ZVX_MAX 23
-#define IS_IN_DEPEND_VECTOR(offset) ((ZVX_MIN >= offset) && (offset <= ZVX_MAX))
+#define IS_IN_DEPEND_VECTOR(offset) ((ZVX_MIN <= offset) && (offset <= ZVX_MAX))
#endif
#endif
#endif
diff --git a/crypto/openssl/include/internal/cryptlib.h b/crypto/openssl/include/internal/cryptlib.h
index 50aec7e7f4f..a4451ca9eee 100644
--- a/crypto/openssl/include/internal/cryptlib.h
+++ b/crypto/openssl/include/internal/cryptlib.h
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -133,6 +133,8 @@ OSSL_EX_DATA_GLOBAL *ossl_lib_ctx_get_ex_data_global(OSSL_LIB_CTX *ctx);
const char *ossl_lib_ctx_get_descriptor(OSSL_LIB_CTX *libctx);
CRYPTO_THREAD_LOCAL *ossl_lib_ctx_get_rcukey(OSSL_LIB_CTX *libctx);
+int ossl_thread_init_local(CRYPTO_THREAD_LOCAL *key, void (*cleanup)(void *));
+
OSSL_LIB_CTX *ossl_crypto_ex_data_get_ossl_lib_ctx(const CRYPTO_EX_DATA *ad);
int ossl_crypto_new_ex_data_ex(OSSL_LIB_CTX *ctx, int class_index, void *obj,
CRYPTO_EX_DATA *ad);
diff --git a/crypto/openssl/include/internal/quic_cfq.h b/crypto/openssl/include/internal/quic_cfq.h
index 96c8d89eb60..6e4332af811 100644
--- a/crypto/openssl/include/internal/quic_cfq.h
+++ b/crypto/openssl/include/internal/quic_cfq.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/include/internal/quic_channel.h b/crypto/openssl/include/internal/quic_channel.h
index cfaeab72817..54e8b92298b 100644
--- a/crypto/openssl/include/internal/quic_channel.h
+++ b/crypto/openssl/include/internal/quic_channel.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -283,7 +283,6 @@ void ossl_quic_channel_on_new_conn_id(QUIC_CHANNEL *ch,
/* Temporarily exposed during QUIC_PORT transition. */
int ossl_quic_channel_on_new_conn(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
- const QUIC_CONN_ID *peer_scid,
const QUIC_CONN_ID *peer_dcid);
/* For use by QUIC_PORT. You should not need to call this directly. */
@@ -465,10 +464,11 @@ uint64_t ossl_quic_channel_get_max_idle_timeout_peer_request(const QUIC_CHANNEL
uint64_t ossl_quic_channel_get_max_idle_timeout_actual(const QUIC_CHANNEL *ch);
int ossl_quic_bind_channel(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
- const QUIC_CONN_ID *scid, const QUIC_CONN_ID *dcid,
- const QUIC_CONN_ID *odcid);
+ const QUIC_CONN_ID *dcid, const QUIC_CONN_ID *odcid);
void ossl_ch_reset_rx_state(QUIC_CHANNEL *ch);
+uint64_t ossl_quic_channel_get_path_challenge_count(const QUIC_CHANNEL *ch);
+uint64_t ossl_quic_channel_get_path_response_count(const QUIC_CHANNEL *ch);
#endif
#endif
diff --git a/crypto/openssl/include/internal/quic_fifd.h b/crypto/openssl/include/internal/quic_fifd.h
index afa330cbc4a..a7577b21205 100644
--- a/crypto/openssl/include/internal/quic_fifd.h
+++ b/crypto/openssl/include/internal/quic_fifd.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/include/internal/quic_stream_map.h b/crypto/openssl/include/internal/quic_stream_map.h
index 3d249009efa..155fca5b84a 100644
--- a/crypto/openssl/include/internal/quic_stream_map.h
+++ b/crypto/openssl/include/internal/quic_stream_map.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -298,7 +298,7 @@ struct quic_stream_st {
* STOP_SENDING.]
*
* TODO(QUIC FUTURE): Implement the latter case (currently we
- just always do STOP_SENDING).
+ * just always do STOP_SENDING).
*
* and;
*
@@ -314,6 +314,7 @@ struct quic_stream_st {
unsigned int ready_for_gc : 1;
/* Set to 1 if this is currently counted in the shutdown flush stream count. */
unsigned int shutdown_flush : 1;
+ unsigned int have_final_size : 1;
};
#define QUIC_STREAM_INITIATOR_CLIENT 0
diff --git a/crypto/openssl/include/internal/rcu.h b/crypto/openssl/include/internal/rcu.h
index a89794c0c8a..b5403fbd772 100644
--- a/crypto/openssl/include/internal/rcu.h
+++ b/crypto/openssl/include/internal/rcu.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2023-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2023-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -17,6 +17,8 @@ typedef void (*rcu_cb_fn)(void *data);
typedef struct rcu_lock_st CRYPTO_RCU_LOCK;
+typedef struct rcu_cb_item CRYPTO_RCU_CB_ITEM;
+
CRYPTO_RCU_LOCK *ossl_rcu_lock_new(int num_writers, OSSL_LIB_CTX *ctx);
void ossl_rcu_lock_free(CRYPTO_RCU_LOCK *lock);
void ossl_rcu_read_lock(CRYPTO_RCU_LOCK *lock);
@@ -24,7 +26,10 @@ void ossl_rcu_write_lock(CRYPTO_RCU_LOCK *lock);
void ossl_rcu_write_unlock(CRYPTO_RCU_LOCK *lock);
void ossl_rcu_read_unlock(CRYPTO_RCU_LOCK *lock);
void ossl_synchronize_rcu(CRYPTO_RCU_LOCK *lock);
-int ossl_rcu_call(CRYPTO_RCU_LOCK *lock, rcu_cb_fn cb, void *data);
+CRYPTO_RCU_CB_ITEM *ossl_rcu_cb_item_new(void);
+void ossl_rcu_cb_item_free(CRYPTO_RCU_CB_ITEM *item);
+void ossl_rcu_call(CRYPTO_RCU_LOCK *lock, CRYPTO_RCU_CB_ITEM *item,
+ rcu_cb_fn cb, void *data);
void *ossl_rcu_uptr_deref(void **p);
void ossl_rcu_assign_uptr(void **p, void **v);
#define ossl_rcu_deref(p) ossl_rcu_uptr_deref((void **)p)
diff --git a/crypto/openssl/include/openssl/bn.h b/crypto/openssl/include/openssl/bn.h
index d210b8bddd5..b7a3cd8e230 100644
--- a/crypto/openssl/include/openssl/bn.h
+++ b/crypto/openssl/include/openssl/bn.h
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
@@ -273,8 +273,8 @@ int BN_is_negative(const BIGNUM *b);
int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d,
BN_CTX *ctx);
-#define BN_mod(rem, m, d, ctx) BN_div(NULL, (rem), (m), (d), (ctx))
-int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx);
+#define BN_mod(rem, a, m, ctx) BN_div(NULL, (rem), (a), (m), (ctx))
+int BN_nnmod(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx);
int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m,
BN_CTX *ctx);
int BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
diff --git a/crypto/openssl/include/openssl/ssl.h.in b/crypto/openssl/include/openssl/ssl.h.in
index bdcc68529be..e684f7c4297 100644
--- a/crypto/openssl/include/openssl/ssl.h.in
+++ b/crypto/openssl/include/openssl/ssl.h.in
@@ -1,7 +1,7 @@
/*
* {- join("\n * ", @autowarntext) -}
*
- * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
* Copyright 2005 Nokia. All rights reserved.
*
@@ -2551,7 +2551,7 @@ SSL_as_poll_descriptor(SSL *s)
__owur int SSL_session_reused(const SSL *s);
__owur int SSL_is_server(const SSL *s);
-__owur __owur SSL_CONF_CTX *SSL_CONF_CTX_new(void);
+__owur SSL_CONF_CTX *SSL_CONF_CTX_new(void);
int SSL_CONF_CTX_finish(SSL_CONF_CTX *cctx);
void SSL_CONF_CTX_free(SSL_CONF_CTX *cctx);
unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags);
diff --git a/crypto/openssl/include/openssl/x509_acert.h.in b/crypto/openssl/include/openssl/x509_acert.h.in
index e136de04dcf..0c5adf53b42 100644
--- a/crypto/openssl/include/openssl/x509_acert.h.in
+++ b/crypto/openssl/include/openssl/x509_acert.h.in
@@ -1,7 +1,7 @@
/*
* {- join("\n * ", @autowarntext) -}
*
- * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -23,6 +23,10 @@ use OpenSSL::stackhash qw(generate_stack_macros);
#include
#include
+#ifdef __cplusplus
+extern "C" {
+#endif
+
typedef struct X509_acert_st X509_ACERT;
typedef struct X509_acert_info_st X509_ACERT_INFO;
typedef struct ossl_object_digest_info_st OSSL_OBJECT_DIGEST_INFO;
@@ -206,4 +210,8 @@ DECLARE_ASN1_FUNCTIONS(OSSL_AUTHORITY_ATTRIBUTE_ID_SYNTAX)
-}
/* clang-format on */
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/crypto/openssl/providers/defltprov.c b/crypto/openssl/providers/defltprov.c
index 90655395c11..a74a048d6f7 100644
--- a/crypto/openssl/providers/defltprov.c
+++ b/crypto/openssl/providers/defltprov.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -377,8 +377,10 @@ static const OSSL_ALGORITHM deflt_keyexch[] = {
#endif
{ PROV_NAMES_TLS1_PRF, "provider=default", ossl_kdf_tls1_prf_keyexch_functions },
{ PROV_NAMES_HKDF, "provider=default", ossl_kdf_hkdf_keyexch_functions },
+#ifndef OPENSSL_NO_SCRYPT
{ PROV_NAMES_SCRYPT, "provider=default",
ossl_kdf_scrypt_keyexch_functions },
+#endif
{ NULL, NULL, NULL }
};
@@ -453,8 +455,10 @@ static const OSSL_ALGORITHM deflt_signature[] = {
{ PROV_NAMES_ML_DSA_87, "provider=default", ossl_ml_dsa_87_signature_functions },
#endif
{ PROV_NAMES_HMAC, "provider=default", ossl_mac_legacy_hmac_signature_functions },
+#ifndef OPENSSL_NO_SIPHASH
{ PROV_NAMES_SIPHASH, "provider=default",
ossl_mac_legacy_siphash_signature_functions },
+#endif
#ifndef OPENSSL_NO_POLY1305
{ PROV_NAMES_POLY1305, "provider=default",
ossl_mac_legacy_poly1305_signature_functions },
@@ -565,12 +569,16 @@ static const OSSL_ALGORITHM deflt_keymgmt[] = {
PROV_DESCS_TLS1_PRF_SIGN },
{ PROV_NAMES_HKDF, "provider=default", ossl_kdf_keymgmt_functions,
PROV_DESCS_HKDF_SIGN },
+#ifndef OPENSSL_NO_SCRYPT
{ PROV_NAMES_SCRYPT, "provider=default", ossl_kdf_keymgmt_functions,
PROV_DESCS_SCRYPT_SIGN },
+#endif
{ PROV_NAMES_HMAC, "provider=default", ossl_mac_legacy_keymgmt_functions,
PROV_DESCS_HMAC_SIGN },
+#ifndef OPENSSL_NO_SIPHASH
{ PROV_NAMES_SIPHASH, "provider=default", ossl_mac_legacy_keymgmt_functions,
PROV_DESCS_SIPHASH_SIGN },
+#endif
#ifndef OPENSSL_NO_POLY1305
{ PROV_NAMES_POLY1305, "provider=default", ossl_mac_legacy_keymgmt_functions,
PROV_DESCS_POLY1305_SIGN },
diff --git a/crypto/openssl/providers/fips-sources.checksums b/crypto/openssl/providers/fips-sources.checksums
index c0ee1bffe43..a2f5817e26d 100644
--- a/crypto/openssl/providers/fips-sources.checksums
+++ b/crypto/openssl/providers/fips-sources.checksums
@@ -19,7 +19,7 @@ f1d8b7a3da1ec053d38be4fc776fef1e4fba328bfa2bfd928c2a2cd3b14f08ff crypto/aes/asm
290ae2a09826d24e83763415a021e328d41a163f41cff8c9e3b882e973677f33 crypto/aes/asm/aes-s390x.pl
ee4e8cacef972942d2a89c1a83c984df9cad87c61a54383403c5c4864c403ba1 crypto/aes/asm/aes-sparcv9.pl
391497550eaca253f64b2aba7ba2e53c6bae7dff01583bc6bfc12e930bb7e217 crypto/aes/asm/aes-x86_64.pl
-c56c324667b67d726e040d70379efba5b270e2937f403c1b5979018b836903c7 crypto/aes/asm/aesfx-sparcv9.pl
+3b5ee174fa52d732d882ab4b2ffe59235d3bff66651714f32e743fcadaf1d970 crypto/aes/asm/aesfx-sparcv9.pl
14359dc32b7f4e5c08227fb9ac8f9232c1287399463b233fec4a2ab0c19f68d1 crypto/aes/asm/aesni-mb-x86_64.pl
f525e1bca51d39adcd411cbf8f874fe1441b23a6f614644da78dfd8544d13b23 crypto/aes/asm/aesni-sha1-x86_64.pl
895f94d7befb90e82f9d300ed8f870e790101f30ba72b249a2c503f07aec7dd2 crypto/aes/asm/aesni-sha256-x86_64.pl
@@ -86,7 +86,7 @@ efe70ef06b5d92539f8a239c98c0261d93a15b3e418ca87d97ec569da9e6e9d3 crypto/bn/asm/
0ea8185a037a2951bb3d1e590bbbdeac305176d5e618f3e43a04c09733a9de34 crypto/bn/bn_add.c
529933a6592cf82abde515dae10db17833a16ec29cb89ec577c0a184838fe27b crypto/bn/bn_asm.c
feef3a84a40034291286882d483ac23ab55631c3c93f40ba0ea98944916ff3ec crypto/bn/bn_blind.c
-d3b5f02a17ba1c71261f6dad0d4785846567c8a03368d41fc1a6ee7c45aaff78 crypto/bn/bn_const.c
+1b8f89064c287669a834fe032ef823796f7355ed7e6da08d6c56c0a4cd0bba01 crypto/bn/bn_const.c
eee3d2710144b0e860c57e84f5adc6b2bf64fc27cbd202a8ca2630aefed3b84c crypto/bn/bn_conv.c
282f06fbdeb991d90337787c6407020e940b6d5e187a06866f1a7787c10a0c1b crypto/bn/bn_ctx.c
b1b1c5fb8a45fde5755dfd5da62b68100b94f8c492c950719c108c384ea7f3c4 crypto/bn/bn_dh.c
@@ -99,7 +99,7 @@ b643fdcd91ad7dfcfa97a0bb235221b024b8a77faa7890f0bcb9681ea2c64c49 crypto/bn/bn_g
ff147e5e032cc7c772b73a91fc6e24d8d9516e642d29354445d1f82d64b1d924 crypto/bn/bn_kron.c
df9aebbdcca87fc5715dde430687fb516d8de0dac70c8910409fb73d6dd2305b crypto/bn/bn_lib.c
cd7bade0f2e223fe34f6e2f8cc87098ac8f0af96ec62ada5e67f6a2344d48ef0 crypto/bn/bn_local.h
-364600145964d5154224fdda2c94ca6fdab2907837a385550b242350be7a1197 crypto/bn/bn_mod.c
+b494fd85387afa7816422922e52987e0faefc3c890c972e7d4fe04f620dfc59a crypto/bn/bn_mod.c
39a8fe0bb625b4c11b74998ce6fd99b7655228aaa7d7ad3076f61741937ae14d crypto/bn/bn_mont.c
c2a5230efbda6844b7b2eb10447b054496ae5029130d332536de6c3b12dc58a3 crypto/bn/bn_mpi.c
488dde761d25fb2eabd8acbea5b3b83520db7733480fab6499f60b8bf680b1ed crypto/bn/bn_mul.c
@@ -176,8 +176,8 @@ b65aa613ee9f74bfc7fd00be16087c431bdf092a7e6943238eee9e54ca3adf00 crypto/ec/curv
5aa20e2a4a9ae3a30d7400f3d666238f890004c3dfb66933873e7daa0026fe3e crypto/ec/curve448/f_generic.c
81ab2c5bcf5b036f649804f494e1b2ee5d5b2f900dd56b5dc55bac04a63a57ad crypto/ec/curve448/field.h
77bc6dd8c7d14a21760eb5e0dbf336eecc78835faa2f6f846824798303109d41 crypto/ec/curve448/point_448.h
-6d007474cb42b16f98059f6eea6c09ef23552049207558fe46d071a613c8a314 crypto/ec/curve448/scalar.c
-c0b5e93f120c7a5e0c0aba9877a445d0f5db85440491853b182266ee5f323361 crypto/ec/curve448/word.h
+e29e78402540a4eaa853b1b9931aba66be0fdf1c82c6334587a69235e42f759a crypto/ec/curve448/scalar.c
+606e5f72d40cef708cb4f7bbabc00bcd2b87fc0165854ade1b55ab2c021a8df2 crypto/ec/curve448/word.h
f4490c0b575b79e63a897b1e85a87ede2645a2c521e67db461b3192884450d9d crypto/ec/ec2_oct.c
5d3567b3b6d3922fd82641acff29ed12b1028e83eb0c175132ce7f3470b9db6c crypto/ec/ec2_smpl.c
a1f22814f501780591da20de5e724895438094824fce440fd026850c46ad8149 crypto/ec/ec_asn1.c
@@ -204,20 +204,20 @@ f38971ee893608f00d1ddd77d889aac9558509bda62d2e1b3eecd9bfa0c29095 crypto/ec/ecp_
99571b1724562bdb06b03fe1d7f6f19ffb7f1a9df543bf74127b54948957a7ce crypto/ec/ecx_backend.c
5ee19c357c318b2948ff5d9118a626a6207af2b2eade7d8536051d4a522668d3 crypto/ec/ecx_backend.h
8e50fd1e60ad1ac824e704375096e41f4ae535e533a3334d78c481e34d9d0fb8 crypto/ec/ecx_key.c
-3ba8412897cbf17881fbf23cec27a487b2c587348e1f859ec44e47f366877249 crypto/evp/asymcipher.c
+ed0217e7c2049b44a454b40e7e18385eadb34bce1bcf54337f420cbf988775da crypto/evp/asymcipher.c
1f64d4752074f954af4f290788e4332e3874ba3282bd03d3e1d1f5ce4b0888bc crypto/evp/dh_support.c
0e9e206dd4b179ad09e1475949ce9ddb5bce0e0d66072477d94b7788c57e70d9 crypto/evp/digest.c
4ffc3fc5ee5f0dcadf1516f1cc29338f0f4d85c59881c06d5a777cf4e47a6d5f crypto/evp/ec_support.c
8bf5ddf1c8e352a9f9241c7275d3a8cbbd633fc0f93f609158d15aee7af5a9d0 crypto/evp/evp_enc.c
8683c25d4bcb598375a04d4682399c9eef095225b49498afe819e5193e9cc117 crypto/evp/evp_fetch.c
-75855fc64e44e5bbfb728d85014c65e8b0668faee26f0901aaa729c16679dee8 crypto/evp/evp_lib.c
+6d9106f27ee707814e346879fda8008b75cb5714700060f65134a4fadff1c48c crypto/evp/evp_lib.c
e997e921669076c51e230ccb2e36b1c6755fe408c61b1177d2aa67529cab15f3 crypto/evp/evp_local.h
8963ef06e4d228f7067917434f60f0502dc4bbdf3b271649498b734f4074bfb0 crypto/evp/evp_rand.c
0bdae4714221662282dccd5b1f2485370d24e463c11bdbb71a310f34616954fe crypto/evp/evp_utils.c
8f4194bcc2e0de69236925aa7515bc31f36ed113dcd3cee5d71167ac770cdfdd crypto/evp/exchange.c
294284ad040fe4b74845f91b1903c961c757e1ef3fcc2ffa35f43f37f1655e64 crypto/evp/kdf_lib.c
532f0ff4ab32068f160016f39cd520fadfbd09b81b3b3b562bf543acafb38889 crypto/evp/kdf_meth.c
-4e60c9e37106b9c28d646f7234d857e8520da953ed7d319531467d334b77a72e crypto/evp/kem.c
+d911878128b90b98f3a4a1fb844ef3a20d35eafda3f80773dac8ce93c55bc352 crypto/evp/kem.c
84cebe10a50c88d0db12a90ad751eae43c7ba2954bc9f42f0c1490d66eac5bb8 crypto/evp/keymgmt_lib.c
80a5e310a3c3f551ca8e1992793ffbddc525274f90dbf4f36217b57acbc8bd94 crypto/evp/keymgmt_meth.c
15654f58c113d6eb7100caacd00ceae68113edfd6a921f6af1bea4040fa58f5d crypto/evp/mac_lib.c
@@ -227,22 +227,22 @@ daf742357baa65ba164c8bc34044d7bf92bc1f94b010a41a315411dd0fbf4471 crypto/evp/p_l
eb34179ed538e971dd4f27040bb5b17bf4e0958eaaca4abb4eb5b841486dec86 crypto/evp/pmeth_gn.c
09640d3d887c88f4989863330ce1d17516f07543155ce474e8bc4c01c152e80a crypto/evp/pmeth_lib.c
ba4ff38738cbcfd3841d53a2fab92227638ceca176d3ffe50e486c9dcbabb5dd crypto/evp/s_lib.c
-14fb1aa7c48123c39f762c930474318e2df6b130e3e2860ab845b5c0240b81a3 crypto/evp/signature.c
+cdeabcc155b3ca14afa3dbffea7dffbec528814a126a09e4253c25bf9fad2b77 crypto/evp/signature.c
30af153213f8b008955486000c5a92507dc694c4af9ac6ed6fef3f290efa3e52 crypto/evp/skeymgmt_meth.c
64f7e366e681930ba10267272b87dba223b9744a01c27ba0504a4941802a580d crypto/ex_data.c
d986ec74995b05ff65a68df320ab45894ba35d7be4906f8d78ca5fca294a4e6c crypto/ffc/ffc_backend.c
f4f84cade98907fa9905334b6c3c046b430b12b1460edac0617d82ca763620ab crypto/ffc/ffc_dh.c
854378f57707e31ad02cca6eec94369f91f327288d3665713e249c12f7b13211 crypto/ffc/ffc_key_generate.c
4e973d956d4ec2087994de8e963be1a512da1441f22e6e7b9cd7ee536e3ff834 crypto/ffc/ffc_key_validate.c
-e032f3d46830d31cd957e1f3917a6a663c5ad3b9d79fc3d661f025822318d0de crypto/ffc/ffc_params.c
+a1e87ba5b3aca0520fdac72b7a5ba408865fb85ed142c6b76514b39cc21adac4 crypto/ffc/ffc_params.c
bb208ef3a2c7ebdc518bd38f2f07a17cff356040f1c5d68eea13bd9275897a52 crypto/ffc/ffc_params_generate.c
e9a500ddbe96cb5b302fd2db74fac0924a6ac45732df5ee1c09e82b19d06ccfd crypto/ffc/ffc_params_validate.c
f172c8c2112ee82716a7bc3a3e05d5cc26188c66b9d768ac1ff906845063d2cc crypto/hashtable/hashfunc.c
-653d1f67e01ce0e9dca48cf513df9e8864a0985ce9bfb094fc3f09d591e6f062 crypto/hashtable/hashtable.c
+ed523d9793ff9db947857bca354067d17b8de5a4b28604dbf902320e62d93e33 crypto/hashtable/hashtable.c
7a9af0b14f1463b36de0689bc434a318adcb7990bb23862bf1d2a0adf510583a crypto/hmac/hmac.c
907dd44e0bf873eebefcb4d82975b72ecec9e0f3c348c79314450fdaa78d4073 crypto/hmac/hmac_local.h
0e2d6129504d15ffaf5baa63158ccec0e4b6193a8275333956d8f868ef35127e crypto/ia64cpuid.S
-c685813be6ad35b0861ba888670ef54aa2b399d003472698e39426de6e52db59 crypto/initthread.c
+29c020cf599c24ef9969a42e00e690a7b463c20dd90356b0a4117ca31b13db6f crypto/initthread.c
75cb26369ee61de428f1ce982460fe193684b8f87d8f29169329262502fa88af crypto/lhash/lhash.c
22261096a117533e78012f5f18586b6a81edb3e09ae8b206b5eb9a0a5c054adc crypto/lhash/lhash_local.h
899ba6a9049a61d5b175637907f747f58863cd8950409cefac8fbc8f574f970c crypto/loongarch64cpuid.pl
@@ -250,7 +250,7 @@ c685813be6ad35b0861ba888670ef54aa2b399d003472698e39426de6e52db59 crypto/initthr
f866aafae928db1b439ac950dc90744a2397dfe222672fe68b3798396190c8b0 crypto/mem_clr.c
23ff635daa1a3149e14de6c2a41b82a7587801581bdf39b8a82e9c624da95471 crypto/ml_dsa/ml_dsa_encoders.c
825105b0a2c4844b2b4229001650ff7e61e1348e52f1072210f70b97cd4adb71 crypto/ml_dsa/ml_dsa_hash.h
-6f241cb093fd426607d8402258acc81a4054e5c35d7bb13138f0d23a128b3413 crypto/ml_dsa/ml_dsa_key.c
+2fbef0188a8606c56f2ffffecfbbbd13ccd454c2af949d6e37fb7c929974f1d4 crypto/ml_dsa/ml_dsa_key.c
579c1a12a5c5f014476a6bf695dc271f63074fb187e23ffc3f9ccb5b7ea044f1 crypto/ml_dsa/ml_dsa_key.h
3f98eb0467033d0a40867ef1c1036dcfea5d231eeac2321196f7d7c7243edace crypto/ml_dsa/ml_dsa_key_compress.c
170292bfc8761e39b688ccfb21b3660af6e1a875aa38ff7448cc22f71f5874c5 crypto/ml_dsa/ml_dsa_local.h
@@ -290,17 +290,17 @@ ca4be187fc1805d498f2adb823509f0519e214644029c18d331b5b01a0891a9d crypto/modes/c
2a0ab07286b70ce4aa0caf3b5b4be2c00eed3a6d855e9542ae94d0e1f586b1e3 crypto/modes/ctr128.c
59be0f955b16434efc2618109a01571884c6876af785f1db5dad69786124b341 crypto/modes/gcm128.c
b431ff38c3a85943f71be0d76b063dbe2930967629b8721465b8152ab7867296 crypto/modes/ofb128.c
-02e7659d8776f5885ebbc25b930ddec046262f92c9e8fa7e093f2a6a8d973a3b crypto/modes/wrap128.c
+c5674daa4bbe66c2ac8044f83df67ddff8e0585ae091adde9ffe083f64e92a29 crypto/modes/wrap128.c
0a10e0cae6f4ac164afe97a64df09c8412145c8a25f387ff3a53ff7495572cbc crypto/modes/xts128.c
9a34ad9ae361f689b0b98c454092e89567d0bfc969c08a14c8001e60976920b2 crypto/modes/xts128gb.c
515e110e01867d6527bec758a264473b62cb7edff213816e2197faf6e96ec048 crypto/o_str.c
44594139dab6ada1f34f9c6887c97e258c1204b833a6c20f58097f17d0f1645e crypto/packet.c
-a108cacd961b0e5a95d279c737926afa4636d8b89a2a912593b01916ea3ce43d crypto/param_build.c
-cae7bd4973d36edbdc3bdd8d2c8d157f2c4fcfae00fdf821b67aebb789bc8aa6 crypto/param_build_set.c
+671b4c1211bd55bae70a2a2d1eca0c9c25a4428c30311ea9511427e345d5ab64 crypto/param_build.c
+d4fb8ecfed73be390c269bd16c76c1a9db6425d6d35787302b3b4c57e465b3db crypto/param_build_set.c
d362864eab6707ba2f4efd65c91dd90d669721f2d8fdebc875fd1d2957154396 crypto/params.c
c0e0ba07ca5d4acfe450e4ae53a10ed254097ed2f537f01a4a43a9f5b5cab501 crypto/params_dup.c
fc2432f5a76784d4ca47db1803c8b19acbaea26987f8e33dd8cc5571f8101b40 crypto/params_from_text.c
-f50450f7e5f6896fb8e3cde2fdc11cc543124c854ef9d88252a166606ca80081 crypto/params_idx.c
+ed6956c34da5127fbf8f1a067654b617c261039743a12fd1d296a1dd01b05c26 crypto/params_idx.c.in
1a81e7483e250ef96f7024f75be884b8830801b47cbdb2d4159637666681b350 crypto/ppccap.c
46fa4994a6234a98a2845d9337475913f6bc229f1928abc82224de7edf2784b8 crypto/ppccpuid.pl
42eff8da564cd8004f2d17fb01686d24977d931c37c7e6de693e7d414c2d7914 crypto/property/defn_cache.c
@@ -393,7 +393,7 @@ dfd99e02830973ab349409ac6ba0ee901ba7736216030965bd7e5a54356abd7c crypto/slh_dsa
c9b270de1259d9fa71a4d352786357bcf1dd3d22075edab84501e2f8e550b271 crypto/slh_dsa/slh_adrs.h
95d42ca839ff34a050a7006734a06c157ad259512c1a10b978e9f899efe69f12 crypto/slh_dsa/slh_dsa.c
ab7b580b1cba302c5675918b457794a3b3d00aac42297312d9447bc6f6a40b09 crypto/slh_dsa/slh_dsa_hash_ctx.c
-6a68c788eee184862cf90676324750fd4f17ca666b628ebc69b3b510d19ba819 crypto/slh_dsa/slh_dsa_key.c
+892a5ed5213c0898882bfc42f72be2864b363cd62d08a3b337c20b4fa557bef0 crypto/slh_dsa/slh_dsa_key.c
4c7981f7db69025f52495c549fb3b3a76be62b9e13072c3f3b7f1dedeaf8cc91 crypto/slh_dsa/slh_dsa_key.h
5dcb631891eb6afcd27a6b19d2de4d493c71dab159e53620d86d9b96642e97e8 crypto/slh_dsa/slh_dsa_local.h
adb3f4dea52396935b8442df7b36ed99324d3f3e8ce3fdf714d6dfd683e1f9f0 crypto/slh_dsa/slh_fors.c
@@ -415,9 +415,9 @@ cb214ad206ea69ab98d24a727a47d3a4c614fce709e6b7fe6997dbaeed92f0fc crypto/thread/
f06b08138d73b834471abc4a3ba43b2be838f7196c937c3e933694d6cd69f74d crypto/thread/arch/thread_win.c
55953eb5a84d03e8d915ee867ddf8ec8be8c5eb444ea0b21b12a040a57e2c2c1 crypto/thread/internal.c
2e5955d706b96c487e4875ffbe208fac15bdca06b33cee916d5343978c14efa1 crypto/threads_lib.c
-ca77056d184232d6fcfe39328ab0b887a4fc939913209717fca65898ebbd45c0 crypto/threads_none.c
-021afe4321ff954f3f4dd1b1d07a5e3e7778f7bccfaede08fab193d5752d9740 crypto/threads_pthread.c
-1915c5e3de649873745479df5cc365c38cf56ecb2fa21be6a053055f97013dce crypto/threads_win.c
+b3743dfd1c13fe70dc57a5a0b2ec540ab3afa748699eb6ef36f56f4d36d06ef3 crypto/threads_none.c
+7b97b0f57f6b7cac89c1b8bd03bee34fb39d33cfae1632e75571ba106a5b9442 crypto/threads_pthread.c
+9dac146cda57fb53d9b9eb30ff1fc81090f5e62dbe05d4cd97ed11cf501fc78c crypto/threads_win.c
93f8fe09f96492a6be6772ddbf0cc37912fc2a90acb7faea378da1735fe20f6f crypto/time.c
88c5f9f4d2611223d283ebd2ae10ae5ecbb9972d00f747d93fcb74b62641e3f9 crypto/x86_64cpuid.pl
085d9fe93adf232f1ff838be9235046c2c2abe2daeb0e6342921d8f2e955dc18 crypto/x86cpuid.pl
@@ -455,7 +455,7 @@ fd5e610fe38804f5de05931706b8efc717663a892f74aa6aee30301ff5e31a25 include/intern
d32565e2b426131dc2415e60a97c94570ca982d29ddd97d2e23d6b9f73b1d81c include/internal/common.h
8aa995b12b9fa877110526d5861a7c3403b95aa9d6338e7c3556c54882bad73b include/internal/constant_time.h
5170643b2ca16e894d94c9e9fcf8bd80843de0b6539b31b14bf0e4dcaff3f2a9 include/internal/core.h
-76dd589374b0cab4c0e1f84b576348113754068c1782ddc6cdba0bd483c79884 include/internal/cryptlib.h
+4295b7a3f366f5500cee45b0716fded3d9895b9efe6b8b6090efc5be000450d4 include/internal/cryptlib.h
cd215e01800987b008be87ccf85823fc98be0c578262a7720cbb6e9ac3dd81fa include/internal/deprecated.h
178940dc972f22a8a481a16fd63a86e7468e88cbaa1db5fd68c2b1ae64cb6865 include/internal/der.h
0dba4a6565caebfef82a8dc90d6ba208b2c61445123724769d5ee84ebbb0a610 include/internal/deterministic_nonce.h
@@ -479,7 +479,7 @@ eef3ec603b9877bd24a8fa1dbcd7752618fa74943b045515720bb0ca61394ae5 include/intern
ee75ecd35b3ae90c51ace957ab7ce06de3c7d5064b97a878241ff65cc943a6db include/internal/property.h
7aeac9a78efb9ea5147f639cd474e6c2538acc1b9d255ba19dc661fe22bcd94d include/internal/propertyerr.h
5b108c19f064ec47fffe1b3fe310d4693b6db3920b8cc2e5dc05595751ab0f3b include/internal/provider.h
-57b423f051395b14b52a5564dc6e4953765efc5539cee1ba01b35779e1408007 include/internal/rcu.h
+097ff0f3c25c99df484ec9defca0834fcbdab81ee7e4f40ddc64b95e845dc794 include/internal/rcu.h
b6e33da6011b2b74d27e39f27cf98e6f123fe47826562b6479d0dbd5c758c4c2 include/internal/refcount.h
f77c0844cc44bd92965647cd8cb6addb210f0300a8d1090da8c26e4382e87c2c include/internal/safe_math.h
7d5f4c3db807f108096590f28dd1ae92c05b2af25f827309157e727abb783e7a include/internal/sha3.h
@@ -500,7 +500,7 @@ a8fa7ddc1e54ca296bda9ee05a7a39bb7e803eb0567cc75a9b949b80cada7552 include/intern
77a9f9595cee6448c6217a8388127593a34a0d0a585197a5f8100fcb792f76ec include/openssl/asn1t.h.in
1af8a6c86dedb83887e9baae99ea7dba6576eeb6a991f62865b10d5efdd9d6fa include/openssl/bio.h.in
40491414172d977a4667589fa2f269d7deaae675555b8348d96f315d1a6253bb include/openssl/bioerr.h
-ab010281395418d482e30ddad9510e470c3420aea0c30f9072e3dc8516ac3037 include/openssl/bn.h
+bbf263e1e83951f12893f063fc7dd1e2c03773f109ee2262111b61b0a05fd696 include/openssl/bn.h
c506c9bfbac7368335fb2a8a627755ce2b8547a251d885242a89c9f8ff3bf079 include/openssl/bnerr.h
c70499c9109b083beb69d1b17807266b041d0ff28694d5bc1ab7cf2a59331c39 include/openssl/buffer.h
5bce6559638266f060eaa16b3b90738bbd5292d62230b6b3b1e22b88836a5030 include/openssl/buffererr.h
@@ -618,7 +618,7 @@ f2581d7b4e105f2bb6d30908f3c2d9959313be08cec6dbeb49030c125a7676d3 providers/fips
7b80823bb5613e17e8576789ec77712d89c81e7beb6ce50b58037e925e465abd providers/fips/include/fipscommon.h
c00c429b0e022db3ef9b08b3400627a1f268fb071e84d0538fb68c060da6a3db providers/fips/self_test.c
5c2c6c2f69e2eb01b88fa35630f27948e00dd2c2fd351735c74f34ccb2005cbe providers/fips/self_test.h
-df83c901ad13675fbbb4708b6087feba6099870ad3dd0e8d09cfdb6798419770 providers/fips/self_test_data.inc
+b2fbcd63fa91f8179e94a045bc1981e2b009f9d587b59559a1e0e7e85f28036d providers/fips/self_test_data.inc
aab0bbdaa8e70f6cf9c3871d62b1efc6029cbe386c5d6318d7bc730da0fa8f19 providers/fips/self_test_kats.c
d942921caa433ae9e62959b0ad1caad277b50d005ffc439c6d0e7b0886dba882 providers/implementations/asymciphers/rsa_enc.c
c2f1b12c64fc369dfc3b9bc9e76a76de7280e6429adaee55d332eb1971ad1879 providers/implementations/ciphers/cipher_aes.c
@@ -639,7 +639,7 @@ be18c20e0197f25fe7b9e0268657a2271a69d216b89cb100f082fa5fcaad1e07 providers/impl
60c4f604cf9b5457be48f31cc24ca21729660381081b2dbf99f362a013a09684 providers/implementations/ciphers/cipher_aes_gcm_hw_vaes_avx512.inc
e2886780637db72b12c9bc488d81647ed55a7f5c850efd4bdbf88ef7127e1913 providers/implementations/ciphers/cipher_aes_hw.c
89de794c090192459d99d95bc4a422e7782e62192cd0fdb3bdef4128cfedee68 providers/implementations/ciphers/cipher_aes_hw_aesni.inc
-d95dde2258887edca985237a0623855b49dd9e93d21407e9fcfe33497513be4c providers/implementations/ciphers/cipher_aes_ocb.c
+eac58fff6aa9918d657228c2707f1b3f0ef8f1210c97575f3c264db78bfd996f providers/implementations/ciphers/cipher_aes_ocb.c
88138a1aff9705e608c0557653be92eb4de65b152555a2b79ec8b2a8fae73e8f providers/implementations/ciphers/cipher_aes_ocb.h
6c3a89771719b36d6917d23464be5441836378393731af96ba165fd788df1a41 providers/implementations/ciphers/cipher_aes_ocb_hw.c
c7aac28a9dca1ad46e5bce4de93e07dffec1f89fab82394c3ff7cf1bda8b483f providers/implementations/ciphers/cipher_aes_wrp.c
@@ -664,7 +664,7 @@ c4b1cb143de15acc396ce2e03fdd165defd25ebc831de9cdfacf408ea883c666 providers/impl
39b47b6ef9d71852964c26e07ef0e9b23f04c7493b1b16ba7c3dba7074b6b70d providers/implementations/digests/digestcommon.c
ae449102b3434800656536ed7ede4a2786ec97350c01df8c45d0431c12e9e700 providers/implementations/digests/sha2_prov.c
20ae19c3d85d2e02780948c52ff5c2fd8e2593a001897ca47a47d23280dd579d providers/implementations/digests/sha3_prov.c
-3209da8f0fe174de1d7a1b1397902725e1c758ca8a0208a69cb32bc884de1874 providers/implementations/exchange/dh_exch.c
+5b2e4b63e416cc9cd81c27f7acd547df1c580838ac2051d6db56fa9d5569cc8f providers/implementations/exchange/dh_exch.c
e1b33fcc05c60254849b9a01e416885ce93ea9e315b9877ac7ab420003b2ec3c providers/implementations/exchange/ecdh_exch.c
d44c5a6d3156392757415f34afc1ab164fb0e9cd1e97977386d7cd13f3555df5 providers/implementations/exchange/ecx_exch.c
b1115636f53bf70f417b183cafeb6d38e230d11d8de731e6896ba60cc850d931 providers/implementations/exchange/kdf_exch.c
@@ -675,7 +675,7 @@ af38be5b3d16c3ced0028bc9b3fbe957a6a817e23967bacc7df65566ba107edb providers/impl
35596c97faf324823d19a01e1b5674c7a15f1a6e7ff1ef1c7d46400c2a68f63b providers/implementations/include/prov/digestcommon.h
1baf1c06b20a0eb8ec271452544922d67c1cc168dbe9853b259191de4bd99918 providers/implementations/include/prov/ecx.h
b0d1f6fc3c9220fe6d4656e487bad8df16b6f840054018b95b2752ea9aef822d providers/implementations/include/prov/hmac_drbg.h
-042271e95dd1e275027f84c87f56388a4daf44bbe5fcd694643f67fd711dd6af providers/implementations/include/prov/implementations.h
+3542340567e409ab68be299aac67cdb1045ab8e8987023d4fc3c209c9779a0ba providers/implementations/include/prov/implementations.h
05eedab6b16c80025f72281fa619d9480c437b800cb821b761fe4c05bc9d3af0 providers/implementations/include/prov/kdfexchange.h
4014246d44fa3f34aad5372c75d3f7eea528f1cf1798e30d5627e7620a356631 providers/implementations/include/prov/macsignature.h
b41c9a4e90d951a2d0e796b1cbbdbe8cb6fc18306d9b70be7a489249c11c294a providers/implementations/include/prov/ml_dsa.h
@@ -699,12 +699,12 @@ aa13d72bc69a374db72b6d44e2f2c2ddd5f7bddbe16b950e3c4666d876c63735 providers/impl
c0446d1b2101ddd977063516b87d23f424cdca33473f293db4c3974b674169b0 providers/implementations/keymgmt/dsa_kmgmt.c
2b98ba2124a86eae2adc7b88bfa26e47b548e9628b99180cc2cd841eed5ed8da providers/implementations/keymgmt/ec_kmgmt.c
258ae17bb2dd87ed1511a8eb3fe99eed9b77f5c2f757215ff6b3d0e8791fc251 providers/implementations/keymgmt/ec_kmgmt_imexport.inc
-f0a1b4c6599e6555c5784d6c036d2aae04cd01cd8d73a927505041e7df25125c providers/implementations/keymgmt/ecx_kmgmt.c
+167cd7df056bf46f3481cf6101fb6cfca55dea592f896c2b29649df1939885c4 providers/implementations/keymgmt/ecx_kmgmt.c
daf35a7ab961ef70aefca981d80407935904c5da39dca6692432d6e6bc98759d providers/implementations/keymgmt/kdf_legacy_kmgmt.c
69b509e9c7fe9692622d1059917c3adb991c0047e11bc116f0a393a3a0539445 providers/implementations/keymgmt/mac_legacy_kmgmt.c
3c63e65bd1a6a2e853828205c015a50c38a82f2fee9bf6787dce6dab7331bb91 providers/implementations/keymgmt/ml_dsa_kmgmt.c
-30db36c6fe6b4449179488da1761e219d0c772a8fb8e74c8411d1e0f57e4aed2 providers/implementations/keymgmt/ml_kem_kmgmt.c
-01d75c1eba93ed23f98130d6c308550d0ab2e44c5651101628861bc0238623d0 providers/implementations/keymgmt/mlx_kmgmt.c
+5c95eb8192483b2d81435e52aef6b2c96180bb22a67f717c29661a13b5861b02 providers/implementations/keymgmt/ml_kem_kmgmt.c
+f37c8b7bb59d4b199889044992cb1b18ad39f2eafc87029f5348c55a95195e8c providers/implementations/keymgmt/mlx_kmgmt.c
cd4b8129eaccbd77f9b6c725d3cb57b71109c4649115ec786b6495100afaddf2 providers/implementations/keymgmt/rsa_kmgmt.c
d640cff1c46911b69866eb83f48beba42a1741bb1d3f1db6e7201077a57761fc providers/implementations/keymgmt/slh_dsa_kmgmt.c
9d02d481b9c7c0c9e0932267d1a3e1fef00830aaa03093f000b88aa042972b9f providers/implementations/macs/cmac_prov.c
@@ -723,8 +723,8 @@ d10d611713a6d9aa5cdbe636f1ba90404043431fd1df01fc1a1ce8499bf96ad0 providers/impl
a837f69cb1aa5d0327372e26a63a8492b6ffb1156325f66e880c202011d07cbe providers/implementations/signature/eddsa_sig.c
e0e67e402ff19b0d2eb5228d7ebd70b9477c12595ac34d6f201373d7c8a516f4 providers/implementations/signature/mac_legacy_sig.c
51251a1ca4c0b6faea059de5d5268167fe47565163317177d09db39978134f78 providers/implementations/signature/ml_dsa_sig.c
-108a32d14483773f7e247f8a77dfcce08a682642d40b4e8e1594515a1fb31f98 providers/implementations/signature/rsa_sig.c
-14e7640b4db5e59e29b0266256d3d821adf871afa9703e18285f2fc957ac5971 providers/implementations/signature/slh_dsa_sig.c
+94725f9e466c60c710900ca9878196f359e8421f46d5fb62fda91f5f845caff3 providers/implementations/signature/rsa_sig.c
+539d3f55b8fd28826c786cb4e5c0e735173dc0faf268527ea007052be623cd37 providers/implementations/signature/slh_dsa_sig.c
21f537f9083f0341d9d1b0ace090a8d8f0b2b9e9cf76771c359b6ea00667a469 providers/implementations/skeymgmt/aes_skmgmt.c
2dbf9b8e738fad556c3248fb554ff4cc269ade3c86fa3d2786ba9b6d6016bf22 providers/implementations/skeymgmt/generic.c
9ba8db9b0e18847ef79ecb77fbc383d8762694be29dfb7d269df6f02dc977222 providers/implementations/skeymgmt/skeymgmt_lcl.h
diff --git a/crypto/openssl/providers/fips.checksum b/crypto/openssl/providers/fips.checksum
index 8e36de6cf70..7d8252550bd 100644
--- a/crypto/openssl/providers/fips.checksum
+++ b/crypto/openssl/providers/fips.checksum
@@ -1 +1 @@
-541f8f3eafccc78db022af2226f0d6501b43a3d96e2e23fd7dffb29a80d218b8 providers/fips-sources.checksums
+f24213807982cf5d2859d5d1b78caa54c249ec28725645d1af28f092d543962d providers/fips-sources.checksums
diff --git a/crypto/openssl/providers/fips.module.sources b/crypto/openssl/providers/fips.module.sources
index 03b97bf807f..5ee6c0dab20 100644
--- a/crypto/openssl/providers/fips.module.sources
+++ b/crypto/openssl/providers/fips.module.sources
@@ -300,7 +300,7 @@ crypto/param_build_set.c
crypto/params.c
crypto/params_dup.c
crypto/params_from_text.c
-crypto/params_idx.c
+crypto/params_idx.c.in
crypto/ppccap.c
crypto/ppccpuid.pl
crypto/property/defn_cache.c
diff --git a/crypto/openssl/providers/fips/self_test_data.inc b/crypto/openssl/providers/fips/self_test_data.inc
index 6abab0a7a17..4a0ce24cbb3 100644
--- a/crypto/openssl/providers/fips/self_test_data.inc
+++ b/crypto/openssl/providers/fips/self_test_data.inc
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -913,114 +913,113 @@ static const ST_KAT_DRBG st_kat_drbg_tests[] =
#ifndef OPENSSL_NO_DH
/* DH KAT */
static const unsigned char dh_priv[] = {
- 0x14, 0x33, 0xe0, 0xb5, 0xa9, 0x17, 0xb6, 0x0a,
- 0x30, 0x23, 0xf2, 0xf8, 0xaa, 0x2c, 0x2d, 0x70,
- 0xd2, 0x96, 0x8a, 0xba, 0x9a, 0xea, 0xc8, 0x15,
- 0x40, 0xb8, 0xfc, 0xe6
+ 0x01, 0x14, 0xf7, 0x53, 0x7a, 0x2e, 0xc7, 0x08,
+ 0x2e, 0x36, 0xf7, 0x38, 0x7a, 0xc9, 0xe4, 0x5b,
+ 0xac, 0x68, 0xc7, 0xf7, 0x20, 0x8d, 0xf0, 0x8a,
+ 0xee, 0x96, 0x67, 0x92, 0x8a
};
static const unsigned char dh_pub[] = {
- 0x00, 0x8f, 0x81, 0x67, 0x68, 0xce, 0x97, 0x99,
- 0x7e, 0x11, 0x5c, 0xad, 0x5b, 0xe1, 0x0c, 0xd4,
- 0x15, 0x44, 0xdf, 0xc2, 0x47, 0xe7, 0x06, 0x27,
- 0x5e, 0xf3, 0x9d, 0x5c, 0x4b, 0x2e, 0x35, 0x05,
- 0xfd, 0x3c, 0x8f, 0x35, 0x85, 0x1b, 0x82, 0xdd,
- 0x49, 0xc9, 0xa8, 0x7e, 0x3a, 0x5f, 0x33, 0xdc,
- 0x8f, 0x5e, 0x32, 0x76, 0xe1, 0x52, 0x1b, 0x88,
- 0x85, 0xda, 0xa9, 0x1d, 0x5f, 0x1c, 0x05, 0x3a,
- 0xd4, 0x8d, 0xbb, 0xe7, 0x46, 0x46, 0x1e, 0x29,
- 0x4b, 0x5a, 0x02, 0x88, 0x46, 0x94, 0xd0, 0x68,
- 0x7d, 0xb2, 0x9f, 0x3a, 0x3d, 0x82, 0x05, 0xe5,
- 0xa7, 0xbe, 0x6c, 0x7e, 0x24, 0x35, 0x25, 0x14,
- 0xf3, 0x45, 0x08, 0x90, 0xfc, 0x55, 0x2e, 0xa8,
- 0xb8, 0xb1, 0x89, 0x15, 0x94, 0x51, 0x44, 0xa9,
- 0x9f, 0x68, 0xcb, 0x90, 0xbc, 0xd3, 0xae, 0x02,
- 0x37, 0x26, 0xe4, 0xe9, 0x1a, 0x90, 0x95, 0x7e,
- 0x1d, 0xac, 0x0c, 0x91, 0x97, 0x83, 0x24, 0x83,
- 0xb9, 0xa1, 0x40, 0x72, 0xac, 0xf0, 0x55, 0x32,
- 0x18, 0xab, 0xb8, 0x90, 0xda, 0x13, 0x4a, 0xc8,
- 0x4b, 0x7c, 0x18, 0xbc, 0x33, 0xbf, 0x99, 0x85,
- 0x39, 0x3e, 0xc6, 0x95, 0x9b, 0x48, 0x8e, 0xbe,
- 0x46, 0x59, 0x48, 0x41, 0x0d, 0x37, 0x25, 0x94,
- 0xbe, 0x8d, 0xf5, 0x81, 0x52, 0xf6, 0xdc, 0xeb,
- 0x98, 0xd7, 0x3b, 0x44, 0x61, 0x6f, 0xa3, 0xef,
- 0x7b, 0xfe, 0xbb, 0xc2, 0x8e, 0x46, 0x63, 0xbc,
- 0x52, 0x65, 0xf9, 0xf8, 0x85, 0x41, 0xdf, 0x82,
- 0x4a, 0x10, 0x2a, 0xe3, 0x0c, 0xb7, 0xad, 0x84,
- 0xa6, 0x6f, 0x4e, 0x8e, 0x96, 0x1e, 0x04, 0xf7,
- 0x57, 0x39, 0xca, 0x58, 0xd4, 0xef, 0x5a, 0xf1,
- 0xf5, 0x69, 0xc2, 0xb1, 0x5c, 0x0a, 0xce, 0xbe,
- 0x38, 0x01, 0xb5, 0x3f, 0x07, 0x8a, 0x72, 0x90,
- 0x10, 0xac, 0x51, 0x3a, 0x96, 0x43, 0xdf, 0x6f,
- 0xea
+ 0x07, 0x21, 0x4b, 0x8d, 0x23, 0x75, 0x50, 0x84,
+ 0xaa, 0xec, 0x2f, 0xac, 0xae, 0x2a, 0xf4, 0xc1,
+ 0x25, 0xca, 0x0b, 0xee, 0x20, 0xaf, 0x3a, 0x2f,
+ 0xda, 0xf9, 0x5f, 0xce, 0x01, 0xb9, 0xd9, 0xc4,
+ 0x5f, 0x7c, 0xba, 0xd8, 0x46, 0xc6, 0xee, 0x0a,
+ 0x53, 0x80, 0x9d, 0x5c, 0x22, 0x75, 0xa9, 0xe5,
+ 0x3d, 0xfe, 0x31, 0x60, 0x4a, 0xe6, 0xd5, 0x18,
+ 0x02, 0x19, 0x0a, 0x80, 0xcd, 0x38, 0x35, 0x71,
+ 0x63, 0xe3, 0x1d, 0xe8, 0x96, 0xdb, 0x5e, 0x5b,
+ 0x23, 0x2f, 0x70, 0x5f, 0x4a, 0xf0, 0xf7, 0xf4,
+ 0xe8, 0x1f, 0x44, 0x5a, 0x4f, 0x22, 0xc5, 0x8b,
+ 0xc3, 0xc6, 0x48, 0x93, 0x50, 0xe1, 0x0f, 0x2f,
+ 0x73, 0xb9, 0xeb, 0xba, 0xe4, 0x8e, 0x35, 0x5c,
+ 0x67, 0xcf, 0xf8, 0xb0, 0x83, 0x19, 0xf3, 0xdb,
+ 0xb8, 0x80, 0xbc, 0x65, 0xcb, 0x8f, 0x91, 0x69,
+ 0x76, 0x06, 0xd9, 0xd7, 0xc1, 0x2b, 0xf9, 0x15,
+ 0x6b, 0x71, 0x76, 0x1e, 0xc8, 0x29, 0xb2, 0xc2,
+ 0x02, 0xc7, 0xef, 0x75, 0x74, 0x0f, 0xe6, 0x74,
+ 0x4a, 0x0b, 0x67, 0xbd, 0xa9, 0x44, 0x27, 0xa9,
+ 0x67, 0xf9, 0xbf, 0x6c, 0x97, 0xcf, 0xa3, 0x8b,
+ 0x1b, 0x74, 0x02, 0x45, 0x10, 0xf4, 0x0d, 0x6c,
+ 0x7b, 0x9d, 0x6c, 0xb9, 0xf9, 0xc9, 0xf5, 0x1a,
+ 0xb9, 0xe4, 0xc9, 0x44, 0xff, 0xaa, 0x20, 0xf2,
+ 0x73, 0xd0, 0x2e, 0xc9, 0xeb, 0xba, 0x19, 0x1a,
+ 0x22, 0xe8, 0x82, 0x3d, 0x15, 0x24, 0xa5, 0x39,
+ 0x9d, 0x9b, 0x1b, 0xf5, 0xb0, 0x4f, 0x06, 0xc0,
+ 0x87, 0x90, 0x8d, 0xcf, 0x19, 0xb5, 0xd5, 0xad,
+ 0xd4, 0x17, 0x9a, 0x94, 0x75, 0x42, 0xa1, 0xf3,
+ 0x35, 0x99, 0x3a, 0x1f, 0x68, 0x1c, 0x40, 0x52,
+ 0x7b, 0x5e, 0x39, 0xd5, 0x76, 0xdd, 0x18, 0x49,
+ 0xfc, 0xf2, 0x3c, 0x9c, 0x0e, 0x44, 0xa5, 0xc1,
+ 0x5a, 0x06, 0x46, 0x90, 0x13, 0x34, 0x04, 0x4f
};
static const unsigned char dh_peer_pub[] = {
- 0x1f, 0xc1, 0xda, 0x34, 0x1d, 0x1a, 0x84, 0x6a,
- 0x96, 0xb7, 0xbe, 0x24, 0x34, 0x0f, 0x87, 0x7d,
- 0xd0, 0x10, 0xaa, 0x03, 0x56, 0xd5, 0xad, 0x58,
- 0xaa, 0xe9, 0xc7, 0xb0, 0x8f, 0x74, 0x9a, 0x32,
- 0x23, 0x51, 0x10, 0xb5, 0xd8, 0x8e, 0xb5, 0xdb,
- 0xfa, 0x97, 0x8d, 0x27, 0xec, 0xc5, 0x30, 0xf0,
- 0x2d, 0x31, 0x14, 0x00, 0x5b, 0x64, 0xb1, 0xc0,
- 0xe0, 0x24, 0xcb, 0x8a, 0xe2, 0x16, 0x98, 0xbc,
- 0xa9, 0xe6, 0x0d, 0x42, 0x80, 0x86, 0x22, 0xf1,
- 0x81, 0xc5, 0x6e, 0x1d, 0xe7, 0xa9, 0x6e, 0x6e,
- 0xfe, 0xe9, 0xd6, 0x65, 0x67, 0xe9, 0x1b, 0x97,
- 0x70, 0x42, 0xc7, 0xe3, 0xd0, 0x44, 0x8f, 0x05,
- 0xfb, 0x77, 0xf5, 0x22, 0xb9, 0xbf, 0xc8, 0xd3,
- 0x3c, 0xc3, 0xc3, 0x1e, 0xd3, 0xb3, 0x1f, 0x0f,
- 0xec, 0xb6, 0xdb, 0x4f, 0x6e, 0xa3, 0x11, 0xe7,
- 0x7a, 0xfd, 0xbc, 0xd4, 0x7a, 0xee, 0x1b, 0xb1,
- 0x50, 0xf2, 0x16, 0x87, 0x35, 0x78, 0xfb, 0x96,
- 0x46, 0x8e, 0x8f, 0x9f, 0x3d, 0xe8, 0xef, 0xbf,
- 0xce, 0x75, 0x62, 0x4b, 0x1d, 0xf0, 0x53, 0x22,
- 0xa3, 0x4f, 0x14, 0x63, 0xe8, 0x39, 0xe8, 0x98,
- 0x4c, 0x4a, 0xd0, 0xa9, 0x6e, 0x1a, 0xc8, 0x42,
- 0xe5, 0x31, 0x8c, 0xc2, 0x3c, 0x06, 0x2a, 0x8c,
- 0xa1, 0x71, 0xb8, 0xd5, 0x75, 0x98, 0x0d, 0xde,
- 0x7f, 0xc5, 0x6f, 0x15, 0x36, 0x52, 0x38, 0x20,
- 0xd4, 0x31, 0x92, 0xbf, 0xd5, 0x1e, 0x8e, 0x22,
- 0x89, 0x78, 0xac, 0xa5, 0xb9, 0x44, 0x72, 0xf3,
- 0x39, 0xca, 0xeb, 0x99, 0x31, 0xb4, 0x2b, 0xe3,
- 0x01, 0x26, 0x8b, 0xc9, 0x97, 0x89, 0xc9, 0xb2,
- 0x55, 0x71, 0xc3, 0xc0, 0xe4, 0xcb, 0x3f, 0x00,
- 0x7f, 0x1a, 0x51, 0x1c, 0xbb, 0x53, 0xc8, 0x51,
- 0x9c, 0xdd, 0x13, 0x02, 0xab, 0xca, 0x6c, 0x0f,
- 0x34, 0xf9, 0x67, 0x39, 0xf1, 0x7f, 0xf4, 0x8b
+ 0x82, 0x32, 0x3a, 0x03, 0x60, 0x05, 0x11, 0xce,
+ 0x4b, 0xb3, 0xb6, 0x69, 0x0a, 0x75, 0x88, 0x73,
+ 0x42, 0x74, 0x8e, 0x54, 0xc9, 0x7c, 0xcf, 0xe9,
+ 0xfd, 0x85, 0x42, 0x33, 0xc1, 0x8a, 0x1b, 0x07,
+ 0x82, 0x26, 0x13, 0x1f, 0xe1, 0x74, 0x8c, 0x10,
+ 0x45, 0x9e, 0xf2, 0x50, 0xdf, 0x39, 0x55, 0x58,
+ 0x0b, 0xea, 0xc9, 0x1f, 0xae, 0x3e, 0xfb, 0xec,
+ 0x52, 0x5c, 0x4e, 0x69, 0x85, 0x83, 0x8d, 0x04,
+ 0x23, 0xaf, 0x6e, 0x33, 0x73, 0x96, 0x5e, 0xf8,
+ 0x05, 0xa3, 0x5b, 0xee, 0xe4, 0xf2, 0x8c, 0x03,
+ 0x59, 0xd2, 0x98, 0x78, 0xb3, 0xe3, 0xf5, 0x44,
+ 0xb6, 0x3d, 0x2a, 0x51, 0xf0, 0xcb, 0x29, 0x29,
+ 0x1b, 0x0e, 0xbc, 0xb1, 0xb4, 0x80, 0x8c, 0xbc,
+ 0xdf, 0x9c, 0x32, 0xcf, 0xbc, 0xe8, 0x18, 0x27,
+ 0xd7, 0x74, 0x9e, 0xa8, 0xed, 0x87, 0xb9, 0x4d,
+ 0x0b, 0x06, 0xad, 0x0e, 0x15, 0x83, 0x71, 0xcd,
+ 0x53, 0xd0, 0x54, 0x86, 0x03, 0xe4, 0x1e, 0x30,
+ 0x49, 0xaf, 0xec, 0x75, 0xe1, 0x6c, 0xa1, 0xad,
+ 0xee, 0x78, 0xf1, 0x4b, 0xf7, 0x70, 0x42, 0xbb,
+ 0x2f, 0xab, 0xc4, 0xa7, 0x31, 0x76, 0x77, 0x07,
+ 0x69, 0x73, 0xc0, 0xb2, 0xbf, 0x9b, 0x8b, 0xad,
+ 0xe7, 0x14, 0xe4, 0x28, 0x75, 0xef, 0x8f, 0x71,
+ 0x09, 0x7d, 0x87, 0xb1, 0x0e, 0x4f, 0xf5, 0xb1,
+ 0xd9, 0xdd, 0xe3, 0xd0, 0xe3, 0xa7, 0x93, 0x2c,
+ 0x81, 0x26, 0x9a, 0x71, 0x6d, 0x29, 0x63, 0x5b,
+ 0x63, 0x5c, 0x36, 0xd9, 0x56, 0x32, 0xfb, 0xaf,
+ 0x49, 0x97, 0x0c, 0xb8, 0x45, 0xa4, 0x40, 0x7d,
+ 0x25, 0x89, 0x9b, 0x71, 0xc2, 0x50, 0x8c, 0x35,
+ 0x63, 0xbc, 0x4f, 0x5c, 0x2f, 0x6d, 0x20, 0x7f,
+ 0xeb, 0x59, 0xce, 0x06, 0x69, 0xcd, 0x25, 0xe8,
+ 0x7b, 0x6e, 0x10, 0x88, 0x14, 0x72, 0x6f, 0x19,
+ 0x11, 0x1e, 0x36, 0xae, 0xaa, 0x54, 0xf9, 0xb4
};
static const unsigned char dh_secret_expected[256] = {
- 0xa0, 0x38, 0x64, 0x37, 0xdf, 0x2d, 0x2c, 0x78,
- 0x49, 0xb9, 0xa7, 0x77, 0xfb, 0xc1, 0x69, 0x94,
- 0x85, 0xc5, 0x5a, 0xbc, 0x8d, 0x43, 0x32, 0x23,
- 0x94, 0xf5, 0xba, 0xb4, 0x5f, 0x22, 0x4b, 0x4e,
- 0xc4, 0xfd, 0x89, 0x41, 0x56, 0x41, 0xe8, 0x9f,
- 0x2d, 0x0d, 0x26, 0x33, 0x60, 0x13, 0x8a, 0x20,
- 0xf1, 0x7e, 0xb3, 0x76, 0x38, 0x03, 0x0e, 0x48,
- 0x4f, 0x27, 0x8c, 0x32, 0xdb, 0x66, 0x5c, 0xbf,
- 0x7f, 0xc7, 0xeb, 0xc6, 0x2d, 0xfd, 0x00, 0x08,
- 0xb0, 0x98, 0x4e, 0xad, 0x68, 0x65, 0xca, 0x9e,
- 0x78, 0xe1, 0xaa, 0xb7, 0x8e, 0x08, 0x4d, 0x67,
- 0xa6, 0x15, 0x16, 0xbb, 0x41, 0xac, 0x15, 0xb5,
- 0x08, 0x92, 0x5d, 0x25, 0x1d, 0x7f, 0xf3, 0x1b,
- 0x5c, 0xea, 0x21, 0x6b, 0xe5, 0x00, 0x4d, 0xb6,
- 0x8e, 0xae, 0x84, 0xb4, 0xee, 0xf7, 0xcc, 0xdd,
- 0x64, 0x19, 0x4e, 0x25, 0xce, 0x37, 0x4f, 0xde,
- 0xb6, 0x21, 0xba, 0xd9, 0xc0, 0x7a, 0x87, 0xc7,
- 0x90, 0x0a, 0x78, 0x8b, 0xdd, 0xbc, 0x68, 0x77,
- 0x2d, 0xa6, 0xdf, 0x4d, 0x2e, 0xca, 0xdc, 0x86,
- 0xb6, 0x1e, 0x54, 0x2b, 0x3a, 0xa9, 0x52, 0x67,
- 0xf3, 0x1a, 0x35, 0xb7, 0x5a, 0xcd, 0x99, 0x59,
- 0xe9, 0x07, 0x6f, 0xd7, 0xd7, 0x96, 0x8a, 0x47,
- 0xdf, 0x9f, 0x51, 0x1b, 0x04, 0xa9, 0x45, 0x30,
- 0x89, 0x8a, 0x3f, 0x7e, 0xca, 0xfc, 0x05, 0x2d,
- 0x18, 0x77, 0x8f, 0x45, 0x25, 0x39, 0xdb, 0xf2,
- 0x13, 0x36, 0x31, 0xdb, 0x50, 0x65, 0x63, 0x4a,
- 0xae, 0x3e, 0xd1, 0x3e, 0xde, 0xc1, 0x32, 0x4b,
- 0x78, 0x19, 0x03, 0x70, 0x0a, 0xc2, 0xa2, 0x6f,
- 0x9b, 0xd4, 0xa6, 0x1d, 0x47, 0xf2, 0xa6, 0x91,
- 0x61, 0x4a, 0x74, 0xf8, 0x70, 0x39, 0x42, 0x72,
- 0xd5, 0x58, 0x7f, 0xcd, 0x16, 0xeb, 0x82, 0x0c,
- 0x2c, 0xf4, 0xd0, 0x95, 0x22, 0xf9, 0xbe, 0x99,
+ 0x79, 0x29, 0x11, 0x03, 0x5f, 0x31, 0xbb, 0x8d,
+ 0x6c, 0xeb, 0xc1, 0x46, 0xc7, 0x7d, 0xb9, 0x2b,
+ 0xf7, 0xde, 0x68, 0xb7, 0xd0, 0x2e, 0x18, 0xb9,
+ 0x5e, 0xfb, 0x67, 0x0f, 0x4a, 0x71, 0x9c, 0x33,
+ 0x2b, 0x64, 0xb9, 0x43, 0x1d, 0x5f, 0x9f, 0xb4,
+ 0xa2, 0xa7, 0x1a, 0xa5, 0x49, 0xf5, 0x53, 0x17,
+ 0xcd, 0x28, 0x28, 0x55, 0xe7, 0x85, 0xcb, 0xe4,
+ 0xca, 0x66, 0xe4, 0x8c, 0x55, 0xbc, 0xd7, 0x1c,
+ 0x15, 0xa0, 0xa5, 0xa4, 0x4c, 0xca, 0x2b, 0x37,
+ 0x4a, 0x5c, 0xda, 0xab, 0xc4, 0x1d, 0x8a, 0x78,
+ 0x2f, 0xc5, 0x99, 0xab, 0x13, 0x8a, 0xad, 0xf5,
+ 0xbb, 0x83, 0x45, 0x6d, 0xb4, 0x40, 0x64, 0x2f,
+ 0x6a, 0xeb, 0xf3, 0xc7, 0x6a, 0xf7, 0x35, 0xf5,
+ 0xf7, 0x06, 0xd5, 0x65, 0xf2, 0xe4, 0x93, 0x80,
+ 0xa1, 0x59, 0x79, 0x1f, 0x05, 0x6b, 0x24, 0xf0,
+ 0xbd, 0xcf, 0xa5, 0xa5, 0xcf, 0x43, 0x78, 0xbb,
+ 0x78, 0xb1, 0xed, 0x63, 0x01, 0x85, 0x48, 0x58,
+ 0xd3, 0x9f, 0xd9, 0xdc, 0xc6, 0x4a, 0x10, 0x19,
+ 0x78, 0x94, 0x8a, 0x95, 0x9b, 0xeb, 0xc4, 0x39,
+ 0xa7, 0xe8, 0xbe, 0x21, 0x9e, 0xcc, 0xc6, 0x6e,
+ 0x11, 0xc8, 0x57, 0x96, 0x47, 0xf7, 0x4f, 0xca,
+ 0x50, 0xc9, 0xeb, 0x1a, 0x8f, 0xad, 0xd6, 0x89,
+ 0x3c, 0xf3, 0xc3, 0x16, 0xdd, 0x30, 0x9b, 0xcb,
+ 0xbb, 0x53, 0x1a, 0xbb, 0x22, 0x6f, 0xf0, 0x57,
+ 0x3b, 0x2c, 0x04, 0xb1, 0x1d, 0x5d, 0x0e, 0xbc,
+ 0x2b, 0xec, 0x38, 0xc1, 0x46, 0x89, 0x57, 0x15,
+ 0xfb, 0x89, 0xe0, 0x09, 0xb0, 0x67, 0x58, 0xab,
+ 0x1a, 0x9f, 0x0b, 0x0a, 0x51, 0xc9, 0x8b, 0xdf,
+ 0x42, 0xd5, 0x35, 0xc2, 0x19, 0xc2, 0xb9, 0xcc,
+ 0x66, 0x2f, 0x61, 0x91, 0xbc, 0x42, 0x2d, 0x95,
+ 0xb9, 0x64, 0x29, 0x35, 0x8e, 0xcd, 0xda, 0xa3,
+ 0x8f, 0x85, 0x16, 0x52, 0x78, 0x0f, 0x48, 0xf5
};
static const char dh_ffdhe2048[] = "ffdhe2048";
diff --git a/crypto/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw_rv64i.inc b/crypto/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw_rv64i.inc
index 105ca58fd32..a824a6358cc 100644
--- a/crypto/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw_rv64i.inc
+++ b/crypto/openssl/providers/implementations/ciphers/cipher_aes_gcm_hw_rv64i.inc
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -103,10 +103,9 @@ static const PROV_GCM_HW rv64i_zvkb_zvkg_zvkned_gcm = {
};
const PROV_GCM_HW *ossl_prov_aes_hw_gcm(size_t keybits) {
- if (RISCV_HAS_ZVKNED()) {
- if (RISCV_HAS_ZVKB() && RISCV_HAS_ZVKG() && riscv_vlen() >= 128) {
+ if (RISCV_HAS_ZVKNED() && riscv_vlen() >= 128) {
+ if (RISCV_HAS_ZVKB() && RISCV_HAS_ZVKG())
return &rv64i_zvkb_zvkg_zvkned_gcm;
- }
return &rv64i_zvkned_gcm;
}
diff --git a/crypto/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c b/crypto/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
index 5bdc567b4bb..bf3275f97b3 100644
--- a/crypto/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
+++ b/crypto/openssl/providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/providers/implementations/ciphers/cipher_aes_siv.c b/crypto/openssl/providers/implementations/ciphers/cipher_aes_siv.c
index 754e0757cda..08a8ac079d3 100644
--- a/crypto/openssl/providers/implementations/ciphers/cipher_aes_siv.c
+++ b/crypto/openssl/providers/implementations/ciphers/cipher_aes_siv.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c b/crypto/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c
index faf14246668..8f4f7acfb6f 100644
--- a/crypto/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c
+++ b/crypto/openssl/providers/implementations/encode_decode/ml_dsa_codecs.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2025-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -27,103 +27,17 @@
* Private key bytes: 2560 (0x0a00)
*/
static const ML_COMMON_SPKI_FMT ml_dsa_44_spkifmt = {
- {
- 0x30,
- 0x82,
- 0x05,
- 0x32,
- 0x30,
- 0x0b,
- 0x06,
- 0x09,
- 0x60,
- 0x86,
- 0x48,
- 0x01,
- 0x65,
- 0x03,
- 0x04,
- 0x03,
- 0x11,
- 0x03,
- 0x82,
- 0x05,
- 0x21,
- 0x00,
- }
+ { 0x30, 0x82, 0x05, 0x32, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86,
+ 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x11, 0x03, 0x82, 0x05,
+ 0x21, 0x00 }
};
static const ML_COMMON_PKCS8_FMT ml_dsa_44_p8fmt[NUM_PKCS8_FORMATS] = {
- {
- "seed-priv",
- 0x0a2a,
- 0,
- 0x30820a26,
- 0x0420,
- 6,
- 0x20,
- 0x04820a00,
- 0x2a,
- 0x0a00,
- 0,
- 0,
- },
- {
- "priv-only",
- 0x0a04,
- 0,
- 0x04820a00,
- 0,
- 0,
- 0,
- 0,
- 0x04,
- 0x0a00,
- 0,
- 0,
- },
+ { "seed-priv", 0x0a2a, 0, 0x30820a26, 0x0420, 6, 0x20, 0x04820a00, 0x2a, 0x0a00, 0, 0 },
+ { "priv-only", 0x0a04, 0, 0x04820a00, 0, 0, 0, 0, 0x04, 0x0a00, 0, 0 },
{ "oqskeypair", 0x0f24, 0, 0x04820f20, 0, 0, 0, 0, 0x04, 0x0a00, 0x0a04, 0x0520 },
- {
- "seed-only",
- 0x0022,
- 2,
- 0x8020,
- 0,
- 2,
- 0x20,
- 0,
- 0,
- 0,
- 0,
- 0,
- },
- {
- "bare-priv",
- 0x0a00,
- 4,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0x0a00,
- 0,
- 0,
- },
- {
- "bare-seed",
- 0x0020,
- 4,
- 0,
- 0,
- 0,
- 0x20,
- 0,
- 0,
- 0,
- 0,
- 0,
- },
+ { "seed-only", 0x0022, 2, 0x8020, 0, 2, 0x20, 0, 0, 0, 0, 0 },
+ { "bare-priv", 0x0a00, 4, 0, 0, 0, 0, 0, 0, 0x0a00, 0, 0 },
+ { "bare-seed", 0x0020, 4, 0, 0, 0, 0x20, 0, 0, 0, 0, 0 },
};
/*
@@ -132,103 +46,17 @@ static const ML_COMMON_PKCS8_FMT ml_dsa_44_p8fmt[NUM_PKCS8_FORMATS] = {
* Private key bytes: 4032 (0x0fc0)
*/
static const ML_COMMON_SPKI_FMT ml_dsa_65_spkifmt = {
- {
- 0x30,
- 0x82,
- 0x07,
- 0xb2,
- 0x30,
- 0x0b,
- 0x06,
- 0x09,
- 0x60,
- 0x86,
- 0x48,
- 0x01,
- 0x65,
- 0x03,
- 0x04,
- 0x03,
- 0x12,
- 0x03,
- 0x82,
- 0x07,
- 0xa1,
- 0x00,
- }
+ { 0x30, 0x82, 0x07, 0xb2, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86,
+ 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x12, 0x03, 0x82, 0x07,
+ 0xa1, 0x00 }
};
static const ML_COMMON_PKCS8_FMT ml_dsa_65_p8fmt[NUM_PKCS8_FORMATS] = {
- {
- "seed-priv",
- 0x0fea,
- 0,
- 0x30820fe6,
- 0x0420,
- 6,
- 0x20,
- 0x04820fc0,
- 0x2a,
- 0x0fc0,
- 0,
- 0,
- },
- {
- "priv-only",
- 0x0fc4,
- 0,
- 0x04820fc0,
- 0,
- 0,
- 0,
- 0,
- 0x04,
- 0x0fc0,
- 0,
- 0,
- },
+ { "seed-priv", 0x0fea, 0, 0x30820fe6, 0x0420, 6, 0x20, 0x04820fc0, 0x2a, 0x0fc0, 0, 0 },
+ { "priv-only", 0x0fc4, 0, 0x04820fc0, 0, 0, 0, 0, 0x04, 0x0fc0, 0, 0 },
{ "oqskeypair", 0x1764, 0, 0x04821760, 0, 0, 0, 0, 0x04, 0x0fc0, 0x0fc4, 0x07a0 },
- {
- "seed-only",
- 0x0022,
- 2,
- 0x8020,
- 0,
- 2,
- 0x20,
- 0,
- 0,
- 0,
- 0,
- 0,
- },
- {
- "bare-priv",
- 0x0fc0,
- 4,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0x0fc0,
- 0,
- 0,
- },
- {
- "bare-seed",
- 0x0020,
- 4,
- 0,
- 0,
- 0,
- 0x20,
- 0,
- 0,
- 0,
- 0,
- 0,
- },
+ { "seed-only", 0x0022, 2, 0x8020, 0, 2, 0x20, 0, 0, 0, 0, 0 },
+ { "bare-priv", 0x0fc0, 4, 0, 0, 0, 0, 0, 0, 0x0fc0, 0, 0 },
+ { "bare-seed", 0x0020, 4, 0, 0, 0, 0x20, 0, 0, 0, 0, 0 },
};
/*-
@@ -237,103 +65,17 @@ static const ML_COMMON_PKCS8_FMT ml_dsa_65_p8fmt[NUM_PKCS8_FORMATS] = {
* Private key bytes: 4896 (0x1320)
*/
static const ML_COMMON_SPKI_FMT ml_dsa_87_spkifmt = {
- {
- 0x30,
- 0x82,
- 0x0a,
- 0x32,
- 0x30,
- 0x0b,
- 0x06,
- 0x09,
- 0x60,
- 0x86,
- 0x48,
- 0x01,
- 0x65,
- 0x03,
- 0x04,
- 0x03,
- 0x13,
- 0x03,
- 0x82,
- 0x0a,
- 0x21,
- 0x00,
- }
+ { 0x30, 0x82, 0x0a, 0x32, 0x30, 0x0b, 0x06, 0x09, 0x60, 0x86,
+ 0x48, 0x01, 0x65, 0x03, 0x04, 0x03, 0x13, 0x03, 0x82, 0x0a,
+ 0x21, 0x00 }
};
static const ML_COMMON_PKCS8_FMT ml_dsa_87_p8fmt[NUM_PKCS8_FORMATS] = {
- {
- "seed-priv",
- 0x134a,
- 0,
- 0x30821346,
- 0x0420,
- 6,
- 0x20,
- 0x04821320,
- 0x2a,
- 0x1320,
- 0,
- 0,
- },
- {
- "priv-only",
- 0x1324,
- 0,
- 0x04821320,
- 0,
- 0,
- 0,
- 0,
- 0x04,
- 0x1320,
- 0,
- 0,
- },
+ { "seed-priv", 0x134a, 0, 0x30821346, 0x0420, 6, 0x20, 0x04821320, 0x2a, 0x1320, 0, 0 },
+ { "priv-only", 0x1324, 0, 0x04821320, 0, 0, 0, 0, 0x04, 0x1320, 0, 0 },
{ "oqskeypair", 0x1d44, 0, 0x04821d40, 0, 0, 0, 0, 0x04, 0x1320, 0x1324, 0x0a20 },
- {
- "seed-only",
- 0x0022,
- 2,
- 0x8020,
- 0,
- 2,
- 0x20,
- 0,
- 0,
- 0,
- 0,
- 0,
- },
- {
- "bare-priv",
- 0x1320,
- 4,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0x1320,
- 0,
- 0,
- },
- {
- "bare-seed",
- 0x0020,
- 4,
- 0,
- 0,
- 0,
- 0x20,
- 0,
- 0,
- 0,
- 0,
- 0,
- },
+ { "seed-only", 0x0022, 2, 0x8020, 0, 2, 0x20, 0, 0, 0, 0, 0 },
+ { "bare-priv", 0x1320, 4, 0, 0, 0, 0, 0, 0, 0x1320, 0, 0 },
+ { "bare-seed", 0x0020, 4, 0, 0, 0, 0x20, 0, 0, 0, 0, 0 },
};
/* Indices of slots in the codec table below */
diff --git a/crypto/openssl/providers/implementations/encode_decode/ml_dsa_codecs.h b/crypto/openssl/providers/implementations/encode_decode/ml_dsa_codecs.h
index e05b54b1d0a..ededb2b0dcb 100644
--- a/crypto/openssl/providers/implementations/encode_decode/ml_dsa_codecs.h
+++ b/crypto/openssl/providers/implementations/encode_decode/ml_dsa_codecs.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2025-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -24,13 +24,9 @@ __owur ML_DSA_KEY *ossl_ml_dsa_d2i_PKCS8(const uint8_t *prvenc, int prvlen,
int evp_type, PROV_CTX *provctx,
const char *propq);
__owur int ossl_ml_dsa_key_to_text(BIO *out, const ML_DSA_KEY *key, int selection);
-__owur
- __owur int
- ossl_ml_dsa_i2d_pubkey(const ML_DSA_KEY *key, unsigned char **out);
-__owur
- __owur int
- ossl_ml_dsa_i2d_prvkey(const ML_DSA_KEY *key, unsigned char **out,
- PROV_CTX *provctx);
+__owur int ossl_ml_dsa_i2d_pubkey(const ML_DSA_KEY *key, unsigned char **out);
+__owur int ossl_ml_dsa_i2d_prvkey(const ML_DSA_KEY *key, unsigned char **out,
+ PROV_CTX *provctx);
#endif /* OPENSSL_NO_ML_DSA */
#endif /* PROV_ML_DSA_CODECS_H */
diff --git a/crypto/openssl/providers/implementations/encode_decode/ml_kem_codecs.h b/crypto/openssl/providers/implementations/encode_decode/ml_kem_codecs.h
index 01ef8bbba50..b9add59bb12 100644
--- a/crypto/openssl/providers/implementations/encode_decode/ml_kem_codecs.h
+++ b/crypto/openssl/providers/implementations/encode_decode/ml_kem_codecs.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2025-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -24,13 +24,9 @@ __owur ML_KEM_KEY *ossl_ml_kem_d2i_PKCS8(const uint8_t *prvenc, int prvlen,
int evp_type, PROV_CTX *provctx,
const char *propq);
__owur int ossl_ml_kem_key_to_text(BIO *out, const ML_KEM_KEY *key, int selection);
-__owur
- __owur int
- ossl_ml_kem_i2d_pubkey(const ML_KEM_KEY *key, unsigned char **out);
-__owur
- __owur int
- ossl_ml_kem_i2d_prvkey(const ML_KEM_KEY *key, unsigned char **out,
- PROV_CTX *provctx);
+__owur int ossl_ml_kem_i2d_pubkey(const ML_KEM_KEY *key, unsigned char **out);
+__owur int ossl_ml_kem_i2d_prvkey(const ML_KEM_KEY *key, unsigned char **out,
+ PROV_CTX *provctx);
#endif /* OPENSSL_NO_ML_KEM */
#endif /* PROV_ML_KEM_CODECS_H */
diff --git a/crypto/openssl/providers/implementations/exchange/dh_exch.c b/crypto/openssl/providers/implementations/exchange/dh_exch.c
index 2bfefc0aedf..243ffc6bdcf 100644
--- a/crypto/openssl/providers/implementations/exchange/dh_exch.c
+++ b/crypto/openssl/providers/implementations/exchange/dh_exch.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/providers/implementations/include/prov/implementations.h b/crypto/openssl/providers/implementations/include/prov/implementations.h
index 8acfbb4624d..058ec9d499d 100644
--- a/crypto/openssl/providers/implementations/include/prov/implementations.h
+++ b/crypto/openssl/providers/implementations/include/prov/implementations.h
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -264,7 +264,9 @@ extern const OSSL_DISPATCH ossl_kmac256_internal_functions[];
#endif
extern const OSSL_DISPATCH ossl_kmac128_functions[];
extern const OSSL_DISPATCH ossl_kmac256_functions[];
+#ifndef OPENSSL_NO_SIPHASH
extern const OSSL_DISPATCH ossl_siphash_functions[];
+#endif
extern const OSSL_DISPATCH ossl_poly1305_functions[];
/* KDFs / PRFs */
diff --git a/crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c b/crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
index 36bea3a48fd..54af7a6a395 100644
--- a/crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
+++ b/crypto/openssl/providers/implementations/keymgmt/ecx_kmgmt.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2020-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -35,6 +35,7 @@ static OSSL_FUNC_keymgmt_new_fn x25519_new_key;
static OSSL_FUNC_keymgmt_new_fn x448_new_key;
static OSSL_FUNC_keymgmt_new_fn ed25519_new_key;
static OSSL_FUNC_keymgmt_new_fn ed448_new_key;
+static OSSL_FUNC_keymgmt_free_fn ecx_free_key;
static OSSL_FUNC_keymgmt_gen_init_fn x25519_gen_init;
static OSSL_FUNC_keymgmt_gen_init_fn x448_gen_init;
static OSSL_FUNC_keymgmt_gen_init_fn ed25519_gen_init;
@@ -1007,10 +1008,15 @@ static int ed448_validate(const void *keydata, int selection, int checktype)
return ecx_validate(keydata, selection, ECX_KEY_TYPE_ED448, ED448_KEYLEN);
}
+static void ecx_free_key(void *keydata)
+{
+ ossl_ecx_key_free((ECX_KEY *)keydata);
+}
+
#define MAKE_KEYMGMT_FUNCTIONS(alg) \
const OSSL_DISPATCH ossl_##alg##_keymgmt_functions[] = { \
{ OSSL_FUNC_KEYMGMT_NEW, (void (*)(void))alg##_new_key }, \
- { OSSL_FUNC_KEYMGMT_FREE, (void (*)(void))ossl_ecx_key_free }, \
+ { OSSL_FUNC_KEYMGMT_FREE, (void (*)(void))ecx_free_key }, \
{ OSSL_FUNC_KEYMGMT_GET_PARAMS, (void (*)(void))alg##_get_params }, \
{ OSSL_FUNC_KEYMGMT_GETTABLE_PARAMS, (void (*)(void))alg##_gettable_params }, \
{ OSSL_FUNC_KEYMGMT_SET_PARAMS, (void (*)(void))alg##_set_params }, \
@@ -1160,38 +1166,10 @@ static void *s390x_ecd_keygen25519(struct ecx_gen_ctx *gctx)
0xfe, 0x53, 0x6e, 0xcd, 0xd3, 0x36, 0x69, 0x21
};
static const unsigned char generator_y[] = {
- 0x58,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
- 0x66,
+ 0x58, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66
};
unsigned char x_dst[32], buff[SHA512_DIGEST_LENGTH];
ECX_KEY *key = ossl_ecx_key_new(gctx->libctx, ECX_KEY_TYPE_ED25519, 1,
diff --git a/crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c b/crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
index 7884f40ae58..d95f021eef7 100644
--- a/crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
+++ b/crypto/openssl/providers/implementations/keymgmt/ml_kem_kmgmt.c
@@ -28,6 +28,7 @@
static OSSL_FUNC_keymgmt_new_fn ml_kem_512_new;
static OSSL_FUNC_keymgmt_new_fn ml_kem_768_new;
static OSSL_FUNC_keymgmt_new_fn ml_kem_1024_new;
+static OSSL_FUNC_keymgmt_free_fn ml_kem_free_key;
static OSSL_FUNC_keymgmt_gen_fn ml_kem_gen;
static OSSL_FUNC_keymgmt_gen_init_fn ml_kem_512_gen_init;
static OSSL_FUNC_keymgmt_gen_init_fn ml_kem_768_gen_init;
@@ -814,6 +815,11 @@ static void *ml_kem_dup(const void *vkey, int selection)
return ossl_ml_kem_key_dup(key, selection);
}
+static void ml_kem_free_key(void *keydata)
+{
+ ossl_ml_kem_key_free((ML_KEM_KEY *)keydata);
+}
+
#ifndef FIPS_MODULE
#define DISPATCH_LOAD_FN \
{ OSSL_FUNC_KEYMGMT_LOAD, (OSSL_FUNC)ml_kem_load },
@@ -834,7 +840,7 @@ static void *ml_kem_dup(const void *vkey, int selection)
} \
const OSSL_DISPATCH ossl_ml_kem_##bits##_keymgmt_functions[] = { \
{ OSSL_FUNC_KEYMGMT_NEW, (OSSL_FUNC)ml_kem_##bits##_new }, \
- { OSSL_FUNC_KEYMGMT_FREE, (OSSL_FUNC)ossl_ml_kem_key_free }, \
+ { OSSL_FUNC_KEYMGMT_FREE, (OSSL_FUNC)ml_kem_free_key }, \
{ OSSL_FUNC_KEYMGMT_GET_PARAMS, (OSSL_FUNC)ml_kem_get_params }, \
{ OSSL_FUNC_KEYMGMT_GETTABLE_PARAMS, (OSSL_FUNC)ml_kem_gettable_params }, \
{ OSSL_FUNC_KEYMGMT_SET_PARAMS, (OSSL_FUNC)ml_kem_set_params }, \
diff --git a/crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c b/crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
index 46ed63039ec..5d1902ce637 100644
--- a/crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
+++ b/crypto/openssl/providers/implementations/keymgmt/mlx_kmgmt.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2024-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2024-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -733,15 +733,17 @@ static void *mlx_kem_dup(const void *vkey, int selection)
|| (ret = OPENSSL_memdup(key, sizeof(*ret))) == NULL)
return NULL;
- if (ret->propq != NULL
- && (ret->propq = OPENSSL_strdup(ret->propq)) == NULL) {
+ ret->mkey = ret->xkey = NULL;
+
+ if (key->propq != NULL
+ && (ret->propq = OPENSSL_strdup(key->propq)) == NULL) {
OPENSSL_free(ret);
return NULL;
}
/* Absent key material, nothing left to do */
- if (ret->mkey == NULL) {
- if (ret->xkey == NULL)
+ if (key->mkey == NULL) {
+ if (key->xkey == NULL)
return ret;
/* Fail if the source key is an inconsistent state */
OPENSSL_free(ret->propq);
@@ -751,7 +753,6 @@ static void *mlx_kem_dup(const void *vkey, int selection)
switch (selection & OSSL_KEYMGMT_SELECT_KEYPAIR) {
case 0:
- ret->xkey = ret->mkey = NULL;
ret->state = MLX_HAVE_NOKEYS;
return ret;
case OSSL_KEYMGMT_SELECT_KEYPAIR:
diff --git a/crypto/openssl/providers/implementations/macs/poly1305_prov.c b/crypto/openssl/providers/implementations/macs/poly1305_prov.c
index 2ee237531e6..22ff0a28373 100644
--- a/crypto/openssl/providers/implementations/macs/poly1305_prov.c
+++ b/crypto/openssl/providers/implementations/macs/poly1305_prov.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2018-2023 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2018-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -38,6 +38,7 @@ static OSSL_FUNC_mac_final_fn poly1305_final;
struct poly1305_data_st {
void *provctx;
int updated;
+ int key_set;
POLY1305 poly1305; /* Poly1305 data */
};
@@ -87,6 +88,7 @@ static int poly1305_setkey(struct poly1305_data_st *ctx,
}
Poly1305_Init(&ctx->poly1305, key);
ctx->updated = 0;
+ ctx->key_set = 1;
return 1;
}
@@ -125,6 +127,10 @@ static int poly1305_final(void *vmacctx, unsigned char *out, size_t *outl,
if (!ossl_prov_is_running())
return 0;
+ if (!ctx->key_set) {
+ ERR_raise(ERR_LIB_PROV, PROV_R_NO_KEY_SET);
+ return 0;
+ }
ctx->updated = 1;
Poly1305_Final(&ctx->poly1305, out);
*outl = poly1305_size();
diff --git a/crypto/openssl/providers/implementations/signature/rsa_sig.c b/crypto/openssl/providers/implementations/signature/rsa_sig.c
index fcdfebbbffd..28f3e15b598 100644
--- a/crypto/openssl/providers/implementations/signature/rsa_sig.c
+++ b/crypto/openssl/providers/implementations/signature/rsa_sig.c
@@ -977,8 +977,19 @@ static int rsa_verify_recover(void *vprsactx,
break;
case RSA_PKCS1_PADDING: {
+ int mdsize = EVP_MD_get_size(prsactx->md);
size_t sltmp;
+ if (mdsize <= 0) {
+ ERR_raise(ERR_LIB_PROV, PROV_R_INVALID_DIGEST_LENGTH);
+ return 0;
+ }
+ if (routsize < (size_t)mdsize) {
+ ERR_raise_data(ERR_LIB_PROV, PROV_R_OUTPUT_BUFFER_TOO_SMALL,
+ "buffer size is %d, should be %d",
+ routsize, mdsize);
+ return 0;
+ }
ret = ossl_rsa_verify(prsactx->mdnid, NULL, 0, rout, &sltmp,
sig, siglen, prsactx->rsa);
if (ret <= 0) {
@@ -994,7 +1005,15 @@ static int rsa_verify_recover(void *vprsactx,
return 0;
}
} else {
- ret = RSA_public_decrypt(siglen, sig, rout, prsactx->rsa,
+ int rsasize = RSA_size(prsactx->rsa);
+
+ if (routsize < (size_t)rsasize) {
+ ERR_raise_data(ERR_LIB_PROV, PROV_R_OUTPUT_BUFFER_TOO_SMALL,
+ "buffer size is %d, should be %d",
+ routsize, rsasize);
+ return 0;
+ }
+ ret = RSA_public_decrypt((int)siglen, sig, rout, prsactx->rsa,
prsactx->pad_mode);
if (ret <= 0) {
ERR_raise(ERR_LIB_PROV, ERR_R_RSA_LIB);
diff --git a/crypto/openssl/providers/implementations/signature/slh_dsa_sig.c b/crypto/openssl/providers/implementations/signature/slh_dsa_sig.c
index c2ee2e6bed8..c6d4e04c1b8 100644
--- a/crypto/openssl/providers/implementations/signature/slh_dsa_sig.c
+++ b/crypto/openssl/providers/implementations/signature/slh_dsa_sig.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2024-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2024-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -222,8 +222,9 @@ static int slh_dsa_sign(void *vctx, unsigned char *sig, size_t *siglen,
ctx->context_string, ctx->context_string_len,
opt_rand, ctx->msg_encode,
sig, siglen, sigsize);
- if (opt_rand != add_rand)
- OPENSSL_cleanse(opt_rand, n);
+ /* Only cleanse the temporary buffer generated for this signature. */
+ if (opt_rand == add_rand)
+ OPENSSL_cleanse(add_rand, sizeof(add_rand));
return ret;
}
diff --git a/crypto/openssl/ssl/quic/quic_ackm.c b/crypto/openssl/ssl/quic/quic_ackm.c
index 503a6eae19e..58318a123a8 100644
--- a/crypto/openssl/ssl/quic/quic_ackm.c
+++ b/crypto/openssl/ssl/quic/quic_ackm.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -117,6 +117,8 @@ tx_pkt_history_add_actual(struct tx_pkt_history_st *h,
return 0;
lh_OSSL_ACKM_TX_PKT_insert(h->map, pkt);
+ if (lh_OSSL_ACKM_TX_PKT_error(h->map))
+ return 0;
ossl_list_tx_history_insert_tail(&h->packets, pkt);
return 1;
diff --git a/crypto/openssl/ssl/quic/quic_cfq.c b/crypto/openssl/ssl/quic/quic_cfq.c
index 16818e55f57..1782828c17d 100644
--- a/crypto/openssl/ssl/quic/quic_cfq.c
+++ b/crypto/openssl/ssl/quic/quic_cfq.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/ssl/quic/quic_channel.c b/crypto/openssl/ssl/quic/quic_channel.c
index 5f81a8560d5..9534cbcaf7f 100644
--- a/crypto/openssl/ssl/quic/quic_channel.c
+++ b/crypto/openssl/ssl/quic/quic_channel.c
@@ -3628,7 +3628,6 @@ static void ch_on_idle_timeout(QUIC_CHANNEL *ch)
* @return 1 on success, 0 on failure to set required elements.
*/
static int ch_on_new_conn_common(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
- const QUIC_CONN_ID *peer_scid,
const QUIC_CONN_ID *peer_dcid,
const QUIC_CONN_ID *peer_odcid)
{
@@ -3637,7 +3636,6 @@ static int ch_on_new_conn_common(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
return 0;
ch->init_dcid = *peer_dcid;
- ch->cur_remote_dcid = *peer_scid;
ch->odcid.id_len = 0;
if (peer_odcid != NULL)
@@ -3681,7 +3679,6 @@ static int ch_on_new_conn_common(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
/* Called when we, as a server, get a new incoming connection. */
int ossl_quic_channel_on_new_conn(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
- const QUIC_CONN_ID *peer_scid,
const QUIC_CONN_ID *peer_dcid)
{
if (!ossl_assert(ch->state == QUIC_CHANNEL_STATE_IDLE && ch->is_server))
@@ -3691,7 +3688,7 @@ int ossl_quic_channel_on_new_conn(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
if (!ossl_quic_lcidm_generate_initial(ch->lcidm, ch, &ch->cur_local_cid))
return 0;
- return ch_on_new_conn_common(ch, peer, peer_scid, peer_dcid, NULL);
+ return ch_on_new_conn_common(ch, peer, peer_dcid, NULL);
}
/**
@@ -3718,7 +3715,6 @@ int ossl_quic_channel_on_new_conn(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
* met (e.g., channel is not idle or not a server, or binding fails).
*/
int ossl_quic_bind_channel(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
- const QUIC_CONN_ID *peer_scid,
const QUIC_CONN_ID *peer_dcid,
const QUIC_CONN_ID *peer_odcid)
{
@@ -3736,7 +3732,7 @@ int ossl_quic_bind_channel(QUIC_CHANNEL *ch, const BIO_ADDR *peer,
* peer_odcid <=> is initial dst conn id chosen by peer in its
* first initial packet we received without token.
*/
- return ch_on_new_conn_common(ch, peer, peer_scid, peer_dcid, peer_odcid);
+ return ch_on_new_conn_common(ch, peer, peer_dcid, peer_odcid);
}
SSL *ossl_quic_channel_get0_ssl(QUIC_CHANNEL *ch)
@@ -4070,3 +4066,13 @@ uint64_t ossl_quic_channel_get_max_idle_timeout_actual(const QUIC_CHANNEL *ch)
{
return ch->max_idle_timeout;
}
+
+uint64_t ossl_quic_channel_get_path_challenge_count(const QUIC_CHANNEL *ch)
+{
+ return ch->path_challenge_rx;
+}
+
+uint64_t ossl_quic_channel_get_path_response_count(const QUIC_CHANNEL *ch)
+{
+ return ch->path_response_tx;
+}
diff --git a/crypto/openssl/ssl/quic/quic_channel_local.h b/crypto/openssl/ssl/quic/quic_channel_local.h
index e40b4901cbc..eb082d6cea7 100644
--- a/crypto/openssl/ssl/quic/quic_channel_local.h
+++ b/crypto/openssl/ssl/quic/quic_channel_local.h
@@ -506,6 +506,10 @@ struct quic_channel_st {
* from control frame queue (CFQ)
*/
unsigned int path_response_limit;
+ /* number of path challenge frames received */
+ unsigned int path_challenge_rx;
+ /* number of path response frames sent */
+ unsigned int path_response_tx;
};
#endif
diff --git a/crypto/openssl/ssl/quic/quic_fifd.c b/crypto/openssl/ssl/quic/quic_fifd.c
index e80483b501d..8daaa472200 100644
--- a/crypto/openssl/ssl/quic/quic_fifd.c
+++ b/crypto/openssl/ssl/quic/quic_fifd.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/ssl/quic/quic_impl.c b/crypto/openssl/ssl/quic/quic_impl.c
index a8f9ac92c2a..97efa4908a4 100644
--- a/crypto/openssl/ssl/quic/quic_impl.c
+++ b/crypto/openssl/ssl/quic/quic_impl.c
@@ -681,6 +681,9 @@ static void quic_unref_port_bios(QUIC_PORT *port)
{
BIO *b;
+ if (port == NULL)
+ return;
+
b = ossl_quic_port_get_net_rbio(port);
BIO_free_all(b);
@@ -1818,6 +1821,7 @@ static int create_channel(QUIC_CONNECTION *qc, SSL_CTX *ctx)
if (qc->port == NULL) {
QUIC_RAISE_NON_NORMAL_ERROR(NULL, ERR_R_INTERNAL_ERROR, NULL);
ossl_quic_engine_free(qc->engine);
+ qc->engine = NULL;
return 0;
}
@@ -1825,7 +1829,9 @@ static int create_channel(QUIC_CONNECTION *qc, SSL_CTX *ctx)
if (qc->ch == NULL) {
QUIC_RAISE_NON_NORMAL_ERROR(NULL, ERR_R_INTERNAL_ERROR, NULL);
ossl_quic_port_free(qc->port);
+ qc->port = NULL;
ossl_quic_engine_free(qc->engine);
+ qc->engine = NULL;
return 0;
}
@@ -4008,14 +4014,14 @@ static void quic_classify_stream(QUIC_CONNECTION *qc,
uint64_t *app_error_code)
{
int local_init;
- uint64_t final_size;
+ uint64_t scratch_pad; /* throw away value */
local_init = (ossl_quic_stream_is_server_init(qs) == qc->as_server);
if (app_error_code != NULL)
*app_error_code = UINT64_MAX;
else
- app_error_code = &final_size; /* throw away value */
+ app_error_code = &scratch_pad;
if (!ossl_quic_stream_is_bidi(qs) && local_init != is_write) {
/*
@@ -4048,7 +4054,7 @@ static void quic_classify_stream(QUIC_CONNECTION *qc,
*app_error_code = !is_write
? qs->peer_reset_stream_aec
: qs->peer_stop_sending_aec;
- } else if (is_write && ossl_quic_sstream_get_final_size(qs->sstream, &final_size)) {
+ } else if (is_write && qs->have_final_size) {
/*
* Stream has been finished. Stream reset takes precedence over this for
* the write case as peer may not have received all data.
@@ -4292,7 +4298,7 @@ SSL *ossl_quic_new_listener(SSL_CTX *ctx, uint64_t flags)
if ((ql = OPENSSL_zalloc(sizeof(*ql))) == NULL) {
QUIC_RAISE_NON_NORMAL_ERROR(NULL, ERR_R_CRYPTO_LIB, NULL);
- goto err;
+ return NULL;
}
#if defined(OPENSSL_THREADS)
@@ -4340,8 +4346,8 @@ SSL *ossl_quic_new_listener(SSL_CTX *ctx, uint64_t flags)
return &ql->obj.ssl;
err:
- if (ql != NULL)
- ossl_quic_engine_free(ql->engine);
+ ossl_quic_port_free(ql->port);
+ ossl_quic_engine_free(ql->engine);
#if defined(OPENSSL_THREADS)
ossl_crypto_mutex_free(&ql->mutex);
@@ -4488,7 +4494,7 @@ SSL *ossl_quic_new_from_listener(SSL *ssl, uint64_t flags)
#endif
/* Create the handshake layer. */
- qc->tls = ossl_ssl_connection_new_int(ql->obj.ssl.ctx, NULL, TLS_method());
+ qc->tls = ossl_ssl_connection_new_int(ql->obj.ssl.ctx, &qc->obj.ssl, TLS_method());
if (qc->tls == NULL || (sc = SSL_CONNECTION_FROM_SSL(qc->tls)) == NULL) {
QUIC_RAISE_NON_NORMAL_ERROR(NULL, ERR_R_INTERNAL_ERROR, NULL);
goto err;
diff --git a/crypto/openssl/ssl/quic/quic_port.c b/crypto/openssl/ssl/quic/quic_port.c
index dc79485b96a..200022ac2c5 100644
--- a/crypto/openssl/ssl/quic/quic_port.c
+++ b/crypto/openssl/ssl/quic/quic_port.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2023-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2023-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -549,9 +549,10 @@ static QUIC_CHANNEL *port_make_channel(QUIC_PORT *port, SSL *tls, OSSL_QRX *qrx,
* If we're using qlog, make sure the tls get further configured properly
*/
ch->use_qlog = 1;
- if (ch->tls->ctx->qlog_title != NULL) {
+ if (ch->tls != NULL && ch->tls->ctx->qlog_title != NULL) {
+ OPENSSL_free(ch->qlog_title);
if ((ch->qlog_title = OPENSSL_strdup(ch->tls->ctx->qlog_title)) == NULL) {
- OPENSSL_free(ch);
+ ossl_quic_channel_free(ch);
return NULL;
}
}
@@ -729,7 +730,7 @@ static void port_rx_pre(QUIC_PORT *port)
* to *new_ch.
*/
static void port_bind_channel(QUIC_PORT *port, const BIO_ADDR *peer,
- const QUIC_CONN_ID *scid, const QUIC_CONN_ID *dcid,
+ const QUIC_CONN_ID *dcid,
const QUIC_CONN_ID *odcid, OSSL_QRX *qrx,
QUIC_CHANNEL **new_ch)
{
@@ -766,8 +767,10 @@ static void port_bind_channel(QUIC_PORT *port, const BIO_ADDR *peer,
if (!ossl_quic_provide_initial_secret(ch->port->engine->libctx,
ch->port->engine->propq,
dcid, /* is_server */ 1,
- ch->qrx, NULL))
+ ch->qrx, NULL)) {
+ ossl_quic_channel_free(ch);
return;
+ }
if (odcid->id_len != 0) {
/*
@@ -776,7 +779,7 @@ static void port_bind_channel(QUIC_PORT *port, const BIO_ADDR *peer,
* See RFC 9000 s. 8.1
*/
ossl_quic_tx_packetiser_set_validated(ch->txp);
- if (!ossl_quic_bind_channel(ch, peer, scid, dcid, odcid)) {
+ if (!ossl_quic_bind_channel(ch, peer, dcid, odcid)) {
ossl_quic_channel_free(ch);
return;
}
@@ -785,7 +788,7 @@ static void port_bind_channel(QUIC_PORT *port, const BIO_ADDR *peer,
* No odcid means we didn't do server validation, so we need to
* generate a cid via ossl_quic_channel_on_new_conn
*/
- if (!ossl_quic_channel_on_new_conn(ch, peer, scid, dcid)) {
+ if (!ossl_quic_channel_on_new_conn(ch, peer, dcid)) {
ossl_quic_channel_free(ch);
return;
}
@@ -1332,8 +1335,7 @@ static void port_send_version_negotiation(QUIC_PORT *port, BIO_ADDR *peer,
* configurable in the future.
*/
static int port_validate_token(QUIC_PKT_HDR *hdr, QUIC_PORT *port,
- BIO_ADDR *peer, QUIC_CONN_ID *odcid,
- QUIC_CONN_ID *scid, uint8_t *gen_new_token)
+ BIO_ADDR *peer, QUIC_CONN_ID *odcid, uint8_t *gen_new_token)
{
int ret = 0;
QUIC_VALIDATION_TOKEN token = { 0 };
@@ -1393,11 +1395,9 @@ static int port_validate_token(QUIC_PKT_HDR *hdr, QUIC_PORT *port,
!= 0)
goto err;
*odcid = token.odcid;
- *scid = token.rscid;
} else {
if (!ossl_quic_lcidm_get_unused_cid(port->lcidm, odcid))
goto err;
- *scid = hdr->src_conn_id;
}
/*
@@ -1486,7 +1486,7 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg,
PACKET pkt;
QUIC_PKT_HDR hdr;
QUIC_CHANNEL *ch = NULL, *new_ch = NULL;
- QUIC_CONN_ID odcid, scid;
+ QUIC_CONN_ID odcid;
uint8_t gen_new_token = 0;
OSSL_QRX *qrx = NULL;
OSSL_QRX *qrx_src = NULL;
@@ -1516,6 +1516,13 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg,
if (!port->allow_incoming)
goto undesirable;
+ /*
+ * packet without destination connection id is invalid/corrupted here.
+ * stop wasting CPU cycles now.
+ */
+ if (dcid == NULL)
+ goto undesirable;
+
/*
* We have got a packet for an unknown DCID. This might be an attempt to
* open a new connection.
@@ -1636,8 +1643,7 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg,
*/
if (hdr.token != NULL
&& port_validate_token(&hdr, port, &e->peer,
- &odcid, &scid,
- &gen_new_token)
+ &odcid, &gen_new_token)
== 0) {
/*
* RFC 9000 s 8.1.3
@@ -1672,7 +1678,7 @@ static void port_default_packet_handler(QUIC_URXE *e, void *arg,
}
}
- port_bind_channel(port, &e->peer, &scid, &hdr.dst_conn_id,
+ port_bind_channel(port, &e->peer, &hdr.dst_conn_id,
&odcid, qrx, &new_ch);
/*
diff --git a/crypto/openssl/ssl/quic/quic_record_rx.c b/crypto/openssl/ssl/quic/quic_record_rx.c
index d9e2b4323bd..8897cc6c2df 100644
--- a/crypto/openssl/ssl/quic/quic_record_rx.c
+++ b/crypto/openssl/ssl/quic/quic_record_rx.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -1031,7 +1031,13 @@ static int qrx_process_pkt(OSSL_QRX *qrx, QUIC_URXE *urxe,
*/
rxe = qrx_ensure_free_rxe(qrx, PACKET_remaining(pkt));
if (rxe == NULL)
- return 0;
+ /*
+ * Allocation failure, treat as malformed as we cannot process this
+ * packet. The header has not been read yet so we do not know the
+ * packet size and cannot skip just this packet, so we drop the rest of
+ * the datagram instead.
+ */
+ goto malformed;
/* Have we already processed this packet? */
if (pkt_is_marked(&urxe->processed, pkt_idx))
diff --git a/crypto/openssl/ssl/quic/quic_record_shared.c b/crypto/openssl/ssl/quic/quic_record_shared.c
index 29accf602e5..05d4d00b138 100644
--- a/crypto/openssl/ssl/quic/quic_record_shared.c
+++ b/crypto/openssl/ssl/quic/quic_record_shared.c
@@ -87,9 +87,6 @@ static void el_teardown_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
{
OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0);
- if (!ossl_qrl_enc_level_set_has_keyslot(els, enc_level, el->state, keyslot))
- return;
-
if (el->cctx[keyslot] != NULL) {
EVP_CIPHER_CTX_free(el->cctx[keyslot]);
el->cctx[keyslot] = NULL;
@@ -98,26 +95,18 @@ static void el_teardown_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
OPENSSL_cleanse(el->iv[keyslot], sizeof(el->iv[keyslot]));
}
-static int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
- uint32_t enc_level,
- unsigned char tgt_state,
- size_t keyslot,
- const unsigned char *secret,
- size_t secret_len)
+static int el_build_keyslot(OSSL_QRL_ENC_LEVEL *el,
+ const unsigned char *secret, size_t secret_len,
+ EVP_CIPHER_CTX **out_cctx, unsigned char *out_iv, size_t *out_iv_len)
{
- OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0);
unsigned char key[EVP_MAX_KEY_LENGTH];
size_t key_len = 0, iv_len = 0;
const char *cipher_name = NULL;
EVP_CIPHER *cipher = NULL;
EVP_CIPHER_CTX *cctx = NULL;
- if (!ossl_assert(el != NULL
- && ossl_qrl_enc_level_set_has_keyslot(els, enc_level,
- tgt_state, keyslot))) {
- ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT);
- return 0;
- }
+ *out_cctx = NULL;
+ *out_iv_len = 0;
cipher_name = ossl_qrl_get_suite_cipher_name(el->suite_id);
iv_len = ossl_qrl_get_suite_cipher_iv_len(el->suite_id);
@@ -133,25 +122,15 @@ static int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
return 0;
}
- assert(el->cctx[keyslot] == NULL);
-
- /* Derive "quic iv" key. */
- if (!tls13_hkdf_expand_ex(el->libctx, el->propq,
- el->md,
- secret,
- quic_v1_iv_label,
- sizeof(quic_v1_iv_label),
- NULL, 0,
- el->iv[keyslot], iv_len, 1))
+ /* Derive "quic iv" into caller's buffer. */
+ if (!tls13_hkdf_expand_ex(el->libctx, el->propq, el->md, secret,
+ quic_v1_iv_label, sizeof(quic_v1_iv_label), NULL, 0,
+ out_iv, iv_len, 1))
goto err;
- /* Derive "quic key" key. */
- if (!tls13_hkdf_expand_ex(el->libctx, el->propq,
- el->md,
- secret,
- quic_v1_key_label,
- sizeof(quic_v1_key_label),
- NULL, 0,
+ /* Derive "quic key" into local. */
+ if (!tls13_hkdf_expand_ex(el->libctx, el->propq, el->md, secret,
+ quic_v1_key_label, sizeof(quic_v1_key_label), NULL, 0,
key, key_len, 1))
goto err;
@@ -173,12 +152,13 @@ static int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
}
/* IV will be changed on RX/TX so we don't need to use a real value here. */
- if (!EVP_CipherInit_ex(cctx, cipher, NULL, key, el->iv[keyslot], 0)) {
+ if (!EVP_CipherInit_ex(cctx, cipher, NULL, key, out_iv, 0)) {
ERR_raise(ERR_LIB_SSL, ERR_R_EVP_LIB);
goto err;
}
- el->cctx[keyslot] = cctx;
+ *out_cctx = cctx;
+ *out_iv_len = iv_len;
/* Zeroize intermediate keys. */
OPENSSL_cleanse(key, sizeof(key));
@@ -188,11 +168,47 @@ static int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els,
err:
EVP_CIPHER_CTX_free(cctx);
EVP_CIPHER_free(cipher);
- OPENSSL_cleanse(el->iv[keyslot], sizeof(el->iv[keyslot]));
OPENSSL_cleanse(key, sizeof(key));
+ OPENSSL_cleanse(out_iv, iv_len);
return 0;
}
+static void el_install_keyslot(OSSL_QRL_ENC_LEVEL *el, size_t keyslot,
+ EVP_CIPHER_CTX *new_cctx, const unsigned char *new_iv, size_t new_iv_len)
+{
+ assert(el->cctx[keyslot] == NULL);
+ assert(new_iv_len <= sizeof(el->iv[keyslot]));
+
+ el->cctx[keyslot] = new_cctx;
+ memcpy(el->iv[keyslot], new_iv, new_iv_len);
+}
+
+static int el_setup_keyslot(OSSL_QRL_ENC_LEVEL_SET *els, uint32_t enc_level,
+ unsigned char tgt_state, size_t keyslot, const unsigned char *secret,
+ size_t secret_len)
+{
+ OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0);
+ EVP_CIPHER_CTX *new_cctx = NULL;
+ unsigned char new_iv[EVP_MAX_IV_LENGTH];
+ size_t new_iv_len = EVP_MAX_IV_LENGTH;
+
+ if (!ossl_assert(el != NULL
+ && ossl_qrl_enc_level_set_has_keyslot(els, enc_level,
+ tgt_state, keyslot))) {
+ ERR_raise(ERR_LIB_SSL, ERR_R_PASSED_INVALID_ARGUMENT);
+ return 0;
+ }
+
+ if (!el_build_keyslot(el, secret, secret_len, &new_cctx, new_iv,
+ &new_iv_len))
+ return 0;
+
+ el_install_keyslot(el, keyslot, new_cctx, new_iv, new_iv_len);
+
+ OPENSSL_cleanse(new_iv, sizeof(new_iv));
+ return 1;
+}
+
int ossl_qrl_enc_level_set_provide_secret(OSSL_QRL_ENC_LEVEL_SET *els,
OSSL_LIB_CTX *libctx,
const char *propq,
@@ -346,6 +362,9 @@ int ossl_qrl_enc_level_set_key_update(OSSL_QRL_ENC_LEVEL_SET *els,
uint32_t enc_level)
{
OSSL_QRL_ENC_LEVEL *el = ossl_qrl_enc_level_set_get(els, enc_level, 0);
+ EVP_CIPHER_CTX *new_cctx = NULL;
+ unsigned char new_iv[EVP_MAX_IV_LENGTH];
+ size_t new_iv_len = EVP_MAX_IV_LENGTH;
size_t secret_len;
unsigned char new_ku[EVP_MAX_KEY_LENGTH];
@@ -383,13 +402,15 @@ int ossl_qrl_enc_level_set_key_update(OSSL_QRL_ENC_LEVEL_SET *els,
new_ku, secret_len, 1))
return 0;
- el_teardown_keyslot(els, enc_level, 0);
-
- /* Setup keyslot for CURRENT "quic ku" key. */
- if (!el_setup_keyslot(els, enc_level, QRL_EL_STATE_PROV_NORMAL,
- 0, el->ku, secret_len))
+ /* Build new keyslot first so if it fails, teardown is not done. */
+ if (!el_build_keyslot(el, el->ku, secret_len, &new_cctx, new_iv,
+ &new_iv_len))
return 0;
+ el_teardown_keyslot(els, enc_level, 0);
+ el_install_keyslot(el, 0, new_cctx, new_iv, new_iv_len);
+ OPENSSL_cleanse(new_iv, sizeof(new_iv));
+
++el->key_epoch;
el->op_count = 0;
memcpy(el->ku, new_ku, secret_len);
diff --git a/crypto/openssl/ssl/quic/quic_record_tx.c b/crypto/openssl/ssl/quic/quic_record_tx.c
index 28158ae0389..93d1203c37d 100644
--- a/crypto/openssl/ssl/quic/quic_record_tx.c
+++ b/crypto/openssl/ssl/quic/quic_record_tx.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -259,9 +259,9 @@ static TXE *qtx_ensure_free_txe(OSSL_QTX *qtx, size_t alloc_len)
* of the TXE might change; the new address is returned, or NULL on failure, in
* which case the original TXE remains valid.
*/
-static TXE *qtx_resize_txe(OSSL_QTX *qtx, TXE_LIST *txl, TXE *txe, size_t n)
+static TXE *qtx_resize_txe(OSSL_QTX *qtx, TXE *txe, size_t n)
{
- TXE *txe2, *p;
+ TXE *txe2;
/* Should never happen. */
if (txe == NULL)
@@ -270,27 +270,21 @@ static TXE *qtx_resize_txe(OSSL_QTX *qtx, TXE_LIST *txl, TXE *txe, size_t n)
if (n >= SIZE_MAX - sizeof(TXE))
return NULL;
- /* Remove the item from the list to avoid accessing freed memory */
- p = ossl_list_txe_prev(txe);
- ossl_list_txe_remove(txl, txe);
+ /*
+ * to resize txe, the caller must detach it from the list first,
+ * fail if txe is still attached.
+ */
+ if (!ossl_assert(ossl_list_txe_prev(txe) == NULL
+ && ossl_list_txe_next(txe) == NULL))
+ return NULL;
/*
* NOTE: We do not clear old memory, although it does contain decrypted
* data.
*/
txe2 = OPENSSL_realloc(txe, sizeof(TXE) + n);
- if (txe2 == NULL) {
- if (p == NULL)
- ossl_list_txe_insert_head(txl, txe);
- else
- ossl_list_txe_insert_after(txl, p, txe);
+ if (txe2 == NULL)
return NULL;
- }
-
- if (p == NULL)
- ossl_list_txe_insert_head(txl, txe2);
- else
- ossl_list_txe_insert_after(txl, p, txe2);
if (qtx->cons == txe)
qtx->cons = txe2;
@@ -303,13 +297,12 @@ static TXE *qtx_resize_txe(OSSL_QTX *qtx, TXE_LIST *txl, TXE *txe, size_t n)
* Ensure the data buffer attached to an TXE is at least n bytes in size.
* Returns NULL on failure.
*/
-static TXE *qtx_reserve_txe(OSSL_QTX *qtx, TXE_LIST *txl,
- TXE *txe, size_t n)
+static TXE *qtx_reserve_txe(OSSL_QTX *qtx, TXE *txe, size_t n)
{
if (txe->alloc_len >= n)
return txe;
- return qtx_resize_txe(qtx, txl, txe, n);
+ return qtx_resize_txe(qtx, txe, n);
}
/* Move a TXE from pending to free. */
@@ -830,6 +823,16 @@ int ossl_qtx_write_pkt(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt)
* serialize/encrypt the packet. We always encrypt packets as soon as
* our caller gives them to us, which relieves the caller of any need to
* keep the plaintext around.
+ *
+ * the txe can have three distinct states:
+ * - attached to free list
+ * - attached to tx list
+ * - detached.
+ *
+ * if txe is detached (not member of free/tx list), then it is kept
+ * in qtx->cons. The qtx_ensure_cons() here either returns the txe
+ * from free list or existing ->cons txe. The txe we obtain here
+ * is detached.
*/
txe = qtx_ensure_cons(qtx);
if (txe == NULL)
@@ -839,8 +842,20 @@ int ossl_qtx_write_pkt(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt)
* Ensure TXE has at least MDPL bytes allocated. This should only be
* possible if the MDPL has increased.
*/
- if (!qtx_reserve_txe(qtx, NULL, txe, qtx->mdpl))
+ txe = qtx_reserve_txe(qtx, txe, qtx->mdpl);
+ if (txe == NULL) {
+ /*
+ * realloc of txe failed. however it is still kept in ->cons,
+ * no memory leak.
+ * The question is what we should do here to handle error,
+ * is doing `return 0` enough? or shall we discard ->cons and
+ * put it back to free list?
+ * or just stop coalescing the packet and dispatch it to network
+ * right now so the next packet tx can start from fresh?
+ * I think this is the problem for another day.
+ */
return 0;
+ }
if (!was_coalescing) {
/* Set addresses in TXE. */
@@ -867,6 +882,11 @@ int ossl_qtx_write_pkt(OSSL_QTX *qtx, const OSSL_QTX_PKT *pkt)
/*
* We failed due to insufficient length, so end the current
* datagram and try again.
+ *
+ * the ossl_qtx_finish_dgram() also puts the txe (-.cons) to
+ * tx list, so ->cons becomes attached again. The function also
+ * sets ->cons to NULL so the next loop iteration starts with
+ * fresh txe (which is also safe to resize).
*/
ossl_qtx_finish_dgram(qtx);
was_coalescing = 0;
diff --git a/crypto/openssl/ssl/quic/quic_rx_depack.c b/crypto/openssl/ssl/quic/quic_rx_depack.c
index 1bdb43b7d63..7ab59f01a1c 100644
--- a/crypto/openssl/ssl/quic/quic_rx_depack.c
+++ b/crypto/openssl/ssl/quic/quic_rx_depack.c
@@ -937,6 +937,16 @@ static void free_path_response(unsigned char *buf, size_t buf_len, void *arg)
ch->path_response_limit--;
+ /*
+ * Assume path response frame is being freed on behalf of
+ * finished TX operation. This is for unit testing purposes
+ * only. The counter is also bumped when channel is being
+ * destroyed and CFQ (control frame queue) is freed.
+ * This currently does not matter for check_pc_flood
+ * in test/radix/quic_tests.c.
+ */
+ ch->path_response_tx++;
+
OPENSSL_free(buf);
}
@@ -991,6 +1001,8 @@ static int depack_do_frame_path_challenge(PACKET *pkt,
ch->path_response_limit++;
}
+ ch->path_challenge_rx++;
+
return 1;
err:
diff --git a/crypto/openssl/ssl/quic/quic_stream_map.c b/crypto/openssl/ssl/quic/quic_stream_map.c
index b8175849a01..84ac6b714e3 100644
--- a/crypto/openssl/ssl/quic/quic_stream_map.c
+++ b/crypto/openssl/ssl/quic/quic_stream_map.c
@@ -437,6 +437,13 @@ int ossl_quic_stream_map_notify_totally_acked(QUIC_STREAM_MAP *qsm,
case QUIC_SSTREAM_STATE_DATA_SENT:
qs->send_state = QUIC_SSTREAM_STATE_DATA_RECVD;
+ /*
+ * Remember final size in case SSL_get_stream_write_state()
+ * gets called.
+ */
+ qs->have_final_size = ossl_quic_sstream_get_final_size(qs->sstream,
+ NULL);
+
/* We no longer need a QUIC_SSTREAM in this state. */
ossl_quic_sstream_free(qs->sstream);
qs->sstream = NULL;
diff --git a/crypto/openssl/ssl/quic/quic_txp.c b/crypto/openssl/ssl/quic/quic_txp.c
index b2565c1a9fe..5ce8e77f61e 100644
--- a/crypto/openssl/ssl/quic/quic_txp.c
+++ b/crypto/openssl/ssl/quic/quic_txp.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
diff --git a/crypto/openssl/ssl/quic/uint_set.c b/crypto/openssl/ssl/quic/uint_set.c
index e217816a395..4b723869e85 100644
--- a/crypto/openssl/ssl/quic/uint_set.c
+++ b/crypto/openssl/ssl/quic/uint_set.c
@@ -174,6 +174,7 @@ int ossl_uint_set_insert(UINT_SET *s, const UINT_RANGE *range)
for (x = ossl_list_uint_set_next(x); x != NULL; x = xnext) {
xnext = ossl_list_uint_set_next(x);
ossl_list_uint_set_remove(s, x);
+ OPENSSL_free(x);
}
return 1;
}
diff --git a/crypto/openssl/ssl/record/methods/ktls_meth.c b/crypto/openssl/ssl/record/methods/ktls_meth.c
index bfdcc24687f..e4fbba577ca 100644
--- a/crypto/openssl/ssl/record/methods/ktls_meth.c
+++ b/crypto/openssl/ssl/record/methods/ktls_meth.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2018-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2018-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -472,11 +472,16 @@ static int ktls_initialise_write_packets(OSSL_RECORD_LAYER *rl,
wb = &bufs[0];
wb->type = templates[0].type;
+ /*
+ * Free any internal buffer allocated during a previous write retry
+ * (see tls_retry_write_records). App buffers are not ours to free.
+ */
+ if (!TLS_BUFFER_is_app_buffer(wb))
+ OPENSSL_free(TLS_BUFFER_get_buf(wb));
+
/*
* ktls doesn't modify the buffer, but to avoid a warning we need
* to discard the const qualifier.
- * This doesn't leak memory because the buffers have never been allocated
- * with KTLS
*/
TLS_BUFFER_set_buf(wb, (unsigned char *)templates[0].buf);
TLS_BUFFER_set_offset(wb, 0);
@@ -547,15 +552,6 @@ static int ktls_alloc_buffers(OSSL_RECORD_LAYER *rl)
return tls_alloc_buffers(rl);
}
-static int ktls_free_buffers(OSSL_RECORD_LAYER *rl)
-{
- /* We use the application buffer directly for writing */
- if (rl->direction == OSSL_RECORD_DIRECTION_WRITE)
- return 1;
-
- return tls_free_buffers(rl);
-}
-
static struct record_functions_st ossl_ktls_funcs = {
ktls_set_crypto_state,
ktls_cipher,
@@ -602,5 +598,5 @@ const OSSL_RECORD_METHOD ossl_ktls_record_method = {
NULL,
tls_increment_sequence_ctr,
ktls_alloc_buffers,
- ktls_free_buffers
+ tls_free_buffers
};
diff --git a/crypto/openssl/ssl/record/methods/tls_common.c b/crypto/openssl/ssl/record/methods/tls_common.c
index bf035b13d54..9f957b7cc65 100644
--- a/crypto/openssl/ssl/record/methods/tls_common.c
+++ b/crypto/openssl/ssl/record/methods/tls_common.c
@@ -1455,7 +1455,7 @@ tls_new_record_layer(OSSL_LIB_CTX *libctx, const char *propq, int vers,
static void tls_int_free(OSSL_RECORD_LAYER *rl)
{
BIO_free(rl->prev);
- BIO_free(rl->bio);
+ BIO_free_all(rl->bio);
BIO_free(rl->next);
ossl_tls_buffer_release(&rl->rbuf);
@@ -1975,6 +1975,28 @@ int tls_retry_write_records(OSSL_RECORD_LAYER *rl)
tls_release_write_buffer(rl);
return OSSL_RECORD_RETURN_SUCCESS;
} else if (i <= 0) {
+ /*
+ * If the app buffer is used directly (kTLS) and the caller is
+ * allowed to move it, copy the unsent data so the original
+ * buffer can be safely released.
+ */
+ if (TLS_BUFFER_is_app_buffer(thiswb)
+ && (rl->mode & SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER) != 0) {
+ size_t left = TLS_BUFFER_get_left(thiswb);
+ unsigned char *buf;
+
+ buf = OPENSSL_malloc(left);
+ if (buf == NULL) {
+ RLAYERfatal(rl, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
+ return OSSL_RECORD_RETURN_FATAL;
+ }
+ memcpy(buf,
+ TLS_BUFFER_get_buf(thiswb) + TLS_BUFFER_get_offset(thiswb),
+ left);
+ TLS_BUFFER_set_buf(thiswb, buf);
+ TLS_BUFFER_set_offset(thiswb, 0);
+ TLS_BUFFER_set_app_buffer(thiswb, 0);
+ }
if (rl->isdtls) {
/*
* For DTLS, just drop it. That's kind of the whole point in
@@ -2001,7 +2023,7 @@ int tls_set1_bio(OSSL_RECORD_LAYER *rl, BIO *bio)
{
if (bio != NULL && !BIO_up_ref(bio))
return 0;
- BIO_free(rl->bio);
+ BIO_free_all(rl->bio);
rl->bio = bio;
return 1;
diff --git a/crypto/openssl/ssl/ssl_ciph.c b/crypto/openssl/ssl/ssl_ciph.c
index 7dccec62606..fd2c4b08333 100644
--- a/crypto/openssl/ssl/ssl_ciph.c
+++ b/crypto/openssl/ssl/ssl_ciph.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
* Copyright 2005 Nokia. All rights reserved.
*
@@ -1265,6 +1265,10 @@ static int ciphersuite_cb(const char *elem, int len, void *arg)
/* Arbitrary sized temp buffer for the cipher name. Should be big enough */
char name[80];
+ /* CONF_parse_list signals empty elements with elem == NULL; skip them */
+ if (elem == NULL || len == 0)
+ return 1;
+
if (len > (int)(sizeof(name) - 1))
/* Anyway return 1 so we can parse rest of the list */
return 1;
diff --git a/crypto/openssl/ssl/ssl_rsa.c b/crypto/openssl/ssl/ssl_rsa.c
index 17ccb5462fb..740460f5c2e 100644
--- a/crypto/openssl/ssl/ssl_rsa.c
+++ b/crypto/openssl/ssl/ssl_rsa.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -1039,7 +1039,9 @@ static int ssl_set_cert_and_key(SSL *ssl, SSL_CTX *ctx, X509 *x509, EVP_PKEY *pr
goto out;
}
}
- if (ssl_cert_lookup_by_pkey(pubkey, &i, ctx) == NULL) {
+ if (ssl_cert_lookup_by_pkey(pubkey, &i,
+ sc != NULL ? SSL_CONNECTION_GET_CTX(sc) : ctx)
+ == NULL) {
ERR_raise(ERR_LIB_SSL, SSL_R_UNKNOWN_CERTIFICATE_TYPE);
goto out;
}
diff --git a/crypto/openssl/ssl/statem/extensions_cust.c b/crypto/openssl/ssl/statem/extensions_cust.c
index ce1c69bbdc1..f6161e195cd 100644
--- a/crypto/openssl/ssl/statem/extensions_cust.c
+++ b/crypto/openssl/ssl/statem/extensions_cust.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2014-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2014-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -343,9 +343,6 @@ int custom_exts_copy_conn(custom_ext_methods *dst,
if (methdst == NULL)
return 0;
- for (i = 0; i < dst->meths_count; i++)
- custom_ext_copy_old_cb(&methdst[i], &dst->meths[i], &err);
-
dst->meths = methdst;
methdst += dst->meths_count;
diff --git a/crypto/openssl/ssl/statem/extensions_srvr.c b/crypto/openssl/ssl/statem/extensions_srvr.c
index cdb914daedc..5218547f591 100644
--- a/crypto/openssl/ssl/statem/extensions_srvr.c
+++ b/crypto/openssl/ssl/statem/extensions_srvr.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -1342,6 +1342,10 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
}
idlen = PACKET_remaining(&identity);
+ if (idlen == 0) {
+ SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
+ return 0;
+ }
if (s->psk_find_session_cb != NULL
&& !s->psk_find_session_cb(ussl, PACKET_data(&identity), idlen,
&sess)) {
@@ -1440,13 +1444,13 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
if (ret == SSL_TICKET_EMPTY) {
SSLfatal(s, SSL_AD_DECODE_ERROR, SSL_R_BAD_EXTENSION);
- return 0;
+ goto err;
}
if (ret == SSL_TICKET_FATAL_ERR_MALLOC
|| ret == SSL_TICKET_FATAL_ERR_OTHER) {
SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR);
- return 0;
+ goto err;
}
if (ret == SSL_TICKET_NONE || ret == SSL_TICKET_NO_DECRYPT)
continue;
@@ -1501,7 +1505,12 @@ int tls_parse_ctos_psk(SSL_CONNECTION *s, PACKET *pkt, unsigned int context,
SSL_SESSION_free(sess);
sess = NULL;
s->ext.early_data_ok = 0;
- s->ext.ticket_expected = 0;
+ /*
+ * We fall back to a full handshake. The new session ticket will be
+ * issued to the client with the newly negotiated ciphersuite,
+ * allowing successful resumption on future connections.
+ */
+ s->ext.ticket_expected = 1;
continue;
}
break;
diff --git a/crypto/openssl/ssl/statem/statem.c b/crypto/openssl/ssl/statem/statem.c
index 3342cb06d20..00631bf55e0 100644
--- a/crypto/openssl/ssl/statem/statem.c
+++ b/crypto/openssl/ssl/statem/statem.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2015-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2015-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -151,7 +151,7 @@ void ossl_statem_send_fatal(SSL_CONNECTION *s, int al)
return;
ossl_statem_set_in_init(s, 1);
s->statem.state = MSG_FLOW_ERROR;
- if (al != SSL_AD_NO_ALERT)
+ if (al != SSL_AD_NO_ALERT && s->rlayer.wrlmethod != NULL)
ssl3_send_alert(s, SSL3_AL_FATAL, al);
}
@@ -541,22 +541,6 @@ static void init_read_state_machine(SSL_CONNECTION *s)
st->read_state = READ_STATE_HEADER;
}
-static int grow_init_buf(SSL_CONNECTION *s, size_t size)
-{
-
- size_t msg_offset = (char *)s->init_msg - s->init_buf->data;
-
- if (!BUF_MEM_grow_clean(s->init_buf, (int)size))
- return 0;
-
- if (size < msg_offset)
- return 0;
-
- s->init_msg = s->init_buf->data + msg_offset;
-
- return 1;
-}
-
/*
* This function implements the sub-state machine when the message flow is in
* MSG_FLOW_READING. The valid sub-states and transitions are:
@@ -653,14 +637,6 @@ static SUB_STATE_RETURN read_state_machine(SSL_CONNECTION *s)
return SUB_STATE_ERROR;
}
- /* dtls_get_message already did this */
- if (!SSL_CONNECTION_IS_DTLS(s)
- && s->s3.tmp.message_size > 0
- && !grow_init_buf(s, s->s3.tmp.message_size + SSL3_HM_HEADER_LENGTH)) {
- SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_BUF_LIB);
- return SUB_STATE_ERROR;
- }
-
st->read_state = READ_STATE_BODY;
/* Fall through */
diff --git a/crypto/openssl/ssl/statem/statem_clnt.c b/crypto/openssl/ssl/statem/statem_clnt.c
index 0619fbd6f13..b317b939243 100644
--- a/crypto/openssl/ssl/statem/statem_clnt.c
+++ b/crypto/openssl/ssl/statem/statem_clnt.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
* Copyright 2005 Nokia. All rights reserved.
*
@@ -2607,8 +2607,10 @@ MSG_PROCESS_RETURN tls_process_certificate_request(SSL_CONNECTION *s,
s->s3.tmp.valid_flags = OPENSSL_zalloc(s->ssl_pkey_num * sizeof(uint32_t));
/* Give up for good if allocation didn't work */
- if (s->s3.tmp.valid_flags == NULL)
- return 0;
+ if (s->s3.tmp.valid_flags == NULL) {
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_CRYPTO_LIB);
+ return MSG_PROCESS_ERROR;
+ }
if (SSL_CONNECTION_IS_TLS13(s)) {
PACKET reqctx, extensions;
diff --git a/crypto/openssl/ssl/statem/statem_lib.c b/crypto/openssl/ssl/statem/statem_lib.c
index aa9d196780e..7e3be12f7a7 100644
--- a/crypto/openssl/ssl/statem/statem_lib.c
+++ b/crypto/openssl/ssl/statem/statem_lib.c
@@ -1661,9 +1661,25 @@ int tls_get_message_header(SSL_CONNECTION *s, int *mt)
return 1;
}
+static int grow_init_buf(SSL_CONNECTION *s, size_t size)
+{
+
+ size_t msg_offset = (char *)s->init_msg - s->init_buf->data;
+
+ if (!BUF_MEM_grow_clean(s->init_buf, size))
+ return 0;
+
+ if (size < msg_offset)
+ return 0;
+
+ s->init_msg = s->init_buf->data + msg_offset;
+
+ return 1;
+}
+
int tls_get_message_body(SSL_CONNECTION *s, size_t *len)
{
- size_t n, readbytes;
+ size_t toread, readbytes;
unsigned char *p;
int i;
SSL *ssl = SSL_CONNECTION_GET_SSL(s);
@@ -1675,18 +1691,30 @@ int tls_get_message_body(SSL_CONNECTION *s, size_t *len)
return 1;
}
- p = s->init_msg;
- n = s->s3.tmp.message_size - s->init_num;
- while (n > 0) {
+ toread = s->s3.tmp.message_size - s->init_num;
+ while (toread > 0) {
+ size_t chunk = toread > SSL3_RT_MAX_PLAIN_LENGTH ? SSL3_RT_MAX_PLAIN_LENGTH : toread;
+
+ /*
+ * We incrementally allocate the buffer to guard against the peer
+ * claiming a very large message size and then not sending it.
+ */
+ if (!grow_init_buf(s, s->init_num + chunk + SSL3_HM_HEADER_LENGTH)) {
+ SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_BUF_LIB);
+ return 0;
+ }
+
+ /* init_msg location can change after grow_init_buf */
+ p = s->init_msg;
i = ssl->method->ssl_read_bytes(ssl, SSL3_RT_HANDSHAKE, NULL,
- &p[s->init_num], n, 0, &readbytes);
+ &p[s->init_num], chunk, 0, &readbytes);
if (i <= 0) {
s->rwstate = SSL_READING;
*len = 0;
return 0;
}
s->init_num += readbytes;
- n -= readbytes;
+ toread -= readbytes;
}
/*
diff --git a/crypto/openssl/ssl/statem/statem_srvr.c b/crypto/openssl/ssl/statem/statem_srvr.c
index 6079176f998..b2f8a0ebc43 100644
--- a/crypto/openssl/ssl/statem/statem_srvr.c
+++ b/crypto/openssl/ssl/statem/statem_srvr.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
* Copyright 2005 Nokia. All rights reserved.
*
@@ -2026,6 +2026,19 @@ static int tls_early_post_process_client_hello(SSL_CONNECTION *s)
s->peer_ciphers = ciphers;
s->session->verify_result = X509_V_OK;
+ /*
+ * Per RFC 4851, Section 3.2.2:
+ * If the ClientHello contains both a Session ID and a PAC-Opaque in
+ * the SessionTicket extension, and the server resumes the session
+ * using the PAC-Opaque, it should echo the same Session ID in the
+ * ServerHello.
+ */
+ if (clienthello->session_id_len > 0) {
+ memcpy(s->session->session_id, clienthello->session_id,
+ clienthello->session_id_len);
+ s->session->session_id_length = clienthello->session_id_len;
+ }
+
ciphers = NULL;
/* check if some cipher was preferred by call back */
diff --git a/crypto/openssl/ssl/t1_lib.c b/crypto/openssl/ssl/t1_lib.c
index ded6a1eadfb..e11fa8bc638 100644
--- a/crypto/openssl/ssl/t1_lib.c
+++ b/crypto/openssl/ssl/t1_lib.c
@@ -1237,9 +1237,14 @@ typedef struct {
size_t gidmax; /* The memory allocation chunk size for the group IDs */
size_t gidcnt; /* Number of groups */
uint16_t *gid_arr; /* The IDs of the supported groups (flat list) */
- size_t tplmax; /* The memory allocation chunk size for the tuple counters */
- size_t tplcnt; /* Number of tuples */
- size_t *tuplcnt_arr; /* The number of groups inside a tuple */
+ size_t tplmax; /* Allocated length of tuplcnt_arr */
+ /*
+ * Number of *closed* (fully parsed) tuples. During parsing there is
+ * always one additional active tuple being built, stored at index tplcnt.
+ * tuplcnt_arr therefore always needs at least tplcnt + 1 allocated slots.
+ */
+ size_t tplcnt;
+ size_t *tuplcnt_arr; /* Per-tuple group counts; [0..tplcnt-1] closed, [tplcnt] active */
size_t ksidmax; /* The memory allocation chunk size */
size_t ksidcnt; /* Number of key shares */
uint16_t *ksid_arr; /* The IDs of the key share groups (flat list) */
@@ -1522,12 +1527,20 @@ static int gid_cb(const char *elem, int len, void *arg)
return retval;
}
+/*
+ * Ensure tuplcnt_arr has room for at least tplcnt + 2 entries so that
+ * close_tuple() can safely increment tplcnt and write the new active-tuple
+ * slot at index tplcnt + 1. Must be called before that increment.
+ */
static int grow_tuples(gid_cb_st *garg)
{
static size_t max_tplcnt = (~(size_t)0) / sizeof(size_t);
- /* This uses OPENSSL_realloc_array() in newer releases */
- if (garg->tplcnt == garg->tplmax) {
+ /*
+ * Ensure we have room for at least one additional tuple.
+ * (tplcnt + 1 are in active use).
+ */
+ if (garg->tplcnt + 1 == garg->tplmax) {
size_t newcnt = garg->tplmax + GROUPLIST_INCREMENT;
size_t newsz = newcnt * sizeof(size_t);
size_t *tmp;
@@ -1542,15 +1555,25 @@ static int grow_tuples(gid_cb_st *garg)
return 1;
}
+/*
+ * Finalise the active tuple (at index tplcnt) and open a fresh one.
+ * tplcnt is the count of closed tuples; the active tuple lives at tplcnt
+ * throughout parsing. After this call tplcnt is incremented and the new
+ * active tuple at the updated index is initialised to 0.
+ * Empty tuples (gidcnt == 0) are discarded without advancing tplcnt.
+ */
static int close_tuple(gid_cb_st *garg)
{
size_t gidcnt = garg->tuplcnt_arr[garg->tplcnt];
if (gidcnt == 0)
- return 1;
+ return 1; /* Discard empty tuple; no need to open a new slot */
+
+ /* Grow before the increment: the new active slot will be at tplcnt + 1 */
if (!grow_tuples(garg))
return 0;
+ /* Promote closed tuple and initialise the new active tuple slot */
garg->tuplcnt_arr[++garg->tplcnt] = 0;
return 1;
}
diff --git a/crypto/openssl/ssl/t1_trce.c b/crypto/openssl/ssl/t1_trce.c
index e8075d04278..89df1710674 100644
--- a/crypto/openssl/ssl/t1_trce.c
+++ b/crypto/openssl/ssl/t1_trce.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2012-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -1328,33 +1328,46 @@ static int ssl_print_certificate(BIO *bio, const SSL_CONNECTION *sc, int indent,
return 1;
}
-static int ssl_print_raw_public_key(BIO *bio, const SSL *ssl, int server,
- int indent, const unsigned char **pmsg,
- size_t *pmsglen)
+static int ssl_print_raw_public_key(BIO *bio, const SSL_CONNECTION *sc,
+ int server, int indent, const unsigned char **pmsg, size_t *pmsglen)
{
EVP_PKEY *pkey;
+ SSL_CTX *ctx = SSL_CONNECTION_GET_CTX(sc);
size_t clen;
const unsigned char *msg = *pmsg;
size_t msglen = *pmsglen;
+ int has_spki_len;
- if (msglen < 3)
- return 0;
- clen = (msg[0] << 16) | (msg[1] << 8) | msg[2];
- if (msglen < clen + 3)
- return 0;
-
- msg += 3;
+ /*
+ * In TLS 1.2 and prior the SPKI is the entire payload of the extension,
+ * and does not have a separate length prefix
+ */
+ has_spki_len = SSL_CONNECTION_IS_DTLS(sc)
+ ? DTLS_VERSION_GT(sc->version, DTLS1_2_VERSION)
+ : sc->version > TLS1_2_VERSION;
+ if (has_spki_len) {
+ if (msglen < 3)
+ return 0;
+ clen = (msg[0] << 16) | (msg[1] << 8) | msg[2];
+ if (msglen < clen + 3)
+ return 0;
+ msg += 3;
+ *pmsg += clen + 3;
+ *pmsglen -= clen + 3;
+ } else {
+ clen = msglen;
+ *pmsg += msglen;
+ *pmsglen -= msglen;
+ }
BIO_indent(bio, indent, 80);
BIO_printf(bio, "raw_public_key, length=%d\n", (int)clen);
- pkey = d2i_PUBKEY_ex(NULL, &msg, clen, ssl->ctx->libctx, ssl->ctx->propq);
+ pkey = d2i_PUBKEY_ex(NULL, &msg, (long)clen, ctx->libctx, ctx->propq);
if (pkey == NULL)
return 0;
EVP_PKEY_print_public(bio, pkey, indent + 2, NULL);
EVP_PKEY_free(pkey);
- *pmsg += clen + 3;
- *pmsglen -= clen + 3;
return 1;
}
@@ -1376,7 +1389,7 @@ static int ssl_print_certificates(BIO *bio, const SSL_CONNECTION *sc, int server
msg += 3;
if ((server && sc->ext.server_cert_type == TLSEXT_cert_type_rpk)
|| (!server && sc->ext.client_cert_type == TLSEXT_cert_type_rpk)) {
- if (!ssl_print_raw_public_key(bio, &sc->ssl, server, indent, &msg, &clen))
+ if (!ssl_print_raw_public_key(bio, sc, server, indent, &msg, &clen))
return 0;
if (SSL_CONNECTION_IS_TLS13(sc)
&& !ssl_print_extensions(bio, indent + 2, server,
diff --git a/crypto/openssl/test/asn1_decode_test.c b/crypto/openssl/test/asn1_decode_test.c
index 49af48c1605..6e00d408969 100644
--- a/crypto/openssl/test/asn1_decode_test.c
+++ b/crypto/openssl/test/asn1_decode_test.c
@@ -163,21 +163,8 @@ static int test_gentime(void)
{
/* Underflowing GeneralizedTime 161208193400Z (YYMMDDHHMMSSZ) */
const unsigned char der[] = {
- 0x18,
- 0x0d,
- 0x31,
- 0x36,
- 0x31,
- 0x32,
- 0x30,
- 0x38,
- 0x31,
- 0x39,
- 0x33,
- 0x34,
- 0x30,
- 0x30,
- 0x5a,
+ 0x18, 0x0d, 0x31, 0x36, 0x31, 0x32, 0x30, 0x38, 0x31, 0x39,
+ 0x33, 0x34, 0x30, 0x30, 0x5a
};
const unsigned char *p;
int der_len, rc = 1;
@@ -200,19 +187,8 @@ static int test_utctime(void)
{
/* Underflowing UTCTime 0205104700Z (MMDDHHMMSSZ) */
const unsigned char der[] = {
- 0x17,
- 0x0b,
- 0x30,
- 0x32,
- 0x30,
- 0x35,
- 0x31,
- 0x30,
- 0x34,
- 0x37,
- 0x30,
- 0x30,
- 0x5a,
+ 0x17, 0x0b, 0x30, 0x32, 0x30, 0x35, 0x31, 0x30, 0x34, 0x37,
+ 0x30, 0x30, 0x5a
};
const unsigned char *p;
int der_len, rc = 1;
diff --git a/crypto/openssl/test/bad_dtls_test.c b/crypto/openssl/test/bad_dtls_test.c
index eef951ea572..376ec02d58f 100644
--- a/crypto/openssl/test/bad_dtls_test.c
+++ b/crypto/openssl/test/bad_dtls_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -101,89 +101,17 @@ static SSL_SESSION *client_session(void)
0x04,
0x20, /* OCTET_STRING, session id */
#define SS_SESSID_OFS 15 /* Session ID goes here */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x30, /* OCTET_STRING, master secret */
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
+ 0x04, 0x30, /* OCTET_STRING, master secret */
#define SS_SECRET_OFS 49 /* Master secret goes here */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char *p = session_asn1;
@@ -303,26 +231,8 @@ static int send_hello_verify(BIO *rbio)
0x00, /* DTLS1_BAD_VER */
0x14, /* Cookie length */
#define HV_COOKIE_OFS 28 /* Cookie goes here */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
memcpy(hello_verify + HV_COOKIE_OFS, cookie, sizeof(cookie));
@@ -363,75 +273,18 @@ static int send_server_hello(BIO *rbio)
0x01,
0x00, /* DTLS1_BAD_VER */
#define SH_RANDOM_OFS 27 /* Server random goes here */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00,
0x20, /* Session ID length */
#define SH_SESSID_OFS 60 /* Session ID goes here */
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00,
0x2f, /* Cipher suite AES128-SHA */
- 0x00, /* Compression null */
+ 0x00 /* Compression null */
};
static unsigned char change_cipher_spec[] = {
0x14, /* Change Cipher Spec */
@@ -449,7 +302,7 @@ static int send_server_hello(BIO *rbio)
0x03, /* Length */
0x01,
0x00,
- 0x02, /* Message */
+ 0x02 /* Message */
};
memcpy(server_hello + SH_RANDOM_OFS, server_random, sizeof(server_random));
diff --git a/crypto/openssl/test/bio_tfo_test.c b/crypto/openssl/test/bio_tfo_test.c
index 33cf635b675..7d274a055fa 100644
--- a/crypto/openssl/test/bio_tfo_test.c
+++ b/crypto/openssl/test/bio_tfo_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -81,6 +81,9 @@ static int test_bio_tfo(int idx)
/* ACCEPT SOCKET */
if (!TEST_ptr(abio = BIO_new_accept("localhost:0"))
+#if !OPENSSL_USE_IPV6
+ || !TEST_true(BIO_set_accept_ip_family(abio, BIO_FAMILY_IPV4))
+#endif
|| !TEST_true(BIO_set_nbio_accept(abio, 1))
|| !TEST_true(BIO_set_tfo_accept(abio, server_tfo))
|| !TEST_int_gt(BIO_do_accept(abio), 0)
@@ -93,6 +96,9 @@ static int test_bio_tfo(int idx)
/* CLIENT SOCKET */
if (!TEST_ptr(cbio = BIO_new_connect("localhost"))
+#if !OPENSSL_USE_IPV6
+ || !TEST_long_gt(BIO_set_conn_ip_family(cbio, BIO_FAMILY_IPV4), 0)
+#endif
|| !TEST_long_gt(BIO_set_conn_port(cbio, port), 0)
|| !TEST_long_gt(BIO_set_nbio(cbio, 1), 0)
|| !TEST_long_gt(BIO_set_tfo(cbio, client_tfo), 0)) {
@@ -236,7 +242,11 @@ static int test_fd_tfo(int idx)
/* ADDRESS SETUP */
memset(&hints, 0, sizeof(hints));
+#if OPENSSL_USE_IPV6
hints.ai_family = AF_UNSPEC;
+#else
+ hints.ai_family = AF_INET;
+#endif
hints.ai_socktype = SOCK_STREAM;
if (!TEST_int_eq(getaddrinfo(NULL, "0", &hints, &ai), 0))
goto err;
@@ -248,12 +258,14 @@ static int test_fd_tfo(int idx)
addrlen = sizeof(((struct sockaddr_in *)ai->ai_addr)->sin_addr);
BIO_printf(bio_err, "Using IPv4\n");
break;
+#if OPENSSL_USE_IPV6
case AF_INET6:
port = ((struct sockaddr_in6 *)ai->ai_addr)->sin6_port;
addr = &((struct sockaddr_in6 *)ai->ai_addr)->sin6_addr;
addrlen = sizeof(((struct sockaddr_in6 *)ai->ai_addr)->sin6_addr);
BIO_printf(bio_err, "Using IPv6\n");
break;
+#endif
default:
BIO_printf(bio_err, "Unknown address family %d\n", ai->ai_family);
goto err;
@@ -280,11 +292,13 @@ static int test_fd_tfo(int idx)
addr = &((struct sockaddr_in *)&sstorage)->sin_addr;
addrlen = sizeof(((struct sockaddr_in *)&sstorage)->sin_addr);
break;
+#if OPENSSL_USE_IPV6
case AF_INET6:
port = ((struct sockaddr_in6 *)&sstorage)->sin6_port;
addr = &((struct sockaddr_in6 *)&sstorage)->sin6_addr;
addrlen = sizeof(((struct sockaddr_in6 *)&sstorage)->sin6_addr);
break;
+#endif
default:
goto err;
}
diff --git a/crypto/openssl/test/build.info b/crypto/openssl/test/build.info
index 3dca6117796..99e06d39453 100644
--- a/crypto/openssl/test/build.info
+++ b/crypto/openssl/test/build.info
@@ -892,6 +892,13 @@ IF[{- !$disabled{tests} -}]
INCLUDE[dsa_no_digest_size_test]=../include ../apps/include
DEPEND[dsa_no_digest_size_test]=../libcrypto.a libtestutil.a
+ IF[{- !$disabled{ecx} && !$disabled{tls1_3} -}]
+ PROGRAMS{noinst}=tls13ticket_test
+ SOURCE[tls13ticket_test]=tls13tickettest.c helpers/ssltestlib.c
+ INCLUDE[tls13ticket_test]=../include ../apps/include
+ DEPEND[tls13ticket_test]=../libcrypto ../libssl libtestutil.a
+ ENDIF
+
SOURCE[tls13encryptiontest]=tls13encryptiontest.c
INCLUDE[tls13encryptiontest]=.. ../include ../apps/include
DEPEND[tls13encryptiontest]=../libcrypto.a ../libssl.a libtestutil.a
diff --git a/crypto/openssl/test/chacha_internal_test.c b/crypto/openssl/test/chacha_internal_test.c
index d316bfd7b36..88c4a588b3c 100644
--- a/crypto/openssl/test/chacha_internal_test.c
+++ b/crypto/openssl/test/chacha_internal_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2017-2023 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2017-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -16,6 +16,9 @@
#include
#include "testutil.h"
#include "crypto/chacha.h"
+#if defined(__powerpc64__) && !defined(OPENSSL_SYS_AIX) && !defined(OPENSSL_SYS_MACOSX)
+#include "crypto/ppc_arch.h"
+#endif
static const unsigned int key[] = {
0x03020100, 0x07060504, 0x0b0a0908, 0x0f0e0d0c,
@@ -179,6 +182,78 @@ static int test_cha_cha_internal(int n)
return 1;
}
+#if defined(__powerpc64__) && !defined(OPENSSL_SYS_AIX) && !defined(OPENSSL_SYS_MACOSX)
+/*
+ * Test that ChaCha20_ctr32_vsx_8x (the POWER10 8-block path, triggered for
+ * buffers > 255 bytes) preserves callee-saved FPRs f14-f25 as required by
+ * the ELFv2 ABI. The function uses vxxlor to spill VMX values into
+ * VSR0-VSR25, which aliases FPR0-FPR25; without explicit saves/restores
+ * the caller's floating-point state is silently corrupted.
+ */
+__attribute__((noinline)) static int test_chacha20_p10_fpr_abi(void)
+{
+ /*
+ * Use a buffer larger than 255 bytes to ensure the 8x path is taken.
+ * The input content doesn't matter for this ABI test.
+ */
+ static unsigned char in[512], out[512];
+ int ok = 1;
+
+ register double r14 asm("fr14");
+ register double r15 asm("fr15");
+ register double r16 asm("fr16");
+ register double r17 asm("fr17");
+ register double r18 asm("fr18");
+ register double r19 asm("fr19");
+ register double r20 asm("fr20");
+ register double r21 asm("fr21");
+ register double r22 asm("fr22");
+ register double r23 asm("fr23");
+ register double r24 asm("fr24");
+ register double r25 asm("fr25");
+
+ r14 = 14.0;
+ r15 = 15.0;
+ r16 = 16.0;
+ r17 = 17.0;
+ r18 = 18.0;
+ r19 = 19.0;
+ r20 = 20.0;
+ r21 = 21.0;
+ r22 = 22.0;
+ r23 = 23.0;
+ r24 = 24.0;
+ r25 = 25.0;
+
+ /* Force the values into the actual FPR registers before the call */
+ asm volatile("" : "+d"(r14), "+d"(r15), "+d"(r16), "+d"(r17));
+ asm volatile("" : "+d"(r18), "+d"(r19), "+d"(r20), "+d"(r21));
+ asm volatile("" : "+d"(r22), "+d"(r23), "+d"(r24), "+d"(r25));
+
+ ChaCha20_ctr32(out, in, sizeof(in), key, ivp);
+
+ /* Read back from the FPR registers after the call */
+ asm volatile("" : "+d"(r14), "+d"(r15), "+d"(r16), "+d"(r17));
+ asm volatile("" : "+d"(r18), "+d"(r19), "+d"(r20), "+d"(r21));
+ asm volatile("" : "+d"(r22), "+d"(r23), "+d"(r24), "+d"(r25));
+
+ ok &= TEST_double_eq(r14, 14.0);
+ ok &= TEST_double_eq(r15, 15.0);
+ ok &= TEST_double_eq(r16, 16.0);
+ ok &= TEST_double_eq(r17, 17.0);
+ ok &= TEST_double_eq(r18, 18.0);
+ ok &= TEST_double_eq(r19, 19.0);
+ ok &= TEST_double_eq(r20, 20.0);
+ ok &= TEST_double_eq(r21, 21.0);
+ ok &= TEST_double_eq(r22, 22.0);
+ ok &= TEST_double_eq(r23, 23.0);
+ ok &= TEST_double_eq(r24, 24.0);
+ ok &= TEST_double_eq(r25, 25.0);
+
+ return ok;
+}
+#endif
+
int setup_tests(void)
{
#ifdef OPENSSL_CPUID_OBJ
@@ -186,5 +261,10 @@ int setup_tests(void)
#endif
ADD_ALL_TESTS(test_cha_cha_internal, sizeof(ref));
+#if defined(__powerpc64__) && !defined(OPENSSL_SYS_AIX) && !defined(OPENSSL_SYS_MACOSX)
+ /* Only run the ABI test when the POWER10 8x path is available */
+ if (OPENSSL_ppccap_P & PPC_BRD31)
+ ADD_TEST(test_chacha20_p10_fpr_abi);
+#endif
return 1;
}
diff --git a/crypto/openssl/test/cipherlist_test.c b/crypto/openssl/test/cipherlist_test.c
index 9874e6bad64..921afe6234a 100644
--- a/crypto/openssl/test/cipherlist_test.c
+++ b/crypto/openssl/test/cipherlist_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -258,11 +258,66 @@ static int test_stdname_cipherlist(void)
return result;
}
+/*
+ * SSL_CTX_set_ciphersuites() must not crash on empty list elements.
+ * CONF_parse_list() signals them with elem=NULL; ciphersuite_cb() must skip
+ * such entries rather than passing NULL to memcpy().
+ */
+#ifndef OPENSSL_NO_TLS1_3
+static int cipher_in_ctx(const SSL_CTX *ctx, uint32_t id)
+{
+ const STACK_OF(SSL_CIPHER) *sk = SSL_CTX_get_ciphers(ctx);
+ int i;
+
+ for (i = 0; i < sk_SSL_CIPHER_num(sk); i++)
+ if (SSL_CIPHER_get_id(sk_SSL_CIPHER_value(sk, i)) == id)
+ return 1;
+ return 0;
+}
+
+static int test_set_ciphersuites_empty_elem(void)
+{
+ SSL_CTX *ctx = NULL;
+ int result = 0;
+
+ if (!TEST_ptr(ctx = SSL_CTX_new(TLS_method())))
+ goto end;
+
+ /* Double colon: both surrounding valid suites must be applied */
+ if (!TEST_true(SSL_CTX_set_ciphersuites(ctx,
+ "TLS_AES_128_GCM_SHA256::TLS_AES_256_GCM_SHA384")))
+ goto end;
+ if (!TEST_true(cipher_in_ctx(ctx, TLS1_3_CK_AES_128_GCM_SHA256))
+ || !TEST_true(cipher_in_ctx(ctx, TLS1_3_CK_AES_256_GCM_SHA384)))
+ goto end;
+
+ /* Leading separator: empty first element, one valid suite must apply */
+ if (!TEST_true(SSL_CTX_set_ciphersuites(ctx, ":TLS_AES_128_GCM_SHA256")))
+ goto end;
+ if (!TEST_true(cipher_in_ctx(ctx, TLS1_3_CK_AES_128_GCM_SHA256)))
+ goto end;
+
+ /* Trailing separator: empty last element, one valid suite must apply */
+ if (!TEST_true(SSL_CTX_set_ciphersuites(ctx, "TLS_AES_128_GCM_SHA256:")))
+ goto end;
+ if (!TEST_true(cipher_in_ctx(ctx, TLS1_3_CK_AES_128_GCM_SHA256)))
+ goto end;
+
+ result = 1;
+end:
+ SSL_CTX_free(ctx);
+ return result;
+}
+#endif
+
int setup_tests(void)
{
ADD_TEST(test_default_cipherlist_implicit);
ADD_TEST(test_default_cipherlist_explicit);
ADD_TEST(test_default_cipherlist_clear);
+#ifndef OPENSSL_NO_TLS1_3
+ ADD_TEST(test_set_ciphersuites_empty_elem);
+#endif
ADD_TEST(test_stdname_cipherlist);
return 1;
}
diff --git a/crypto/openssl/test/cms-msg/make_missing_kdf_der.py b/crypto/openssl/test/cms-msg/make_missing_kdf_der.py
new file mode 100755
index 00000000000..5b3fc0f6eed
--- /dev/null
+++ b/crypto/openssl/test/cms-msg/make_missing_kdf_der.py
@@ -0,0 +1,137 @@
+#!/usr/bin/env python3
+
+# Copyright 2026 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the Apache License 2.0 (the "License"). You may not use
+# this file except in compliance with the License. You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+
+# This script generates missing-kdf.der - a password-encrypted CMS message
+# without the keyDerivationAlgorithm field, which is used in the
+# “PWRI missing keyDerivationAlgorithm regression” test.
+#
+# Usage: python3 make_missing_kdf_der.py valid.der missing-kdf.der
+
+from __future__ import annotations
+
+import argparse
+import sys
+from dataclasses import dataclass
+from pathlib import Path
+
+
+@dataclass
+class Node:
+ off: int
+ tag: int
+ hdr_len: int
+ length: int
+ end: int
+ children: list["Node"]
+
+
+def read_len(data: bytes, off: int) -> tuple[int, int]:
+ first = data[off]
+ if first < 0x80:
+ return first, 1
+ n = first & 0x7F
+ if n == 0 or n > 4:
+ raise ValueError(f"unsupported DER length form at {off}")
+ val = 0
+ for b in data[off + 1 : off + 1 + n]:
+ val = (val << 8) | b
+ return val, 1 + n
+
+
+def parse_node(data: bytes, off: int) -> Node:
+ tag = data[off]
+ length, len_len = read_len(data, off + 1)
+ hdr_len = 1 + len_len
+ end = off + hdr_len + length
+ children: list[Node] = []
+ if tag & 0x20:
+ cur = off + hdr_len
+ while cur < end:
+ child = parse_node(data, cur)
+ children.append(child)
+ cur = child.end
+ if cur != end:
+ raise ValueError(f"child parse ended at {cur}, expected {end}")
+ return Node(off=off, tag=tag, hdr_len=hdr_len, length=length, end=end, children=children)
+
+
+def encode_len(length: int, existing_len_len: int) -> bytes:
+ if existing_len_len == 1:
+ if length >= 0x80:
+ raise ValueError("new length no longer fits in short-form DER")
+ return bytes([length])
+ payload_len = existing_len_len - 1
+ max_len = (1 << (payload_len * 8)) - 1
+ if length > max_len:
+ raise ValueError("new length no longer fits in existing long-form DER")
+ out = bytearray([0x80 | payload_len])
+ for shift in range((payload_len - 1) * 8, -8, -8):
+ out.append((length >> shift) & 0xFF)
+ return bytes(out)
+
+
+def patch_length_field(buf: bytearray, node: Node, delta: int) -> None:
+ new_len = node.length + delta
+ if new_len < 0:
+ raise ValueError("negative patched length")
+ len_bytes = encode_len(new_len, node.hdr_len - 1)
+ start = node.off + 1
+ end = start + len(node.hdr_len.to_bytes(1, "big")) - 1 # unused, kept for clarity
+ buf[start : start + len(len_bytes)] = len_bytes
+
+
+def main() -> int:
+ ap = argparse.ArgumentParser(description="Remove PWRI keyDerivationAlgorithm from a CMS DER blob.")
+ ap.add_argument("input_der")
+ ap.add_argument("output_der")
+ args = ap.parse_args()
+
+ data = Path(args.input_der).read_bytes()
+ root = parse_node(data, 0)
+
+ # CMS structure we expect:
+ # SEQUENCE { OID envelopedData, [0] SEQUENCE { version, SET recipientInfos, ... } }
+ ed_wrapper = root.children[1]
+ env_seq = ed_wrapper.children[0]
+ recipient_set = env_seq.children[1]
+ pwri_choice = recipient_set.children[0] # [3]
+
+ if pwri_choice.tag != 0xA3:
+ raise ValueError(f"expected PWRI choice tag 0xA3, found 0x{pwri_choice.tag:02x}")
+ if len(pwri_choice.children) < 3:
+ raise ValueError("unexpected PWRI child count")
+
+ version = pwri_choice.children[0]
+ maybe_kdf = pwri_choice.children[1]
+ keyenc = pwri_choice.children[2]
+ if version.tag != 0x02:
+ raise ValueError("PWRI version is not INTEGER")
+ if maybe_kdf.tag != 0xA0:
+ raise ValueError(f"PWRI child after version is not [0] keyDerivationAlgorithm: 0x{maybe_kdf.tag:02x}")
+ if keyenc.tag != 0x30:
+ raise ValueError("PWRI keyEncryptionAlgorithm is not SEQUENCE")
+
+ remove_start = maybe_kdf.off
+ remove_end = maybe_kdf.end
+ remove_len = remove_end - remove_start
+
+ out = bytearray(data)
+ del out[remove_start:remove_end]
+
+ # Adjust ancestors whose length spans the removed field.
+ for node in [root, ed_wrapper, env_seq, recipient_set, pwri_choice]:
+ patch_length_field(out, node, -remove_len)
+
+ Path(args.output_der).write_bytes(out)
+ print(f"removed {remove_len} bytes at [{remove_start}, {remove_end})")
+ return 0
+
+
+if __name__ == "__main__":
+ sys.exit(main())
diff --git a/crypto/openssl/test/cms-msg/missing-kdf.der b/crypto/openssl/test/cms-msg/missing-kdf.der
new file mode 100644
index 00000000000..3db602e47c2
Binary files /dev/null and b/crypto/openssl/test/cms-msg/missing-kdf.der differ
diff --git a/crypto/openssl/test/cmsapitest.c b/crypto/openssl/test/cmsapitest.c
index d908bc6fc4c..2b5d08329ba 100644
--- a/crypto/openssl/test/cmsapitest.c
+++ b/crypto/openssl/test/cmsapitest.c
@@ -23,6 +23,191 @@ static char *derin = NULL;
static char *too_long_iv_cms_in = NULL;
static char *pwri_kek_oob_der_in = NULL;
+/*
+ * This is our bad cms data, it contains an AuthEnvelopedData field
+ * with a CIPHER OID set to AES-256-OFB
+ */
+static const unsigned char bad_cms_der[452] = {
+ 0x30, 0x82, 0x01, 0xc0, 0x06, 0x0b, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
+ 0x01, 0x09, 0x10, 0x01, 0x17, 0xa0, 0x82, 0x01, 0xaf, 0x30, 0x82, 0x01,
+ 0xab, 0x02, 0x01, 0x00, 0x31, 0x82, 0x01, 0x44, 0x30, 0x82, 0x01, 0x40,
+ 0x02, 0x01, 0x00, 0x30, 0x28, 0x30, 0x10, 0x31, 0x0e, 0x30, 0x0c, 0x06,
+ 0x03, 0x55, 0x04, 0x03, 0x0c, 0x05, 0x52, 0x65, 0x63, 0x69, 0x70, 0x02,
+ 0x14, 0x1a, 0x5c, 0x04, 0x9b, 0x3a, 0x64, 0xff, 0xd4, 0x63, 0xde, 0x4f,
+ 0x90, 0xe5, 0x76, 0xe2, 0x18, 0xe8, 0x5c, 0x9e, 0xd7, 0x30, 0x0d, 0x06,
+ 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
+ 0x04, 0x82, 0x01, 0x00, 0x18, 0xcf, 0x9f, 0x44, 0x95, 0x79, 0xe9, 0x96,
+ 0x7d, 0x0f, 0xd1, 0xb4, 0xc2, 0x38, 0xb0, 0xc9, 0x76, 0xd5, 0xba, 0x08,
+ 0x5c, 0xbf, 0xc3, 0x30, 0xea, 0x3a, 0x68, 0xa4, 0xba, 0x99, 0x4c, 0x70,
+ 0x97, 0xb8, 0xa9, 0xce, 0x71, 0x4c, 0x54, 0xa3, 0xfd, 0x81, 0x9e, 0x15,
+ 0x63, 0xb7, 0x23, 0x46, 0x17, 0x69, 0xaf, 0x8f, 0xbd, 0xa3, 0x54, 0x23,
+ 0xf3, 0xf5, 0x35, 0xa8, 0xd4, 0x9c, 0xec, 0xe1, 0x17, 0x2c, 0x6d, 0x0b,
+ 0xad, 0xc0, 0xe9, 0x1d, 0xd1, 0x8d, 0x59, 0xd5, 0x29, 0xc6, 0x40, 0xc4,
+ 0xcd, 0x4e, 0x87, 0x70, 0x19, 0x5d, 0x88, 0x50, 0xbd, 0x4a, 0x13, 0xb3,
+ 0xef, 0x0c, 0x6d, 0x6a, 0xc5, 0x51, 0xbb, 0x5c, 0x39, 0x17, 0xda, 0xb1,
+ 0x71, 0x17, 0x88, 0xfb, 0x6a, 0xef, 0x7f, 0x85, 0xa7, 0x04, 0x71, 0xc7,
+ 0x83, 0x91, 0xb3, 0x30, 0x1b, 0x3d, 0x18, 0x7f, 0x63, 0xbf, 0x42, 0x7c,
+ 0xae, 0x6f, 0xae, 0xa1, 0x17, 0x84, 0xfd, 0x67, 0x2a, 0x4f, 0x4c, 0xe9,
+ 0x05, 0x26, 0x2c, 0xd5, 0xab, 0x0c, 0xcf, 0xdc, 0x3f, 0x24, 0xcf, 0x71,
+ 0x26, 0x7a, 0x1f, 0xf7, 0xc9, 0x92, 0x5e, 0xb6, 0x3d, 0x7f, 0xc3, 0x08,
+ 0xd3, 0xad, 0xc0, 0xc8, 0x4f, 0x42, 0x0c, 0xf3, 0xac, 0x23, 0x11, 0xdf,
+ 0x75, 0x84, 0x69, 0x8c, 0xa6, 0x59, 0x43, 0xfb, 0xf7, 0x6b, 0x62, 0xf0,
+ 0xf7, 0x35, 0x07, 0xc4, 0xf8, 0xd5, 0x12, 0x4a, 0x16, 0x62, 0xbc, 0x04,
+ 0xaa, 0x9a, 0x2e, 0xb2, 0x1a, 0xfa, 0x4c, 0x82, 0xce, 0x9e, 0xa8, 0x6d,
+ 0xc1, 0x29, 0x59, 0xe0, 0x33, 0xb5, 0xa6, 0x47, 0x09, 0x2e, 0xbf, 0x60,
+ 0xa6, 0xb3, 0x21, 0xa0, 0x15, 0xac, 0x92, 0x29, 0xb5, 0xe6, 0xe0, 0xd4,
+ 0x8b, 0xd8, 0x21, 0xe2, 0x17, 0x98, 0xd1, 0x11, 0x5d, 0xc5, 0xae, 0x24,
+ 0xe8, 0x92, 0xdb, 0x96, 0xa3, 0x5b, 0x58, 0xa7, 0x30, 0x4c, 0x06, 0x09,
+ 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0x30, 0x1d, 0x06,
+ 0x09, 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x01, 0x2b, 0x04, 0x10,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
+ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
+ 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41,
+ 0x41, 0x41, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+/*
+ * This array represents a der encoded contentinfo structure addressed to
+ * servercert.pem, with the tag value of the aes-256-gcm cipher used to encrypt
+ * the contents of the mssages down to 1 byte. Decoding it should fail
+ */
+static const unsigned char one_byte_mac_cms_der[423] = {
+ 0x30, 0x82, 0x01, 0xa3, 0x06, 0x0b, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
+ 0x01, 0x09, 0x10, 0x01, 0x17, 0xa0, 0x82, 0x01, 0x92, 0x30, 0x82, 0x01,
+ 0x8e, 0x02, 0x01, 0x00, 0x31, 0x82, 0x01, 0x33, 0x30, 0x82, 0x01, 0x2f,
+ 0x02, 0x01, 0x00, 0x30, 0x17, 0x30, 0x12, 0x31, 0x10, 0x30, 0x0e, 0x06,
+ 0x03, 0x55, 0x04, 0x03, 0x0c, 0x07, 0x52, 0x6f, 0x6f, 0x74, 0x20, 0x43,
+ 0x41, 0x02, 0x01, 0x02, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
+ 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x82, 0x01, 0x00, 0x10,
+ 0x3a, 0x8c, 0xee, 0x4e, 0xe2, 0x1f, 0xfe, 0xcc, 0x28, 0x39, 0x9e, 0x46,
+ 0xbe, 0xa7, 0xd5, 0x02, 0x2a, 0x53, 0x06, 0x5f, 0x94, 0x6b, 0x69, 0x6d,
+ 0x2d, 0xe8, 0x44, 0xa6, 0x43, 0x52, 0x82, 0x89, 0x2d, 0xf1, 0x9b, 0xb9,
+ 0x9e, 0xa4, 0x8d, 0x77, 0xf1, 0xd2, 0x8e, 0x86, 0x79, 0x06, 0x3e, 0x90,
+ 0xf0, 0xca, 0x9e, 0xb5, 0x35, 0xd5, 0x89, 0xf0, 0x7c, 0x06, 0xa0, 0x91,
+ 0xbf, 0xf4, 0x61, 0xaa, 0x5c, 0x99, 0xa3, 0x64, 0x15, 0xfd, 0xf9, 0x90,
+ 0xf0, 0xf3, 0x25, 0x5b, 0x48, 0xa1, 0xfb, 0x7a, 0xce, 0x63, 0xdc, 0xa9,
+ 0xfe, 0x7c, 0xbe, 0x9c, 0xaa, 0xd3, 0x42, 0x0e, 0x4a, 0xc3, 0x4b, 0x4e,
+ 0x76, 0x6d, 0x52, 0x54, 0x85, 0x4e, 0xab, 0x50, 0x2c, 0x5f, 0xc2, 0x8b,
+ 0x9f, 0x1f, 0x0f, 0x8a, 0x7c, 0xb3, 0x0a, 0xde, 0x50, 0x9b, 0xef, 0x89,
+ 0xf2, 0xea, 0x07, 0xca, 0x11, 0x76, 0x29, 0xaf, 0xe4, 0x59, 0x28, 0x19,
+ 0x48, 0x96, 0x67, 0xdd, 0xdd, 0x01, 0xf0, 0x14, 0xbe, 0x3d, 0xa5, 0xa3,
+ 0x83, 0x21, 0x39, 0x29, 0xb7, 0x8f, 0xb7, 0xf4, 0x85, 0x05, 0xee, 0xca,
+ 0xbb, 0xbd, 0xc0, 0xaf, 0x0d, 0xf1, 0xef, 0x5f, 0x06, 0x05, 0xeb, 0x0e,
+ 0x55, 0xf0, 0x7e, 0x13, 0x1a, 0x2a, 0x37, 0xd4, 0xba, 0x26, 0xc8, 0x2e,
+ 0x6b, 0xc3, 0xe1, 0xcf, 0x28, 0xab, 0x0d, 0xab, 0xdd, 0xa7, 0xf4, 0xd3,
+ 0x59, 0xcd, 0xc7, 0x2d, 0xa1, 0x56, 0x5f, 0x47, 0x77, 0x27, 0x17, 0x71,
+ 0xae, 0x75, 0xc8, 0x71, 0x58, 0xf9, 0xab, 0x67, 0xda, 0x23, 0x62, 0xa0,
+ 0x6d, 0xe5, 0x2d, 0x06, 0xb8, 0xc0, 0xac, 0xaa, 0x38, 0xa4, 0x0d, 0xb5,
+ 0xb2, 0xce, 0xa7, 0x26, 0x0d, 0x3a, 0x88, 0x2f, 0x8d, 0x6c, 0xa0, 0xf6,
+ 0x94, 0xf2, 0x2c, 0x37, 0x03, 0xaf, 0x67, 0x5c, 0xf3, 0x2c, 0xfb, 0xe8,
+ 0x16, 0x9e, 0x55, 0x30, 0x4f, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7,
+ 0x0d, 0x01, 0x07, 0x01, 0x30, 0x1e, 0x06, 0x09, 0x60, 0x86, 0x48, 0x01,
+ 0x65, 0x03, 0x04, 0x01, 0x2e, 0x30, 0x11, 0x04, 0x0c, 0x6b, 0x1d, 0xe5,
+ 0xb2, 0x38, 0x0e, 0x17, 0x91, 0x9c, 0x9c, 0x40, 0x35, 0x02, 0x01, 0x10,
+ 0x80, 0x22, 0xa0, 0x90, 0x75, 0x74, 0xdf, 0x2d, 0xba, 0x4f, 0xce, 0x4e,
+ 0x7e, 0x52, 0xb0, 0x2e, 0x5f, 0xe0, 0x84, 0x01, 0xb1, 0x49, 0x0b, 0x69,
+ 0xc7, 0x61, 0x63, 0x84, 0x3a, 0xfc, 0xaa, 0x86, 0xfc, 0x96, 0x4e, 0x6c,
+ 0x04, 0x01, 0x92
+};
+
+static int test_short_mac_on_auth_envelope_data(void)
+{
+ int ret = 0;
+ const unsigned char *derptr = one_byte_mac_cms_der;
+ BIO *outmsgbio = BIO_new(BIO_s_mem());
+ CMS_ContentInfo *content = d2i_CMS_ContentInfo(NULL, &derptr, OSSL_NELEM(one_byte_mac_cms_der));
+
+ if (!TEST_ptr(content))
+ goto end;
+
+ /*
+ * We expect this to fail, as the tag value in the authEnvelopedData parameter is
+ * a single byte
+ */
+ if (!TEST_false(CMS_decrypt(content, privkey, cert, NULL, outmsgbio, CMS_TEXT)))
+ goto end;
+
+ ret = 1;
+end:
+ BIO_free(outmsgbio);
+ CMS_ContentInfo_free(content);
+ return ret;
+}
+
+static int test_non_aead_on_auth_envelope_dec(void)
+{
+ int ret = 0;
+ const unsigned char *derptr = bad_cms_der;
+ BIO *outmsgbio = BIO_new(BIO_s_mem());
+ CMS_ContentInfo *content = d2i_CMS_ContentInfo(NULL, &derptr, OSSL_NELEM(bad_cms_der));
+
+ if (!TEST_ptr(content))
+ goto end;
+
+ /*
+ * We expect this to fail
+ */
+ if (!TEST_false(CMS_decrypt(content, privkey, cert, NULL, outmsgbio,
+ CMS_TEXT)))
+ goto end;
+
+ ret = 1;
+end:
+ BIO_free(outmsgbio);
+ CMS_ContentInfo_free(content);
+ return ret;
+}
+
+static int test_non_aead_on_auth_envelope_enc(void)
+{
+ CMS_ContentInfo *content = NULL;
+ STACK_OF(X509) *certstack = sk_X509_new_null();
+ const EVP_CIPHER *cipher = EVP_aes_128_cbc();
+ const char *msg = "Hello world";
+ BIO *msgbio = BIO_new_mem_buf(msg, (int)strlen(msg));
+ BIO *outmsgbio = BIO_new(BIO_s_mem());
+ X509 *recip;
+ int i;
+ int ret = 0;
+
+ if (!TEST_ptr(certstack) || !TEST_ptr(msgbio) || !TEST_ptr(outmsgbio))
+ goto end;
+
+ if (!TEST_int_gt(sk_X509_push(certstack, cert), 0))
+ goto end;
+
+ /*
+ * Emulate CMS_encrypt here, but use a non AEAD cipher
+ */
+ content = CMS_AuthEnvelopedData_create_ex(cipher, NULL, NULL);
+
+ if (!TEST_ptr(content))
+ goto end;
+
+ for (i = 0; i < sk_X509_num(certstack); i++) {
+ recip = sk_X509_value(certstack, i);
+ if (!TEST_ptr(CMS_add1_recipient_cert(content, recip, CMS_TEXT)))
+ goto end;
+ }
+
+ /*
+ * We expect this to fail as we are using a non-AEAD cipher on
+ * AuthEnvelopedData
+ */
+ if (!TEST_int_eq(CMS_final(content, msgbio, NULL, CMS_TEXT), 0))
+ goto end;
+
+ ret = 1;
+end:
+ sk_X509_free(certstack);
+ BIO_free(msgbio);
+ BIO_free(outmsgbio);
+ CMS_ContentInfo_free(content);
+ return ret;
+}
+
static int test_encrypt_decrypt(const EVP_CIPHER *cipher)
{
int testresult = 0;
@@ -600,6 +785,9 @@ int setup_tests(void)
ADD_TEST(test_encrypt_decrypt_aes_128_gcm);
ADD_TEST(test_encrypt_decrypt_aes_192_gcm);
ADD_TEST(test_encrypt_decrypt_aes_256_gcm);
+ ADD_TEST(test_non_aead_on_auth_envelope_enc);
+ ADD_TEST(test_non_aead_on_auth_envelope_dec);
+ ADD_TEST(test_short_mac_on_auth_envelope_data);
ADD_TEST(test_CMS_add1_cert);
ADD_TEST(test_d2i_CMS_bio_NULL);
ADD_TEST(test_CMS_set1_key_mem_leak);
diff --git a/crypto/openssl/test/destest.c b/crypto/openssl/test/destest.c
index d851eeb195f..cfa773a254e 100644
--- a/crypto/openssl/test/destest.c
+++ b/crypto/openssl/test/destest.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -195,46 +195,10 @@ static unsigned char cbc_iv[8] = {
*/
/* static char cbc_data[40]="7654321 Now is the time for \0001"; */
static unsigned char cbc_data[40] = {
- 0x37,
- 0x36,
- 0x35,
- 0x34,
- 0x33,
- 0x32,
- 0x31,
- 0x20,
- 0x4E,
- 0x6F,
- 0x77,
- 0x20,
- 0x69,
- 0x73,
- 0x20,
- 0x74,
- 0x68,
- 0x65,
- 0x20,
- 0x74,
- 0x69,
- 0x6D,
- 0x65,
- 0x20,
- 0x66,
- 0x6F,
- 0x72,
- 0x20,
- 0x00,
- 0x31,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
+ 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x20, 0x4E, 0x6F,
+ 0x77, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74,
+ 0x69, 0x6D, 0x65, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x00, 0x31,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
static unsigned char cbc_ok[32] = {
@@ -251,73 +215,17 @@ static unsigned char cbc2_key[8] = {
0xf0, 0xe1, 0xd2, 0xc3, 0xb4, 0xa5, 0x96, 0x87
};
static unsigned char xcbc_ok[32] = {
- 0x86,
- 0x74,
- 0x81,
- 0x0D,
- 0x61,
- 0xA4,
- 0xA5,
- 0x48,
- 0xB9,
- 0x93,
- 0x03,
- 0xE1,
- 0xB8,
- 0xBB,
- 0xBD,
- 0xBD,
- 0x64,
- 0x30,
- 0x0B,
- 0xB9,
- 0x06,
- 0x65,
- 0x81,
- 0x76,
- 0x04,
- 0x1D,
- 0x77,
- 0x62,
- 0x17,
- 0xCA,
- 0x2B,
- 0xD2,
+ 0x86, 0x74, 0x81, 0x0D, 0x61, 0xA4, 0xA5, 0x48, 0xB9, 0x93,
+ 0x03, 0xE1, 0xB8, 0xBB, 0xBD, 0xBD, 0x64, 0x30, 0x0B, 0xB9,
+ 0x06, 0x65, 0x81, 0x76, 0x04, 0x1D, 0x77, 0x62, 0x17, 0xCA,
+ 0x2B, 0xD2
};
#else
static unsigned char xcbc_ok[32] = {
- 0x84,
- 0x6B,
- 0x29,
- 0x14,
- 0x85,
- 0x1E,
- 0x9A,
- 0x29,
- 0x54,
- 0x73,
- 0x2F,
- 0x8A,
- 0xA0,
- 0xA6,
- 0x11,
- 0xC1,
- 0x15,
- 0xCD,
- 0xC2,
- 0xD7,
- 0x95,
- 0x1B,
- 0x10,
- 0x53,
- 0xA6,
- 0x3C,
- 0x5E,
- 0x03,
- 0xB2,
- 0x1A,
- 0xA3,
- 0xC4,
+ 0x84, 0x6B, 0x29, 0x14, 0x85, 0x1E, 0x9A, 0x29, 0x54, 0x73,
+ 0x2F, 0x8A, 0xA0, 0xA6, 0x11, 0xC1, 0x15, 0xCD, 0xC2, 0xD7,
+ 0x95, 0x1B, 0x10, 0x53, 0xA6, 0x3C, 0x5E, 0x03, 0xB2, 0x1A,
+ 0xA3, 0xC4
};
#endif
diff --git a/crypto/openssl/test/dsatest.c b/crypto/openssl/test/dsatest.c
index c4742bc3a4f..ab3a83ba1be 100644
--- a/crypto/openssl/test/dsatest.c
+++ b/crypto/openssl/test/dsatest.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -33,158 +33,26 @@
static int dsa_cb(int p, int n, BN_GENCB *arg);
static unsigned char out_p[] = {
- 0x8d,
- 0xf2,
- 0xa4,
- 0x94,
- 0x49,
- 0x22,
- 0x76,
- 0xaa,
- 0x3d,
- 0x25,
- 0x75,
- 0x9b,
- 0xb0,
- 0x68,
- 0x69,
- 0xcb,
- 0xea,
- 0xc0,
- 0xd8,
- 0x3a,
- 0xfb,
- 0x8d,
- 0x0c,
- 0xf7,
- 0xcb,
- 0xb8,
- 0x32,
- 0x4f,
- 0x0d,
- 0x78,
- 0x82,
- 0xe5,
- 0xd0,
- 0x76,
- 0x2f,
- 0xc5,
- 0xb7,
- 0x21,
- 0x0e,
- 0xaf,
- 0xc2,
- 0xe9,
- 0xad,
- 0xac,
- 0x32,
- 0xab,
- 0x7a,
- 0xac,
- 0x49,
- 0x69,
- 0x3d,
- 0xfb,
- 0xf8,
- 0x37,
- 0x24,
- 0xc2,
- 0xec,
- 0x07,
- 0x36,
- 0xee,
- 0x31,
- 0xc8,
- 0x02,
- 0x91,
+ 0x8d, 0xf2, 0xa4, 0x94, 0x49, 0x22, 0x76, 0xaa, 0x3d, 0x25,
+ 0x75, 0x9b, 0xb0, 0x68, 0x69, 0xcb, 0xea, 0xc0, 0xd8, 0x3a,
+ 0xfb, 0x8d, 0x0c, 0xf7, 0xcb, 0xb8, 0x32, 0x4f, 0x0d, 0x78,
+ 0x82, 0xe5, 0xd0, 0x76, 0x2f, 0xc5, 0xb7, 0x21, 0x0e, 0xaf,
+ 0xc2, 0xe9, 0xad, 0xac, 0x32, 0xab, 0x7a, 0xac, 0x49, 0x69,
+ 0x3d, 0xfb, 0xf8, 0x37, 0x24, 0xc2, 0xec, 0x07, 0x36, 0xee,
+ 0x31, 0xc8, 0x02, 0x91
};
static unsigned char out_q[] = {
- 0xc7,
- 0x73,
- 0x21,
- 0x8c,
- 0x73,
- 0x7e,
- 0xc8,
- 0xee,
- 0x99,
- 0x3b,
- 0x4f,
- 0x2d,
- 0xed,
- 0x30,
- 0xf4,
- 0x8e,
- 0xda,
- 0xce,
- 0x91,
- 0x5f,
+ 0xc7, 0x73, 0x21, 0x8c, 0x73, 0x7e, 0xc8, 0xee, 0x99, 0x3b,
+ 0x4f, 0x2d, 0xed, 0x30, 0xf4, 0x8e, 0xda, 0xce, 0x91, 0x5f
};
static unsigned char out_g[] = {
- 0x62,
- 0x6d,
- 0x02,
- 0x78,
- 0x39,
- 0xea,
- 0x0a,
- 0x13,
- 0x41,
- 0x31,
- 0x63,
- 0xa5,
- 0x5b,
- 0x4c,
- 0xb5,
- 0x00,
- 0x29,
- 0x9d,
- 0x55,
- 0x22,
- 0x95,
- 0x6c,
- 0xef,
- 0xcb,
- 0x3b,
- 0xff,
- 0x10,
- 0xf3,
- 0x99,
- 0xce,
- 0x2c,
- 0x2e,
- 0x71,
- 0xcb,
- 0x9d,
- 0xe5,
- 0xfa,
- 0x24,
- 0xba,
- 0xbf,
- 0x58,
- 0xe5,
- 0xb7,
- 0x95,
- 0x21,
- 0x92,
- 0x5c,
- 0x9c,
- 0xc4,
- 0x2e,
- 0x9f,
- 0x6f,
- 0x46,
- 0x4b,
- 0x08,
- 0x8c,
- 0xc5,
- 0x72,
- 0xaf,
- 0x53,
- 0xe6,
- 0xd7,
- 0x88,
- 0x02,
+ 0x62, 0x6d, 0x02, 0x78, 0x39, 0xea, 0x0a, 0x13, 0x41, 0x31,
+ 0x63, 0xa5, 0x5b, 0x4c, 0xb5, 0x00, 0x29, 0x9d, 0x55, 0x22,
+ 0x95, 0x6c, 0xef, 0xcb, 0x3b, 0xff, 0x10, 0xf3, 0x99, 0xce,
+ 0x2c, 0x2e, 0x71, 0xcb, 0x9d, 0xe5, 0xfa, 0x24, 0xba, 0xbf,
+ 0x58, 0xe5, 0xb7, 0x95, 0x21, 0x92, 0x5c, 0x9c, 0xc4, 0x2e,
+ 0x9f, 0x6f, 0x46, 0x4b, 0x08, 0x8c, 0xc5, 0x72, 0xaf, 0x53,
+ 0xe6, 0xd7, 0x88, 0x02
};
static int dsa_test(void)
@@ -202,26 +70,8 @@ static int dsa_test(void)
* PUB 186 and also appear in Appendix 5 to FIPS PIB 186-1
*/
static unsigned char seed[20] = {
- 0xd5,
- 0x01,
- 0x4e,
- 0x4b,
- 0x60,
- 0xef,
- 0x2b,
- 0xa8,
- 0xb6,
- 0x21,
- 0x1b,
- 0x40,
- 0x62,
- 0xba,
- 0x32,
- 0x24,
- 0xe0,
- 0x42,
- 0x7d,
- 0xd3,
+ 0xd5, 0x01, 0x4e, 0x4b, 0x60, 0xef, 0x2b, 0xa8, 0xb6, 0x21,
+ 0x1b, 0x40, 0x62, 0xba, 0x32, 0x24, 0xe0, 0x42, 0x7d, 0xd3
};
static const unsigned char str1[] = "12345678901234567890";
diff --git a/crypto/openssl/test/ectest.c b/crypto/openssl/test/ectest.c
index 0233f870b6f..1e4ae9c63ed 100644
--- a/crypto/openssl/test/ectest.c
+++ b/crypto/openssl/test/ectest.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2001-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2001-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
@@ -1421,471 +1421,56 @@ static int nistp_single_test(int idx)
}
static const unsigned char p521_named[] = {
- 0x06,
- 0x05,
- 0x2b,
- 0x81,
- 0x04,
- 0x00,
- 0x23,
+ 0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x23
};
static const unsigned char p521_explicit[] = {
- 0x30,
- 0x82,
- 0x01,
- 0xc3,
- 0x02,
- 0x01,
- 0x01,
- 0x30,
- 0x4d,
- 0x06,
- 0x07,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x01,
- 0x01,
- 0x02,
- 0x42,
- 0x01,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0x30,
- 0x81,
- 0x9f,
- 0x04,
- 0x42,
- 0x01,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xfc,
- 0x04,
- 0x42,
- 0x00,
- 0x51,
- 0x95,
- 0x3e,
- 0xb9,
- 0x61,
- 0x8e,
- 0x1c,
- 0x9a,
- 0x1f,
- 0x92,
- 0x9a,
- 0x21,
- 0xa0,
- 0xb6,
- 0x85,
- 0x40,
- 0xee,
- 0xa2,
- 0xda,
- 0x72,
- 0x5b,
- 0x99,
- 0xb3,
- 0x15,
- 0xf3,
- 0xb8,
- 0xb4,
- 0x89,
- 0x91,
- 0x8e,
- 0xf1,
- 0x09,
- 0xe1,
- 0x56,
- 0x19,
- 0x39,
- 0x51,
- 0xec,
- 0x7e,
- 0x93,
- 0x7b,
- 0x16,
- 0x52,
- 0xc0,
- 0xbd,
- 0x3b,
- 0xb1,
- 0xbf,
- 0x07,
- 0x35,
- 0x73,
- 0xdf,
- 0x88,
- 0x3d,
- 0x2c,
- 0x34,
- 0xf1,
- 0xef,
- 0x45,
- 0x1f,
- 0xd4,
- 0x6b,
- 0x50,
- 0x3f,
- 0x00,
- 0x03,
- 0x15,
- 0x00,
- 0xd0,
- 0x9e,
- 0x88,
- 0x00,
- 0x29,
- 0x1c,
- 0xb8,
- 0x53,
- 0x96,
- 0xcc,
- 0x67,
- 0x17,
- 0x39,
- 0x32,
- 0x84,
- 0xaa,
- 0xa0,
- 0xda,
- 0x64,
- 0xba,
- 0x04,
- 0x81,
- 0x85,
- 0x04,
- 0x00,
- 0xc6,
- 0x85,
- 0x8e,
- 0x06,
- 0xb7,
- 0x04,
- 0x04,
- 0xe9,
- 0xcd,
- 0x9e,
- 0x3e,
- 0xcb,
- 0x66,
- 0x23,
- 0x95,
- 0xb4,
- 0x42,
- 0x9c,
- 0x64,
- 0x81,
- 0x39,
- 0x05,
- 0x3f,
- 0xb5,
- 0x21,
- 0xf8,
- 0x28,
- 0xaf,
- 0x60,
- 0x6b,
- 0x4d,
- 0x3d,
- 0xba,
- 0xa1,
- 0x4b,
- 0x5e,
- 0x77,
- 0xef,
- 0xe7,
- 0x59,
- 0x28,
- 0xfe,
- 0x1d,
- 0xc1,
- 0x27,
- 0xa2,
- 0xff,
- 0xa8,
- 0xde,
- 0x33,
- 0x48,
- 0xb3,
- 0xc1,
- 0x85,
- 0x6a,
- 0x42,
- 0x9b,
- 0xf9,
- 0x7e,
- 0x7e,
- 0x31,
- 0xc2,
- 0xe5,
- 0xbd,
- 0x66,
- 0x01,
- 0x18,
- 0x39,
- 0x29,
- 0x6a,
- 0x78,
- 0x9a,
- 0x3b,
- 0xc0,
- 0x04,
- 0x5c,
- 0x8a,
- 0x5f,
- 0xb4,
- 0x2c,
- 0x7d,
- 0x1b,
- 0xd9,
- 0x98,
- 0xf5,
- 0x44,
- 0x49,
- 0x57,
- 0x9b,
- 0x44,
- 0x68,
- 0x17,
- 0xaf,
- 0xbd,
- 0x17,
- 0x27,
- 0x3e,
- 0x66,
- 0x2c,
- 0x97,
- 0xee,
- 0x72,
- 0x99,
- 0x5e,
- 0xf4,
- 0x26,
- 0x40,
- 0xc5,
- 0x50,
- 0xb9,
- 0x01,
- 0x3f,
- 0xad,
- 0x07,
- 0x61,
- 0x35,
- 0x3c,
- 0x70,
- 0x86,
- 0xa2,
- 0x72,
- 0xc2,
- 0x40,
- 0x88,
- 0xbe,
- 0x94,
- 0x76,
- 0x9f,
- 0xd1,
- 0x66,
- 0x50,
- 0x02,
- 0x42,
- 0x01,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xff,
- 0xfa,
- 0x51,
- 0x86,
- 0x87,
- 0x83,
- 0xbf,
- 0x2f,
- 0x96,
- 0x6b,
- 0x7f,
- 0xcc,
- 0x01,
- 0x48,
- 0xf7,
- 0x09,
- 0xa5,
- 0xd0,
- 0x3b,
- 0xb5,
- 0xc9,
- 0xb8,
- 0x89,
- 0x9c,
- 0x47,
- 0xae,
- 0xbb,
- 0x6f,
- 0xb7,
- 0x1e,
- 0x91,
- 0x38,
- 0x64,
- 0x09,
- 0x02,
- 0x01,
- 0x01,
+ 0x30, 0x82, 0x01, 0xc3, 0x02, 0x01, 0x01, 0x30, 0x4d, 0x06,
+ 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x01, 0x01, 0x02, 0x42,
+ 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x81, 0x9f, 0x04,
+ 0x42, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x04, 0x42, 0x00,
+ 0x51, 0x95, 0x3e, 0xb9, 0x61, 0x8e, 0x1c, 0x9a, 0x1f, 0x92,
+ 0x9a, 0x21, 0xa0, 0xb6, 0x85, 0x40, 0xee, 0xa2, 0xda, 0x72,
+ 0x5b, 0x99, 0xb3, 0x15, 0xf3, 0xb8, 0xb4, 0x89, 0x91, 0x8e,
+ 0xf1, 0x09, 0xe1, 0x56, 0x19, 0x39, 0x51, 0xec, 0x7e, 0x93,
+ 0x7b, 0x16, 0x52, 0xc0, 0xbd, 0x3b, 0xb1, 0xbf, 0x07, 0x35,
+ 0x73, 0xdf, 0x88, 0x3d, 0x2c, 0x34, 0xf1, 0xef, 0x45, 0x1f,
+ 0xd4, 0x6b, 0x50, 0x3f, 0x00, 0x03, 0x15, 0x00, 0xd0, 0x9e,
+ 0x88, 0x00, 0x29, 0x1c, 0xb8, 0x53, 0x96, 0xcc, 0x67, 0x17,
+ 0x39, 0x32, 0x84, 0xaa, 0xa0, 0xda, 0x64, 0xba, 0x04, 0x81,
+ 0x85, 0x04, 0x00, 0xc6, 0x85, 0x8e, 0x06, 0xb7, 0x04, 0x04,
+ 0xe9, 0xcd, 0x9e, 0x3e, 0xcb, 0x66, 0x23, 0x95, 0xb4, 0x42,
+ 0x9c, 0x64, 0x81, 0x39, 0x05, 0x3f, 0xb5, 0x21, 0xf8, 0x28,
+ 0xaf, 0x60, 0x6b, 0x4d, 0x3d, 0xba, 0xa1, 0x4b, 0x5e, 0x77,
+ 0xef, 0xe7, 0x59, 0x28, 0xfe, 0x1d, 0xc1, 0x27, 0xa2, 0xff,
+ 0xa8, 0xde, 0x33, 0x48, 0xb3, 0xc1, 0x85, 0x6a, 0x42, 0x9b,
+ 0xf9, 0x7e, 0x7e, 0x31, 0xc2, 0xe5, 0xbd, 0x66, 0x01, 0x18,
+ 0x39, 0x29, 0x6a, 0x78, 0x9a, 0x3b, 0xc0, 0x04, 0x5c, 0x8a,
+ 0x5f, 0xb4, 0x2c, 0x7d, 0x1b, 0xd9, 0x98, 0xf5, 0x44, 0x49,
+ 0x57, 0x9b, 0x44, 0x68, 0x17, 0xaf, 0xbd, 0x17, 0x27, 0x3e,
+ 0x66, 0x2c, 0x97, 0xee, 0x72, 0x99, 0x5e, 0xf4, 0x26, 0x40,
+ 0xc5, 0x50, 0xb9, 0x01, 0x3f, 0xad, 0x07, 0x61, 0x35, 0x3c,
+ 0x70, 0x86, 0xa2, 0x72, 0xc2, 0x40, 0x88, 0xbe, 0x94, 0x76,
+ 0x9f, 0xd1, 0x66, 0x50, 0x02, 0x42, 0x01, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfa,
+ 0x51, 0x86, 0x87, 0x83, 0xbf, 0x2f, 0x96, 0x6b, 0x7f, 0xcc,
+ 0x01, 0x48, 0xf7, 0x09, 0xa5, 0xd0, 0x3b, 0xb5, 0xc9, 0xb8,
+ 0x89, 0x9c, 0x47, 0xae, 0xbb, 0x6f, 0xb7, 0x1e, 0x91, 0x38,
+ 0x64, 0x09, 0x02, 0x01, 0x01
};
/*
diff --git a/crypto/openssl/test/endecode_test.c b/crypto/openssl/test/endecode_test.c
index 3f8ed7f3925..bd068b208a9 100644
--- a/crypto/openssl/test/endecode_test.c
+++ b/crypto/openssl/test/endecode_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2020-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -1212,36 +1212,9 @@ static int do_create_ec_explicit_trinomial_params(OSSL_PARAM_BLD *bld,
BIGNUM *a, *b, *poly, *order, *cofactor;
/* sect233k1 characteristic-two-field tpBasis */
static const unsigned char poly_data[] = {
- 0x02,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x04,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
};
static const unsigned char a_data[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
diff --git a/crypto/openssl/test/enginetest.c b/crypto/openssl/test/enginetest.c
index 50556131b39..6132142d1e5 100644
--- a/crypto/openssl/test/enginetest.c
+++ b/crypto/openssl/test/enginetest.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2022 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2000-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -61,6 +61,8 @@ static int test_engines(void)
ENGINE *new_h4 = NULL;
memset(block, 0, sizeof(block));
+ memset(eid, 0, sizeof(eid));
+ memset(ename, 0, sizeof(ename));
if (!TEST_ptr(new_h1 = ENGINE_new())
|| !TEST_true(ENGINE_set_id(new_h1, "test_id0"))
|| !TEST_true(ENGINE_set_name(new_h1, "First test item"))
@@ -171,10 +173,6 @@ static int test_engines(void)
goto end;
ENGINE_free(ptr);
}
- for (loop = 0; loop < NUMTOADD; loop++) {
- OPENSSL_free(eid[loop]);
- OPENSSL_free(ename[loop]);
- }
to_return = 1;
end:
@@ -182,8 +180,11 @@ static int test_engines(void)
ENGINE_free(new_h2);
ENGINE_free(new_h3);
ENGINE_free(new_h4);
- for (loop = 0; loop < NUMTOADD; loop++)
+ for (loop = 0; loop < NUMTOADD; loop++) {
+ OPENSSL_free(eid[loop]);
+ OPENSSL_free(ename[loop]);
ENGINE_free(block[loop]);
+ }
return to_return;
}
diff --git a/crypto/openssl/test/evp_extra_test.c b/crypto/openssl/test/evp_extra_test.c
index 8fb5b216feb..80a133dd7f1 100644
--- a/crypto/openssl/test/evp_extra_test.c
+++ b/crypto/openssl/test/evp_extra_test.c
@@ -2228,6 +2228,29 @@ static int test_EVP_md_null(void)
return ret;
}
+#ifndef OPENSSL_NO_POLY1305
+/* Test that EVP_MAC_final fails for Poly1305 when no key was set */
+static int test_evp_mac_poly1305_no_key(void)
+{
+ int ret = 0;
+ EVP_MAC *mac = NULL;
+ EVP_MAC_CTX *ctx = NULL;
+ unsigned char out[16];
+ size_t outl = 0;
+
+ if (!TEST_ptr(mac = EVP_MAC_fetch(testctx, "Poly1305", testpropq))
+ || !TEST_ptr(ctx = EVP_MAC_CTX_new(mac))
+ || !TEST_int_eq(EVP_MAC_init(ctx, NULL, 0, NULL), 1)
+ || !TEST_int_eq(EVP_MAC_final(ctx, out, &outl, sizeof(out)), 0))
+ goto err;
+ ret = 1;
+err:
+ EVP_MAC_CTX_free(ctx);
+ EVP_MAC_free(mac);
+ return ret;
+}
+#endif
+
static int test_d2i_AutoPrivateKey(int i)
{
int ret = 0;
@@ -2592,9 +2615,10 @@ static int test_EVP_SM2(void)
uint8_t ciphertext[128];
size_t ctext_len = sizeof(ciphertext);
-
+ size_t ctext_len_param = 0;
uint8_t plaintext[8];
size_t ptext_len = sizeof(plaintext);
+ size_t ptext_len_param = 0;
uint8_t sm2_id[] = { 1, 2, 3, 4, 'l', 'e', 't', 't', 'e', 'r' };
@@ -2724,7 +2748,8 @@ static int test_EVP_SM2(void)
if (!TEST_true(EVP_PKEY_CTX_set_params(cctx, sparams)))
goto done;
- if (!TEST_true(EVP_PKEY_encrypt(cctx, ciphertext, &ctext_len, kMsg,
+ ctext_len_param = ctext_len;
+ if (!TEST_true(EVP_PKEY_encrypt(cctx, ciphertext, &ctext_len_param, kMsg,
sizeof(kMsg))))
goto done;
@@ -2734,8 +2759,9 @@ static int test_EVP_SM2(void)
if (!TEST_true(EVP_PKEY_CTX_set_params(cctx, sparams)))
goto done;
- if (!TEST_int_gt(EVP_PKEY_decrypt(cctx, plaintext, &ptext_len, ciphertext,
- ctext_len),
+ ptext_len_param = ptext_len;
+ if (!TEST_int_gt(EVP_PKEY_decrypt(cctx, plaintext, &ptext_len_param, ciphertext,
+ ctext_len_param),
0))
goto done;
@@ -2755,7 +2781,7 @@ static int test_EVP_SM2(void)
goto done;
}
- if (!TEST_true(ptext_len == sizeof(kMsg)))
+ if (!TEST_true(ptext_len_param == sizeof(kMsg)))
goto done;
if (!TEST_true(memcmp(plaintext, kMsg, sizeof(kMsg)) == 0))
@@ -3976,6 +4002,85 @@ static int test_RSA_OAEP_set_null_label(void)
return ret;
}
+static int test_RSA_verify_recover_rejects_short_buffer(void)
+{
+ int ret = 0;
+ int recovered_cap = 0;
+ EVP_PKEY *pkey = NULL;
+ EVP_PKEY_CTX *sign_ctx = NULL, *verify_ctx = NULL;
+ unsigned char *sig = NULL, *recovered = NULL;
+ size_t sig_len = 0, recovered_len = 0;
+ unsigned long err = 0;
+ unsigned char shortbuf[] = { 0xa5, 0x5a };
+ const unsigned char shortbuf_expected[] = { 0xa5, 0x5a };
+ unsigned char digest[32];
+ size_t i;
+
+ for (i = 0; i < sizeof(digest); i++)
+ digest[i] = (unsigned char)i;
+
+ if (OSSL_PROVIDER_available(testctx, "fips"))
+ return TEST_skip("Test skipped for FIPS provider");
+
+ if (!TEST_ptr(pkey = load_example_rsa_key())
+ || !TEST_ptr(sign_ctx = EVP_PKEY_CTX_new_from_pkey(testctx, pkey, NULL))
+ || !TEST_int_gt(EVP_PKEY_sign_init(sign_ctx), 0)
+ || !TEST_int_gt(EVP_PKEY_CTX_set_rsa_padding(sign_ctx,
+ RSA_PKCS1_PADDING),
+ 0)
+ || !TEST_int_gt(EVP_PKEY_CTX_set_signature_md(sign_ctx, EVP_sha256()),
+ 0)
+ || !TEST_int_gt(EVP_PKEY_sign(sign_ctx, NULL, &sig_len, digest,
+ sizeof(digest)),
+ 0)
+ || !TEST_ptr(sig = OPENSSL_malloc(sig_len))
+ || !TEST_int_gt(EVP_PKEY_sign(sign_ctx, sig, &sig_len, digest,
+ sizeof(digest)),
+ 0)
+ || !TEST_int_gt(recovered_cap = EVP_PKEY_get_size(pkey), 0)
+ || !TEST_ptr(recovered = OPENSSL_malloc(recovered_cap))
+ || !TEST_ptr(verify_ctx = EVP_PKEY_CTX_new_from_pkey(testctx, pkey,
+ NULL))
+ || !TEST_int_gt(EVP_PKEY_verify_recover_init(verify_ctx), 0)
+ || !TEST_int_gt(EVP_PKEY_CTX_set_rsa_padding(verify_ctx,
+ RSA_PKCS1_PADDING),
+ 0)
+ || !TEST_int_gt(EVP_PKEY_CTX_set_signature_md(verify_ctx, EVP_sha256()),
+ 0))
+ goto done;
+
+ recovered_len = (size_t)recovered_cap;
+ if (!TEST_int_gt(EVP_PKEY_verify_recover(verify_ctx, recovered,
+ &recovered_len, sig, sig_len),
+ 0)
+ || !TEST_size_t_eq(recovered_len, sizeof(digest))
+ || !TEST_mem_eq(recovered, recovered_len, digest, sizeof(digest)))
+ goto done;
+
+ ERR_clear_error();
+ recovered_len = 1;
+ if (!TEST_int_le(EVP_PKEY_verify_recover(verify_ctx, shortbuf,
+ &recovered_len, sig, sig_len),
+ 0))
+ goto done;
+
+ err = ERR_peek_error();
+ if (!TEST_int_eq(ERR_GET_LIB(err), ERR_LIB_PROV)
+ || !TEST_int_eq(ERR_GET_REASON(err), PROV_R_OUTPUT_BUFFER_TOO_SMALL)
+ || !TEST_mem_eq(shortbuf, sizeof(shortbuf), shortbuf_expected,
+ sizeof(shortbuf_expected)))
+ goto done;
+
+ ret = 1;
+done:
+ EVP_PKEY_CTX_free(sign_ctx);
+ EVP_PKEY_CTX_free(verify_ctx);
+ EVP_PKEY_free(pkey);
+ OPENSSL_free(sig);
+ OPENSSL_free(recovered);
+ return ret;
+}
+
static int test_RSA_encrypt(void)
{
int ret = 0;
@@ -6722,6 +6827,333 @@ static int test_evp_cipher_negative_length(void)
return ret;
}
+/*
+ * Cross-driver round-trip test for AEAD one-shot vs streaming paths.
+ *
+ * The streaming path (EVP_CipherUpdate/Final, dispatched to
+ * OSSL_FUNC_CIPHER_UPDATE/_FINAL) is treated as the oracle. For each
+ * AEAD configuration we encrypt and decrypt the same (key, iv, aad, pt),
+ * driving the body in two combinations:
+ *
+ * 1. body encrypt via EVP_Cipher() (one-shot, OSSL_FUNC_CIPHER_CIPHER),
+ * body decrypt via EVP_CipherUpdate (streaming).
+ * 2. body encrypt via EVP_CipherUpdate, body decrypt via EVP_Cipher().
+ *
+ * Both combinations must recover the plaintext and verify the tag. AAD
+ * is always fed via EVP_CipherUpdate(NULL, ...): OCB's one-shot is body
+ * only and the asymmetric "AAD streaming, body one-shot" call shape is
+ * the natural pattern a caller reaching for EVP_Cipher() for throughput
+ * would write anyway.
+ *
+ * CVE-2026-45445 (AES-OCB EVP_Cipher() ignored IV) was a silent failure
+ * in this matrix: the one-shot encrypt path produced ciphertext under
+ * Offset_0 = 0 regardless of IV, which the streaming decrypt path then
+ * could not verify. Adding this cross-check catches the same class of
+ * bug for any future AEAD whose one-shot dispatch diverges from its
+ * streaming dispatch.
+ */
+typedef struct {
+ const char *name; /* EVP_CIPHER fetch name */
+ size_t keylen;
+ size_t ivlen;
+ size_t taglen;
+ int is_ccm; /* needs length-up-front + tag-before-body dance */
+} AEAD_ONESHOT_CFG;
+
+static const AEAD_ONESHOT_CFG aead_oneshot_cfgs[] = {
+ { "AES-128-GCM", 16, 12, 16, 0 },
+ { "AES-256-GCM", 32, 12, 16, 0 },
+ { "AES-128-CCM", 16, 12, 16, 1 },
+ { "AES-256-CCM", 32, 12, 16, 1 },
+ { "AES-128-OCB", 16, 12, 16, 0 },
+ { "AES-256-OCB", 32, 12, 16, 0 },
+ { "ChaCha20-Poly1305", 32, 12, 16, 0 }
+};
+
+/*
+ * Drive an encrypt or decrypt operation. AAD always via EVP_CipherUpdate.
+ * Body via EVP_Cipher() when oneshot_body is non-zero, EVP_CipherUpdate
+ * otherwise. On encrypt, fills *out and the caller-provided tag buffer.
+ * On decrypt, reads from in and verifies tag; returns 0 if verification
+ * fails (the test asserts the expected outcome).
+ */
+static int aead_oneshot_op(const AEAD_ONESHOT_CFG *cfg, int enc,
+ int oneshot_body, const unsigned char *key,
+ const unsigned char *iv, const unsigned char *aad,
+ size_t aad_len, const unsigned char *in, size_t in_len,
+ unsigned char *out, unsigned char *tag, const char **why)
+{
+ EVP_CIPHER_CTX *ctx = NULL;
+ EVP_CIPHER *cipher = NULL;
+ int outl = 0, tmpl = 0;
+ int ok = 0;
+ int body_rv;
+
+ *why = NULL;
+
+ if (!TEST_ptr(cipher = EVP_CIPHER_fetch(testctx, cfg->name, testpropq))) {
+ *why = "CIPHER_FETCH";
+ goto end;
+ }
+ if (!TEST_ptr(ctx = EVP_CIPHER_CTX_new())) {
+ *why = "CTX_NEW";
+ goto end;
+ }
+ if (!TEST_true(EVP_CipherInit_ex(ctx, cipher, NULL, NULL, NULL, enc))) {
+ *why = "INIT_CIPHER";
+ goto end;
+ }
+ if (!TEST_int_gt(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_IVLEN,
+ (int)cfg->ivlen, NULL),
+ 0)) {
+ *why = "SET_IVLEN";
+ goto end;
+ }
+ if (cfg->is_ccm) {
+ /* Placeholder taglen on encrypt, real tag on decrypt; both before key+iv. */
+ if (!TEST_int_gt(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG,
+ (int)cfg->taglen, enc ? NULL : tag),
+ 0)) {
+ *why = "CCM_SET_TAG";
+ goto end;
+ }
+ }
+ if (!TEST_true(EVP_CipherInit_ex(ctx, NULL, NULL, key, iv, enc))) {
+ *why = "INIT_KEY_IV";
+ goto end;
+ }
+ if (cfg->is_ccm) {
+ if (!TEST_true(EVP_CipherUpdate(ctx, NULL, &outl, NULL, (int)in_len))) {
+ *why = "CCM_LEN_DECL";
+ goto end;
+ }
+ }
+ if (aad_len > 0
+ && !TEST_true(EVP_CipherUpdate(ctx, NULL, &outl, aad, (int)aad_len))) {
+ *why = "AAD";
+ goto end;
+ }
+ if (!enc && !cfg->is_ccm
+ && !TEST_int_gt(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG,
+ (int)cfg->taglen, tag),
+ 0)) {
+ *why = "SET_TAG";
+ goto end;
+ }
+
+ if (oneshot_body) {
+ body_rv = EVP_Cipher(ctx, out, in, (unsigned int)in_len);
+ if (cfg->is_ccm && !enc) {
+ /* CCM decrypt: 0 means tag verify failed, < 0 means error. */
+ if (!TEST_int_gt(body_rv, 0)) {
+ *why = "ONESHOT_DECRYPT";
+ goto end;
+ }
+ } else {
+ if (!TEST_int_ge(body_rv, 0)) {
+ *why = "ONESHOT_BODY";
+ goto end;
+ }
+ }
+ outl = (int)in_len;
+ } else {
+ if (!TEST_true(EVP_CipherUpdate(ctx, out, &outl, in, (int)in_len))) {
+ *why = enc ? "STREAM_BODY_ENC" : "STREAM_BODY_DEC";
+ goto end;
+ }
+ }
+
+ if (!cfg->is_ccm) {
+ if (!TEST_true(EVP_CipherFinal_ex(ctx, out + outl, &tmpl))) {
+ *why = enc ? "FINAL_ENC" : "FINAL_DEC";
+ goto end;
+ }
+ }
+
+ if (enc) {
+ if (!TEST_int_gt(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG,
+ (int)cfg->taglen, tag),
+ 0)) {
+ *why = "GET_TAG";
+ goto end;
+ }
+ }
+ ok = 1;
+end:
+ EVP_CIPHER_CTX_free(ctx);
+ EVP_CIPHER_free(cipher);
+ return ok;
+}
+
+/*
+ * For each AEAD row we run two AAD modes, and within each AAD mode two
+ * cross-driver round trips:
+ *
+ * aad_mode 0: no AAD. Critical for catching the OCB-style bug: any
+ * EVP_CipherUpdate(NULL, aad, ...) call before the body
+ * would itself pass through the (correct) streaming
+ * handler and apply the buffered IV, masking the one-shot
+ * handler's failure to do so. With aad_len == 0 we make
+ * EVP_Cipher() the very first cipher operation on the
+ * context, which is the shape the bug requires.
+ *
+ * aad_mode 1: with AAD via streaming. Catches divergence between the
+ * drivers when AAD is in play.
+ *
+ * leg 0: encrypt-oneshot + decrypt-streaming
+ * leg 1: encrypt-streaming + decrypt-oneshot
+ *
+ * The test index encodes (cipher, aad_mode) so a failure points at both.
+ */
+static int test_aead_oneshot_roundtrip(int idx)
+{
+ static const unsigned char fixed_key[32] = {
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
+ 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
+ 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f
+ };
+ static const unsigned char fixed_iv[12] = {
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab
+ };
+ static const unsigned char fixed_aad[] = "extra:context";
+ static const unsigned char fixed_pt[] = "THE QUICK BROWN FOX JUMPS OVER LAZY!!";
+ const AEAD_ONESHOT_CFG *cfg = &aead_oneshot_cfgs[idx / 2];
+ int with_aad = idx % 2;
+ size_t aad_len = with_aad ? sizeof(fixed_aad) - 1 : 0;
+ size_t pt_len = sizeof(fixed_pt) - 1;
+ EVP_CIPHER *probe = NULL;
+ unsigned char ct[64], pt[64];
+ unsigned char tag_oneshot[16], tag_stream[16];
+ const char *why = NULL;
+ int leg, ok = 0;
+
+ /*
+ * Probe for the cipher: a build with no-ocb / no-chacha / etc. will
+ * not have it, and we treat that as a pass (nothing to test here).
+ */
+ ERR_set_mark();
+ probe = EVP_CIPHER_fetch(testctx, cfg->name, testpropq);
+ ERR_pop_to_mark();
+ if (probe == NULL) {
+ TEST_info("skipping, '%s' is not available", cfg->name);
+ return 1;
+ }
+ EVP_CIPHER_free(probe);
+
+ for (leg = 0; leg <= 1; leg++) {
+ int enc_oneshot = (leg == 0);
+ unsigned char *tag = enc_oneshot ? tag_oneshot : tag_stream;
+
+ memset(ct, 0, sizeof(ct));
+ memset(pt, 0, sizeof(pt));
+ memset(tag, 0, cfg->taglen);
+
+ if (!aead_oneshot_op(cfg, /*enc=*/1, /*oneshot_body=*/enc_oneshot,
+ fixed_key, fixed_iv, fixed_aad, aad_len,
+ fixed_pt, pt_len, ct, tag, &why)) {
+ TEST_error("%s (%s): encrypt leg %d (%s body) failed at %s",
+ cfg->name, with_aad ? "with AAD" : "no AAD",
+ leg, enc_oneshot ? "oneshot" : "stream",
+ why ? why : "?");
+ goto end;
+ }
+ if (!aead_oneshot_op(cfg, /*enc=*/0, /*oneshot_body=*/!enc_oneshot,
+ fixed_key, fixed_iv, fixed_aad, aad_len,
+ ct, pt_len, pt, tag, &why)) {
+ TEST_error("%s (%s): decrypt leg %d (%s body) failed at %s",
+ cfg->name, with_aad ? "with AAD" : "no AAD",
+ leg, enc_oneshot ? "stream" : "oneshot",
+ why ? why : "?");
+ goto end;
+ }
+ if (!TEST_mem_eq(pt, pt_len, fixed_pt, pt_len)) {
+ TEST_error("%s (%s): leg %d: recovered plaintext differs",
+ cfg->name, with_aad ? "with AAD" : "no AAD", leg);
+ goto end;
+ }
+ }
+
+ /*
+ * Both legs share the same (key, iv, aad, pt) and must therefore
+ * agree on the tag bit-for-bit, regardless of which driver computed
+ * it. This catches the OCB-style failure where the one-shot path
+ * silently emits a different ciphertext/tag from the streaming path.
+ */
+ if (!TEST_mem_eq(tag_oneshot, cfg->taglen, tag_stream, cfg->taglen)) {
+ TEST_error("%s (%s): oneshot-encrypt tag != streaming-encrypt tag",
+ cfg->name, with_aad ? "with AAD" : "no AAD");
+ goto end;
+ }
+ ok = 1;
+end:
+ return ok;
+}
+
+#ifndef OPENSSL_NO_DES
+static int test_EVP_CIPHER_get_type_des_ede3(void)
+{
+ const EVP_CIPHER *cipher = NULL;
+ int base_type, variant_type, nid;
+ int ret = 0;
+
+ /* Get the base type from CFB64 (should be NID_des_ede3_cfb64) */
+ cipher = EVP_des_ede3_cfb64();
+ base_type = EVP_CIPHER_get_type(cipher);
+
+ /* Test CFB64 - should map to the same base_type */
+ variant_type = EVP_CIPHER_get_type(cipher);
+ nid = EVP_CIPHER_get_nid(cipher);
+
+ /* Verify the returned type */
+ if (!TEST_int_eq(variant_type, base_type))
+ goto end;
+
+ /* Verify that variant_type and nid are same for 64-bit variants */
+ if (!TEST_int_eq(variant_type, nid))
+ goto end;
+
+ if (!TEST_int_eq(NID_des_ede3_cfb64, variant_type))
+ goto end;
+
+ /* Test CFB8 - should map to the same base_type */
+ cipher = EVP_des_ede3_cfb8();
+ variant_type = EVP_CIPHER_get_type(cipher);
+ nid = EVP_CIPHER_get_nid(cipher);
+
+ /* Verify the returned type */
+ if (!TEST_int_eq(variant_type, base_type))
+ goto end;
+
+ /* Verify that variant_type and nid are different for variants */
+ if (!TEST_int_ne(variant_type, nid))
+ goto end;
+
+ if (!TEST_int_eq(NID_des_ede3_cfb64, variant_type))
+ goto end;
+
+ /* Test CFB1 - should map to the same base_type */
+ cipher = EVP_des_ede3_cfb1();
+ variant_type = EVP_CIPHER_get_type(cipher);
+ nid = EVP_CIPHER_get_nid(cipher);
+
+ /* Verify the returned type */
+ if (!TEST_int_eq(variant_type, base_type))
+ goto end;
+
+ /* Verify that variant_type and nid are different for variants */
+ if (!TEST_int_ne(variant_type, nid))
+ goto end;
+
+ if (!TEST_int_eq(NID_des_ede3_cfb64, variant_type))
+ goto end;
+
+ ret = 1;
+end:
+ return ret;
+}
+#endif /*OPENSSL_NO_DES */
+
static int test_evp_cipher_pipeline(void)
{
OSSL_PROVIDER *fake_pipeline = NULL;
@@ -6990,6 +7422,9 @@ int setup_tests(void)
#endif
ADD_TEST(test_EVP_Digest);
ADD_TEST(test_EVP_md_null);
+#ifndef OPENSSL_NO_POLY1305
+ ADD_TEST(test_evp_mac_poly1305_no_key);
+#endif
ADD_ALL_TESTS(test_EVP_PKEY_sign, 3);
#ifndef OPENSSL_NO_DEPRECATED_3_0
ADD_ALL_TESTS(test_EVP_PKEY_sign_with_app_method, 2);
@@ -7040,6 +7475,7 @@ int setup_tests(void)
ADD_TEST(test_RSA_get_set_params);
ADD_TEST(test_RSA_OAEP_set_get_params);
ADD_TEST(test_RSA_OAEP_set_null_label);
+ ADD_TEST(test_RSA_verify_recover_rejects_short_buffer);
ADD_TEST(test_RSA_encrypt);
#ifndef OPENSSL_NO_DEPRECATED_3_0
ADD_TEST(test_RSA_legacy);
@@ -7068,7 +7504,8 @@ int setup_tests(void)
ADD_ALL_TESTS(test_evp_iv_aes, 12);
#ifndef OPENSSL_NO_DES
ADD_ALL_TESTS(test_evp_iv_des, 6);
-#endif
+ ADD_TEST(test_EVP_CIPHER_get_type_des_ede3);
+#endif /* OPENSSL_NO_DES */
#ifndef OPENSSL_NO_BF
ADD_ALL_TESTS(test_evp_bf_default_keylen, 4);
#endif
@@ -7123,6 +7560,8 @@ int setup_tests(void)
ADD_TEST(test_aes_rc4_keylen_change_cve_2023_5363);
#endif
+ ADD_ALL_TESTS(test_aead_oneshot_roundtrip, 2 * OSSL_NELEM(aead_oneshot_cfgs));
+
/* Test cases for CVE-2026-45446 */
ADD_TEST(test_aes_gcm_siv_empty_data);
ADD_TEST(test_aes_siv_ctx_reuse);
diff --git a/crypto/openssl/test/evp_extra_test2.c b/crypto/openssl/test/evp_extra_test2.c
index 3a4a5008382..4458f5b2426 100644
--- a/crypto/openssl/test/evp_extra_test2.c
+++ b/crypto/openssl/test/evp_extra_test2.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2015-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2015-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -44,614 +44,67 @@ static OSSL_PROVIDER *nullprov = NULL;
* should never use this key anywhere but in an example.
*/
static const unsigned char kExampleRSAKeyDER[] = {
- 0x30,
- 0x82,
- 0x02,
- 0x5c,
- 0x02,
- 0x01,
- 0x00,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xf8,
- 0xb8,
- 0x6c,
- 0x83,
- 0xb4,
- 0xbc,
- 0xd9,
- 0xa8,
- 0x57,
- 0xc0,
- 0xa5,
- 0xb4,
- 0x59,
- 0x76,
- 0x8c,
- 0x54,
- 0x1d,
- 0x79,
- 0xeb,
- 0x22,
- 0x52,
- 0x04,
- 0x7e,
- 0xd3,
- 0x37,
- 0xeb,
- 0x41,
- 0xfd,
- 0x83,
- 0xf9,
- 0xf0,
- 0xa6,
- 0x85,
- 0x15,
- 0x34,
- 0x75,
- 0x71,
- 0x5a,
- 0x84,
- 0xa8,
- 0x3c,
- 0xd2,
- 0xef,
- 0x5a,
- 0x4e,
- 0xd3,
- 0xde,
- 0x97,
- 0x8a,
- 0xdd,
- 0xff,
- 0xbb,
- 0xcf,
- 0x0a,
- 0xaa,
- 0x86,
- 0x92,
- 0xbe,
- 0xb8,
- 0x50,
- 0xe4,
- 0xcd,
- 0x6f,
- 0x80,
- 0x33,
- 0x30,
- 0x76,
- 0x13,
- 0x8f,
- 0xca,
- 0x7b,
- 0xdc,
- 0xec,
- 0x5a,
- 0xca,
- 0x63,
- 0xc7,
- 0x03,
- 0x25,
- 0xef,
- 0xa8,
- 0x8a,
- 0x83,
- 0x58,
- 0x76,
- 0x20,
- 0xfa,
- 0x16,
- 0x77,
- 0xd7,
- 0x79,
- 0x92,
- 0x63,
- 0x01,
- 0x48,
- 0x1a,
- 0xd8,
- 0x7b,
- 0x67,
- 0xf1,
- 0x52,
- 0x55,
- 0x49,
- 0x4e,
- 0xd6,
- 0x6e,
- 0x4a,
- 0x5c,
- 0xd7,
- 0x7a,
- 0x37,
- 0x36,
- 0x0c,
- 0xde,
- 0xdd,
- 0x8f,
- 0x44,
- 0xe8,
- 0xc2,
- 0xa7,
- 0x2c,
- 0x2b,
- 0xb5,
- 0xaf,
- 0x64,
- 0x4b,
- 0x61,
- 0x07,
- 0x02,
- 0x03,
- 0x01,
- 0x00,
- 0x01,
- 0x02,
- 0x81,
- 0x80,
- 0x74,
- 0x88,
- 0x64,
- 0x3f,
- 0x69,
- 0x45,
- 0x3a,
- 0x6d,
- 0xc7,
- 0x7f,
- 0xb9,
- 0xa3,
- 0xc0,
- 0x6e,
- 0xec,
- 0xdc,
- 0xd4,
- 0x5a,
- 0xb5,
- 0x32,
- 0x85,
- 0x5f,
- 0x19,
- 0xd4,
- 0xf8,
- 0xd4,
- 0x3f,
- 0x3c,
- 0xfa,
- 0xc2,
- 0xf6,
- 0x5f,
- 0xee,
- 0xe6,
- 0xba,
- 0x87,
- 0x74,
- 0x2e,
- 0xc7,
- 0x0c,
- 0xd4,
- 0x42,
- 0xb8,
- 0x66,
- 0x85,
- 0x9c,
- 0x7b,
- 0x24,
- 0x61,
- 0xaa,
- 0x16,
- 0x11,
- 0xf6,
- 0xb5,
- 0xb6,
- 0xa4,
- 0x0a,
- 0xc9,
- 0x55,
- 0x2e,
- 0x81,
- 0xa5,
- 0x47,
- 0x61,
- 0xcb,
- 0x25,
- 0x8f,
- 0xc2,
- 0x15,
- 0x7b,
- 0x0e,
- 0x7c,
- 0x36,
- 0x9f,
- 0x3a,
- 0xda,
- 0x58,
- 0x86,
- 0x1c,
- 0x5b,
- 0x83,
- 0x79,
- 0xe6,
- 0x2b,
- 0xcc,
- 0xe6,
- 0xfa,
- 0x2c,
- 0x61,
- 0xf2,
- 0x78,
- 0x80,
- 0x1b,
- 0xe2,
- 0xf3,
- 0x9d,
- 0x39,
- 0x2b,
- 0x65,
- 0x57,
- 0x91,
- 0x3d,
- 0x71,
- 0x99,
- 0x73,
- 0xa5,
- 0xc2,
- 0x79,
- 0x20,
- 0x8c,
- 0x07,
- 0x4f,
- 0xe5,
- 0xb4,
- 0x60,
- 0x1f,
- 0x99,
- 0xa2,
- 0xb1,
- 0x4f,
- 0x0c,
- 0xef,
- 0xbc,
- 0x59,
- 0x53,
- 0x00,
- 0x7d,
- 0xb1,
- 0x02,
- 0x41,
- 0x00,
- 0xfc,
- 0x7e,
- 0x23,
- 0x65,
- 0x70,
- 0xf8,
- 0xce,
- 0xd3,
- 0x40,
- 0x41,
- 0x80,
- 0x6a,
- 0x1d,
- 0x01,
- 0xd6,
- 0x01,
- 0xff,
- 0xb6,
- 0x1b,
- 0x3d,
- 0x3d,
- 0x59,
- 0x09,
- 0x33,
- 0x79,
- 0xc0,
- 0x4f,
- 0xde,
- 0x96,
- 0x27,
- 0x4b,
- 0x18,
- 0xc6,
- 0xd9,
- 0x78,
- 0xf1,
- 0xf4,
- 0x35,
- 0x46,
- 0xe9,
- 0x7c,
- 0x42,
- 0x7a,
- 0x5d,
- 0x9f,
- 0xef,
- 0x54,
- 0xb8,
- 0xf7,
- 0x9f,
- 0xc4,
- 0x33,
- 0x6c,
- 0xf3,
- 0x8c,
- 0x32,
- 0x46,
- 0x87,
- 0x67,
- 0x30,
- 0x7b,
- 0xa7,
- 0xac,
- 0xe3,
- 0x02,
- 0x41,
- 0x00,
- 0xfc,
- 0x2c,
- 0xdf,
- 0x0c,
- 0x0d,
- 0x88,
- 0xf5,
- 0xb1,
- 0x92,
- 0xa8,
- 0x93,
- 0x47,
- 0x63,
- 0x55,
- 0xf5,
- 0xca,
- 0x58,
- 0x43,
- 0xba,
- 0x1c,
- 0xe5,
- 0x9e,
- 0xb6,
- 0x95,
- 0x05,
- 0xcd,
- 0xb5,
- 0x82,
- 0xdf,
- 0xeb,
- 0x04,
- 0x53,
- 0x9d,
- 0xbd,
- 0xc2,
- 0x38,
- 0x16,
- 0xb3,
- 0x62,
- 0xdd,
- 0xa1,
- 0x46,
- 0xdb,
- 0x6d,
- 0x97,
- 0x93,
- 0x9f,
- 0x8a,
- 0xc3,
- 0x9b,
- 0x64,
- 0x7e,
- 0x42,
- 0xe3,
- 0x32,
- 0x57,
- 0x19,
- 0x1b,
- 0xd5,
- 0x6e,
- 0x85,
- 0xfa,
- 0xb8,
- 0x8d,
- 0x02,
- 0x41,
- 0x00,
- 0xbc,
- 0x3d,
- 0xde,
- 0x6d,
- 0xd6,
- 0x97,
- 0xe8,
- 0xba,
- 0x9e,
- 0x81,
- 0x37,
- 0x17,
- 0xe5,
- 0xa0,
- 0x64,
- 0xc9,
- 0x00,
- 0xb7,
- 0xe7,
- 0xfe,
- 0xf4,
- 0x29,
- 0xd9,
- 0x2e,
- 0x43,
- 0x6b,
- 0x19,
- 0x20,
- 0xbd,
- 0x99,
- 0x75,
- 0xe7,
- 0x76,
- 0xf8,
- 0xd3,
- 0xae,
- 0xaf,
- 0x7e,
- 0xb8,
- 0xeb,
- 0x81,
- 0xf4,
- 0x9d,
- 0xfe,
- 0x07,
- 0x2b,
- 0x0b,
- 0x63,
- 0x0b,
- 0x5a,
- 0x55,
- 0x90,
- 0x71,
- 0x7d,
- 0xf1,
- 0xdb,
- 0xd9,
- 0xb1,
- 0x41,
- 0x41,
- 0x68,
- 0x2f,
- 0x4e,
- 0x39,
- 0x02,
- 0x40,
- 0x5a,
- 0x34,
- 0x66,
- 0xd8,
- 0xf5,
- 0xe2,
- 0x7f,
- 0x18,
- 0xb5,
- 0x00,
- 0x6e,
- 0x26,
- 0x84,
- 0x27,
- 0x14,
- 0x93,
- 0xfb,
- 0xfc,
- 0xc6,
- 0x0f,
- 0x5e,
- 0x27,
- 0xe6,
- 0xe1,
- 0xe9,
- 0xc0,
- 0x8a,
- 0xe4,
- 0x34,
- 0xda,
- 0xe9,
- 0xa2,
- 0x4b,
- 0x73,
- 0xbc,
- 0x8c,
- 0xb9,
- 0xba,
- 0x13,
- 0x6c,
- 0x7a,
- 0x2b,
- 0x51,
- 0x84,
- 0xa3,
- 0x4a,
- 0xe0,
- 0x30,
- 0x10,
- 0x06,
- 0x7e,
- 0xed,
- 0x17,
- 0x5a,
- 0x14,
- 0x00,
- 0xc9,
- 0xef,
- 0x85,
- 0xea,
- 0x52,
- 0x2c,
- 0xbc,
- 0x65,
- 0x02,
- 0x40,
- 0x51,
- 0xe3,
- 0xf2,
- 0x83,
- 0x19,
- 0x9b,
- 0xc4,
- 0x1e,
- 0x2f,
- 0x50,
- 0x3d,
- 0xdf,
- 0x5a,
- 0xa2,
- 0x18,
- 0xca,
- 0x5f,
- 0x2e,
- 0x49,
- 0xaf,
- 0x6f,
- 0xcc,
- 0xfa,
- 0x65,
- 0x77,
- 0x94,
- 0xb5,
- 0xa1,
- 0x0a,
- 0xa9,
- 0xd1,
- 0x8a,
- 0x39,
- 0x37,
- 0xf4,
- 0x0b,
- 0xa0,
- 0xd7,
- 0x82,
- 0x27,
- 0x5e,
- 0xae,
- 0x17,
- 0x17,
- 0xa1,
- 0x1e,
- 0x54,
- 0x34,
- 0xbf,
- 0x6e,
- 0xc4,
- 0x8e,
- 0x99,
- 0x5d,
- 0x08,
- 0xf1,
- 0x2d,
- 0x86,
- 0x9d,
- 0xa5,
- 0x20,
- 0x1b,
- 0xe5,
- 0xdf,
+ 0x30, 0x82, 0x02, 0x5c, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81,
+ 0x00, 0xf8, 0xb8, 0x6c, 0x83, 0xb4, 0xbc, 0xd9, 0xa8, 0x57,
+ 0xc0, 0xa5, 0xb4, 0x59, 0x76, 0x8c, 0x54, 0x1d, 0x79, 0xeb,
+ 0x22, 0x52, 0x04, 0x7e, 0xd3, 0x37, 0xeb, 0x41, 0xfd, 0x83,
+ 0xf9, 0xf0, 0xa6, 0x85, 0x15, 0x34, 0x75, 0x71, 0x5a, 0x84,
+ 0xa8, 0x3c, 0xd2, 0xef, 0x5a, 0x4e, 0xd3, 0xde, 0x97, 0x8a,
+ 0xdd, 0xff, 0xbb, 0xcf, 0x0a, 0xaa, 0x86, 0x92, 0xbe, 0xb8,
+ 0x50, 0xe4, 0xcd, 0x6f, 0x80, 0x33, 0x30, 0x76, 0x13, 0x8f,
+ 0xca, 0x7b, 0xdc, 0xec, 0x5a, 0xca, 0x63, 0xc7, 0x03, 0x25,
+ 0xef, 0xa8, 0x8a, 0x83, 0x58, 0x76, 0x20, 0xfa, 0x16, 0x77,
+ 0xd7, 0x79, 0x92, 0x63, 0x01, 0x48, 0x1a, 0xd8, 0x7b, 0x67,
+ 0xf1, 0x52, 0x55, 0x49, 0x4e, 0xd6, 0x6e, 0x4a, 0x5c, 0xd7,
+ 0x7a, 0x37, 0x36, 0x0c, 0xde, 0xdd, 0x8f, 0x44, 0xe8, 0xc2,
+ 0xa7, 0x2c, 0x2b, 0xb5, 0xaf, 0x64, 0x4b, 0x61, 0x07, 0x02,
+ 0x03, 0x01, 0x00, 0x01, 0x02, 0x81, 0x80, 0x74, 0x88, 0x64,
+ 0x3f, 0x69, 0x45, 0x3a, 0x6d, 0xc7, 0x7f, 0xb9, 0xa3, 0xc0,
+ 0x6e, 0xec, 0xdc, 0xd4, 0x5a, 0xb5, 0x32, 0x85, 0x5f, 0x19,
+ 0xd4, 0xf8, 0xd4, 0x3f, 0x3c, 0xfa, 0xc2, 0xf6, 0x5f, 0xee,
+ 0xe6, 0xba, 0x87, 0x74, 0x2e, 0xc7, 0x0c, 0xd4, 0x42, 0xb8,
+ 0x66, 0x85, 0x9c, 0x7b, 0x24, 0x61, 0xaa, 0x16, 0x11, 0xf6,
+ 0xb5, 0xb6, 0xa4, 0x0a, 0xc9, 0x55, 0x2e, 0x81, 0xa5, 0x47,
+ 0x61, 0xcb, 0x25, 0x8f, 0xc2, 0x15, 0x7b, 0x0e, 0x7c, 0x36,
+ 0x9f, 0x3a, 0xda, 0x58, 0x86, 0x1c, 0x5b, 0x83, 0x79, 0xe6,
+ 0x2b, 0xcc, 0xe6, 0xfa, 0x2c, 0x61, 0xf2, 0x78, 0x80, 0x1b,
+ 0xe2, 0xf3, 0x9d, 0x39, 0x2b, 0x65, 0x57, 0x91, 0x3d, 0x71,
+ 0x99, 0x73, 0xa5, 0xc2, 0x79, 0x20, 0x8c, 0x07, 0x4f, 0xe5,
+ 0xb4, 0x60, 0x1f, 0x99, 0xa2, 0xb1, 0x4f, 0x0c, 0xef, 0xbc,
+ 0x59, 0x53, 0x00, 0x7d, 0xb1, 0x02, 0x41, 0x00, 0xfc, 0x7e,
+ 0x23, 0x65, 0x70, 0xf8, 0xce, 0xd3, 0x40, 0x41, 0x80, 0x6a,
+ 0x1d, 0x01, 0xd6, 0x01, 0xff, 0xb6, 0x1b, 0x3d, 0x3d, 0x59,
+ 0x09, 0x33, 0x79, 0xc0, 0x4f, 0xde, 0x96, 0x27, 0x4b, 0x18,
+ 0xc6, 0xd9, 0x78, 0xf1, 0xf4, 0x35, 0x46, 0xe9, 0x7c, 0x42,
+ 0x7a, 0x5d, 0x9f, 0xef, 0x54, 0xb8, 0xf7, 0x9f, 0xc4, 0x33,
+ 0x6c, 0xf3, 0x8c, 0x32, 0x46, 0x87, 0x67, 0x30, 0x7b, 0xa7,
+ 0xac, 0xe3, 0x02, 0x41, 0x00, 0xfc, 0x2c, 0xdf, 0x0c, 0x0d,
+ 0x88, 0xf5, 0xb1, 0x92, 0xa8, 0x93, 0x47, 0x63, 0x55, 0xf5,
+ 0xca, 0x58, 0x43, 0xba, 0x1c, 0xe5, 0x9e, 0xb6, 0x95, 0x05,
+ 0xcd, 0xb5, 0x82, 0xdf, 0xeb, 0x04, 0x53, 0x9d, 0xbd, 0xc2,
+ 0x38, 0x16, 0xb3, 0x62, 0xdd, 0xa1, 0x46, 0xdb, 0x6d, 0x97,
+ 0x93, 0x9f, 0x8a, 0xc3, 0x9b, 0x64, 0x7e, 0x42, 0xe3, 0x32,
+ 0x57, 0x19, 0x1b, 0xd5, 0x6e, 0x85, 0xfa, 0xb8, 0x8d, 0x02,
+ 0x41, 0x00, 0xbc, 0x3d, 0xde, 0x6d, 0xd6, 0x97, 0xe8, 0xba,
+ 0x9e, 0x81, 0x37, 0x17, 0xe5, 0xa0, 0x64, 0xc9, 0x00, 0xb7,
+ 0xe7, 0xfe, 0xf4, 0x29, 0xd9, 0x2e, 0x43, 0x6b, 0x19, 0x20,
+ 0xbd, 0x99, 0x75, 0xe7, 0x76, 0xf8, 0xd3, 0xae, 0xaf, 0x7e,
+ 0xb8, 0xeb, 0x81, 0xf4, 0x9d, 0xfe, 0x07, 0x2b, 0x0b, 0x63,
+ 0x0b, 0x5a, 0x55, 0x90, 0x71, 0x7d, 0xf1, 0xdb, 0xd9, 0xb1,
+ 0x41, 0x41, 0x68, 0x2f, 0x4e, 0x39, 0x02, 0x40, 0x5a, 0x34,
+ 0x66, 0xd8, 0xf5, 0xe2, 0x7f, 0x18, 0xb5, 0x00, 0x6e, 0x26,
+ 0x84, 0x27, 0x14, 0x93, 0xfb, 0xfc, 0xc6, 0x0f, 0x5e, 0x27,
+ 0xe6, 0xe1, 0xe9, 0xc0, 0x8a, 0xe4, 0x34, 0xda, 0xe9, 0xa2,
+ 0x4b, 0x73, 0xbc, 0x8c, 0xb9, 0xba, 0x13, 0x6c, 0x7a, 0x2b,
+ 0x51, 0x84, 0xa3, 0x4a, 0xe0, 0x30, 0x10, 0x06, 0x7e, 0xed,
+ 0x17, 0x5a, 0x14, 0x00, 0xc9, 0xef, 0x85, 0xea, 0x52, 0x2c,
+ 0xbc, 0x65, 0x02, 0x40, 0x51, 0xe3, 0xf2, 0x83, 0x19, 0x9b,
+ 0xc4, 0x1e, 0x2f, 0x50, 0x3d, 0xdf, 0x5a, 0xa2, 0x18, 0xca,
+ 0x5f, 0x2e, 0x49, 0xaf, 0x6f, 0xcc, 0xfa, 0x65, 0x77, 0x94,
+ 0xb5, 0xa1, 0x0a, 0xa9, 0xd1, 0x8a, 0x39, 0x37, 0xf4, 0x0b,
+ 0xa0, 0xd7, 0x82, 0x27, 0x5e, 0xae, 0x17, 0x17, 0xa1, 0x1e,
+ 0x54, 0x34, 0xbf, 0x6e, 0xc4, 0x8e, 0x99, 0x5d, 0x08, 0xf1,
+ 0x2d, 0x86, 0x9d, 0xa5, 0x20, 0x1b, 0xe5, 0xdf
};
/*
@@ -659,640 +112,70 @@ static const unsigned char kExampleRSAKeyDER[] = {
* PrivateKeyInfo.
*/
static const unsigned char kExampleRSAKeyPKCS8[] = {
- 0x30,
- 0x82,
- 0x02,
- 0x76,
- 0x02,
- 0x01,
- 0x00,
- 0x30,
- 0x0d,
- 0x06,
- 0x09,
- 0x2a,
- 0x86,
- 0x48,
- 0x86,
- 0xf7,
- 0x0d,
- 0x01,
- 0x01,
- 0x01,
- 0x05,
- 0x00,
- 0x04,
- 0x82,
- 0x02,
- 0x60,
- 0x30,
- 0x82,
- 0x02,
- 0x5c,
- 0x02,
- 0x01,
- 0x00,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xf8,
- 0xb8,
- 0x6c,
- 0x83,
- 0xb4,
- 0xbc,
- 0xd9,
- 0xa8,
- 0x57,
- 0xc0,
- 0xa5,
- 0xb4,
- 0x59,
- 0x76,
- 0x8c,
- 0x54,
- 0x1d,
- 0x79,
- 0xeb,
- 0x22,
- 0x52,
- 0x04,
- 0x7e,
- 0xd3,
- 0x37,
- 0xeb,
- 0x41,
- 0xfd,
- 0x83,
- 0xf9,
- 0xf0,
- 0xa6,
- 0x85,
- 0x15,
- 0x34,
- 0x75,
- 0x71,
- 0x5a,
- 0x84,
- 0xa8,
- 0x3c,
- 0xd2,
- 0xef,
- 0x5a,
- 0x4e,
- 0xd3,
- 0xde,
- 0x97,
- 0x8a,
- 0xdd,
- 0xff,
- 0xbb,
- 0xcf,
- 0x0a,
- 0xaa,
- 0x86,
- 0x92,
- 0xbe,
- 0xb8,
- 0x50,
- 0xe4,
- 0xcd,
- 0x6f,
- 0x80,
- 0x33,
- 0x30,
- 0x76,
- 0x13,
- 0x8f,
- 0xca,
- 0x7b,
- 0xdc,
- 0xec,
- 0x5a,
- 0xca,
- 0x63,
- 0xc7,
- 0x03,
- 0x25,
- 0xef,
- 0xa8,
- 0x8a,
- 0x83,
- 0x58,
- 0x76,
- 0x20,
- 0xfa,
- 0x16,
- 0x77,
- 0xd7,
- 0x79,
- 0x92,
- 0x63,
- 0x01,
- 0x48,
- 0x1a,
- 0xd8,
- 0x7b,
- 0x67,
- 0xf1,
- 0x52,
- 0x55,
- 0x49,
- 0x4e,
- 0xd6,
- 0x6e,
- 0x4a,
- 0x5c,
- 0xd7,
- 0x7a,
- 0x37,
- 0x36,
- 0x0c,
- 0xde,
- 0xdd,
- 0x8f,
- 0x44,
- 0xe8,
- 0xc2,
- 0xa7,
- 0x2c,
- 0x2b,
- 0xb5,
- 0xaf,
- 0x64,
- 0x4b,
- 0x61,
- 0x07,
- 0x02,
- 0x03,
- 0x01,
- 0x00,
- 0x01,
- 0x02,
- 0x81,
- 0x80,
- 0x74,
- 0x88,
- 0x64,
- 0x3f,
- 0x69,
- 0x45,
- 0x3a,
- 0x6d,
- 0xc7,
- 0x7f,
- 0xb9,
- 0xa3,
- 0xc0,
- 0x6e,
- 0xec,
- 0xdc,
- 0xd4,
- 0x5a,
- 0xb5,
- 0x32,
- 0x85,
- 0x5f,
- 0x19,
- 0xd4,
- 0xf8,
- 0xd4,
- 0x3f,
- 0x3c,
- 0xfa,
- 0xc2,
- 0xf6,
- 0x5f,
- 0xee,
- 0xe6,
- 0xba,
- 0x87,
- 0x74,
- 0x2e,
- 0xc7,
- 0x0c,
- 0xd4,
- 0x42,
- 0xb8,
- 0x66,
- 0x85,
- 0x9c,
- 0x7b,
- 0x24,
- 0x61,
- 0xaa,
- 0x16,
- 0x11,
- 0xf6,
- 0xb5,
- 0xb6,
- 0xa4,
- 0x0a,
- 0xc9,
- 0x55,
- 0x2e,
- 0x81,
- 0xa5,
- 0x47,
- 0x61,
- 0xcb,
- 0x25,
- 0x8f,
- 0xc2,
- 0x15,
- 0x7b,
- 0x0e,
- 0x7c,
- 0x36,
- 0x9f,
- 0x3a,
- 0xda,
- 0x58,
- 0x86,
- 0x1c,
- 0x5b,
- 0x83,
- 0x79,
- 0xe6,
- 0x2b,
- 0xcc,
- 0xe6,
- 0xfa,
- 0x2c,
- 0x61,
- 0xf2,
- 0x78,
- 0x80,
- 0x1b,
- 0xe2,
- 0xf3,
- 0x9d,
- 0x39,
- 0x2b,
- 0x65,
- 0x57,
- 0x91,
- 0x3d,
- 0x71,
- 0x99,
- 0x73,
- 0xa5,
- 0xc2,
- 0x79,
- 0x20,
- 0x8c,
- 0x07,
- 0x4f,
- 0xe5,
- 0xb4,
- 0x60,
- 0x1f,
- 0x99,
- 0xa2,
- 0xb1,
- 0x4f,
- 0x0c,
- 0xef,
- 0xbc,
- 0x59,
- 0x53,
- 0x00,
- 0x7d,
- 0xb1,
- 0x02,
- 0x41,
- 0x00,
- 0xfc,
- 0x7e,
- 0x23,
- 0x65,
- 0x70,
- 0xf8,
- 0xce,
- 0xd3,
- 0x40,
- 0x41,
- 0x80,
- 0x6a,
- 0x1d,
- 0x01,
- 0xd6,
- 0x01,
- 0xff,
- 0xb6,
- 0x1b,
- 0x3d,
- 0x3d,
- 0x59,
- 0x09,
- 0x33,
- 0x79,
- 0xc0,
- 0x4f,
- 0xde,
- 0x96,
- 0x27,
- 0x4b,
- 0x18,
- 0xc6,
- 0xd9,
- 0x78,
- 0xf1,
- 0xf4,
- 0x35,
- 0x46,
- 0xe9,
- 0x7c,
- 0x42,
- 0x7a,
- 0x5d,
- 0x9f,
- 0xef,
- 0x54,
- 0xb8,
- 0xf7,
- 0x9f,
- 0xc4,
- 0x33,
- 0x6c,
- 0xf3,
- 0x8c,
- 0x32,
- 0x46,
- 0x87,
- 0x67,
- 0x30,
- 0x7b,
- 0xa7,
- 0xac,
- 0xe3,
- 0x02,
- 0x41,
- 0x00,
- 0xfc,
- 0x2c,
- 0xdf,
- 0x0c,
- 0x0d,
- 0x88,
- 0xf5,
- 0xb1,
- 0x92,
- 0xa8,
- 0x93,
- 0x47,
- 0x63,
- 0x55,
- 0xf5,
- 0xca,
- 0x58,
- 0x43,
- 0xba,
- 0x1c,
- 0xe5,
- 0x9e,
- 0xb6,
- 0x95,
- 0x05,
- 0xcd,
- 0xb5,
- 0x82,
- 0xdf,
- 0xeb,
- 0x04,
- 0x53,
- 0x9d,
- 0xbd,
- 0xc2,
- 0x38,
- 0x16,
- 0xb3,
- 0x62,
- 0xdd,
- 0xa1,
- 0x46,
- 0xdb,
- 0x6d,
- 0x97,
- 0x93,
- 0x9f,
- 0x8a,
- 0xc3,
- 0x9b,
- 0x64,
- 0x7e,
- 0x42,
- 0xe3,
- 0x32,
- 0x57,
- 0x19,
- 0x1b,
- 0xd5,
- 0x6e,
- 0x85,
- 0xfa,
- 0xb8,
- 0x8d,
- 0x02,
- 0x41,
- 0x00,
- 0xbc,
- 0x3d,
- 0xde,
- 0x6d,
- 0xd6,
- 0x97,
- 0xe8,
- 0xba,
- 0x9e,
- 0x81,
- 0x37,
- 0x17,
- 0xe5,
- 0xa0,
- 0x64,
- 0xc9,
- 0x00,
- 0xb7,
- 0xe7,
- 0xfe,
- 0xf4,
- 0x29,
- 0xd9,
- 0x2e,
- 0x43,
- 0x6b,
- 0x19,
- 0x20,
- 0xbd,
- 0x99,
- 0x75,
- 0xe7,
- 0x76,
- 0xf8,
- 0xd3,
- 0xae,
- 0xaf,
- 0x7e,
- 0xb8,
- 0xeb,
- 0x81,
- 0xf4,
- 0x9d,
- 0xfe,
- 0x07,
- 0x2b,
- 0x0b,
- 0x63,
- 0x0b,
- 0x5a,
- 0x55,
- 0x90,
- 0x71,
- 0x7d,
- 0xf1,
- 0xdb,
- 0xd9,
- 0xb1,
- 0x41,
- 0x41,
- 0x68,
- 0x2f,
- 0x4e,
- 0x39,
- 0x02,
- 0x40,
- 0x5a,
- 0x34,
- 0x66,
- 0xd8,
- 0xf5,
- 0xe2,
- 0x7f,
- 0x18,
- 0xb5,
- 0x00,
- 0x6e,
- 0x26,
- 0x84,
- 0x27,
- 0x14,
- 0x93,
- 0xfb,
- 0xfc,
- 0xc6,
- 0x0f,
- 0x5e,
- 0x27,
- 0xe6,
- 0xe1,
- 0xe9,
- 0xc0,
- 0x8a,
- 0xe4,
- 0x34,
- 0xda,
- 0xe9,
- 0xa2,
- 0x4b,
- 0x73,
- 0xbc,
- 0x8c,
- 0xb9,
- 0xba,
- 0x13,
- 0x6c,
- 0x7a,
- 0x2b,
- 0x51,
- 0x84,
- 0xa3,
- 0x4a,
- 0xe0,
- 0x30,
- 0x10,
- 0x06,
- 0x7e,
- 0xed,
- 0x17,
- 0x5a,
- 0x14,
- 0x00,
- 0xc9,
- 0xef,
- 0x85,
- 0xea,
- 0x52,
- 0x2c,
- 0xbc,
- 0x65,
- 0x02,
- 0x40,
- 0x51,
- 0xe3,
- 0xf2,
- 0x83,
- 0x19,
- 0x9b,
- 0xc4,
- 0x1e,
- 0x2f,
- 0x50,
- 0x3d,
- 0xdf,
- 0x5a,
- 0xa2,
- 0x18,
- 0xca,
- 0x5f,
- 0x2e,
- 0x49,
- 0xaf,
- 0x6f,
- 0xcc,
- 0xfa,
- 0x65,
- 0x77,
- 0x94,
- 0xb5,
- 0xa1,
- 0x0a,
- 0xa9,
- 0xd1,
- 0x8a,
- 0x39,
- 0x37,
- 0xf4,
- 0x0b,
- 0xa0,
- 0xd7,
- 0x82,
- 0x27,
- 0x5e,
- 0xae,
- 0x17,
- 0x17,
- 0xa1,
- 0x1e,
- 0x54,
- 0x34,
- 0xbf,
- 0x6e,
- 0xc4,
- 0x8e,
- 0x99,
- 0x5d,
- 0x08,
- 0xf1,
- 0x2d,
- 0x86,
- 0x9d,
- 0xa5,
- 0x20,
- 0x1b,
- 0xe5,
- 0xdf,
+ 0x30, 0x82, 0x02, 0x76, 0x02, 0x01, 0x00, 0x30, 0x0d, 0x06,
+ 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
+ 0x05, 0x00, 0x04, 0x82, 0x02, 0x60, 0x30, 0x82, 0x02, 0x5c,
+ 0x02, 0x01, 0x00, 0x02, 0x81, 0x81, 0x00, 0xf8, 0xb8, 0x6c,
+ 0x83, 0xb4, 0xbc, 0xd9, 0xa8, 0x57, 0xc0, 0xa5, 0xb4, 0x59,
+ 0x76, 0x8c, 0x54, 0x1d, 0x79, 0xeb, 0x22, 0x52, 0x04, 0x7e,
+ 0xd3, 0x37, 0xeb, 0x41, 0xfd, 0x83, 0xf9, 0xf0, 0xa6, 0x85,
+ 0x15, 0x34, 0x75, 0x71, 0x5a, 0x84, 0xa8, 0x3c, 0xd2, 0xef,
+ 0x5a, 0x4e, 0xd3, 0xde, 0x97, 0x8a, 0xdd, 0xff, 0xbb, 0xcf,
+ 0x0a, 0xaa, 0x86, 0x92, 0xbe, 0xb8, 0x50, 0xe4, 0xcd, 0x6f,
+ 0x80, 0x33, 0x30, 0x76, 0x13, 0x8f, 0xca, 0x7b, 0xdc, 0xec,
+ 0x5a, 0xca, 0x63, 0xc7, 0x03, 0x25, 0xef, 0xa8, 0x8a, 0x83,
+ 0x58, 0x76, 0x20, 0xfa, 0x16, 0x77, 0xd7, 0x79, 0x92, 0x63,
+ 0x01, 0x48, 0x1a, 0xd8, 0x7b, 0x67, 0xf1, 0x52, 0x55, 0x49,
+ 0x4e, 0xd6, 0x6e, 0x4a, 0x5c, 0xd7, 0x7a, 0x37, 0x36, 0x0c,
+ 0xde, 0xdd, 0x8f, 0x44, 0xe8, 0xc2, 0xa7, 0x2c, 0x2b, 0xb5,
+ 0xaf, 0x64, 0x4b, 0x61, 0x07, 0x02, 0x03, 0x01, 0x00, 0x01,
+ 0x02, 0x81, 0x80, 0x74, 0x88, 0x64, 0x3f, 0x69, 0x45, 0x3a,
+ 0x6d, 0xc7, 0x7f, 0xb9, 0xa3, 0xc0, 0x6e, 0xec, 0xdc, 0xd4,
+ 0x5a, 0xb5, 0x32, 0x85, 0x5f, 0x19, 0xd4, 0xf8, 0xd4, 0x3f,
+ 0x3c, 0xfa, 0xc2, 0xf6, 0x5f, 0xee, 0xe6, 0xba, 0x87, 0x74,
+ 0x2e, 0xc7, 0x0c, 0xd4, 0x42, 0xb8, 0x66, 0x85, 0x9c, 0x7b,
+ 0x24, 0x61, 0xaa, 0x16, 0x11, 0xf6, 0xb5, 0xb6, 0xa4, 0x0a,
+ 0xc9, 0x55, 0x2e, 0x81, 0xa5, 0x47, 0x61, 0xcb, 0x25, 0x8f,
+ 0xc2, 0x15, 0x7b, 0x0e, 0x7c, 0x36, 0x9f, 0x3a, 0xda, 0x58,
+ 0x86, 0x1c, 0x5b, 0x83, 0x79, 0xe6, 0x2b, 0xcc, 0xe6, 0xfa,
+ 0x2c, 0x61, 0xf2, 0x78, 0x80, 0x1b, 0xe2, 0xf3, 0x9d, 0x39,
+ 0x2b, 0x65, 0x57, 0x91, 0x3d, 0x71, 0x99, 0x73, 0xa5, 0xc2,
+ 0x79, 0x20, 0x8c, 0x07, 0x4f, 0xe5, 0xb4, 0x60, 0x1f, 0x99,
+ 0xa2, 0xb1, 0x4f, 0x0c, 0xef, 0xbc, 0x59, 0x53, 0x00, 0x7d,
+ 0xb1, 0x02, 0x41, 0x00, 0xfc, 0x7e, 0x23, 0x65, 0x70, 0xf8,
+ 0xce, 0xd3, 0x40, 0x41, 0x80, 0x6a, 0x1d, 0x01, 0xd6, 0x01,
+ 0xff, 0xb6, 0x1b, 0x3d, 0x3d, 0x59, 0x09, 0x33, 0x79, 0xc0,
+ 0x4f, 0xde, 0x96, 0x27, 0x4b, 0x18, 0xc6, 0xd9, 0x78, 0xf1,
+ 0xf4, 0x35, 0x46, 0xe9, 0x7c, 0x42, 0x7a, 0x5d, 0x9f, 0xef,
+ 0x54, 0xb8, 0xf7, 0x9f, 0xc4, 0x33, 0x6c, 0xf3, 0x8c, 0x32,
+ 0x46, 0x87, 0x67, 0x30, 0x7b, 0xa7, 0xac, 0xe3, 0x02, 0x41,
+ 0x00, 0xfc, 0x2c, 0xdf, 0x0c, 0x0d, 0x88, 0xf5, 0xb1, 0x92,
+ 0xa8, 0x93, 0x47, 0x63, 0x55, 0xf5, 0xca, 0x58, 0x43, 0xba,
+ 0x1c, 0xe5, 0x9e, 0xb6, 0x95, 0x05, 0xcd, 0xb5, 0x82, 0xdf,
+ 0xeb, 0x04, 0x53, 0x9d, 0xbd, 0xc2, 0x38, 0x16, 0xb3, 0x62,
+ 0xdd, 0xa1, 0x46, 0xdb, 0x6d, 0x97, 0x93, 0x9f, 0x8a, 0xc3,
+ 0x9b, 0x64, 0x7e, 0x42, 0xe3, 0x32, 0x57, 0x19, 0x1b, 0xd5,
+ 0x6e, 0x85, 0xfa, 0xb8, 0x8d, 0x02, 0x41, 0x00, 0xbc, 0x3d,
+ 0xde, 0x6d, 0xd6, 0x97, 0xe8, 0xba, 0x9e, 0x81, 0x37, 0x17,
+ 0xe5, 0xa0, 0x64, 0xc9, 0x00, 0xb7, 0xe7, 0xfe, 0xf4, 0x29,
+ 0xd9, 0x2e, 0x43, 0x6b, 0x19, 0x20, 0xbd, 0x99, 0x75, 0xe7,
+ 0x76, 0xf8, 0xd3, 0xae, 0xaf, 0x7e, 0xb8, 0xeb, 0x81, 0xf4,
+ 0x9d, 0xfe, 0x07, 0x2b, 0x0b, 0x63, 0x0b, 0x5a, 0x55, 0x90,
+ 0x71, 0x7d, 0xf1, 0xdb, 0xd9, 0xb1, 0x41, 0x41, 0x68, 0x2f,
+ 0x4e, 0x39, 0x02, 0x40, 0x5a, 0x34, 0x66, 0xd8, 0xf5, 0xe2,
+ 0x7f, 0x18, 0xb5, 0x00, 0x6e, 0x26, 0x84, 0x27, 0x14, 0x93,
+ 0xfb, 0xfc, 0xc6, 0x0f, 0x5e, 0x27, 0xe6, 0xe1, 0xe9, 0xc0,
+ 0x8a, 0xe4, 0x34, 0xda, 0xe9, 0xa2, 0x4b, 0x73, 0xbc, 0x8c,
+ 0xb9, 0xba, 0x13, 0x6c, 0x7a, 0x2b, 0x51, 0x84, 0xa3, 0x4a,
+ 0xe0, 0x30, 0x10, 0x06, 0x7e, 0xed, 0x17, 0x5a, 0x14, 0x00,
+ 0xc9, 0xef, 0x85, 0xea, 0x52, 0x2c, 0xbc, 0x65, 0x02, 0x40,
+ 0x51, 0xe3, 0xf2, 0x83, 0x19, 0x9b, 0xc4, 0x1e, 0x2f, 0x50,
+ 0x3d, 0xdf, 0x5a, 0xa2, 0x18, 0xca, 0x5f, 0x2e, 0x49, 0xaf,
+ 0x6f, 0xcc, 0xfa, 0x65, 0x77, 0x94, 0xb5, 0xa1, 0x0a, 0xa9,
+ 0xd1, 0x8a, 0x39, 0x37, 0xf4, 0x0b, 0xa0, 0xd7, 0x82, 0x27,
+ 0x5e, 0xae, 0x17, 0x17, 0xa1, 0x1e, 0x54, 0x34, 0xbf, 0x6e,
+ 0xc4, 0x8e, 0x99, 0x5d, 0x08, 0xf1, 0x2d, 0x86, 0x9d, 0xa5,
+ 0x20, 0x1b, 0xe5, 0xdf
};
#ifndef OPENSSL_NO_DH
@@ -1353,127 +236,19 @@ static const unsigned char kExampleDHPrivateKeyDER[] = {
* structure.
*/
static const unsigned char kExampleECKeyDER[] = {
- 0x30,
- 0x77,
- 0x02,
- 0x01,
- 0x01,
- 0x04,
- 0x20,
- 0x07,
- 0x0f,
- 0x08,
- 0x72,
- 0x7a,
- 0xd4,
- 0xa0,
- 0x4a,
- 0x9c,
- 0xdd,
- 0x59,
- 0xc9,
- 0x4d,
- 0x89,
- 0x68,
- 0x77,
- 0x08,
- 0xb5,
- 0x6f,
- 0xc9,
- 0x5d,
- 0x30,
- 0x77,
- 0x0e,
- 0xe8,
- 0xd1,
- 0xc9,
- 0xce,
- 0x0a,
- 0x8b,
- 0xb4,
- 0x6a,
- 0xa0,
- 0x0a,
- 0x06,
- 0x08,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x03,
- 0x01,
- 0x07,
- 0xa1,
- 0x44,
- 0x03,
- 0x42,
- 0x00,
- 0x04,
- 0xe6,
- 0x2b,
- 0x69,
- 0xe2,
- 0xbf,
- 0x65,
- 0x9f,
- 0x97,
- 0xbe,
- 0x2f,
- 0x1e,
- 0x0d,
- 0x94,
- 0x8a,
- 0x4c,
- 0xd5,
- 0x97,
- 0x6b,
- 0xb7,
- 0xa9,
- 0x1e,
- 0x0d,
- 0x46,
- 0xfb,
- 0xdd,
- 0xa9,
- 0xa9,
- 0x1e,
- 0x9d,
- 0xdc,
- 0xba,
- 0x5a,
- 0x01,
- 0xe7,
- 0xd6,
- 0x97,
- 0xa8,
- 0x0a,
- 0x18,
- 0xf9,
- 0xc3,
- 0xc4,
- 0xa3,
- 0x1e,
- 0x56,
- 0xe2,
- 0x7c,
- 0x83,
- 0x48,
- 0xdb,
- 0x16,
- 0x1a,
- 0x1c,
- 0xf5,
- 0x1d,
- 0x7e,
- 0xf1,
- 0x94,
- 0x2d,
- 0x4b,
- 0xcf,
- 0x72,
- 0x22,
- 0xc1,
+ 0x30, 0x77, 0x02, 0x01, 0x01, 0x04, 0x20, 0x07, 0x0f, 0x08,
+ 0x72, 0x7a, 0xd4, 0xa0, 0x4a, 0x9c, 0xdd, 0x59, 0xc9, 0x4d,
+ 0x89, 0x68, 0x77, 0x08, 0xb5, 0x6f, 0xc9, 0x5d, 0x30, 0x77,
+ 0x0e, 0xe8, 0xd1, 0xc9, 0xce, 0x0a, 0x8b, 0xb4, 0x6a, 0xa0,
+ 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01,
+ 0x07, 0xa1, 0x44, 0x03, 0x42, 0x00, 0x04, 0xe6, 0x2b, 0x69,
+ 0xe2, 0xbf, 0x65, 0x9f, 0x97, 0xbe, 0x2f, 0x1e, 0x0d, 0x94,
+ 0x8a, 0x4c, 0xd5, 0x97, 0x6b, 0xb7, 0xa9, 0x1e, 0x0d, 0x46,
+ 0xfb, 0xdd, 0xa9, 0xa9, 0x1e, 0x9d, 0xdc, 0xba, 0x5a, 0x01,
+ 0xe7, 0xd6, 0x97, 0xa8, 0x0a, 0x18, 0xf9, 0xc3, 0xc4, 0xa3,
+ 0x1e, 0x56, 0xe2, 0x7c, 0x83, 0x48, 0xdb, 0x16, 0x1a, 0x1c,
+ 0xf5, 0x1d, 0x7e, 0xf1, 0x94, 0x2d, 0x4b, 0xcf, 0x72, 0x22,
+ 0xc1
};
/* P-384 sample EC private key in PKCS8 format (no public key) */
@@ -2140,856 +915,91 @@ static int do_fromdata_key_is_equal(const OSSL_PARAM params[],
* -paramfile dsa_param.pem -pkeyopt type:fips186_4 -out dsa_priv.pem
*/
static const unsigned char dsa_key[] = {
- 0x30,
- 0x82,
- 0x03,
- 0x4e,
- 0x02,
- 0x01,
- 0x00,
- 0x02,
- 0x82,
- 0x01,
- 0x01,
- 0x00,
- 0xda,
- 0xb3,
- 0x46,
- 0x4d,
- 0x54,
- 0x57,
- 0xc7,
- 0xb4,
- 0x61,
- 0xa0,
- 0x6f,
- 0x66,
- 0x17,
- 0xda,
- 0xeb,
- 0x90,
- 0xf0,
- 0xa3,
- 0xd1,
- 0x29,
- 0xc9,
- 0x5f,
- 0xf2,
- 0x21,
- 0x3d,
- 0x85,
- 0xa3,
- 0x4a,
- 0xf0,
- 0xf8,
- 0x36,
- 0x39,
- 0x1b,
- 0xe3,
- 0xee,
- 0x37,
- 0x70,
- 0x06,
- 0x9b,
- 0xe8,
- 0xe3,
- 0x0a,
- 0xd2,
- 0xf1,
- 0xf6,
- 0xc4,
- 0x42,
- 0x23,
- 0x1f,
- 0x74,
- 0x78,
- 0xc2,
- 0x16,
- 0xf5,
- 0xce,
- 0xd6,
- 0xab,
- 0xa0,
- 0xc6,
- 0xe8,
- 0x99,
- 0x3d,
- 0xf8,
- 0x8b,
- 0xfb,
- 0x47,
- 0xf8,
- 0x5e,
- 0x05,
- 0x68,
- 0x6d,
- 0x8b,
- 0xa8,
- 0xad,
- 0xa1,
- 0xc2,
- 0x3a,
- 0x4e,
- 0xe0,
- 0xad,
- 0xec,
- 0x38,
- 0x75,
- 0x21,
- 0x55,
- 0x22,
- 0xce,
- 0xa2,
- 0xe9,
- 0xe5,
- 0x3b,
- 0xd7,
- 0x44,
- 0xeb,
- 0x5a,
- 0x03,
- 0x59,
- 0xa0,
- 0xc5,
- 0x7a,
- 0x92,
- 0x59,
- 0x7d,
- 0x7a,
- 0x07,
- 0x80,
- 0xfc,
- 0x4e,
- 0xf8,
- 0x56,
- 0x7e,
- 0xf1,
- 0x06,
- 0xe0,
- 0xba,
- 0xb2,
- 0xe7,
- 0x5b,
- 0x22,
- 0x55,
- 0xee,
- 0x4b,
- 0x42,
- 0x61,
- 0x67,
- 0x2c,
- 0x43,
- 0x9a,
- 0x38,
- 0x2b,
- 0x17,
- 0xc2,
- 0x62,
- 0x12,
- 0x8b,
- 0x0b,
- 0x22,
- 0x8c,
- 0x0c,
- 0x1c,
- 0x1c,
- 0x92,
- 0xb1,
- 0xec,
- 0x70,
- 0xce,
- 0x0f,
- 0x8c,
- 0xff,
- 0x8d,
- 0x21,
- 0xf9,
- 0x19,
- 0x68,
- 0x4d,
- 0x32,
- 0x59,
- 0x78,
- 0x42,
- 0x1d,
- 0x0c,
- 0xc5,
- 0x1a,
- 0xcb,
- 0x28,
- 0xe2,
- 0xc1,
- 0x1a,
- 0x35,
- 0xf1,
- 0x42,
- 0x0a,
- 0x19,
- 0x39,
- 0xfa,
- 0x83,
- 0xd1,
- 0xb4,
- 0xaa,
- 0x69,
- 0x0f,
- 0xc2,
- 0x8e,
- 0xf9,
- 0x59,
- 0x2c,
- 0xee,
- 0x11,
- 0xfc,
- 0x3e,
- 0x4b,
- 0x44,
- 0xfb,
- 0x9a,
- 0x32,
- 0xc8,
- 0x78,
- 0x23,
- 0x56,
- 0x85,
- 0x49,
- 0x21,
- 0x43,
- 0x12,
- 0x79,
- 0xbd,
- 0xa0,
- 0x70,
- 0x47,
- 0x2f,
- 0xae,
- 0xb6,
- 0xd7,
- 0x6c,
- 0xc6,
- 0x07,
- 0x76,
- 0xa9,
- 0x8a,
- 0xa2,
- 0x16,
- 0x02,
- 0x89,
- 0x1f,
- 0x1a,
- 0xd1,
- 0xa2,
- 0x96,
- 0x56,
- 0xd1,
- 0x1f,
- 0x10,
- 0xe1,
- 0xe5,
- 0x9f,
- 0x3f,
- 0xdd,
- 0x09,
- 0x0c,
- 0x40,
- 0x90,
- 0x71,
- 0xef,
- 0x14,
- 0x41,
- 0x02,
- 0x82,
- 0x3a,
- 0x6b,
- 0xe1,
- 0xf8,
- 0x2c,
- 0x5d,
- 0xbe,
- 0xfd,
- 0x1b,
- 0x02,
- 0x1d,
- 0x00,
- 0xe0,
- 0x20,
- 0xe0,
- 0x7c,
- 0x02,
- 0x16,
- 0xa7,
- 0x6c,
- 0x6a,
- 0x19,
- 0xba,
- 0xd5,
- 0x83,
- 0x73,
- 0xf3,
- 0x7d,
- 0x31,
- 0xef,
- 0xa7,
- 0xe1,
- 0x5d,
- 0x5b,
- 0x7f,
- 0xf3,
- 0xfc,
- 0xda,
- 0x84,
- 0x31,
- 0x02,
- 0x82,
- 0x01,
- 0x01,
- 0x00,
- 0x83,
- 0xdb,
- 0xa1,
- 0xbc,
- 0x3e,
- 0xc7,
- 0x29,
- 0xa5,
- 0x6a,
- 0x5c,
- 0x2c,
- 0xe8,
- 0x7a,
- 0x8c,
- 0x7e,
- 0xe8,
- 0xb8,
- 0x3e,
- 0x13,
- 0x47,
- 0xcd,
- 0x36,
- 0x7e,
- 0x79,
- 0x30,
- 0x7a,
- 0x28,
- 0x03,
- 0xd3,
- 0xd4,
- 0xd2,
- 0xe3,
- 0xee,
- 0x3b,
- 0x46,
- 0xda,
- 0xe0,
- 0x71,
- 0xe6,
- 0xcf,
- 0x46,
- 0x86,
- 0x0a,
- 0x37,
- 0x57,
- 0xb6,
- 0xe9,
- 0xcf,
- 0xa1,
- 0x78,
- 0x19,
- 0xb8,
- 0x72,
- 0x9f,
- 0x30,
- 0x8c,
- 0x2a,
- 0x04,
- 0x7c,
- 0x2f,
- 0x0c,
- 0x27,
- 0xa7,
- 0xb3,
- 0x23,
- 0xe0,
- 0x46,
- 0xf2,
- 0x75,
- 0x0c,
- 0x03,
- 0x4c,
- 0xad,
- 0xfb,
- 0xc1,
- 0xcb,
- 0x28,
- 0xcd,
- 0xa0,
- 0x63,
- 0xdb,
- 0x44,
- 0x88,
- 0xe0,
- 0xda,
- 0x6c,
- 0x5b,
- 0x89,
- 0xb2,
- 0x5b,
- 0x40,
- 0x6d,
- 0xeb,
- 0x78,
- 0x7a,
- 0xd5,
- 0xaf,
- 0x40,
- 0x52,
- 0x46,
- 0x63,
- 0x92,
- 0x13,
- 0x0d,
- 0xee,
- 0xee,
- 0xf9,
- 0x53,
- 0xca,
- 0x2d,
- 0x4e,
- 0x3b,
- 0x13,
- 0xd8,
- 0x0f,
- 0x50,
- 0xd0,
- 0x44,
- 0x57,
- 0x67,
- 0x0f,
- 0x45,
- 0x8f,
- 0x21,
- 0x30,
- 0x97,
- 0x9e,
- 0x80,
- 0xd9,
- 0xd0,
- 0x91,
- 0xb7,
- 0xc9,
- 0x5a,
- 0x69,
- 0xda,
- 0xeb,
- 0xd5,
- 0xea,
- 0x37,
- 0xf6,
- 0xb3,
- 0xbe,
- 0x1f,
- 0x24,
- 0xf1,
- 0x55,
- 0x14,
- 0x28,
- 0x05,
- 0xb5,
- 0xd8,
- 0x84,
- 0x0f,
- 0x62,
- 0x85,
- 0xaa,
- 0xec,
- 0x77,
- 0x64,
- 0xfd,
- 0x80,
- 0x7c,
- 0x41,
- 0x00,
- 0x88,
- 0xa3,
- 0x79,
- 0x7d,
- 0x4f,
- 0x6f,
- 0xe3,
- 0x76,
- 0xf4,
- 0xb5,
- 0x97,
- 0xb7,
- 0xeb,
- 0x67,
- 0x28,
- 0xba,
- 0x07,
- 0x1a,
- 0x59,
- 0x32,
- 0xc1,
- 0x53,
- 0xd9,
- 0x05,
- 0x6b,
- 0x63,
- 0x93,
- 0xce,
- 0xa1,
- 0xd9,
- 0x7a,
- 0xb2,
- 0xff,
- 0x1c,
- 0x12,
- 0x0a,
- 0x9a,
- 0xe5,
- 0x51,
- 0x1e,
- 0xba,
- 0xfc,
- 0x95,
- 0x2e,
- 0x28,
- 0xa9,
- 0xfc,
- 0x4c,
- 0xed,
- 0x7b,
- 0x05,
- 0xca,
- 0x67,
- 0xe0,
- 0x2d,
- 0xd7,
- 0x54,
- 0xb3,
- 0x05,
- 0x1c,
- 0x23,
- 0x2b,
- 0x35,
- 0x2e,
- 0x19,
- 0x48,
- 0x59,
- 0x0e,
- 0x58,
- 0xa8,
- 0x01,
- 0x56,
- 0xfb,
- 0x78,
- 0x90,
- 0xba,
- 0x08,
- 0x77,
- 0x94,
- 0x45,
- 0x05,
- 0x13,
- 0xc7,
- 0x6b,
- 0x96,
- 0xd2,
- 0xa3,
- 0xa6,
- 0x01,
- 0x9f,
- 0x34,
- 0x02,
- 0x82,
- 0x01,
- 0x00,
- 0x16,
- 0x1a,
- 0xb4,
- 0x6d,
- 0x9f,
- 0x16,
- 0x6c,
- 0xcc,
- 0x91,
- 0x66,
- 0xfe,
- 0x30,
- 0xeb,
- 0x8e,
- 0x44,
- 0xba,
- 0x2b,
- 0x7a,
- 0xc9,
- 0xa8,
- 0x95,
- 0xf2,
- 0xa6,
- 0x38,
- 0xd8,
- 0xaf,
- 0x3e,
- 0x91,
- 0x68,
- 0xe8,
- 0x52,
- 0xf3,
- 0x97,
- 0x37,
- 0x70,
- 0xf2,
- 0x47,
- 0xa3,
- 0xf4,
- 0x62,
- 0x26,
- 0xf5,
- 0x3b,
- 0x71,
- 0x52,
- 0x50,
- 0x15,
- 0x9c,
- 0x6d,
- 0xa6,
- 0x6d,
- 0x92,
- 0x4c,
- 0x48,
- 0x76,
- 0x31,
- 0x54,
- 0x48,
- 0xa5,
- 0x99,
- 0x7a,
- 0xd4,
- 0x61,
- 0xf7,
- 0x21,
- 0x44,
- 0xe7,
- 0xd8,
- 0x82,
- 0xc3,
- 0x50,
- 0xd3,
- 0xd9,
- 0xd4,
- 0x66,
- 0x20,
- 0xab,
- 0x70,
- 0x4c,
- 0x97,
- 0x9b,
- 0x8d,
- 0xac,
- 0x1f,
- 0x78,
- 0x27,
- 0x1e,
- 0x47,
- 0xf8,
- 0x3b,
- 0xd1,
- 0x55,
- 0x73,
- 0xf3,
- 0xb4,
- 0x8e,
- 0x6d,
- 0x45,
- 0x40,
- 0x54,
- 0xc6,
- 0xd8,
- 0x95,
- 0x15,
- 0x27,
- 0xb7,
- 0x5f,
- 0x65,
- 0xaa,
- 0xcb,
- 0x24,
- 0xc9,
- 0x49,
- 0x87,
- 0x32,
- 0xad,
- 0xcb,
- 0xf8,
- 0x35,
- 0x63,
- 0x56,
- 0x72,
- 0x7c,
- 0x4e,
- 0x6c,
- 0xad,
- 0x5f,
- 0x26,
- 0x8c,
- 0xd2,
- 0x80,
- 0x41,
- 0xaf,
- 0x88,
- 0x23,
- 0x20,
- 0x03,
- 0xa4,
- 0xd5,
- 0x3c,
- 0x53,
- 0x54,
- 0xb0,
- 0x3d,
- 0xed,
- 0x0e,
- 0x9e,
- 0x53,
- 0x0a,
- 0x63,
- 0x5f,
- 0xfd,
- 0x28,
- 0x57,
- 0x09,
- 0x07,
- 0x73,
- 0xf4,
- 0x0c,
- 0xd4,
- 0x71,
- 0x5d,
- 0x6b,
- 0xa0,
- 0xd7,
- 0x86,
- 0x99,
- 0x29,
- 0x9b,
- 0xca,
- 0xfb,
- 0xcc,
- 0xd6,
- 0x2f,
- 0xfe,
- 0xbe,
- 0x94,
- 0xef,
- 0x1a,
- 0x0e,
- 0x55,
- 0x84,
- 0xa7,
- 0xaf,
- 0x7b,
- 0xfa,
- 0xed,
- 0x77,
- 0x61,
- 0x28,
- 0x22,
- 0xee,
- 0x6b,
- 0x11,
- 0xdd,
- 0xb0,
- 0x17,
- 0x1e,
- 0x06,
- 0xe4,
- 0x29,
- 0x4c,
- 0xc2,
- 0x3f,
- 0xd6,
- 0x75,
- 0xb6,
- 0x08,
- 0x04,
- 0x55,
- 0x13,
- 0x48,
- 0x4f,
- 0x44,
- 0xea,
- 0x8d,
- 0xaf,
- 0xcb,
- 0xac,
- 0x22,
- 0xc4,
- 0x6a,
- 0xb3,
- 0x86,
- 0xe5,
- 0x47,
- 0xa9,
- 0xb5,
- 0x72,
- 0x17,
- 0x23,
- 0x11,
- 0x81,
- 0x7f,
- 0x00,
- 0x00,
- 0x67,
- 0x5c,
- 0xf4,
- 0x58,
- 0xcc,
- 0xe2,
- 0x46,
- 0xce,
- 0xf5,
- 0x6d,
- 0xd8,
- 0x18,
- 0x91,
- 0xc4,
- 0x20,
- 0xbf,
- 0x07,
- 0x48,
- 0x45,
- 0xfd,
- 0x02,
- 0x1c,
- 0x2f,
- 0x68,
- 0x44,
- 0xcb,
- 0xfb,
- 0x6b,
- 0xcb,
- 0x8d,
- 0x02,
- 0x49,
- 0x7c,
- 0xee,
- 0xd2,
- 0xa6,
- 0xd3,
- 0x43,
- 0xb8,
- 0xa4,
- 0x09,
- 0xb7,
- 0xc1,
- 0xd4,
- 0x4b,
- 0xc3,
- 0x66,
- 0xa7,
- 0xe0,
- 0x21,
+ 0x30, 0x82, 0x03, 0x4e, 0x02, 0x01, 0x00, 0x02, 0x82, 0x01,
+ 0x01, 0x00, 0xda, 0xb3, 0x46, 0x4d, 0x54, 0x57, 0xc7, 0xb4,
+ 0x61, 0xa0, 0x6f, 0x66, 0x17, 0xda, 0xeb, 0x90, 0xf0, 0xa3,
+ 0xd1, 0x29, 0xc9, 0x5f, 0xf2, 0x21, 0x3d, 0x85, 0xa3, 0x4a,
+ 0xf0, 0xf8, 0x36, 0x39, 0x1b, 0xe3, 0xee, 0x37, 0x70, 0x06,
+ 0x9b, 0xe8, 0xe3, 0x0a, 0xd2, 0xf1, 0xf6, 0xc4, 0x42, 0x23,
+ 0x1f, 0x74, 0x78, 0xc2, 0x16, 0xf5, 0xce, 0xd6, 0xab, 0xa0,
+ 0xc6, 0xe8, 0x99, 0x3d, 0xf8, 0x8b, 0xfb, 0x47, 0xf8, 0x5e,
+ 0x05, 0x68, 0x6d, 0x8b, 0xa8, 0xad, 0xa1, 0xc2, 0x3a, 0x4e,
+ 0xe0, 0xad, 0xec, 0x38, 0x75, 0x21, 0x55, 0x22, 0xce, 0xa2,
+ 0xe9, 0xe5, 0x3b, 0xd7, 0x44, 0xeb, 0x5a, 0x03, 0x59, 0xa0,
+ 0xc5, 0x7a, 0x92, 0x59, 0x7d, 0x7a, 0x07, 0x80, 0xfc, 0x4e,
+ 0xf8, 0x56, 0x7e, 0xf1, 0x06, 0xe0, 0xba, 0xb2, 0xe7, 0x5b,
+ 0x22, 0x55, 0xee, 0x4b, 0x42, 0x61, 0x67, 0x2c, 0x43, 0x9a,
+ 0x38, 0x2b, 0x17, 0xc2, 0x62, 0x12, 0x8b, 0x0b, 0x22, 0x8c,
+ 0x0c, 0x1c, 0x1c, 0x92, 0xb1, 0xec, 0x70, 0xce, 0x0f, 0x8c,
+ 0xff, 0x8d, 0x21, 0xf9, 0x19, 0x68, 0x4d, 0x32, 0x59, 0x78,
+ 0x42, 0x1d, 0x0c, 0xc5, 0x1a, 0xcb, 0x28, 0xe2, 0xc1, 0x1a,
+ 0x35, 0xf1, 0x42, 0x0a, 0x19, 0x39, 0xfa, 0x83, 0xd1, 0xb4,
+ 0xaa, 0x69, 0x0f, 0xc2, 0x8e, 0xf9, 0x59, 0x2c, 0xee, 0x11,
+ 0xfc, 0x3e, 0x4b, 0x44, 0xfb, 0x9a, 0x32, 0xc8, 0x78, 0x23,
+ 0x56, 0x85, 0x49, 0x21, 0x43, 0x12, 0x79, 0xbd, 0xa0, 0x70,
+ 0x47, 0x2f, 0xae, 0xb6, 0xd7, 0x6c, 0xc6, 0x07, 0x76, 0xa9,
+ 0x8a, 0xa2, 0x16, 0x02, 0x89, 0x1f, 0x1a, 0xd1, 0xa2, 0x96,
+ 0x56, 0xd1, 0x1f, 0x10, 0xe1, 0xe5, 0x9f, 0x3f, 0xdd, 0x09,
+ 0x0c, 0x40, 0x90, 0x71, 0xef, 0x14, 0x41, 0x02, 0x82, 0x3a,
+ 0x6b, 0xe1, 0xf8, 0x2c, 0x5d, 0xbe, 0xfd, 0x1b, 0x02, 0x1d,
+ 0x00, 0xe0, 0x20, 0xe0, 0x7c, 0x02, 0x16, 0xa7, 0x6c, 0x6a,
+ 0x19, 0xba, 0xd5, 0x83, 0x73, 0xf3, 0x7d, 0x31, 0xef, 0xa7,
+ 0xe1, 0x5d, 0x5b, 0x7f, 0xf3, 0xfc, 0xda, 0x84, 0x31, 0x02,
+ 0x82, 0x01, 0x01, 0x00, 0x83, 0xdb, 0xa1, 0xbc, 0x3e, 0xc7,
+ 0x29, 0xa5, 0x6a, 0x5c, 0x2c, 0xe8, 0x7a, 0x8c, 0x7e, 0xe8,
+ 0xb8, 0x3e, 0x13, 0x47, 0xcd, 0x36, 0x7e, 0x79, 0x30, 0x7a,
+ 0x28, 0x03, 0xd3, 0xd4, 0xd2, 0xe3, 0xee, 0x3b, 0x46, 0xda,
+ 0xe0, 0x71, 0xe6, 0xcf, 0x46, 0x86, 0x0a, 0x37, 0x57, 0xb6,
+ 0xe9, 0xcf, 0xa1, 0x78, 0x19, 0xb8, 0x72, 0x9f, 0x30, 0x8c,
+ 0x2a, 0x04, 0x7c, 0x2f, 0x0c, 0x27, 0xa7, 0xb3, 0x23, 0xe0,
+ 0x46, 0xf2, 0x75, 0x0c, 0x03, 0x4c, 0xad, 0xfb, 0xc1, 0xcb,
+ 0x28, 0xcd, 0xa0, 0x63, 0xdb, 0x44, 0x88, 0xe0, 0xda, 0x6c,
+ 0x5b, 0x89, 0xb2, 0x5b, 0x40, 0x6d, 0xeb, 0x78, 0x7a, 0xd5,
+ 0xaf, 0x40, 0x52, 0x46, 0x63, 0x92, 0x13, 0x0d, 0xee, 0xee,
+ 0xf9, 0x53, 0xca, 0x2d, 0x4e, 0x3b, 0x13, 0xd8, 0x0f, 0x50,
+ 0xd0, 0x44, 0x57, 0x67, 0x0f, 0x45, 0x8f, 0x21, 0x30, 0x97,
+ 0x9e, 0x80, 0xd9, 0xd0, 0x91, 0xb7, 0xc9, 0x5a, 0x69, 0xda,
+ 0xeb, 0xd5, 0xea, 0x37, 0xf6, 0xb3, 0xbe, 0x1f, 0x24, 0xf1,
+ 0x55, 0x14, 0x28, 0x05, 0xb5, 0xd8, 0x84, 0x0f, 0x62, 0x85,
+ 0xaa, 0xec, 0x77, 0x64, 0xfd, 0x80, 0x7c, 0x41, 0x00, 0x88,
+ 0xa3, 0x79, 0x7d, 0x4f, 0x6f, 0xe3, 0x76, 0xf4, 0xb5, 0x97,
+ 0xb7, 0xeb, 0x67, 0x28, 0xba, 0x07, 0x1a, 0x59, 0x32, 0xc1,
+ 0x53, 0xd9, 0x05, 0x6b, 0x63, 0x93, 0xce, 0xa1, 0xd9, 0x7a,
+ 0xb2, 0xff, 0x1c, 0x12, 0x0a, 0x9a, 0xe5, 0x51, 0x1e, 0xba,
+ 0xfc, 0x95, 0x2e, 0x28, 0xa9, 0xfc, 0x4c, 0xed, 0x7b, 0x05,
+ 0xca, 0x67, 0xe0, 0x2d, 0xd7, 0x54, 0xb3, 0x05, 0x1c, 0x23,
+ 0x2b, 0x35, 0x2e, 0x19, 0x48, 0x59, 0x0e, 0x58, 0xa8, 0x01,
+ 0x56, 0xfb, 0x78, 0x90, 0xba, 0x08, 0x77, 0x94, 0x45, 0x05,
+ 0x13, 0xc7, 0x6b, 0x96, 0xd2, 0xa3, 0xa6, 0x01, 0x9f, 0x34,
+ 0x02, 0x82, 0x01, 0x00, 0x16, 0x1a, 0xb4, 0x6d, 0x9f, 0x16,
+ 0x6c, 0xcc, 0x91, 0x66, 0xfe, 0x30, 0xeb, 0x8e, 0x44, 0xba,
+ 0x2b, 0x7a, 0xc9, 0xa8, 0x95, 0xf2, 0xa6, 0x38, 0xd8, 0xaf,
+ 0x3e, 0x91, 0x68, 0xe8, 0x52, 0xf3, 0x97, 0x37, 0x70, 0xf2,
+ 0x47, 0xa3, 0xf4, 0x62, 0x26, 0xf5, 0x3b, 0x71, 0x52, 0x50,
+ 0x15, 0x9c, 0x6d, 0xa6, 0x6d, 0x92, 0x4c, 0x48, 0x76, 0x31,
+ 0x54, 0x48, 0xa5, 0x99, 0x7a, 0xd4, 0x61, 0xf7, 0x21, 0x44,
+ 0xe7, 0xd8, 0x82, 0xc3, 0x50, 0xd3, 0xd9, 0xd4, 0x66, 0x20,
+ 0xab, 0x70, 0x4c, 0x97, 0x9b, 0x8d, 0xac, 0x1f, 0x78, 0x27,
+ 0x1e, 0x47, 0xf8, 0x3b, 0xd1, 0x55, 0x73, 0xf3, 0xb4, 0x8e,
+ 0x6d, 0x45, 0x40, 0x54, 0xc6, 0xd8, 0x95, 0x15, 0x27, 0xb7,
+ 0x5f, 0x65, 0xaa, 0xcb, 0x24, 0xc9, 0x49, 0x87, 0x32, 0xad,
+ 0xcb, 0xf8, 0x35, 0x63, 0x56, 0x72, 0x7c, 0x4e, 0x6c, 0xad,
+ 0x5f, 0x26, 0x8c, 0xd2, 0x80, 0x41, 0xaf, 0x88, 0x23, 0x20,
+ 0x03, 0xa4, 0xd5, 0x3c, 0x53, 0x54, 0xb0, 0x3d, 0xed, 0x0e,
+ 0x9e, 0x53, 0x0a, 0x63, 0x5f, 0xfd, 0x28, 0x57, 0x09, 0x07,
+ 0x73, 0xf4, 0x0c, 0xd4, 0x71, 0x5d, 0x6b, 0xa0, 0xd7, 0x86,
+ 0x99, 0x29, 0x9b, 0xca, 0xfb, 0xcc, 0xd6, 0x2f, 0xfe, 0xbe,
+ 0x94, 0xef, 0x1a, 0x0e, 0x55, 0x84, 0xa7, 0xaf, 0x7b, 0xfa,
+ 0xed, 0x77, 0x61, 0x28, 0x22, 0xee, 0x6b, 0x11, 0xdd, 0xb0,
+ 0x17, 0x1e, 0x06, 0xe4, 0x29, 0x4c, 0xc2, 0x3f, 0xd6, 0x75,
+ 0xb6, 0x08, 0x04, 0x55, 0x13, 0x48, 0x4f, 0x44, 0xea, 0x8d,
+ 0xaf, 0xcb, 0xac, 0x22, 0xc4, 0x6a, 0xb3, 0x86, 0xe5, 0x47,
+ 0xa9, 0xb5, 0x72, 0x17, 0x23, 0x11, 0x81, 0x7f, 0x00, 0x00,
+ 0x67, 0x5c, 0xf4, 0x58, 0xcc, 0xe2, 0x46, 0xce, 0xf5, 0x6d,
+ 0xd8, 0x18, 0x91, 0xc4, 0x20, 0xbf, 0x07, 0x48, 0x45, 0xfd,
+ 0x02, 0x1c, 0x2f, 0x68, 0x44, 0xcb, 0xfb, 0x6b, 0xcb, 0x8d,
+ 0x02, 0x49, 0x7c, 0xee, 0xd2, 0xa6, 0xd3, 0x43, 0xb8, 0xa4,
+ 0x09, 0xb7, 0xc1, 0xd4, 0x4b, 0xc3, 0x66, 0xa7, 0xe0, 0x21
};
static const unsigned char dsa_p[] = {
0x00, 0xda, 0xb3, 0x46, 0x4d, 0x54, 0x57, 0xc7, 0xb4, 0x61, 0xa0, 0x6f, 0x66, 0x17, 0xda,
diff --git a/crypto/openssl/test/evp_kdf_test.c b/crypto/openssl/test/evp_kdf_test.c
index c1a39333780..7dc901a2570 100644
--- a/crypto/openssl/test/evp_kdf_test.c
+++ b/crypto/openssl/test/evp_kdf_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2018-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2018-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright (c) 2018-2020, Oracle and/or its affiliates. All rights reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
@@ -683,7 +683,7 @@ static int test_kdf_pbkdf2_large_output(void)
int mode = 0;
OSSL_PARAM *params;
- if (sizeof(len) > 32)
+ if (SIZE_MAX > 0xFFFFFFFFU)
len = SIZE_MAX;
params = construct_pbkdf2_params("passwordPASSWORDpassword", "sha256",
@@ -1003,22 +1003,8 @@ static int test_kdf_kbkdf_6803_128(void)
EVP_KDF_CTX *kctx;
OSSL_PARAM params[7];
static unsigned char input_key[] = {
- 0x57,
- 0xD0,
- 0x29,
- 0x72,
- 0x98,
- 0xFF,
- 0xD9,
- 0xD3,
- 0x5D,
- 0xE5,
- 0xA4,
- 0x7F,
- 0xB4,
- 0xBD,
- 0xE2,
- 0x4B,
+ 0x57, 0xD0, 0x29, 0x72, 0x98, 0xFF, 0xD9, 0xD3, 0x5D, 0xE5,
+ 0xA4, 0x7F, 0xB4, 0xBD, 0xE2, 0x4B
};
static unsigned char constants[][5] = {
{ 0x00, 0x00, 0x00, 0x02, 0x99 },
@@ -1073,38 +1059,10 @@ static int test_kdf_kbkdf_6803_256(void)
EVP_KDF_CTX *kctx;
OSSL_PARAM params[7];
static unsigned char input_key[] = {
- 0xB9,
- 0xD6,
- 0x82,
- 0x8B,
- 0x20,
- 0x56,
- 0xB7,
- 0xBE,
- 0x65,
- 0x6D,
- 0x88,
- 0xA1,
- 0x23,
- 0xB1,
- 0xFA,
- 0xC6,
- 0x82,
- 0x14,
- 0xAC,
- 0x2B,
- 0x72,
- 0x7E,
- 0xCF,
- 0x5F,
- 0x69,
- 0xAF,
- 0xE0,
- 0xC4,
- 0xDF,
- 0x2A,
- 0x6D,
- 0x2C,
+ 0xB9, 0xD6, 0x82, 0x8B, 0x20, 0x56, 0xB7, 0xBE, 0x65, 0x6D,
+ 0x88, 0xA1, 0x23, 0xB1, 0xFA, 0xC6, 0x82, 0x14, 0xAC, 0x2B,
+ 0x72, 0x7E, 0xCF, 0x5F, 0x69, 0xAF, 0xE0, 0xC4, 0xDF, 0x2A,
+ 0x6D, 0x2C
};
static unsigned char constants[][5] = {
{ 0x00, 0x00, 0x00, 0x02, 0x99 },
@@ -1112,108 +1070,18 @@ static int test_kdf_kbkdf_6803_256(void)
{ 0x00, 0x00, 0x00, 0x02, 0x55 },
};
static unsigned char outputs[][32] = {
- {
- 0xE4,
- 0x67,
- 0xF9,
- 0xA9,
- 0x55,
- 0x2B,
- 0xC7,
- 0xD3,
- 0x15,
- 0x5A,
- 0x62,
- 0x20,
- 0xAF,
- 0x9C,
- 0x19,
- 0x22,
- 0x0E,
- 0xEE,
- 0xD4,
- 0xFF,
- 0x78,
- 0xB0,
- 0xD1,
- 0xE6,
- 0xA1,
- 0x54,
- 0x49,
- 0x91,
- 0x46,
- 0x1A,
- 0x9E,
- 0x50,
- },
- {
- 0x41,
- 0x2A,
- 0xEF,
- 0xC3,
- 0x62,
- 0xA7,
- 0x28,
- 0x5F,
- 0xC3,
- 0x96,
- 0x6C,
- 0x6A,
- 0x51,
- 0x81,
- 0xE7,
- 0x60,
- 0x5A,
- 0xE6,
- 0x75,
- 0x23,
- 0x5B,
- 0x6D,
- 0x54,
- 0x9F,
- 0xBF,
- 0xC9,
- 0xAB,
- 0x66,
- 0x30,
- 0xA4,
- 0xC6,
- 0x04,
- },
- {
- 0xFA,
- 0x62,
- 0x4F,
- 0xA0,
- 0xE5,
- 0x23,
- 0x99,
- 0x3F,
- 0xA3,
- 0x88,
- 0xAE,
- 0xFD,
- 0xC6,
- 0x7E,
- 0x67,
- 0xEB,
- 0xCD,
- 0x8C,
- 0x08,
- 0xE8,
- 0xA0,
- 0x24,
- 0x6B,
- 0x1D,
- 0x73,
- 0xB0,
- 0xD1,
- 0xDD,
- 0x9F,
- 0xC5,
- 0x82,
- 0xB0,
- },
+ { 0xE4, 0x67, 0xF9, 0xA9, 0x55, 0x2B, 0xC7, 0xD3, 0x15, 0x5A,
+ 0x62, 0x20, 0xAF, 0x9C, 0x19, 0x22, 0x0E, 0xEE, 0xD4, 0xFF,
+ 0x78, 0xB0, 0xD1, 0xE6, 0xA1, 0x54, 0x49, 0x91, 0x46, 0x1A,
+ 0x9E, 0x50 },
+ { 0x41, 0x2A, 0xEF, 0xC3, 0x62, 0xA7, 0x28, 0x5F, 0xC3, 0x96,
+ 0x6C, 0x6A, 0x51, 0x81, 0xE7, 0x60, 0x5A, 0xE6, 0x75, 0x23,
+ 0x5B, 0x6D, 0x54, 0x9F, 0xBF, 0xC9, 0xAB, 0x66, 0x30, 0xA4,
+ 0xC6, 0x04 },
+ { 0xFA, 0x62, 0x4F, 0xA0, 0xE5, 0x23, 0x99, 0x3F, 0xA3, 0x88,
+ 0xAE, 0xFD, 0xC6, 0x7E, 0x67, 0xEB, 0xCD, 0x8C, 0x08, 0xE8,
+ 0xA0, 0x24, 0x6B, 0x1D, 0x73, 0xB0, 0xD1, 0xDD, 0x9F, 0xC5,
+ 0x82, 0xB0 },
};
static unsigned char iv[16] = { 0 };
unsigned char result[32] = { 0 };
@@ -1430,56 +1298,14 @@ static int test_kdf_kbkdf_8009_prf1(void)
char *label = "prf", *digest = "sha256", *prf_input = "test",
*mac = "HMAC";
static unsigned char input_key[] = {
- 0x37,
- 0x05,
- 0xD9,
- 0x60,
- 0x80,
- 0xC1,
- 0x77,
- 0x28,
- 0xA0,
- 0xE8,
- 0x00,
- 0xEA,
- 0xB6,
- 0xE0,
- 0xD2,
- 0x3C,
+ 0x37, 0x05, 0xD9, 0x60, 0x80, 0xC1, 0x77, 0x28, 0xA0, 0xE8,
+ 0x00, 0xEA, 0xB6, 0xE0, 0xD2, 0x3C
};
static unsigned char output[] = {
- 0x9D,
- 0x18,
- 0x86,
- 0x16,
- 0xF6,
- 0x38,
- 0x52,
- 0xFE,
- 0x86,
- 0x91,
- 0x5B,
- 0xB8,
- 0x40,
- 0xB4,
- 0xA8,
- 0x86,
- 0xFF,
- 0x3E,
- 0x6B,
- 0xB0,
- 0xF8,
- 0x19,
- 0xB4,
- 0x9B,
- 0x89,
- 0x33,
- 0x93,
- 0xD3,
- 0x93,
- 0x85,
- 0x42,
- 0x95,
+ 0x9D, 0x18, 0x86, 0x16, 0xF6, 0x38, 0x52, 0xFE, 0x86, 0x91,
+ 0x5B, 0xB8, 0x40, 0xB4, 0xA8, 0x86, 0xFF, 0x3E, 0x6B, 0xB0,
+ 0xF8, 0x19, 0xB4, 0x9B, 0x89, 0x33, 0x93, 0xD3, 0x93, 0x85,
+ 0x42, 0x95
};
unsigned char result[sizeof(output)] = { 0 };
@@ -1512,88 +1338,17 @@ static int test_kdf_kbkdf_8009_prf2(void)
char *label = "prf", *digest = "sha384", *prf_input = "test",
*mac = "HMAC";
static unsigned char input_key[] = {
- 0x6D,
- 0x40,
- 0x4D,
- 0x37,
- 0xFA,
- 0xF7,
- 0x9F,
- 0x9D,
- 0xF0,
- 0xD3,
- 0x35,
- 0x68,
- 0xD3,
- 0x20,
- 0x66,
- 0x98,
- 0x00,
- 0xEB,
- 0x48,
- 0x36,
- 0x47,
- 0x2E,
- 0xA8,
- 0xA0,
- 0x26,
- 0xD1,
- 0x6B,
- 0x71,
- 0x82,
- 0x46,
- 0x0C,
- 0x52,
+ 0x6D, 0x40, 0x4D, 0x37, 0xFA, 0xF7, 0x9F, 0x9D, 0xF0, 0xD3,
+ 0x35, 0x68, 0xD3, 0x20, 0x66, 0x98, 0x00, 0xEB, 0x48, 0x36,
+ 0x47, 0x2E, 0xA8, 0xA0, 0x26, 0xD1, 0x6B, 0x71, 0x82, 0x46,
+ 0x0C, 0x52
};
static unsigned char output[] = {
- 0x98,
- 0x01,
- 0xF6,
- 0x9A,
- 0x36,
- 0x8C,
- 0x2B,
- 0xF6,
- 0x75,
- 0xE5,
- 0x95,
- 0x21,
- 0xE1,
- 0x77,
- 0xD9,
- 0xA0,
- 0x7F,
- 0x67,
- 0xEF,
- 0xE1,
- 0xCF,
- 0xDE,
- 0x8D,
- 0x3C,
- 0x8D,
- 0x6F,
- 0x6A,
- 0x02,
- 0x56,
- 0xE3,
- 0xB1,
- 0x7D,
- 0xB3,
- 0xC1,
- 0xB6,
- 0x2A,
- 0xD1,
- 0xB8,
- 0x55,
- 0x33,
- 0x60,
- 0xD1,
- 0x73,
- 0x67,
- 0xEB,
- 0x15,
- 0x14,
- 0xD2,
+ 0x98, 0x01, 0xF6, 0x9A, 0x36, 0x8C, 0x2B, 0xF6, 0x75, 0xE5,
+ 0x95, 0x21, 0xE1, 0x77, 0xD9, 0xA0, 0x7F, 0x67, 0xEF, 0xE1,
+ 0xCF, 0xDE, 0x8D, 0x3C, 0x8D, 0x6F, 0x6A, 0x02, 0x56, 0xE3,
+ 0xB1, 0x7D, 0xB3, 0xC1, 0xB6, 0x2A, 0xD1, 0xB8, 0x55, 0x33,
+ 0x60, 0xD1, 0x73, 0x67, 0xEB, 0x15, 0x14, 0xD2
};
unsigned char result[sizeof(output)] = { 0 };
@@ -1636,103 +1391,22 @@ static int test_kdf_kbkdf_fixedinfo(void)
int use_separator = 0;
static unsigned char input_key[] = {
- 0xc1,
- 0x0b,
- 0x15,
- 0x2e,
- 0x8c,
- 0x97,
- 0xb7,
- 0x7e,
- 0x18,
- 0x70,
- 0x4e,
- 0x0f,
- 0x0b,
- 0xd3,
- 0x83,
- 0x05,
+ 0xc1, 0x0b, 0x15, 0x2e, 0x8c, 0x97, 0xb7, 0x7e, 0x18, 0x70,
+ 0x4e, 0x0f, 0x0b, 0xd3, 0x83, 0x05
};
static unsigned char fixed_input[] = {
- 0x98,
- 0xcd,
- 0x4c,
- 0xbb,
- 0xbe,
- 0xbe,
- 0x15,
- 0xd1,
- 0x7d,
- 0xc8,
- 0x6e,
- 0x6d,
- 0xba,
- 0xd8,
- 0x00,
- 0xa2,
- 0xdc,
- 0xbd,
- 0x64,
- 0xf7,
- 0xc7,
- 0xad,
- 0x0e,
- 0x78,
- 0xe9,
- 0xcf,
- 0x94,
- 0xff,
- 0xdb,
- 0xa8,
- 0x9d,
- 0x03,
- 0xe9,
- 0x7e,
- 0xad,
- 0xf6,
- 0xc4,
- 0xf7,
- 0xb8,
- 0x06,
- 0xca,
- 0xf5,
- 0x2a,
- 0xa3,
- 0x8f,
- 0x09,
- 0xd0,
- 0xeb,
- 0x71,
- 0xd7,
- 0x1f,
- 0x49,
- 0x7b,
- 0xcc,
- 0x69,
- 0x06,
- 0xb4,
- 0x8d,
- 0x36,
- 0xc4,
-
+ 0x98, 0xcd, 0x4c, 0xbb, 0xbe, 0xbe, 0x15, 0xd1,
+ 0x7d, 0xc8, 0x6e, 0x6d, 0xba, 0xd8, 0x00, 0xa2,
+ 0xdc, 0xbd, 0x64, 0xf7, 0xc7, 0xad, 0x0e, 0x78,
+ 0xe9, 0xcf, 0x94, 0xff, 0xdb, 0xa8, 0x9d, 0x03,
+ 0xe9, 0x7e, 0xad, 0xf6, 0xc4, 0xf7, 0xb8, 0x06,
+ 0xca, 0xf5, 0x2a, 0xa3, 0x8f, 0x09, 0xd0, 0xeb,
+ 0x71, 0xd7, 0x1f, 0x49, 0x7b, 0xcc, 0x69, 0x06,
+ 0xb4, 0x8d, 0x36, 0xc4
};
static unsigned char output[] = {
- 0x26,
- 0xfa,
- 0xf6,
- 0x19,
- 0x08,
- 0xad,
- 0x9e,
- 0xe8,
- 0x81,
- 0xb8,
- 0x30,
- 0x5c,
- 0x22,
- 0x1d,
- 0xb5,
- 0x3f,
+ 0x26, 0xfa, 0xf6, 0x19, 0x08, 0xad, 0x9e, 0xe8, 0x81, 0xb8,
+ 0x30, 0x5c, 0x22, 0x1d, 0xb5, 0x3f
};
unsigned char result[sizeof(output)] = { 0 };
diff --git a/crypto/openssl/test/evp_libctx_test.c b/crypto/openssl/test/evp_libctx_test.c
index 3786c567a74..0c96f735ad9 100644
--- a/crypto/openssl/test/evp_libctx_test.c
+++ b/crypto/openssl/test/evp_libctx_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2020-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -359,70 +359,13 @@ static int test_cipher_reinit(int test_id)
0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10
};
unsigned char key[64] = {
- 0x00,
- 0x01,
- 0x02,
- 0x03,
- 0x04,
- 0x05,
- 0x06,
- 0x07,
- 0x08,
- 0x09,
- 0x0a,
- 0x0b,
- 0x0c,
- 0x0d,
- 0x0e,
- 0x0f,
- 0x01,
- 0x01,
- 0x02,
- 0x03,
- 0x04,
- 0x05,
- 0x06,
- 0x07,
- 0x08,
- 0x09,
- 0x0a,
- 0x0b,
- 0x0c,
- 0x0d,
- 0x0e,
- 0x0f,
- 0x02,
- 0x01,
- 0x02,
- 0x03,
- 0x04,
- 0x05,
- 0x06,
- 0x07,
- 0x08,
- 0x09,
- 0x0a,
- 0x0b,
- 0x0c,
- 0x0d,
- 0x0e,
- 0x0f,
- 0x03,
- 0x01,
- 0x02,
- 0x03,
- 0x04,
- 0x05,
- 0x06,
- 0x07,
- 0x08,
- 0x09,
- 0x0a,
- 0x0b,
- 0x0c,
- 0x0d,
- 0x0e,
- 0x0f,
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
+ 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x01, 0x01, 0x02, 0x03,
+ 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
+ 0x0e, 0x0f, 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
+ 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x03, 0x01,
+ 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b,
+ 0x0c, 0x0d, 0x0e, 0x0f
};
unsigned char iv[48] = {
0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08,
@@ -503,104 +446,19 @@ static int test_cipher_reinit_partialupdate(int test_id)
unsigned char out2[256];
unsigned char out3[256];
static const unsigned char in[32] = {
- 0x08,
- 0x09,
- 0x0a,
- 0x0b,
- 0x0c,
- 0x0d,
- 0x0e,
- 0x0f,
- 0xba,
- 0xbe,
- 0xba,
- 0xbe,
- 0x00,
- 0x00,
- 0xba,
- 0xbe,
- 0x01,
- 0x01,
- 0x02,
- 0x03,
- 0x04,
- 0x05,
- 0x06,
- 0x07,
- 0x08,
- 0x09,
- 0x0a,
- 0x0b,
- 0x0c,
- 0x0d,
- 0x0e,
- 0x0f,
+ 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0xba, 0xbe,
+ 0xba, 0xbe, 0x00, 0x00, 0xba, 0xbe, 0x01, 0x01, 0x02, 0x03,
+ 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
+ 0x0e, 0x0f
};
static const unsigned char key[64] = {
- 0x00,
- 0x01,
- 0x02,
- 0x03,
- 0x04,
- 0x05,
- 0x06,
- 0x07,
- 0x08,
- 0x09,
- 0x0a,
- 0x0b,
- 0x0c,
- 0x0d,
- 0x0e,
- 0x0f,
- 0x01,
- 0x01,
- 0x02,
- 0x03,
- 0x04,
- 0x05,
- 0x06,
- 0x07,
- 0x08,
- 0x09,
- 0x0a,
- 0x0b,
- 0x0c,
- 0x0d,
- 0x0e,
- 0x0f,
- 0x02,
- 0x01,
- 0x02,
- 0x03,
- 0x04,
- 0x05,
- 0x06,
- 0x07,
- 0x08,
- 0x09,
- 0x0a,
- 0x0b,
- 0x0c,
- 0x0d,
- 0x0e,
- 0x0f,
- 0x03,
- 0x01,
- 0x02,
- 0x03,
- 0x04,
- 0x05,
- 0x06,
- 0x07,
- 0x08,
- 0x09,
- 0x0a,
- 0x0b,
- 0x0c,
- 0x0d,
- 0x0e,
- 0x0f,
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
+ 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x01, 0x01, 0x02, 0x03,
+ 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
+ 0x0e, 0x0f, 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
+ 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x03, 0x01,
+ 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b,
+ 0x0c, 0x0d, 0x0e, 0x0f
};
static const unsigned char iv[48] = {
0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08,
diff --git a/crypto/openssl/test/evp_pkey_provided_test.c b/crypto/openssl/test/evp_pkey_provided_test.c
index 86c86bcd652..851f9a5f034 100644
--- a/crypto/openssl/test/evp_pkey_provided_test.c
+++ b/crypto/openssl/test/evp_pkey_provided_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -902,34 +902,9 @@ static int test_fromdata_dh_named_group(void)
* -pkeyopt priv_len:224 -text
*/
static const unsigned char priv_data[] = {
- 0x88,
- 0x85,
- 0xe7,
- 0x9f,
- 0xee,
- 0x6d,
- 0xc5,
- 0x7c,
- 0x78,
- 0xaf,
- 0x63,
- 0x5d,
- 0x38,
- 0x2a,
- 0xd0,
- 0xed,
- 0x56,
- 0x4b,
- 0x47,
- 0x21,
- 0x2b,
- 0xfa,
- 0x55,
- 0xfa,
- 0x87,
- 0xe8,
- 0xa9,
- 0x7b,
+ 0x88, 0x85, 0xe7, 0x9f, 0xee, 0x6d, 0xc5, 0x7c, 0x78, 0xaf,
+ 0x63, 0x5d, 0x38, 0x2a, 0xd0, 0xed, 0x56, 0x4b, 0x47, 0x21,
+ 0x2b, 0xfa, 0x55, 0xfa, 0x87, 0xe8, 0xa9, 0x7b
};
static const unsigned char pub_data[] = {
0x00, 0xd6, 0x2d, 0x77, 0xe0, 0xd3, 0x7d, 0xf8, 0xeb, 0x98, 0x50, 0xa1,
@@ -1142,34 +1117,9 @@ static int test_fromdata_dh_fips186_4(void)
* -pkeyopt group:ffdhe2048 -pkeyopt priv_len:224 -text
*/
static const unsigned char priv_data[] = {
- 0x88,
- 0x85,
- 0xe7,
- 0x9f,
- 0xee,
- 0x6d,
- 0xc5,
- 0x7c,
- 0x78,
- 0xaf,
- 0x63,
- 0x5d,
- 0x38,
- 0x2a,
- 0xd0,
- 0xed,
- 0x56,
- 0x4b,
- 0x47,
- 0x21,
- 0x2b,
- 0xfa,
- 0x55,
- 0xfa,
- 0x87,
- 0xe8,
- 0xa9,
- 0x7b,
+ 0x88, 0x85, 0xe7, 0x9f, 0xee, 0x6d, 0xc5, 0x7c, 0x78, 0xaf,
+ 0x63, 0x5d, 0x38, 0x2a, 0xd0, 0xed, 0x56, 0x4b, 0x47, 0x21,
+ 0x2b, 0xfa, 0x55, 0xfa, 0x87, 0xe8, 0xa9, 0x7b
};
static const unsigned char pub_data[] = {
0xd6, 0x2d, 0x77, 0xe0, 0xd3, 0x7d, 0xf8, 0xeb, 0x98, 0x50, 0xa1, 0x82,
@@ -1648,6 +1598,11 @@ static int test_fromdata_ec(void)
BIGNUM *a = NULL;
BIGNUM *b = NULL;
BIGNUM *p = NULL;
+ OSSL_PARAM probe[2] = {
+ OSSL_PARAM_DEFN(OSSL_PKEY_PARAM_PRIV_KEY, OSSL_PARAM_UNSIGNED_INTEGER,
+ NULL, 0),
+ OSSL_PARAM_END
+ };
if (!TEST_ptr(bld = OSSL_PARAM_BLD_new()))
goto err;
@@ -1735,6 +1690,18 @@ static int test_fromdata_ec(void)
|| !TEST_BN_eq(group_b, b))
goto err;
+ /*
+ * Probe the EC private-key BN length via the explicit-params
+ * path; with NULL data, return_size receives the required
+ * (padded) buffer size, which equals the byte length of the
+ * group order.
+ */
+ probe[0].return_size = OSSL_PARAM_UNMODIFIED;
+ if (!TEST_true(EVP_PKEY_get_params(pk, probe))
+ || !TEST_size_t_eq(probe[0].return_size,
+ BN_num_bytes(EC_GROUP_get0_order(group))))
+ goto err;
+
EC_GROUP_free(group);
group = NULL;
BN_free(group_p);
diff --git a/crypto/openssl/test/evp_skey_test.c b/crypto/openssl/test/evp_skey_test.c
index 7fd70ca732d..11b1a4e1cdb 100644
--- a/crypto/openssl/test/evp_skey_test.c
+++ b/crypto/openssl/test/evp_skey_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2024-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2024-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -38,22 +38,8 @@ static int test_skey_cipher(void)
EVP_CIPHER *fake_cipher = NULL;
EVP_CIPHER_CTX *ctx = NULL;
const unsigned char import_key[KEY_SIZE] = {
- 0x53,
- 0x4B,
- 0x45,
- 0x59,
- 0x53,
- 0x4B,
- 0x45,
- 0x59,
- 0x53,
- 0x4B,
- 0x45,
- 0x59,
- 0x53,
- 0x4B,
- 0x45,
- 0x59,
+ 0x53, 0x4B, 0x45, 0x59, 0x53, 0x4B, 0x45, 0x59, 0x53, 0x4B,
+ 0x45, 0x59, 0x53, 0x4B, 0x45, 0x59
};
OSSL_PARAM params[3];
OSSL_PARAM *export_params = NULL;
diff --git a/crypto/openssl/test/helpers/predefined_dhparams.c b/crypto/openssl/test/helpers/predefined_dhparams.c
index 28070efdb64..ef71b4498d0 100644
--- a/crypto/openssl/test/helpers/predefined_dhparams.c
+++ b/crypto/openssl/test/helpers/predefined_dhparams.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -72,73 +72,16 @@ static EVP_PKEY *get_dh_from_pg(OSSL_LIB_CTX *libctx, const char *type,
EVP_PKEY *get_dh512(OSSL_LIB_CTX *libctx)
{
static unsigned char dh512_p[] = {
- 0xCB,
- 0xC8,
- 0xE1,
- 0x86,
- 0xD0,
- 0x1F,
- 0x94,
- 0x17,
- 0xA6,
- 0x99,
- 0xF0,
- 0xC6,
- 0x1F,
- 0x0D,
- 0xAC,
- 0xB6,
- 0x25,
- 0x3E,
- 0x06,
- 0x39,
- 0xCA,
- 0x72,
- 0x04,
- 0xB0,
- 0x6E,
- 0xDA,
- 0xC0,
- 0x61,
- 0xE6,
- 0x7A,
- 0x77,
- 0x25,
- 0xE8,
- 0x3B,
- 0xB9,
- 0x5F,
- 0x9A,
- 0xB6,
- 0xB5,
- 0xFE,
- 0x99,
- 0x0B,
- 0xA1,
- 0x93,
- 0x4E,
- 0x35,
- 0x33,
- 0xB8,
- 0xE1,
- 0xF1,
- 0x13,
- 0x4F,
- 0x59,
- 0x1A,
- 0xD2,
- 0x57,
- 0xC0,
- 0x26,
- 0x21,
- 0x33,
- 0x02,
- 0xC5,
- 0xAE,
- 0x23,
+ 0xCB, 0xC8, 0xE1, 0x86, 0xD0, 0x1F, 0x94, 0x17, 0xA6, 0x99,
+ 0xF0, 0xC6, 0x1F, 0x0D, 0xAC, 0xB6, 0x25, 0x3E, 0x06, 0x39,
+ 0xCA, 0x72, 0x04, 0xB0, 0x6E, 0xDA, 0xC0, 0x61, 0xE6, 0x7A,
+ 0x77, 0x25, 0xE8, 0x3B, 0xB9, 0x5F, 0x9A, 0xB6, 0xB5, 0xFE,
+ 0x99, 0x0B, 0xA1, 0x93, 0x4E, 0x35, 0x33, 0xB8, 0xE1, 0xF1,
+ 0x13, 0x4F, 0x59, 0x1A, 0xD2, 0x57, 0xC0, 0x26, 0x21, 0x33,
+ 0x02, 0xC5, 0xAE, 0x23
};
static unsigned char dh512_g[] = {
- 0x02,
+ 0x02
};
return get_dh_from_pg(libctx, "DH", dh512_p, sizeof(dh512_p),
@@ -148,161 +91,27 @@ EVP_PKEY *get_dh512(OSSL_LIB_CTX *libctx)
EVP_PKEY *get_dhx512(OSSL_LIB_CTX *libctx)
{
static unsigned char dhx512_p[] = {
- 0x00,
- 0xe8,
- 0x1a,
- 0xb7,
- 0x9a,
- 0x02,
- 0x65,
- 0x64,
- 0x94,
- 0x7b,
- 0xba,
- 0x09,
- 0x1c,
- 0x12,
- 0x27,
- 0x1e,
- 0xea,
- 0x89,
- 0x32,
- 0x64,
- 0x78,
- 0xf8,
- 0x1c,
- 0x78,
- 0x8e,
- 0x96,
- 0xc3,
- 0xc6,
- 0x9f,
- 0x41,
- 0x05,
- 0x41,
- 0x65,
- 0xae,
- 0xe3,
- 0x05,
- 0xea,
- 0x66,
- 0x21,
- 0xf7,
- 0x38,
- 0xb7,
- 0x2b,
- 0x32,
- 0x40,
- 0x5a,
- 0x14,
- 0x86,
- 0x51,
- 0x94,
- 0xb1,
- 0xcf,
- 0x01,
- 0xe3,
- 0x27,
- 0x28,
- 0xf6,
- 0x75,
- 0xa3,
- 0x15,
- 0xbb,
- 0x12,
- 0x4d,
- 0x99,
- 0xe7,
+ 0x00, 0xe8, 0x1a, 0xb7, 0x9a, 0x02, 0x65, 0x64, 0x94, 0x7b,
+ 0xba, 0x09, 0x1c, 0x12, 0x27, 0x1e, 0xea, 0x89, 0x32, 0x64,
+ 0x78, 0xf8, 0x1c, 0x78, 0x8e, 0x96, 0xc3, 0xc6, 0x9f, 0x41,
+ 0x05, 0x41, 0x65, 0xae, 0xe3, 0x05, 0xea, 0x66, 0x21, 0xf7,
+ 0x38, 0xb7, 0x2b, 0x32, 0x40, 0x5a, 0x14, 0x86, 0x51, 0x94,
+ 0xb1, 0xcf, 0x01, 0xe3, 0x27, 0x28, 0xf6, 0x75, 0xa3, 0x15,
+ 0xbb, 0x12, 0x4d, 0x99, 0xe7
};
static unsigned char dhx512_g[] = {
- 0x00,
- 0x91,
- 0xc1,
- 0x43,
- 0x6d,
- 0x0d,
- 0xb0,
- 0xa4,
- 0xde,
- 0x41,
- 0xb7,
- 0x93,
- 0xad,
- 0x51,
- 0x94,
- 0x1b,
- 0x43,
- 0xd8,
- 0x42,
- 0xf1,
- 0x5e,
- 0x46,
- 0x83,
- 0x5d,
- 0xf1,
- 0xd1,
- 0xf0,
- 0x41,
- 0x10,
- 0xd1,
- 0x1c,
- 0x5e,
- 0xad,
- 0x9b,
- 0x68,
- 0xb1,
- 0x6f,
- 0xf5,
- 0x8e,
- 0xaa,
- 0x6d,
- 0x71,
- 0x88,
- 0x37,
- 0xdf,
- 0x05,
- 0xf7,
- 0x6e,
- 0x7a,
- 0xb4,
- 0x25,
- 0x10,
- 0x6c,
- 0x7f,
- 0x38,
- 0xb4,
- 0xc8,
- 0xfc,
- 0xcc,
- 0x0c,
- 0x6a,
- 0x02,
- 0x08,
- 0x61,
- 0xf6,
+ 0x00, 0x91, 0xc1, 0x43, 0x6d, 0x0d, 0xb0, 0xa4, 0xde, 0x41,
+ 0xb7, 0x93, 0xad, 0x51, 0x94, 0x1b, 0x43, 0xd8, 0x42, 0xf1,
+ 0x5e, 0x46, 0x83, 0x5d, 0xf1, 0xd1, 0xf0, 0x41, 0x10, 0xd1,
+ 0x1c, 0x5e, 0xad, 0x9b, 0x68, 0xb1, 0x6f, 0xf5, 0x8e, 0xaa,
+ 0x6d, 0x71, 0x88, 0x37, 0xdf, 0x05, 0xf7, 0x6e, 0x7a, 0xb4,
+ 0x25, 0x10, 0x6c, 0x7f, 0x38, 0xb4, 0xc8, 0xfc, 0xcc, 0x0c,
+ 0x6a, 0x02, 0x08, 0x61, 0xf6
};
static unsigned char dhx512_q[] = {
- 0x00,
- 0xdd,
- 0xf6,
- 0x35,
- 0xad,
- 0xfa,
- 0x70,
- 0xc7,
- 0xe7,
- 0xa8,
- 0xf0,
- 0xe3,
- 0xda,
- 0x79,
- 0x34,
- 0x3f,
- 0x5b,
- 0xcf,
- 0x73,
- 0x82,
- 0x91,
+ 0x00, 0xdd, 0xf6, 0x35, 0xad, 0xfa, 0x70, 0xc7, 0xe7, 0xa8,
+ 0xf0, 0xe3, 0xda, 0x79, 0x34, 0x3f, 0x5b, 0xcf, 0x73, 0x82,
+ 0x91
};
return get_dh_from_pg(libctx, "X9.42 DH",
@@ -314,264 +123,34 @@ EVP_PKEY *get_dhx512(OSSL_LIB_CTX *libctx)
EVP_PKEY *get_dh1024dsa(OSSL_LIB_CTX *libctx)
{
static unsigned char dh1024_p[] = {
- 0xC8,
- 0x00,
- 0xF7,
- 0x08,
- 0x07,
- 0x89,
- 0x4D,
- 0x90,
- 0x53,
- 0xF3,
- 0xD5,
- 0x00,
- 0x21,
- 0x1B,
- 0xF7,
- 0x31,
- 0xA6,
- 0xA2,
- 0xDA,
- 0x23,
- 0x9A,
- 0xC7,
- 0x87,
- 0x19,
- 0x3B,
- 0x47,
- 0xB6,
- 0x8C,
- 0x04,
- 0x6F,
- 0xFF,
- 0xC6,
- 0x9B,
- 0xB8,
- 0x65,
- 0xD2,
- 0xC2,
- 0x5F,
- 0x31,
- 0x83,
- 0x4A,
- 0xA7,
- 0x5F,
- 0x2F,
- 0x88,
- 0x38,
- 0xB6,
- 0x55,
- 0xCF,
- 0xD9,
- 0x87,
- 0x6D,
- 0x6F,
- 0x9F,
- 0xDA,
- 0xAC,
- 0xA6,
- 0x48,
- 0xAF,
- 0xFC,
- 0x33,
- 0x84,
- 0x37,
- 0x5B,
- 0x82,
- 0x4A,
- 0x31,
- 0x5D,
- 0xE7,
- 0xBD,
- 0x52,
- 0x97,
- 0xA1,
- 0x77,
- 0xBF,
- 0x10,
- 0x9E,
- 0x37,
- 0xEA,
- 0x64,
- 0xFA,
- 0xCA,
- 0x28,
- 0x8D,
- 0x9D,
- 0x3B,
- 0xD2,
- 0x6E,
- 0x09,
- 0x5C,
- 0x68,
- 0xC7,
- 0x45,
- 0x90,
- 0xFD,
- 0xBB,
- 0x70,
- 0xC9,
- 0x3A,
- 0xBB,
- 0xDF,
- 0xD4,
- 0x21,
- 0x0F,
- 0xC4,
- 0x6A,
- 0x3C,
- 0xF6,
- 0x61,
- 0xCF,
- 0x3F,
- 0xD6,
- 0x13,
- 0xF1,
- 0x5F,
- 0xBC,
- 0xCF,
- 0xBC,
- 0x26,
- 0x9E,
- 0xBC,
- 0x0B,
- 0xBD,
- 0xAB,
- 0x5D,
- 0xC9,
- 0x54,
- 0x39,
+ 0xC8, 0x00, 0xF7, 0x08, 0x07, 0x89, 0x4D, 0x90, 0x53, 0xF3,
+ 0xD5, 0x00, 0x21, 0x1B, 0xF7, 0x31, 0xA6, 0xA2, 0xDA, 0x23,
+ 0x9A, 0xC7, 0x87, 0x19, 0x3B, 0x47, 0xB6, 0x8C, 0x04, 0x6F,
+ 0xFF, 0xC6, 0x9B, 0xB8, 0x65, 0xD2, 0xC2, 0x5F, 0x31, 0x83,
+ 0x4A, 0xA7, 0x5F, 0x2F, 0x88, 0x38, 0xB6, 0x55, 0xCF, 0xD9,
+ 0x87, 0x6D, 0x6F, 0x9F, 0xDA, 0xAC, 0xA6, 0x48, 0xAF, 0xFC,
+ 0x33, 0x84, 0x37, 0x5B, 0x82, 0x4A, 0x31, 0x5D, 0xE7, 0xBD,
+ 0x52, 0x97, 0xA1, 0x77, 0xBF, 0x10, 0x9E, 0x37, 0xEA, 0x64,
+ 0xFA, 0xCA, 0x28, 0x8D, 0x9D, 0x3B, 0xD2, 0x6E, 0x09, 0x5C,
+ 0x68, 0xC7, 0x45, 0x90, 0xFD, 0xBB, 0x70, 0xC9, 0x3A, 0xBB,
+ 0xDF, 0xD4, 0x21, 0x0F, 0xC4, 0x6A, 0x3C, 0xF6, 0x61, 0xCF,
+ 0x3F, 0xD6, 0x13, 0xF1, 0x5F, 0xBC, 0xCF, 0xBC, 0x26, 0x9E,
+ 0xBC, 0x0B, 0xBD, 0xAB, 0x5D, 0xC9, 0x54, 0x39
};
static unsigned char dh1024_g[] = {
- 0x3B,
- 0x40,
- 0x86,
- 0xE7,
- 0xF3,
- 0x6C,
- 0xDE,
- 0x67,
- 0x1C,
- 0xCC,
- 0x80,
- 0x05,
- 0x5A,
- 0xDF,
- 0xFE,
- 0xBD,
- 0x20,
- 0x27,
- 0x74,
- 0x6C,
- 0x24,
- 0xC9,
- 0x03,
- 0xF3,
- 0xE1,
- 0x8D,
- 0xC3,
- 0x7D,
- 0x98,
- 0x27,
- 0x40,
- 0x08,
- 0xB8,
- 0x8C,
- 0x6A,
- 0xE9,
- 0xBB,
- 0x1A,
- 0x3A,
- 0xD6,
- 0x86,
- 0x83,
- 0x5E,
- 0x72,
- 0x41,
- 0xCE,
- 0x85,
- 0x3C,
- 0xD2,
- 0xB3,
- 0xFC,
- 0x13,
- 0xCE,
- 0x37,
- 0x81,
- 0x9E,
- 0x4C,
- 0x1C,
- 0x7B,
- 0x65,
- 0xD3,
- 0xE6,
- 0xA6,
- 0x00,
- 0xF5,
- 0x5A,
- 0x95,
- 0x43,
- 0x5E,
- 0x81,
- 0xCF,
- 0x60,
- 0xA2,
- 0x23,
- 0xFC,
- 0x36,
- 0xA7,
- 0x5D,
- 0x7A,
- 0x4C,
- 0x06,
- 0x91,
- 0x6E,
- 0xF6,
- 0x57,
- 0xEE,
- 0x36,
- 0xCB,
- 0x06,
- 0xEA,
- 0xF5,
- 0x3D,
- 0x95,
- 0x49,
- 0xCB,
- 0xA7,
- 0xDD,
- 0x81,
- 0xDF,
- 0x80,
- 0x09,
- 0x4A,
- 0x97,
- 0x4D,
- 0xA8,
- 0x22,
- 0x72,
- 0xA1,
- 0x7F,
- 0xC4,
- 0x70,
- 0x56,
- 0x70,
- 0xE8,
- 0x20,
- 0x10,
- 0x18,
- 0x8F,
- 0x2E,
- 0x60,
- 0x07,
- 0xE7,
- 0x68,
- 0x1A,
- 0x82,
- 0x5D,
- 0x32,
- 0xA2,
+ 0x3B, 0x40, 0x86, 0xE7, 0xF3, 0x6C, 0xDE, 0x67, 0x1C, 0xCC,
+ 0x80, 0x05, 0x5A, 0xDF, 0xFE, 0xBD, 0x20, 0x27, 0x74, 0x6C,
+ 0x24, 0xC9, 0x03, 0xF3, 0xE1, 0x8D, 0xC3, 0x7D, 0x98, 0x27,
+ 0x40, 0x08, 0xB8, 0x8C, 0x6A, 0xE9, 0xBB, 0x1A, 0x3A, 0xD6,
+ 0x86, 0x83, 0x5E, 0x72, 0x41, 0xCE, 0x85, 0x3C, 0xD2, 0xB3,
+ 0xFC, 0x13, 0xCE, 0x37, 0x81, 0x9E, 0x4C, 0x1C, 0x7B, 0x65,
+ 0xD3, 0xE6, 0xA6, 0x00, 0xF5, 0x5A, 0x95, 0x43, 0x5E, 0x81,
+ 0xCF, 0x60, 0xA2, 0x23, 0xFC, 0x36, 0xA7, 0x5D, 0x7A, 0x4C,
+ 0x06, 0x91, 0x6E, 0xF6, 0x57, 0xEE, 0x36, 0xCB, 0x06, 0xEA,
+ 0xF5, 0x3D, 0x95, 0x49, 0xCB, 0xA7, 0xDD, 0x81, 0xDF, 0x80,
+ 0x09, 0x4A, 0x97, 0x4D, 0xA8, 0x22, 0x72, 0xA1, 0x7F, 0xC4,
+ 0x70, 0x56, 0x70, 0xE8, 0x20, 0x10, 0x18, 0x8F, 0x2E, 0x60,
+ 0x07, 0xE7, 0x68, 0x1A, 0x82, 0x5D, 0x32, 0xA2
};
return get_dh_from_pg(libctx, "DH", dh1024_p, sizeof(dh1024_p),
diff --git a/crypto/openssl/test/hpke_test.c b/crypto/openssl/test/hpke_test.c
index b223193858b..c7b30012ad2 100644
--- a/crypto/openssl/test/hpke_test.c
+++ b/crypto/openssl/test/hpke_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -287,38 +287,10 @@ static const unsigned char first_ikmr[] = {
0xb7, 0xac, 0xcf, 0xaf, 0xf8, 0x99, 0x50, 0x98
};
static const unsigned char first_ikmepub[] = {
- 0x0a,
- 0xd0,
- 0x95,
- 0x0d,
- 0x9f,
- 0xb9,
- 0x58,
- 0x8e,
- 0x59,
- 0x69,
- 0x0b,
- 0x74,
- 0xf1,
- 0x23,
- 0x7e,
- 0xcd,
- 0xf1,
- 0xd7,
- 0x75,
- 0xcd,
- 0x60,
- 0xbe,
- 0x2e,
- 0xca,
- 0x57,
- 0xaf,
- 0x5a,
- 0x4b,
- 0x04,
- 0x71,
- 0xc9,
- 0x1b,
+ 0x0a, 0xd0, 0x95, 0x0d, 0x9f, 0xb9, 0x58, 0x8e, 0x59, 0x69,
+ 0x0b, 0x74, 0xf1, 0x23, 0x7e, 0xcd, 0xf1, 0xd7, 0x75, 0xcd,
+ 0x60, 0xbe, 0x2e, 0xca, 0x57, 0xaf, 0x5a, 0x4b, 0x04, 0x71,
+ 0xc9, 0x1b
};
static const unsigned char first_ikmrpub[] = {
0x9f, 0xed, 0x7e, 0x8c, 0x17, 0x38, 0x75, 0x60,
@@ -445,38 +417,10 @@ static const unsigned char second_ikme[] = {
0x98, 0x12, 0xe6, 0x67, 0x06, 0xdf, 0x32, 0x34
};
static const unsigned char second_ikmepub[] = {
- 0x37,
- 0xfd,
- 0xa3,
- 0x56,
- 0x7b,
- 0xdb,
- 0xd6,
- 0x28,
- 0xe8,
- 0x86,
- 0x68,
- 0xc3,
- 0xc8,
- 0xd7,
- 0xe9,
- 0x7d,
- 0x1d,
- 0x12,
- 0x53,
- 0xb6,
- 0xd4,
- 0xea,
- 0x6d,
- 0x44,
- 0xc1,
- 0x50,
- 0xf7,
- 0x41,
- 0xf1,
- 0xbf,
- 0x44,
- 0x31,
+ 0x37, 0xfd, 0xa3, 0x56, 0x7b, 0xdb, 0xd6, 0x28, 0xe8, 0x86,
+ 0x68, 0xc3, 0xc8, 0xd7, 0xe9, 0x7d, 0x1d, 0x12, 0x53, 0xb6,
+ 0xd4, 0xea, 0x6d, 0x44, 0xc1, 0x50, 0xf7, 0x41, 0xf1, 0xbf,
+ 0x44, 0x31
};
static const unsigned char second_ikmr[] = {
0x6d, 0xb9, 0xdf, 0x30, 0xaa, 0x07, 0xdd, 0x42,
@@ -594,71 +538,13 @@ static const unsigned char third_ikme[] = {
0x1f, 0x5a, 0xa2, 0x28, 0x16, 0xce, 0x86, 0x0e
};
static const unsigned char third_ikmepub[] = {
- 0x04,
- 0xa9,
- 0x27,
- 0x19,
- 0xc6,
- 0x19,
- 0x5d,
- 0x50,
- 0x85,
- 0x10,
- 0x4f,
- 0x46,
- 0x9a,
- 0x8b,
- 0x98,
- 0x14,
- 0xd5,
- 0x83,
- 0x8f,
- 0xf7,
- 0x2b,
- 0x60,
- 0x50,
- 0x1e,
- 0x2c,
- 0x44,
- 0x66,
- 0xe5,
- 0xe6,
- 0x7b,
- 0x32,
- 0x5a,
- 0xc9,
- 0x85,
- 0x36,
- 0xd7,
- 0xb6,
- 0x1a,
- 0x1a,
- 0xf4,
- 0xb7,
- 0x8e,
- 0x5b,
- 0x7f,
- 0x95,
- 0x1c,
- 0x09,
- 0x00,
- 0xbe,
- 0x86,
- 0x3c,
- 0x40,
- 0x3c,
- 0xe6,
- 0x5c,
- 0x9b,
- 0xfc,
- 0xb9,
- 0x38,
- 0x26,
- 0x57,
- 0x22,
- 0x2d,
- 0x18,
- 0xc4,
+ 0x04, 0xa9, 0x27, 0x19, 0xc6, 0x19, 0x5d, 0x50, 0x85, 0x10,
+ 0x4f, 0x46, 0x9a, 0x8b, 0x98, 0x14, 0xd5, 0x83, 0x8f, 0xf7,
+ 0x2b, 0x60, 0x50, 0x1e, 0x2c, 0x44, 0x66, 0xe5, 0xe6, 0x7b,
+ 0x32, 0x5a, 0xc9, 0x85, 0x36, 0xd7, 0xb6, 0x1a, 0x1a, 0xf4,
+ 0xb7, 0x8e, 0x5b, 0x7f, 0x95, 0x1c, 0x09, 0x00, 0xbe, 0x86,
+ 0x3c, 0x40, 0x3c, 0xe6, 0x5c, 0x9b, 0xfc, 0xb9, 0x38, 0x26,
+ 0x57, 0x22, 0x2d, 0x18, 0xc4
};
static const unsigned char third_ikmr[] = {
0x66, 0x8b, 0x37, 0x17, 0x1f, 0x10, 0x72, 0xf3,
diff --git a/crypto/openssl/test/http_test.c b/crypto/openssl/test/http_test.c
index 14942d511fc..76d0d434858 100644
--- a/crypto/openssl/test/http_test.c
+++ b/crypto/openssl/test/http_test.c
@@ -11,6 +11,7 @@
#include
#include
#include
+#include
#include
#include "testutil.h"
@@ -422,6 +423,57 @@ static int test_http_url_invalid_path(void)
return test_http_url_invalid("https://[FF01::101]pkix");
}
+static int test_http_crlf_rejected(void)
+{
+ BIO *wbio = BIO_new(BIO_s_mem());
+ BIO *rbio = BIO_new(BIO_s_mem());
+ BIO *req = BIO_new(BIO_s_mem());
+ BIO *proxy_bio = BIO_new(BIO_s_mem());
+ OSSL_HTTP_REQ_CTX *rctx = NULL;
+ int res = 0;
+
+ if (!TEST_ptr(wbio)
+ || !TEST_ptr(rbio)
+ || !TEST_ptr(req)
+ || !TEST_ptr(proxy_bio)
+ || !TEST_int_eq(BIO_puts(req, "x"), 1)
+ || !TEST_ptr(rctx = OSSL_HTTP_REQ_CTX_new(wbio, rbio, 0)))
+ goto err;
+
+ ERR_clear_error();
+ res = TEST_false(OSSL_HTTP_REQ_CTX_set_request_line(rctx, 0 /* GET */,
+ NULL, NULL, "/path\r\nInjected: value"))
+ && TEST_false(OSSL_HTTP_REQ_CTX_set_request_line(rctx, 0 /* GET */,
+ "server\r\nInjected: value", "80", RPATH))
+ && TEST_false(OSSL_HTTP_REQ_CTX_set_request_line(rctx, 0 /* GET */,
+ "server", "80\r\nInjected: value", RPATH))
+ && TEST_true(OSSL_HTTP_REQ_CTX_set_request_line(rctx, 0 /* GET */,
+ NULL, NULL, RPATH))
+ && TEST_false(OSSL_HTTP_REQ_CTX_add1_header(rctx,
+ "X-Test\r\nInjected", "value"))
+ && TEST_false(OSSL_HTTP_REQ_CTX_add1_header(rctx,
+ "X-Test", "value\r\nInjected: value"))
+ && TEST_false(OSSL_HTTP_set1_request(rctx, RPATH, NULL,
+ "text/plain\r\nInjected: value", req,
+ NULL, 0 /* expect_asn1 */, 0 /* max_resp_len */,
+ 0 /* timeout */, 0 /* keep_alive */))
+ && TEST_false(OSSL_HTTP_proxy_connect(proxy_bio,
+ "server\r\nInjected: value", "443", NULL, NULL,
+ 0 /* timeout */, NULL, NULL))
+ && TEST_false(OSSL_HTTP_proxy_connect(proxy_bio,
+ "server", "443\r\nInjected: value", NULL, NULL,
+ 0 /* timeout */, NULL, NULL));
+
+err:
+ ERR_clear_error();
+ OSSL_HTTP_REQ_CTX_free(rctx);
+ BIO_free(wbio);
+ BIO_free(rbio);
+ BIO_free(req);
+ BIO_free(proxy_bio);
+ return res;
+}
+
static int test_http_get_txt(void)
{
return test_http_method(1 /* GET */, 1, HTTP_STATUS_CODE_OK);
@@ -575,6 +627,14 @@ static int test_hdr_resp_hdr_limit_256(void)
return test_http_resp_hdr_limit(256);
}
+static int test_http_adapt_proxy_empty_server(void)
+{
+ const char *proxy = "http://proxy.local:8080";
+
+ return TEST_str_eq(OSSL_HTTP_adapt_proxy(proxy, "abc", "", 0), proxy)
+ && TEST_str_eq(OSSL_HTTP_adapt_proxy(proxy, "abc", "[]", 0), proxy);
+}
+
void cleanup_tests(void)
{
X509_free(x509);
@@ -601,6 +661,7 @@ int setup_tests(void)
ADD_TEST(test_http_url_invalid_prefix);
ADD_TEST(test_http_url_invalid_port);
ADD_TEST(test_http_url_invalid_path);
+ ADD_TEST(test_http_crlf_rejected);
ADD_TEST(test_http_get_txt);
ADD_TEST(test_http_get_txt_redirected);
@@ -625,5 +686,6 @@ int setup_tests(void)
ADD_TEST(test_hdr_resp_hdr_limit_none);
ADD_TEST(test_hdr_resp_hdr_limit_short);
ADD_TEST(test_hdr_resp_hdr_limit_256);
+ ADD_TEST(test_http_adapt_proxy_empty_server);
return 1;
}
diff --git a/crypto/openssl/test/ideatest.c b/crypto/openssl/test/ideatest.c
index 206ae9b16a4..04995bd14b8 100644
--- a/crypto/openssl/test/ideatest.c
+++ b/crypto/openssl/test/ideatest.c
@@ -1,5 +1,5 @@
/*
- * Copyright 1995-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 1995-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -35,22 +35,8 @@ static unsigned char out[80];
static const unsigned char text[] = "Hello to all people out there";
static const unsigned char cfb_key[16] = {
- 0xe1,
- 0xf0,
- 0xc3,
- 0xd2,
- 0xa5,
- 0xb4,
- 0x87,
- 0x96,
- 0x69,
- 0x78,
- 0x4b,
- 0x5a,
- 0x2d,
- 0x3c,
- 0x0f,
- 0x1e,
+ 0xe1, 0xf0, 0xc3, 0xd2, 0xa5, 0xb4, 0x87, 0x96, 0x69, 0x78,
+ 0x4b, 0x5a, 0x2d, 0x3c, 0x0f, 0x1e
};
static const unsigned char cfb_iv[80] = {
0x34, 0x12, 0x78, 0x56, 0xab, 0x90, 0xef, 0xcd
diff --git a/crypto/openssl/test/ml_kem_evp_extra_test.c b/crypto/openssl/test/ml_kem_evp_extra_test.c
index def63903e24..e3d7a4334f3 100644
--- a/crypto/openssl/test/ml_kem_evp_extra_test.c
+++ b/crypto/openssl/test/ml_kem_evp_extra_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2015-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2015-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -20,6 +20,7 @@
#include
#include
#include
+#include "crypto/evp.h"
#include "testutil.h"
static OSSL_LIB_CTX *testctx = NULL;
@@ -401,6 +402,77 @@ static int test_non_derandomised_ml_kem(void)
return ret == 0;
}
+#ifndef OPENSSL_NO_EC
+static const char *mlx_kem_algs[] = {
+#ifndef OPENSSL_NO_ECX
+ "X25519MLKEM768",
+#endif
+ "SecP256r1MLKEM768",
+ "SecP384r1MLKEM1024",
+};
+#endif
+
+/*
+ * Test that mlx_kem_dup() with partial selection (public-only) does not
+ * corrupt the original key. Before the fix, the default branch of the
+ * switch in mlx_kem_dup() would call mlx_kem_key_free() on a shallow copy
+ * without nulling mkey/xkey first, causing a double-free when the original
+ * key was later freed.
+ */
+#ifndef OPENSSL_NO_EC
+static int test_mlx_kem_dup_partial_selection(int idx)
+{
+ const char *alg = mlx_kem_algs[idx];
+ EVP_PKEY_CTX *genctx = NULL;
+ EVP_PKEY_CTX *encctx = NULL;
+ EVP_PKEY *keypair = NULL;
+ EVP_PKEY *dest = NULL;
+ size_t wrpkeylen = 0, genkeylen = 0;
+ int ret = 0;
+
+ /* Generate an MLX KEM keypair */
+ if (!TEST_ptr(genctx = EVP_PKEY_CTX_new_from_name(testctx, alg, NULL))
+ || !TEST_int_eq(EVP_PKEY_keygen_init(genctx), 1)
+ || !TEST_int_eq(EVP_PKEY_keygen(genctx, &keypair), 1))
+ goto err;
+
+ /*
+ * Attempt a partial copy (public-key only). EVP_PKEY_PUBLIC_KEY includes
+ * OSSL_KEYMGMT_SELECT_PUBLIC_KEY (0x02) but not private, so
+ * selection & OSSL_KEYMGMT_SELECT_KEYPAIR == 0x02 which hits the default
+ * branch in mlx_kem_dup(). This should fail gracefully without corrupting
+ * the source key.
+ */
+ if (!TEST_ptr(dest = EVP_PKEY_new()))
+ goto err;
+ /* Expected to fail — partial duplication is not supported for MLX KEM */
+ evp_keymgmt_util_copy(dest, keypair, EVP_PKEY_PUBLIC_KEY);
+ ERR_clear_error();
+
+ /*
+ * Verify the original keypair is still intact by performing an
+ * encapsulate operation. If the partial copy corrupted the key
+ * (double-freed mkey/xkey), this would crash or trigger ASan.
+ */
+ if (!TEST_ptr(encctx = EVP_PKEY_CTX_new_from_pkey(testctx, keypair, NULL))
+ || !TEST_int_gt(EVP_PKEY_encapsulate_init(encctx, NULL), 0)
+ || !TEST_int_gt(EVP_PKEY_encapsulate(encctx, NULL, &wrpkeylen,
+ NULL, &genkeylen),
+ 0)
+ || !TEST_size_t_gt(wrpkeylen, 0)
+ || !TEST_size_t_gt(genkeylen, 0))
+ goto err;
+
+ ret = 1;
+err:
+ EVP_PKEY_CTX_free(encctx);
+ EVP_PKEY_free(dest);
+ EVP_PKEY_free(keypair);
+ EVP_PKEY_CTX_free(genctx);
+ return ret;
+}
+#endif /* OPENSSL_NO_EC */
+
int setup_tests(void)
{
int test_rand = 0;
@@ -428,5 +500,8 @@ int setup_tests(void)
}
ADD_TEST(test_ml_kem);
+#ifndef OPENSSL_NO_EC
+ ADD_ALL_TESTS(test_mlx_kem_dup_partial_selection, OSSL_NELEM(mlx_kem_algs));
+#endif
return 1;
}
diff --git a/crypto/openssl/test/param_build_test.c b/crypto/openssl/test/param_build_test.c
index 3b90a5e829c..c860acb6017 100644
--- a/crypto/openssl/test/param_build_test.c
+++ b/crypto/openssl/test/param_build_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2019-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
@@ -117,8 +117,12 @@ static int template_public_test(int tstid)
|| !TEST_true(OSSL_PARAM_BLD_push_BN(bld, "negativebignumber", nbn))
|| !TEST_true(OSSL_PARAM_BLD_push_utf8_string(bld, "utf8_s", "foo",
sizeof("foo")))
+ || !TEST_true(OSSL_PARAM_BLD_push_octet_string(bld, "octet_s", NULL,
+ 0))
|| !TEST_true(OSSL_PARAM_BLD_push_utf8_ptr(bld, "utf8_p", "bar-boom",
0))
+ || !TEST_true(OSSL_PARAM_BLD_push_octet_ptr(bld, "octet_p", NULL,
+ 0))
|| !TEST_true(OSSL_PARAM_BLD_push_int(bld, "i", -6))
|| !TEST_ptr(params_blt = OSSL_PARAM_BLD_to_param(bld)))
goto err;
@@ -189,10 +193,16 @@ static int template_public_test(int tstid)
|| !TEST_str_eq(p->data, "foo")
|| !TEST_true(OSSL_PARAM_get_utf8_string(p, &utf, 0))
|| !TEST_str_eq(utf, "foo")
+ /* Check NULL octet string */
+ || !TEST_ptr(p = OSSL_PARAM_locate(params, "octet_s"))
+ || !TEST_size_t_eq(p->data_size, 0)
/* Check UTF8 pointer */
|| !TEST_ptr(p = OSSL_PARAM_locate(params, "utf8_p"))
|| !TEST_true(OSSL_PARAM_get_utf8_ptr(p, &cutf))
|| !TEST_str_eq(cutf, "bar-boom")
+ /* Check NULL octet ptr */
+ || !TEST_ptr(p = OSSL_PARAM_locate(params, "octet_p"))
+ || !TEST_size_t_eq(p->data_size, 0)
/* Check BN (zero BN becomes unsigned integer) */
|| !TEST_ptr(p = OSSL_PARAM_locate(params, "zeronumber"))
|| !TEST_str_eq(p->key, "zeronumber")
diff --git a/crypto/openssl/test/pbetest.c b/crypto/openssl/test/pbetest.c
index 399e3a58f60..6135b1fdd9a 100644
--- a/crypto/openssl/test/pbetest.c
+++ b/crypto/openssl/test/pbetest.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2021-2023 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2021-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -23,43 +23,15 @@
static const char pbe_password[] = "MyVoiceIsMyPassport";
static unsigned char pbe_salt[] = {
- 0x01,
- 0x02,
- 0x03,
- 0x04,
- 0x05,
- 0x06,
- 0x07,
- 0x08,
+ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08
};
static const int pbe_iter = 1000;
static unsigned char pbe_plaintext[] = {
- 0x57,
- 0x65,
- 0x20,
- 0x61,
- 0x72,
- 0x65,
- 0x20,
- 0x61,
- 0x6c,
- 0x6c,
- 0x20,
- 0x6d,
- 0x61,
- 0x64,
- 0x65,
- 0x20,
- 0x6f,
- 0x66,
- 0x20,
- 0x73,
- 0x74,
- 0x61,
- 0x72,
- 0x73,
+ 0x57, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x6c,
+ 0x20, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x73,
+ 0x74, 0x61, 0x72, 0x73
};
#endif
@@ -67,67 +39,18 @@ static unsigned char pbe_plaintext[] = {
#if !defined OPENSSL_NO_RC4 && !defined OPENSSL_NO_MD5
static const unsigned char pbe_ciphertext_rc4_md5[] = {
- 0x21,
- 0x90,
- 0xfa,
- 0xee,
- 0x95,
- 0x66,
- 0x59,
- 0x45,
- 0xfa,
- 0x1e,
- 0x9f,
- 0xe2,
- 0x25,
- 0xd2,
- 0xf9,
- 0x71,
- 0x94,
- 0xe4,
- 0x3d,
- 0xc9,
- 0x7c,
- 0xb0,
- 0x07,
- 0x23,
+ 0x21, 0x90, 0xfa, 0xee, 0x95, 0x66, 0x59, 0x45, 0xfa, 0x1e,
+ 0x9f, 0xe2, 0x25, 0xd2, 0xf9, 0x71, 0x94, 0xe4, 0x3d, 0xc9,
+ 0x7c, 0xb0, 0x07, 0x23
};
#endif
#if !defined OPENSSL_NO_DES && !defined OPENSSL_NO_SHA1
static const unsigned char pbe_ciphertext_des_sha1[] = {
- 0xce,
- 0x4b,
- 0xb0,
- 0x0a,
- 0x7b,
- 0x48,
- 0xd7,
- 0xe3,
- 0x9a,
- 0x9f,
- 0x46,
- 0xd6,
- 0x41,
- 0x42,
- 0x4b,
- 0x44,
- 0x36,
- 0x45,
- 0x5f,
- 0x60,
- 0x8f,
- 0x3c,
- 0xd0,
- 0x55,
- 0xd0,
- 0x8d,
- 0xa9,
- 0xab,
- 0x78,
- 0x5b,
- 0x63,
- 0xaf,
+ 0xce, 0x4b, 0xb0, 0x0a, 0x7b, 0x48, 0xd7, 0xe3, 0x9a, 0x9f,
+ 0x46, 0xd6, 0x41, 0x42, 0x4b, 0x44, 0x36, 0x45, 0x5f, 0x60,
+ 0x8f, 0x3c, 0xd0, 0x55, 0xd0, 0x8d, 0xa9, 0xab, 0x78, 0x5b,
+ 0x63, 0xaf
};
#endif
diff --git a/crypto/openssl/test/pkcs12_format_test.c b/crypto/openssl/test/pkcs12_format_test.c
index 7d6ebd6e223..8ab91d8a1ed 100644
--- a/crypto/openssl/test/pkcs12_format_test.c
+++ b/crypto/openssl/test/pkcs12_format_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2020-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2020-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -31,2226 +31,237 @@ static OSSL_PROVIDER *lgcyprov = NULL;
*/
static const unsigned char CERT1[] = {
- 0x30,
- 0x82,
- 0x01,
- 0xed,
- 0x30,
- 0x82,
- 0x01,
- 0x56,
- 0xa0,
- 0x03,
- 0x02,
- 0x01,
- 0x02,
- 0x02,
- 0x09,
- 0x00,
- 0x8b,
- 0x4b,
- 0x5e,
- 0x6c,
- 0x03,
- 0x28,
- 0x4e,
- 0xe6,
- 0x30,
- 0x0d,
- 0x06,
- 0x09,
- 0x2a,
- 0x86,
- 0x48,
- 0x86,
- 0xf7,
- 0x0d,
- 0x01,
- 0x01,
- 0x0b,
- 0x05,
- 0x00,
- 0x30,
- 0x19,
- 0x31,
- 0x17,
- 0x30,
- 0x15,
- 0x06,
- 0x03,
- 0x55,
- 0x04,
- 0x03,
- 0x0c,
- 0x0e,
- 0x50,
- 0x31,
- 0x32,
- 0x54,
- 0x65,
- 0x73,
- 0x74,
- 0x2d,
- 0x52,
- 0x6f,
- 0x6f,
- 0x74,
- 0x2d,
- 0x41,
- 0x30,
- 0x1e,
- 0x17,
- 0x0d,
- 0x31,
- 0x39,
- 0x30,
- 0x39,
- 0x33,
- 0x30,
- 0x30,
- 0x30,
- 0x34,
- 0x36,
- 0x35,
- 0x36,
- 0x5a,
- 0x17,
- 0x0d,
- 0x32,
- 0x39,
- 0x30,
- 0x39,
- 0x32,
- 0x37,
- 0x30,
- 0x30,
- 0x34,
- 0x36,
- 0x35,
- 0x36,
- 0x5a,
- 0x30,
- 0x1b,
- 0x31,
- 0x19,
- 0x30,
- 0x17,
- 0x06,
- 0x03,
- 0x55,
- 0x04,
- 0x03,
- 0x0c,
- 0x10,
- 0x50,
- 0x31,
- 0x32,
- 0x54,
- 0x65,
- 0x73,
- 0x74,
- 0x2d,
- 0x53,
- 0x65,
- 0x72,
- 0x76,
- 0x65,
- 0x72,
- 0x2d,
- 0x31,
- 0x30,
- 0x81,
- 0x9f,
- 0x30,
- 0x0d,
- 0x06,
- 0x09,
- 0x2a,
- 0x86,
- 0x48,
- 0x86,
- 0xf7,
- 0x0d,
- 0x01,
- 0x01,
- 0x01,
- 0x05,
- 0x00,
- 0x03,
- 0x81,
- 0x8d,
- 0x00,
- 0x30,
- 0x81,
- 0x89,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xbc,
- 0xdc,
- 0x6f,
- 0x8c,
- 0x7a,
- 0x2a,
- 0x4b,
- 0xea,
- 0x66,
- 0x66,
- 0x04,
- 0xa9,
- 0x05,
- 0x92,
- 0x53,
- 0xd7,
- 0x13,
- 0x3c,
- 0x49,
- 0xe1,
- 0xc8,
- 0xbb,
- 0xdf,
- 0x3d,
- 0xcb,
- 0x88,
- 0x31,
- 0x07,
- 0x20,
- 0x59,
- 0x93,
- 0x24,
- 0x7f,
- 0x7d,
- 0xc6,
- 0x84,
- 0x81,
- 0x16,
- 0x64,
- 0x4a,
- 0x52,
- 0xa6,
- 0x30,
- 0x44,
- 0xdc,
- 0x1a,
- 0x30,
- 0xde,
- 0xae,
- 0x29,
- 0x18,
- 0xcf,
- 0xc7,
- 0xf3,
- 0xcf,
- 0x0c,
- 0xb7,
- 0x8e,
- 0x2b,
- 0x1e,
- 0x21,
- 0x01,
- 0x0b,
- 0xfb,
- 0xe5,
- 0xe6,
- 0xcf,
- 0x2b,
- 0x84,
- 0xe1,
- 0x33,
- 0xf8,
- 0xba,
- 0x02,
- 0xfc,
- 0x30,
- 0xfa,
- 0xc4,
- 0x33,
- 0xc7,
- 0x37,
- 0xc6,
- 0x7f,
- 0x72,
- 0x31,
- 0x92,
- 0x1d,
- 0x8f,
- 0xa0,
- 0xfb,
- 0xe5,
- 0x4a,
- 0x08,
- 0x31,
- 0x78,
- 0x80,
- 0x9c,
- 0x23,
- 0xb4,
- 0xe9,
- 0x19,
- 0x56,
- 0x04,
- 0xfa,
- 0x0d,
- 0x07,
- 0x04,
- 0xb7,
- 0x43,
- 0xac,
- 0x4c,
- 0x49,
- 0x7c,
- 0xc2,
- 0xa1,
- 0x44,
- 0xc1,
- 0x48,
- 0x7d,
- 0x28,
- 0xe5,
- 0x23,
- 0x66,
- 0x07,
- 0x22,
- 0xd5,
- 0xf0,
- 0xf1,
- 0x02,
- 0x03,
- 0x01,
- 0x00,
- 0x01,
- 0xa3,
- 0x3b,
- 0x30,
- 0x39,
- 0x30,
- 0x1f,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x23,
- 0x04,
- 0x18,
- 0x30,
- 0x16,
- 0x80,
- 0x14,
- 0xdb,
- 0xbb,
- 0xb8,
- 0x92,
- 0x4e,
- 0x24,
- 0x0b,
- 0x1b,
- 0xbb,
- 0x78,
- 0x33,
- 0xf9,
- 0x01,
- 0x02,
- 0x23,
- 0x0d,
- 0x96,
- 0x18,
- 0x30,
- 0x47,
- 0x30,
- 0x09,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x13,
- 0x04,
- 0x02,
- 0x30,
- 0x00,
- 0x30,
- 0x0b,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x0f,
- 0x04,
- 0x04,
- 0x03,
- 0x02,
- 0x04,
- 0xf0,
- 0x30,
- 0x0d,
- 0x06,
- 0x09,
- 0x2a,
- 0x86,
- 0x48,
- 0x86,
- 0xf7,
- 0x0d,
- 0x01,
- 0x01,
- 0x0b,
- 0x05,
- 0x00,
- 0x03,
- 0x81,
- 0x81,
- 0x00,
- 0x1c,
- 0x13,
- 0xdc,
- 0x02,
- 0xf1,
- 0x44,
- 0x36,
- 0x65,
- 0xa9,
- 0xbe,
- 0x30,
- 0x1c,
- 0x66,
- 0x14,
- 0x20,
- 0x86,
- 0x5a,
- 0xa8,
- 0x69,
- 0x25,
- 0xf8,
- 0x1a,
- 0xb6,
- 0x9e,
- 0x5e,
- 0xe9,
- 0x89,
- 0xb8,
- 0x67,
- 0x70,
- 0x19,
- 0x87,
- 0x60,
- 0xeb,
- 0x4b,
- 0x11,
- 0x71,
- 0x85,
- 0xf8,
- 0xe9,
- 0xa7,
- 0x3e,
- 0x20,
- 0x42,
- 0xec,
- 0x43,
- 0x25,
- 0x01,
- 0x03,
- 0xe5,
- 0x4d,
- 0x83,
- 0x22,
- 0xf5,
- 0x8e,
- 0x3a,
- 0x1a,
- 0x1b,
- 0xd4,
- 0x1c,
- 0xda,
- 0x6b,
- 0x9d,
- 0x10,
- 0x1b,
- 0xee,
- 0x67,
- 0x4e,
- 0x1f,
- 0x69,
- 0xab,
- 0xbc,
- 0xaa,
- 0x62,
- 0x8e,
- 0x9e,
- 0xc6,
- 0xee,
- 0xd6,
- 0x09,
- 0xc0,
- 0xca,
- 0xe0,
- 0xaa,
- 0x9f,
- 0x07,
- 0xb2,
- 0xc2,
- 0xbb,
- 0x31,
- 0x96,
- 0xa2,
- 0x04,
- 0x62,
- 0xd3,
- 0x13,
- 0x32,
- 0x29,
- 0x67,
- 0x6e,
- 0xad,
- 0x2e,
- 0x0b,
- 0xea,
- 0x04,
- 0x7c,
- 0x8c,
- 0x5a,
- 0x5d,
- 0xac,
- 0x14,
- 0xaa,
- 0x61,
- 0x7f,
- 0x28,
- 0x6c,
- 0x2d,
- 0x64,
- 0x2d,
- 0xc3,
- 0xaf,
- 0x77,
- 0x52,
- 0x90,
- 0xb4,
- 0x37,
- 0xc0,
- 0x30,
+ 0x30, 0x82, 0x01, 0xed, 0x30, 0x82, 0x01, 0x56, 0xa0, 0x03,
+ 0x02, 0x01, 0x02, 0x02, 0x09, 0x00, 0x8b, 0x4b, 0x5e, 0x6c,
+ 0x03, 0x28, 0x4e, 0xe6, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
+ 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30,
+ 0x19, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x03,
+ 0x0c, 0x0e, 0x50, 0x31, 0x32, 0x54, 0x65, 0x73, 0x74, 0x2d,
+ 0x52, 0x6f, 0x6f, 0x74, 0x2d, 0x41, 0x30, 0x1e, 0x17, 0x0d,
+ 0x31, 0x39, 0x30, 0x39, 0x33, 0x30, 0x30, 0x30, 0x34, 0x36,
+ 0x35, 0x36, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x30, 0x39, 0x32,
+ 0x37, 0x30, 0x30, 0x34, 0x36, 0x35, 0x36, 0x5a, 0x30, 0x1b,
+ 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
+ 0x10, 0x50, 0x31, 0x32, 0x54, 0x65, 0x73, 0x74, 0x2d, 0x53,
+ 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x31, 0x30, 0x81, 0x9f,
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
+ 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30,
+ 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xbc, 0xdc, 0x6f, 0x8c,
+ 0x7a, 0x2a, 0x4b, 0xea, 0x66, 0x66, 0x04, 0xa9, 0x05, 0x92,
+ 0x53, 0xd7, 0x13, 0x3c, 0x49, 0xe1, 0xc8, 0xbb, 0xdf, 0x3d,
+ 0xcb, 0x88, 0x31, 0x07, 0x20, 0x59, 0x93, 0x24, 0x7f, 0x7d,
+ 0xc6, 0x84, 0x81, 0x16, 0x64, 0x4a, 0x52, 0xa6, 0x30, 0x44,
+ 0xdc, 0x1a, 0x30, 0xde, 0xae, 0x29, 0x18, 0xcf, 0xc7, 0xf3,
+ 0xcf, 0x0c, 0xb7, 0x8e, 0x2b, 0x1e, 0x21, 0x01, 0x0b, 0xfb,
+ 0xe5, 0xe6, 0xcf, 0x2b, 0x84, 0xe1, 0x33, 0xf8, 0xba, 0x02,
+ 0xfc, 0x30, 0xfa, 0xc4, 0x33, 0xc7, 0x37, 0xc6, 0x7f, 0x72,
+ 0x31, 0x92, 0x1d, 0x8f, 0xa0, 0xfb, 0xe5, 0x4a, 0x08, 0x31,
+ 0x78, 0x80, 0x9c, 0x23, 0xb4, 0xe9, 0x19, 0x56, 0x04, 0xfa,
+ 0x0d, 0x07, 0x04, 0xb7, 0x43, 0xac, 0x4c, 0x49, 0x7c, 0xc2,
+ 0xa1, 0x44, 0xc1, 0x48, 0x7d, 0x28, 0xe5, 0x23, 0x66, 0x07,
+ 0x22, 0xd5, 0xf0, 0xf1, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3,
+ 0x3b, 0x30, 0x39, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+ 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xdb, 0xbb, 0xb8, 0x92,
+ 0x4e, 0x24, 0x0b, 0x1b, 0xbb, 0x78, 0x33, 0xf9, 0x01, 0x02,
+ 0x23, 0x0d, 0x96, 0x18, 0x30, 0x47, 0x30, 0x09, 0x06, 0x03,
+ 0x55, 0x1d, 0x13, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0b, 0x06,
+ 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x04, 0xf0,
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
+ 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x1c,
+ 0x13, 0xdc, 0x02, 0xf1, 0x44, 0x36, 0x65, 0xa9, 0xbe, 0x30,
+ 0x1c, 0x66, 0x14, 0x20, 0x86, 0x5a, 0xa8, 0x69, 0x25, 0xf8,
+ 0x1a, 0xb6, 0x9e, 0x5e, 0xe9, 0x89, 0xb8, 0x67, 0x70, 0x19,
+ 0x87, 0x60, 0xeb, 0x4b, 0x11, 0x71, 0x85, 0xf8, 0xe9, 0xa7,
+ 0x3e, 0x20, 0x42, 0xec, 0x43, 0x25, 0x01, 0x03, 0xe5, 0x4d,
+ 0x83, 0x22, 0xf5, 0x8e, 0x3a, 0x1a, 0x1b, 0xd4, 0x1c, 0xda,
+ 0x6b, 0x9d, 0x10, 0x1b, 0xee, 0x67, 0x4e, 0x1f, 0x69, 0xab,
+ 0xbc, 0xaa, 0x62, 0x8e, 0x9e, 0xc6, 0xee, 0xd6, 0x09, 0xc0,
+ 0xca, 0xe0, 0xaa, 0x9f, 0x07, 0xb2, 0xc2, 0xbb, 0x31, 0x96,
+ 0xa2, 0x04, 0x62, 0xd3, 0x13, 0x32, 0x29, 0x67, 0x6e, 0xad,
+ 0x2e, 0x0b, 0xea, 0x04, 0x7c, 0x8c, 0x5a, 0x5d, 0xac, 0x14,
+ 0xaa, 0x61, 0x7f, 0x28, 0x6c, 0x2d, 0x64, 0x2d, 0xc3, 0xaf,
+ 0x77, 0x52, 0x90, 0xb4, 0x37, 0xc0, 0x30
};
static const unsigned char CERT2[] = {
- 0x30,
- 0x82,
- 0x01,
- 0xed,
- 0x30,
- 0x82,
- 0x01,
- 0x56,
- 0xa0,
- 0x03,
- 0x02,
- 0x01,
- 0x02,
- 0x02,
- 0x09,
- 0x00,
- 0x8b,
- 0x4b,
- 0x5e,
- 0x6c,
- 0x03,
- 0x28,
- 0x4e,
- 0xe7,
- 0x30,
- 0x0d,
- 0x06,
- 0x09,
- 0x2a,
- 0x86,
- 0x48,
- 0x86,
- 0xf7,
- 0x0d,
- 0x01,
- 0x01,
- 0x0b,
- 0x05,
- 0x00,
- 0x30,
- 0x19,
- 0x31,
- 0x17,
- 0x30,
- 0x15,
- 0x06,
- 0x03,
- 0x55,
- 0x04,
- 0x03,
- 0x0c,
- 0x0e,
- 0x50,
- 0x31,
- 0x32,
- 0x54,
- 0x65,
- 0x73,
- 0x74,
- 0x2d,
- 0x52,
- 0x6f,
- 0x6f,
- 0x74,
- 0x2d,
- 0x41,
- 0x30,
- 0x1e,
- 0x17,
- 0x0d,
- 0x31,
- 0x39,
- 0x30,
- 0x39,
- 0x33,
- 0x30,
- 0x30,
- 0x30,
- 0x34,
- 0x36,
- 0x35,
- 0x36,
- 0x5a,
- 0x17,
- 0x0d,
- 0x32,
- 0x39,
- 0x30,
- 0x39,
- 0x32,
- 0x37,
- 0x30,
- 0x30,
- 0x34,
- 0x36,
- 0x35,
- 0x36,
- 0x5a,
- 0x30,
- 0x1b,
- 0x31,
- 0x19,
- 0x30,
- 0x17,
- 0x06,
- 0x03,
- 0x55,
- 0x04,
- 0x03,
- 0x0c,
- 0x10,
- 0x50,
- 0x31,
- 0x32,
- 0x54,
- 0x65,
- 0x73,
- 0x74,
- 0x2d,
- 0x43,
- 0x6c,
- 0x69,
- 0x65,
- 0x6e,
- 0x74,
- 0x2d,
- 0x31,
- 0x30,
- 0x81,
- 0x9f,
- 0x30,
- 0x0d,
- 0x06,
- 0x09,
- 0x2a,
- 0x86,
- 0x48,
- 0x86,
- 0xf7,
- 0x0d,
- 0x01,
- 0x01,
- 0x01,
- 0x05,
- 0x00,
- 0x03,
- 0x81,
- 0x8d,
- 0x00,
- 0x30,
- 0x81,
- 0x89,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xa8,
- 0x6e,
- 0x40,
- 0x86,
- 0x9f,
- 0x98,
- 0x59,
- 0xfb,
- 0x57,
- 0xbf,
- 0xc1,
- 0x55,
- 0x12,
- 0x38,
- 0xeb,
- 0xb3,
- 0x46,
- 0x34,
- 0xc9,
- 0x35,
- 0x4d,
- 0xfd,
- 0x03,
- 0xe9,
- 0x3a,
- 0x88,
- 0x9e,
- 0x97,
- 0x8f,
- 0xf4,
- 0xec,
- 0x36,
- 0x7b,
- 0x3f,
- 0xba,
- 0xb8,
- 0xa5,
- 0x96,
- 0x30,
- 0x03,
- 0xc5,
- 0xc6,
- 0xd9,
- 0xa8,
- 0x4e,
- 0xbc,
- 0x23,
- 0x51,
- 0xa1,
- 0x96,
- 0xd2,
- 0x03,
- 0x98,
- 0x73,
- 0xb6,
- 0x17,
- 0x9c,
- 0x77,
- 0xd4,
- 0x95,
- 0x1e,
- 0x1b,
- 0xb3,
- 0x1b,
- 0xc8,
- 0x71,
- 0xd1,
- 0x2e,
- 0x31,
- 0xc7,
- 0x6a,
- 0x75,
- 0x57,
- 0x08,
- 0x7f,
- 0xba,
- 0x70,
- 0x76,
- 0xf7,
- 0x67,
- 0xf4,
- 0x4e,
- 0xbe,
- 0xfc,
- 0x70,
- 0x61,
- 0x41,
- 0x07,
- 0x2b,
- 0x7c,
- 0x3c,
- 0x3b,
- 0xb3,
- 0xbc,
- 0xd5,
- 0xa8,
- 0xbd,
- 0x28,
- 0xd8,
- 0x49,
- 0xd3,
- 0xe1,
- 0x78,
- 0xc8,
- 0xc1,
- 0x42,
- 0x5e,
- 0x18,
- 0x36,
- 0xa8,
- 0x41,
- 0xf7,
- 0xc8,
- 0xaa,
- 0x35,
- 0xfe,
- 0x2d,
- 0xd1,
- 0xb4,
- 0xcc,
- 0x00,
- 0x67,
- 0xae,
- 0x79,
- 0xd3,
- 0x28,
- 0xd5,
- 0x5b,
- 0x02,
- 0x03,
- 0x01,
- 0x00,
- 0x01,
- 0xa3,
- 0x3b,
- 0x30,
- 0x39,
- 0x30,
- 0x1f,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x23,
- 0x04,
- 0x18,
- 0x30,
- 0x16,
- 0x80,
- 0x14,
- 0xdb,
- 0xbb,
- 0xb8,
- 0x92,
- 0x4e,
- 0x24,
- 0x0b,
- 0x1b,
- 0xbb,
- 0x78,
- 0x33,
- 0xf9,
- 0x01,
- 0x02,
- 0x23,
- 0x0d,
- 0x96,
- 0x18,
- 0x30,
- 0x47,
- 0x30,
- 0x09,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x13,
- 0x04,
- 0x02,
- 0x30,
- 0x00,
- 0x30,
- 0x0b,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x0f,
- 0x04,
- 0x04,
- 0x03,
- 0x02,
- 0x04,
- 0xf0,
- 0x30,
- 0x0d,
- 0x06,
- 0x09,
- 0x2a,
- 0x86,
- 0x48,
- 0x86,
- 0xf7,
- 0x0d,
- 0x01,
- 0x01,
- 0x0b,
- 0x05,
- 0x00,
- 0x03,
- 0x81,
- 0x81,
- 0x00,
- 0x3b,
- 0xa6,
- 0x73,
- 0xbe,
- 0xe0,
- 0x28,
- 0xed,
- 0x1f,
- 0x29,
- 0x78,
- 0x4c,
- 0xc0,
- 0x1f,
- 0xe9,
- 0x85,
- 0xc6,
- 0x8f,
- 0xe3,
- 0x87,
- 0x7c,
- 0xd9,
- 0xe7,
- 0x0a,
- 0x37,
- 0xe8,
- 0xaa,
- 0xb5,
- 0xd2,
- 0x7f,
- 0xf8,
- 0x90,
- 0x20,
- 0x80,
- 0x35,
- 0xa7,
- 0x79,
- 0x2b,
- 0x04,
- 0xa7,
- 0xbf,
- 0xe6,
- 0x7b,
- 0x58,
- 0xcb,
- 0xec,
- 0x0e,
- 0x58,
- 0xef,
- 0x2a,
- 0x70,
- 0x8a,
- 0x56,
- 0x8a,
- 0xcf,
- 0x6b,
- 0x7a,
- 0x74,
- 0x0c,
- 0xf4,
- 0x15,
- 0x37,
- 0x93,
- 0xcd,
- 0xe6,
- 0xb2,
- 0xa1,
- 0x83,
- 0x09,
- 0xdb,
- 0x9e,
- 0x4f,
- 0xff,
- 0x6a,
- 0x17,
- 0x4f,
- 0x33,
- 0xc9,
- 0xcc,
- 0x90,
- 0x2a,
- 0x67,
- 0xff,
- 0x16,
- 0x78,
- 0xa8,
- 0x2c,
- 0x10,
- 0xe0,
- 0x52,
- 0x8c,
- 0xe6,
- 0xe9,
- 0x90,
- 0x8d,
- 0xe0,
- 0x62,
- 0x04,
- 0x9a,
- 0x0f,
- 0x44,
- 0x01,
- 0x82,
- 0x14,
- 0x92,
- 0x44,
- 0x25,
- 0x69,
- 0x22,
- 0xb7,
- 0xb8,
- 0xc5,
- 0x94,
- 0x4c,
- 0x4b,
- 0x1c,
- 0x9b,
- 0x92,
- 0x60,
- 0x66,
- 0x90,
- 0x4e,
- 0xb9,
- 0xa8,
- 0x4c,
- 0x89,
- 0xbb,
- 0x0f,
- 0x0b,
+ 0x30, 0x82, 0x01, 0xed, 0x30, 0x82, 0x01, 0x56, 0xa0, 0x03,
+ 0x02, 0x01, 0x02, 0x02, 0x09, 0x00, 0x8b, 0x4b, 0x5e, 0x6c,
+ 0x03, 0x28, 0x4e, 0xe7, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86,
+ 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05, 0x00, 0x30,
+ 0x19, 0x31, 0x17, 0x30, 0x15, 0x06, 0x03, 0x55, 0x04, 0x03,
+ 0x0c, 0x0e, 0x50, 0x31, 0x32, 0x54, 0x65, 0x73, 0x74, 0x2d,
+ 0x52, 0x6f, 0x6f, 0x74, 0x2d, 0x41, 0x30, 0x1e, 0x17, 0x0d,
+ 0x31, 0x39, 0x30, 0x39, 0x33, 0x30, 0x30, 0x30, 0x34, 0x36,
+ 0x35, 0x36, 0x5a, 0x17, 0x0d, 0x32, 0x39, 0x30, 0x39, 0x32,
+ 0x37, 0x30, 0x30, 0x34, 0x36, 0x35, 0x36, 0x5a, 0x30, 0x1b,
+ 0x31, 0x19, 0x30, 0x17, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
+ 0x10, 0x50, 0x31, 0x32, 0x54, 0x65, 0x73, 0x74, 0x2d, 0x43,
+ 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2d, 0x31, 0x30, 0x81, 0x9f,
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
+ 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x81, 0x8d, 0x00, 0x30,
+ 0x81, 0x89, 0x02, 0x81, 0x81, 0x00, 0xa8, 0x6e, 0x40, 0x86,
+ 0x9f, 0x98, 0x59, 0xfb, 0x57, 0xbf, 0xc1, 0x55, 0x12, 0x38,
+ 0xeb, 0xb3, 0x46, 0x34, 0xc9, 0x35, 0x4d, 0xfd, 0x03, 0xe9,
+ 0x3a, 0x88, 0x9e, 0x97, 0x8f, 0xf4, 0xec, 0x36, 0x7b, 0x3f,
+ 0xba, 0xb8, 0xa5, 0x96, 0x30, 0x03, 0xc5, 0xc6, 0xd9, 0xa8,
+ 0x4e, 0xbc, 0x23, 0x51, 0xa1, 0x96, 0xd2, 0x03, 0x98, 0x73,
+ 0xb6, 0x17, 0x9c, 0x77, 0xd4, 0x95, 0x1e, 0x1b, 0xb3, 0x1b,
+ 0xc8, 0x71, 0xd1, 0x2e, 0x31, 0xc7, 0x6a, 0x75, 0x57, 0x08,
+ 0x7f, 0xba, 0x70, 0x76, 0xf7, 0x67, 0xf4, 0x4e, 0xbe, 0xfc,
+ 0x70, 0x61, 0x41, 0x07, 0x2b, 0x7c, 0x3c, 0x3b, 0xb3, 0xbc,
+ 0xd5, 0xa8, 0xbd, 0x28, 0xd8, 0x49, 0xd3, 0xe1, 0x78, 0xc8,
+ 0xc1, 0x42, 0x5e, 0x18, 0x36, 0xa8, 0x41, 0xf7, 0xc8, 0xaa,
+ 0x35, 0xfe, 0x2d, 0xd1, 0xb4, 0xcc, 0x00, 0x67, 0xae, 0x79,
+ 0xd3, 0x28, 0xd5, 0x5b, 0x02, 0x03, 0x01, 0x00, 0x01, 0xa3,
+ 0x3b, 0x30, 0x39, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23,
+ 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xdb, 0xbb, 0xb8, 0x92,
+ 0x4e, 0x24, 0x0b, 0x1b, 0xbb, 0x78, 0x33, 0xf9, 0x01, 0x02,
+ 0x23, 0x0d, 0x96, 0x18, 0x30, 0x47, 0x30, 0x09, 0x06, 0x03,
+ 0x55, 0x1d, 0x13, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0b, 0x06,
+ 0x03, 0x55, 0x1d, 0x0f, 0x04, 0x04, 0x03, 0x02, 0x04, 0xf0,
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
+ 0x01, 0x01, 0x0b, 0x05, 0x00, 0x03, 0x81, 0x81, 0x00, 0x3b,
+ 0xa6, 0x73, 0xbe, 0xe0, 0x28, 0xed, 0x1f, 0x29, 0x78, 0x4c,
+ 0xc0, 0x1f, 0xe9, 0x85, 0xc6, 0x8f, 0xe3, 0x87, 0x7c, 0xd9,
+ 0xe7, 0x0a, 0x37, 0xe8, 0xaa, 0xb5, 0xd2, 0x7f, 0xf8, 0x90,
+ 0x20, 0x80, 0x35, 0xa7, 0x79, 0x2b, 0x04, 0xa7, 0xbf, 0xe6,
+ 0x7b, 0x58, 0xcb, 0xec, 0x0e, 0x58, 0xef, 0x2a, 0x70, 0x8a,
+ 0x56, 0x8a, 0xcf, 0x6b, 0x7a, 0x74, 0x0c, 0xf4, 0x15, 0x37,
+ 0x93, 0xcd, 0xe6, 0xb2, 0xa1, 0x83, 0x09, 0xdb, 0x9e, 0x4f,
+ 0xff, 0x6a, 0x17, 0x4f, 0x33, 0xc9, 0xcc, 0x90, 0x2a, 0x67,
+ 0xff, 0x16, 0x78, 0xa8, 0x2c, 0x10, 0xe0, 0x52, 0x8c, 0xe6,
+ 0xe9, 0x90, 0x8d, 0xe0, 0x62, 0x04, 0x9a, 0x0f, 0x44, 0x01,
+ 0x82, 0x14, 0x92, 0x44, 0x25, 0x69, 0x22, 0xb7, 0xb8, 0xc5,
+ 0x94, 0x4c, 0x4b, 0x1c, 0x9b, 0x92, 0x60, 0x66, 0x90, 0x4e,
+ 0xb9, 0xa8, 0x4c, 0x89, 0xbb, 0x0f, 0x0b
};
static const unsigned char KEY1[] = {
- 0x30,
- 0x82,
- 0x02,
- 0x5d,
- 0x02,
- 0x01,
- 0x00,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xbc,
- 0xdc,
- 0x6f,
- 0x8c,
- 0x7a,
- 0x2a,
- 0x4b,
- 0xea,
- 0x66,
- 0x66,
- 0x04,
- 0xa9,
- 0x05,
- 0x92,
- 0x53,
- 0xd7,
- 0x13,
- 0x3c,
- 0x49,
- 0xe1,
- 0xc8,
- 0xbb,
- 0xdf,
- 0x3d,
- 0xcb,
- 0x88,
- 0x31,
- 0x07,
- 0x20,
- 0x59,
- 0x93,
- 0x24,
- 0x7f,
- 0x7d,
- 0xc6,
- 0x84,
- 0x81,
- 0x16,
- 0x64,
- 0x4a,
- 0x52,
- 0xa6,
- 0x30,
- 0x44,
- 0xdc,
- 0x1a,
- 0x30,
- 0xde,
- 0xae,
- 0x29,
- 0x18,
- 0xcf,
- 0xc7,
- 0xf3,
- 0xcf,
- 0x0c,
- 0xb7,
- 0x8e,
- 0x2b,
- 0x1e,
- 0x21,
- 0x01,
- 0x0b,
- 0xfb,
- 0xe5,
- 0xe6,
- 0xcf,
- 0x2b,
- 0x84,
- 0xe1,
- 0x33,
- 0xf8,
- 0xba,
- 0x02,
- 0xfc,
- 0x30,
- 0xfa,
- 0xc4,
- 0x33,
- 0xc7,
- 0x37,
- 0xc6,
- 0x7f,
- 0x72,
- 0x31,
- 0x92,
- 0x1d,
- 0x8f,
- 0xa0,
- 0xfb,
- 0xe5,
- 0x4a,
- 0x08,
- 0x31,
- 0x78,
- 0x80,
- 0x9c,
- 0x23,
- 0xb4,
- 0xe9,
- 0x19,
- 0x56,
- 0x04,
- 0xfa,
- 0x0d,
- 0x07,
- 0x04,
- 0xb7,
- 0x43,
- 0xac,
- 0x4c,
- 0x49,
- 0x7c,
- 0xc2,
- 0xa1,
- 0x44,
- 0xc1,
- 0x48,
- 0x7d,
- 0x28,
- 0xe5,
- 0x23,
- 0x66,
- 0x07,
- 0x22,
- 0xd5,
- 0xf0,
- 0xf1,
- 0x02,
- 0x03,
- 0x01,
- 0x00,
- 0x01,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xa5,
- 0x6d,
- 0xf9,
- 0x8f,
- 0xf5,
- 0x5a,
- 0xa3,
- 0x50,
- 0xd9,
- 0x0d,
- 0x37,
- 0xbb,
- 0xce,
- 0x13,
- 0x94,
- 0xb8,
- 0xea,
- 0x32,
- 0x7f,
- 0x0c,
- 0xf5,
- 0x46,
- 0x0b,
- 0x90,
- 0x17,
- 0x7e,
- 0x5e,
- 0x63,
- 0xbd,
- 0xa4,
- 0x78,
- 0xcd,
- 0x19,
- 0x97,
- 0xd4,
- 0x92,
- 0x30,
- 0x78,
- 0xaa,
- 0xb4,
- 0xa7,
- 0x9c,
- 0xc6,
- 0xdf,
- 0x2a,
- 0x65,
- 0x0e,
- 0xb5,
- 0x9f,
- 0x9c,
- 0x84,
- 0x0d,
- 0x4d,
- 0x3a,
- 0x74,
- 0xfc,
- 0xd0,
- 0xb4,
- 0x09,
- 0x74,
- 0xc4,
- 0xb8,
- 0x24,
- 0x03,
- 0xa8,
- 0xf0,
- 0xf8,
- 0x0d,
- 0x5c,
- 0x8e,
- 0xdf,
- 0x4b,
- 0xe1,
- 0x0a,
- 0x8f,
- 0x4f,
- 0xd5,
- 0xc7,
- 0x9b,
- 0x54,
- 0x55,
- 0x8f,
- 0x00,
- 0x5c,
- 0xea,
- 0x4c,
- 0x73,
- 0xf9,
- 0x1b,
- 0xbf,
- 0xb8,
- 0x93,
- 0x33,
- 0x20,
- 0xce,
- 0x45,
- 0xd9,
- 0x03,
- 0x02,
- 0xb2,
- 0x36,
- 0xc5,
- 0x0a,
- 0x30,
- 0x50,
- 0x78,
- 0x80,
- 0x66,
- 0x00,
- 0x22,
- 0x38,
- 0x86,
- 0xcf,
- 0x63,
- 0x4a,
- 0x5c,
- 0xbf,
- 0x2b,
- 0xd9,
- 0x6e,
- 0xe6,
- 0xf0,
- 0x39,
- 0xad,
- 0x12,
- 0x25,
- 0x41,
- 0xb9,
- 0x02,
- 0x41,
- 0x00,
- 0xf3,
- 0x7c,
- 0x07,
- 0x99,
- 0x64,
- 0x3a,
- 0x28,
- 0x8c,
- 0x8d,
- 0x05,
- 0xfe,
- 0x32,
- 0xb5,
- 0x4c,
- 0x8c,
- 0x6d,
- 0xde,
- 0x3d,
- 0x16,
- 0x08,
- 0xa0,
- 0x01,
- 0x61,
- 0x4f,
- 0x8e,
- 0xa0,
- 0xf7,
- 0x26,
- 0x26,
- 0xb5,
- 0x8e,
- 0xc0,
- 0x7a,
- 0xce,
- 0x86,
- 0x34,
- 0xde,
- 0xb8,
- 0xef,
- 0x86,
- 0x01,
- 0xbe,
- 0x24,
- 0xaa,
- 0x9b,
- 0x36,
- 0x93,
- 0x72,
- 0x9b,
- 0xf9,
- 0xc6,
- 0xcb,
- 0x76,
- 0x84,
- 0x67,
- 0x06,
- 0x06,
- 0x30,
- 0x50,
- 0xdf,
- 0x42,
- 0x17,
- 0xe0,
- 0xa7,
- 0x02,
- 0x41,
- 0x00,
- 0xc6,
- 0x91,
- 0xa0,
- 0x41,
- 0x34,
- 0x11,
- 0x67,
- 0x4b,
- 0x08,
- 0x0f,
- 0xda,
- 0xa7,
- 0x99,
- 0xec,
- 0x58,
- 0x11,
- 0xa5,
- 0x82,
- 0xdb,
- 0x50,
- 0xfe,
- 0x77,
- 0xe2,
- 0xd1,
- 0x53,
- 0x9c,
- 0x7d,
- 0xe8,
- 0xbf,
- 0xe7,
- 0x7c,
- 0xa9,
- 0x01,
- 0xb1,
- 0x87,
- 0xc3,
- 0x52,
- 0x79,
- 0x9e,
- 0x2c,
- 0xa7,
- 0x6f,
- 0x02,
- 0x37,
- 0x32,
- 0xef,
- 0x24,
- 0x31,
- 0x21,
- 0x0b,
- 0x86,
- 0x05,
- 0x32,
- 0x4a,
- 0x2e,
- 0x0b,
- 0x65,
- 0x05,
- 0xd3,
- 0xd6,
- 0x30,
- 0xb2,
- 0xfc,
- 0xa7,
- 0x02,
- 0x41,
- 0x00,
- 0xc2,
- 0xed,
- 0x31,
- 0xdc,
- 0x40,
- 0x9c,
- 0x3a,
- 0xe8,
- 0x42,
- 0xe2,
- 0x60,
- 0x5e,
- 0x52,
- 0x3c,
- 0xc5,
- 0x54,
- 0x14,
- 0x0e,
- 0x8d,
- 0x7c,
- 0x3c,
- 0x34,
- 0xbe,
- 0xa6,
- 0x05,
- 0x86,
- 0xa2,
- 0x36,
- 0x5d,
- 0xd9,
- 0x0e,
- 0x3e,
- 0xd4,
- 0x52,
- 0x50,
- 0xa9,
- 0x35,
- 0x01,
- 0x93,
- 0x68,
- 0x92,
- 0x2e,
- 0x9a,
- 0x86,
- 0x27,
- 0x1a,
- 0xab,
- 0x32,
- 0x9e,
- 0xe2,
- 0x79,
- 0x9f,
- 0x5b,
- 0xf3,
- 0xa5,
- 0xd2,
- 0xf1,
- 0xd3,
- 0x6e,
- 0x7b,
- 0x3e,
- 0x1b,
- 0x85,
- 0x93,
- 0x02,
- 0x40,
- 0x68,
- 0xb8,
- 0xb6,
- 0x7e,
- 0x8c,
- 0xba,
- 0x3c,
- 0xf2,
- 0x8a,
- 0x2e,
- 0xea,
- 0x4f,
- 0x07,
- 0xd3,
- 0x68,
- 0x62,
- 0xee,
- 0x1a,
- 0x04,
- 0x16,
- 0x44,
- 0x0d,
- 0xef,
- 0xf6,
- 0x1b,
- 0x95,
- 0x65,
- 0xa5,
- 0xd1,
- 0x47,
- 0x81,
- 0x2c,
- 0x14,
- 0xb3,
- 0x8e,
- 0xf9,
- 0x08,
- 0xcf,
- 0x11,
- 0x07,
- 0x55,
- 0xca,
- 0x2a,
- 0xad,
- 0xf7,
- 0xd3,
- 0xbd,
- 0x0f,
- 0x97,
- 0xf0,
- 0xde,
- 0xde,
- 0x70,
- 0xb6,
- 0x44,
- 0x70,
- 0x47,
- 0xf7,
- 0xf9,
- 0xcf,
- 0x75,
- 0x61,
- 0x7f,
- 0xf3,
- 0x02,
- 0x40,
- 0x38,
- 0x4a,
- 0x67,
- 0xaf,
- 0xae,
- 0xb6,
- 0xb2,
- 0x6a,
- 0x00,
- 0x25,
- 0x5a,
- 0xa4,
- 0x65,
- 0x20,
- 0xb1,
- 0x13,
- 0xbd,
- 0x83,
- 0xff,
- 0xb4,
- 0xbc,
- 0xf4,
- 0xdd,
- 0xa1,
- 0xbb,
- 0x1c,
- 0x96,
- 0x37,
- 0x35,
- 0xf4,
- 0xbf,
- 0xed,
- 0x4c,
- 0xed,
- 0x92,
- 0xe8,
- 0xac,
- 0xc9,
- 0xc1,
- 0xa5,
- 0xa3,
- 0x23,
- 0x66,
- 0x40,
- 0x8a,
- 0xa1,
- 0xe6,
- 0xe3,
- 0x95,
- 0xfe,
- 0xc4,
- 0x53,
- 0xf5,
- 0x7d,
- 0x6e,
- 0xca,
- 0x45,
- 0x42,
- 0xe4,
- 0xc2,
- 0x9f,
- 0xe5,
- 0x1e,
- 0xb5,
+ 0x30, 0x82, 0x02, 0x5d, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81,
+ 0x00, 0xbc, 0xdc, 0x6f, 0x8c, 0x7a, 0x2a, 0x4b, 0xea, 0x66,
+ 0x66, 0x04, 0xa9, 0x05, 0x92, 0x53, 0xd7, 0x13, 0x3c, 0x49,
+ 0xe1, 0xc8, 0xbb, 0xdf, 0x3d, 0xcb, 0x88, 0x31, 0x07, 0x20,
+ 0x59, 0x93, 0x24, 0x7f, 0x7d, 0xc6, 0x84, 0x81, 0x16, 0x64,
+ 0x4a, 0x52, 0xa6, 0x30, 0x44, 0xdc, 0x1a, 0x30, 0xde, 0xae,
+ 0x29, 0x18, 0xcf, 0xc7, 0xf3, 0xcf, 0x0c, 0xb7, 0x8e, 0x2b,
+ 0x1e, 0x21, 0x01, 0x0b, 0xfb, 0xe5, 0xe6, 0xcf, 0x2b, 0x84,
+ 0xe1, 0x33, 0xf8, 0xba, 0x02, 0xfc, 0x30, 0xfa, 0xc4, 0x33,
+ 0xc7, 0x37, 0xc6, 0x7f, 0x72, 0x31, 0x92, 0x1d, 0x8f, 0xa0,
+ 0xfb, 0xe5, 0x4a, 0x08, 0x31, 0x78, 0x80, 0x9c, 0x23, 0xb4,
+ 0xe9, 0x19, 0x56, 0x04, 0xfa, 0x0d, 0x07, 0x04, 0xb7, 0x43,
+ 0xac, 0x4c, 0x49, 0x7c, 0xc2, 0xa1, 0x44, 0xc1, 0x48, 0x7d,
+ 0x28, 0xe5, 0x23, 0x66, 0x07, 0x22, 0xd5, 0xf0, 0xf1, 0x02,
+ 0x03, 0x01, 0x00, 0x01, 0x02, 0x81, 0x81, 0x00, 0xa5, 0x6d,
+ 0xf9, 0x8f, 0xf5, 0x5a, 0xa3, 0x50, 0xd9, 0x0d, 0x37, 0xbb,
+ 0xce, 0x13, 0x94, 0xb8, 0xea, 0x32, 0x7f, 0x0c, 0xf5, 0x46,
+ 0x0b, 0x90, 0x17, 0x7e, 0x5e, 0x63, 0xbd, 0xa4, 0x78, 0xcd,
+ 0x19, 0x97, 0xd4, 0x92, 0x30, 0x78, 0xaa, 0xb4, 0xa7, 0x9c,
+ 0xc6, 0xdf, 0x2a, 0x65, 0x0e, 0xb5, 0x9f, 0x9c, 0x84, 0x0d,
+ 0x4d, 0x3a, 0x74, 0xfc, 0xd0, 0xb4, 0x09, 0x74, 0xc4, 0xb8,
+ 0x24, 0x03, 0xa8, 0xf0, 0xf8, 0x0d, 0x5c, 0x8e, 0xdf, 0x4b,
+ 0xe1, 0x0a, 0x8f, 0x4f, 0xd5, 0xc7, 0x9b, 0x54, 0x55, 0x8f,
+ 0x00, 0x5c, 0xea, 0x4c, 0x73, 0xf9, 0x1b, 0xbf, 0xb8, 0x93,
+ 0x33, 0x20, 0xce, 0x45, 0xd9, 0x03, 0x02, 0xb2, 0x36, 0xc5,
+ 0x0a, 0x30, 0x50, 0x78, 0x80, 0x66, 0x00, 0x22, 0x38, 0x86,
+ 0xcf, 0x63, 0x4a, 0x5c, 0xbf, 0x2b, 0xd9, 0x6e, 0xe6, 0xf0,
+ 0x39, 0xad, 0x12, 0x25, 0x41, 0xb9, 0x02, 0x41, 0x00, 0xf3,
+ 0x7c, 0x07, 0x99, 0x64, 0x3a, 0x28, 0x8c, 0x8d, 0x05, 0xfe,
+ 0x32, 0xb5, 0x4c, 0x8c, 0x6d, 0xde, 0x3d, 0x16, 0x08, 0xa0,
+ 0x01, 0x61, 0x4f, 0x8e, 0xa0, 0xf7, 0x26, 0x26, 0xb5, 0x8e,
+ 0xc0, 0x7a, 0xce, 0x86, 0x34, 0xde, 0xb8, 0xef, 0x86, 0x01,
+ 0xbe, 0x24, 0xaa, 0x9b, 0x36, 0x93, 0x72, 0x9b, 0xf9, 0xc6,
+ 0xcb, 0x76, 0x84, 0x67, 0x06, 0x06, 0x30, 0x50, 0xdf, 0x42,
+ 0x17, 0xe0, 0xa7, 0x02, 0x41, 0x00, 0xc6, 0x91, 0xa0, 0x41,
+ 0x34, 0x11, 0x67, 0x4b, 0x08, 0x0f, 0xda, 0xa7, 0x99, 0xec,
+ 0x58, 0x11, 0xa5, 0x82, 0xdb, 0x50, 0xfe, 0x77, 0xe2, 0xd1,
+ 0x53, 0x9c, 0x7d, 0xe8, 0xbf, 0xe7, 0x7c, 0xa9, 0x01, 0xb1,
+ 0x87, 0xc3, 0x52, 0x79, 0x9e, 0x2c, 0xa7, 0x6f, 0x02, 0x37,
+ 0x32, 0xef, 0x24, 0x31, 0x21, 0x0b, 0x86, 0x05, 0x32, 0x4a,
+ 0x2e, 0x0b, 0x65, 0x05, 0xd3, 0xd6, 0x30, 0xb2, 0xfc, 0xa7,
+ 0x02, 0x41, 0x00, 0xc2, 0xed, 0x31, 0xdc, 0x40, 0x9c, 0x3a,
+ 0xe8, 0x42, 0xe2, 0x60, 0x5e, 0x52, 0x3c, 0xc5, 0x54, 0x14,
+ 0x0e, 0x8d, 0x7c, 0x3c, 0x34, 0xbe, 0xa6, 0x05, 0x86, 0xa2,
+ 0x36, 0x5d, 0xd9, 0x0e, 0x3e, 0xd4, 0x52, 0x50, 0xa9, 0x35,
+ 0x01, 0x93, 0x68, 0x92, 0x2e, 0x9a, 0x86, 0x27, 0x1a, 0xab,
+ 0x32, 0x9e, 0xe2, 0x79, 0x9f, 0x5b, 0xf3, 0xa5, 0xd2, 0xf1,
+ 0xd3, 0x6e, 0x7b, 0x3e, 0x1b, 0x85, 0x93, 0x02, 0x40, 0x68,
+ 0xb8, 0xb6, 0x7e, 0x8c, 0xba, 0x3c, 0xf2, 0x8a, 0x2e, 0xea,
+ 0x4f, 0x07, 0xd3, 0x68, 0x62, 0xee, 0x1a, 0x04, 0x16, 0x44,
+ 0x0d, 0xef, 0xf6, 0x1b, 0x95, 0x65, 0xa5, 0xd1, 0x47, 0x81,
+ 0x2c, 0x14, 0xb3, 0x8e, 0xf9, 0x08, 0xcf, 0x11, 0x07, 0x55,
+ 0xca, 0x2a, 0xad, 0xf7, 0xd3, 0xbd, 0x0f, 0x97, 0xf0, 0xde,
+ 0xde, 0x70, 0xb6, 0x44, 0x70, 0x47, 0xf7, 0xf9, 0xcf, 0x75,
+ 0x61, 0x7f, 0xf3, 0x02, 0x40, 0x38, 0x4a, 0x67, 0xaf, 0xae,
+ 0xb6, 0xb2, 0x6a, 0x00, 0x25, 0x5a, 0xa4, 0x65, 0x20, 0xb1,
+ 0x13, 0xbd, 0x83, 0xff, 0xb4, 0xbc, 0xf4, 0xdd, 0xa1, 0xbb,
+ 0x1c, 0x96, 0x37, 0x35, 0xf4, 0xbf, 0xed, 0x4c, 0xed, 0x92,
+ 0xe8, 0xac, 0xc9, 0xc1, 0xa5, 0xa3, 0x23, 0x66, 0x40, 0x8a,
+ 0xa1, 0xe6, 0xe3, 0x95, 0xfe, 0xc4, 0x53, 0xf5, 0x7d, 0x6e,
+ 0xca, 0x45, 0x42, 0xe4, 0xc2, 0x9f, 0xe5, 0x1e, 0xb5
};
static const unsigned char KEY2[] = {
- 0x30,
- 0x82,
- 0x02,
- 0x5c,
- 0x02,
- 0x01,
- 0x00,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xa8,
- 0x6e,
- 0x40,
- 0x86,
- 0x9f,
- 0x98,
- 0x59,
- 0xfb,
- 0x57,
- 0xbf,
- 0xc1,
- 0x55,
- 0x12,
- 0x38,
- 0xeb,
- 0xb3,
- 0x46,
- 0x34,
- 0xc9,
- 0x35,
- 0x4d,
- 0xfd,
- 0x03,
- 0xe9,
- 0x3a,
- 0x88,
- 0x9e,
- 0x97,
- 0x8f,
- 0xf4,
- 0xec,
- 0x36,
- 0x7b,
- 0x3f,
- 0xba,
- 0xb8,
- 0xa5,
- 0x96,
- 0x30,
- 0x03,
- 0xc5,
- 0xc6,
- 0xd9,
- 0xa8,
- 0x4e,
- 0xbc,
- 0x23,
- 0x51,
- 0xa1,
- 0x96,
- 0xd2,
- 0x03,
- 0x98,
- 0x73,
- 0xb6,
- 0x17,
- 0x9c,
- 0x77,
- 0xd4,
- 0x95,
- 0x1e,
- 0x1b,
- 0xb3,
- 0x1b,
- 0xc8,
- 0x71,
- 0xd1,
- 0x2e,
- 0x31,
- 0xc7,
- 0x6a,
- 0x75,
- 0x57,
- 0x08,
- 0x7f,
- 0xba,
- 0x70,
- 0x76,
- 0xf7,
- 0x67,
- 0xf4,
- 0x4e,
- 0xbe,
- 0xfc,
- 0x70,
- 0x61,
- 0x41,
- 0x07,
- 0x2b,
- 0x7c,
- 0x3c,
- 0x3b,
- 0xb3,
- 0xbc,
- 0xd5,
- 0xa8,
- 0xbd,
- 0x28,
- 0xd8,
- 0x49,
- 0xd3,
- 0xe1,
- 0x78,
- 0xc8,
- 0xc1,
- 0x42,
- 0x5e,
- 0x18,
- 0x36,
- 0xa8,
- 0x41,
- 0xf7,
- 0xc8,
- 0xaa,
- 0x35,
- 0xfe,
- 0x2d,
- 0xd1,
- 0xb4,
- 0xcc,
- 0x00,
- 0x67,
- 0xae,
- 0x79,
- 0xd3,
- 0x28,
- 0xd5,
- 0x5b,
- 0x02,
- 0x03,
- 0x01,
- 0x00,
- 0x01,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xa6,
- 0x00,
- 0x83,
- 0xf8,
- 0x2b,
- 0x33,
- 0xac,
- 0xfb,
- 0xdb,
- 0xf0,
- 0x52,
- 0x4b,
- 0xd6,
- 0x39,
- 0xe3,
- 0x94,
- 0x3d,
- 0x8d,
- 0xa9,
- 0x01,
- 0xb0,
- 0x6b,
- 0xbe,
- 0x7f,
- 0x10,
- 0x01,
- 0xb6,
- 0xcd,
- 0x0a,
- 0x45,
- 0x0a,
- 0xca,
- 0x67,
- 0x8e,
- 0xd8,
- 0x29,
- 0x44,
- 0x8a,
- 0x51,
- 0xa8,
- 0x66,
- 0x35,
- 0x26,
- 0x30,
- 0x8b,
- 0xe9,
- 0x41,
- 0xa6,
- 0x22,
- 0xec,
- 0xd2,
- 0xf0,
- 0x58,
- 0x41,
- 0x33,
- 0x26,
- 0xf2,
- 0x3f,
- 0xe8,
- 0x75,
- 0x4f,
- 0xc7,
- 0x5d,
- 0x2e,
- 0x5a,
- 0xa8,
- 0x7a,
- 0xd2,
- 0xbf,
- 0x59,
- 0xa0,
- 0x86,
- 0x79,
- 0x0b,
- 0x92,
- 0x6c,
- 0x95,
- 0x5d,
- 0x87,
- 0x63,
- 0x5c,
- 0xd6,
- 0x1a,
- 0xc0,
- 0xf6,
- 0x7a,
- 0x15,
- 0x8d,
- 0xc7,
- 0x3c,
- 0xb6,
- 0x9e,
- 0xa6,
- 0x58,
- 0x46,
- 0x9b,
- 0xbf,
- 0x3e,
- 0x28,
- 0x8c,
- 0xdf,
- 0x1a,
- 0x87,
- 0xaa,
- 0x7e,
- 0xf5,
- 0xf2,
- 0xcb,
- 0x5e,
- 0x84,
- 0x2d,
- 0xf6,
- 0x82,
- 0x7e,
- 0x89,
- 0x4e,
- 0xf5,
- 0xe6,
- 0x3c,
- 0x92,
- 0x80,
- 0x1e,
- 0x98,
- 0x1c,
- 0x6a,
- 0x7b,
- 0x57,
- 0x01,
- 0x02,
- 0x41,
- 0x00,
- 0xdd,
- 0x60,
- 0x95,
- 0xd7,
- 0xa1,
- 0x9d,
- 0x0c,
- 0xa1,
- 0x84,
- 0xc5,
- 0x39,
- 0xca,
- 0x67,
- 0x4c,
- 0x1c,
- 0x06,
- 0x71,
- 0x5b,
- 0x5c,
- 0x2d,
- 0x8d,
- 0xce,
- 0xcd,
- 0xe2,
- 0x79,
- 0xc8,
- 0x33,
- 0xbe,
- 0x50,
- 0x37,
- 0x60,
- 0x9f,
- 0x3b,
- 0xb9,
- 0x59,
- 0x55,
- 0x22,
- 0x1f,
- 0xa5,
- 0x4b,
- 0x1d,
- 0xca,
- 0x38,
- 0xa0,
- 0xab,
- 0x87,
- 0x9c,
- 0x86,
- 0x0e,
- 0xdb,
- 0x1c,
- 0x4f,
- 0x4f,
- 0x07,
- 0xed,
- 0x18,
- 0x3f,
- 0x05,
- 0x3c,
- 0xec,
- 0x78,
- 0x11,
- 0xf6,
- 0x99,
- 0x02,
- 0x41,
- 0x00,
- 0xc2,
- 0xc5,
- 0xcf,
- 0xbe,
- 0x95,
- 0x91,
- 0xeb,
- 0xcf,
- 0x47,
- 0xf3,
- 0x33,
- 0x32,
- 0xc7,
- 0x7e,
- 0x93,
- 0x56,
- 0xf7,
- 0xd8,
- 0xf9,
- 0xd4,
- 0xb6,
- 0xd6,
- 0x20,
- 0xac,
- 0xba,
- 0x8a,
- 0x20,
- 0x19,
- 0x14,
- 0xab,
- 0xc5,
- 0x5d,
- 0xb2,
- 0x08,
- 0xcc,
- 0x77,
- 0x7c,
- 0x65,
- 0xa8,
- 0xdb,
- 0x66,
- 0x97,
- 0x36,
- 0x44,
- 0x2c,
- 0x63,
- 0xc0,
- 0x6a,
- 0x7e,
- 0xb0,
- 0x0b,
- 0x5c,
- 0x90,
- 0x12,
- 0x50,
- 0xb4,
- 0x36,
- 0x60,
- 0xc3,
- 0x1f,
- 0x22,
- 0x0c,
- 0xc8,
- 0x13,
- 0x02,
- 0x40,
- 0x33,
- 0xc8,
- 0x7e,
- 0x04,
- 0x7c,
- 0x97,
- 0x61,
- 0xf6,
- 0xfe,
- 0x39,
- 0xac,
- 0x34,
- 0xfe,
- 0x48,
- 0xbd,
- 0x5d,
- 0x7c,
- 0x72,
- 0xa4,
- 0x73,
- 0x3b,
- 0x72,
- 0x9e,
- 0x92,
- 0x55,
- 0x6e,
- 0x51,
- 0x3c,
- 0x39,
- 0x43,
- 0x5a,
- 0xe4,
- 0xa4,
- 0x71,
- 0xcc,
- 0xc5,
- 0xaf,
- 0x3f,
- 0xbb,
- 0xc8,
- 0x80,
- 0x65,
- 0x67,
- 0x2d,
- 0x9e,
- 0x32,
- 0x10,
- 0x99,
- 0x03,
- 0x2c,
- 0x99,
- 0xc8,
- 0xab,
- 0x71,
- 0xed,
- 0x31,
- 0xf8,
- 0xbb,
- 0xde,
- 0xee,
- 0x69,
- 0x7f,
- 0xba,
- 0x31,
- 0x02,
- 0x40,
- 0x7e,
- 0xbc,
- 0x60,
- 0x55,
- 0x4e,
- 0xd5,
- 0xc8,
- 0x6e,
- 0xf4,
- 0x0e,
- 0x57,
- 0xbe,
- 0x2e,
- 0xf9,
- 0x39,
- 0xbe,
- 0x59,
- 0x3f,
- 0xa2,
- 0x30,
- 0xbb,
- 0x57,
- 0xd1,
- 0xa3,
- 0x13,
- 0x2e,
- 0x55,
- 0x7c,
- 0x7c,
- 0x6a,
- 0xd8,
- 0xde,
- 0x02,
- 0xbe,
- 0x9e,
- 0xed,
- 0x10,
- 0xd0,
- 0xc5,
- 0x73,
- 0x1d,
- 0xea,
- 0x3e,
- 0xb1,
- 0x55,
- 0x81,
- 0x02,
- 0xef,
- 0x48,
- 0xc8,
- 0x1c,
- 0x5c,
- 0x7a,
- 0x92,
- 0xb0,
- 0x58,
- 0xd3,
- 0x19,
- 0x5b,
- 0x5d,
- 0xa2,
- 0xb6,
- 0x56,
- 0x69,
- 0x02,
- 0x40,
- 0x1e,
- 0x00,
- 0x6a,
- 0x9f,
- 0xba,
- 0xee,
- 0x46,
- 0x5a,
- 0xc5,
- 0xb5,
- 0x9f,
- 0x91,
- 0x33,
- 0xdd,
- 0xc9,
- 0x96,
- 0x75,
- 0xb7,
- 0x87,
- 0xcf,
- 0x18,
- 0x1c,
- 0xb7,
- 0xb9,
- 0x3f,
- 0x04,
- 0x10,
- 0xb8,
- 0x75,
- 0xa9,
- 0xb8,
- 0xa0,
- 0x31,
- 0x35,
- 0x03,
- 0x30,
- 0x89,
- 0xc8,
- 0x37,
- 0x68,
- 0x20,
- 0x30,
- 0x99,
- 0x39,
- 0x96,
- 0xd6,
- 0x2b,
- 0x3d,
- 0x5e,
- 0x45,
- 0x84,
- 0xf7,
- 0xd2,
- 0x61,
- 0x50,
- 0xc9,
- 0x50,
- 0xba,
- 0x8d,
- 0x08,
- 0xaa,
- 0xd0,
- 0x08,
- 0x1e,
+ 0x30, 0x82, 0x02, 0x5c, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81,
+ 0x00, 0xa8, 0x6e, 0x40, 0x86, 0x9f, 0x98, 0x59, 0xfb, 0x57,
+ 0xbf, 0xc1, 0x55, 0x12, 0x38, 0xeb, 0xb3, 0x46, 0x34, 0xc9,
+ 0x35, 0x4d, 0xfd, 0x03, 0xe9, 0x3a, 0x88, 0x9e, 0x97, 0x8f,
+ 0xf4, 0xec, 0x36, 0x7b, 0x3f, 0xba, 0xb8, 0xa5, 0x96, 0x30,
+ 0x03, 0xc5, 0xc6, 0xd9, 0xa8, 0x4e, 0xbc, 0x23, 0x51, 0xa1,
+ 0x96, 0xd2, 0x03, 0x98, 0x73, 0xb6, 0x17, 0x9c, 0x77, 0xd4,
+ 0x95, 0x1e, 0x1b, 0xb3, 0x1b, 0xc8, 0x71, 0xd1, 0x2e, 0x31,
+ 0xc7, 0x6a, 0x75, 0x57, 0x08, 0x7f, 0xba, 0x70, 0x76, 0xf7,
+ 0x67, 0xf4, 0x4e, 0xbe, 0xfc, 0x70, 0x61, 0x41, 0x07, 0x2b,
+ 0x7c, 0x3c, 0x3b, 0xb3, 0xbc, 0xd5, 0xa8, 0xbd, 0x28, 0xd8,
+ 0x49, 0xd3, 0xe1, 0x78, 0xc8, 0xc1, 0x42, 0x5e, 0x18, 0x36,
+ 0xa8, 0x41, 0xf7, 0xc8, 0xaa, 0x35, 0xfe, 0x2d, 0xd1, 0xb4,
+ 0xcc, 0x00, 0x67, 0xae, 0x79, 0xd3, 0x28, 0xd5, 0x5b, 0x02,
+ 0x03, 0x01, 0x00, 0x01, 0x02, 0x81, 0x81, 0x00, 0xa6, 0x00,
+ 0x83, 0xf8, 0x2b, 0x33, 0xac, 0xfb, 0xdb, 0xf0, 0x52, 0x4b,
+ 0xd6, 0x39, 0xe3, 0x94, 0x3d, 0x8d, 0xa9, 0x01, 0xb0, 0x6b,
+ 0xbe, 0x7f, 0x10, 0x01, 0xb6, 0xcd, 0x0a, 0x45, 0x0a, 0xca,
+ 0x67, 0x8e, 0xd8, 0x29, 0x44, 0x8a, 0x51, 0xa8, 0x66, 0x35,
+ 0x26, 0x30, 0x8b, 0xe9, 0x41, 0xa6, 0x22, 0xec, 0xd2, 0xf0,
+ 0x58, 0x41, 0x33, 0x26, 0xf2, 0x3f, 0xe8, 0x75, 0x4f, 0xc7,
+ 0x5d, 0x2e, 0x5a, 0xa8, 0x7a, 0xd2, 0xbf, 0x59, 0xa0, 0x86,
+ 0x79, 0x0b, 0x92, 0x6c, 0x95, 0x5d, 0x87, 0x63, 0x5c, 0xd6,
+ 0x1a, 0xc0, 0xf6, 0x7a, 0x15, 0x8d, 0xc7, 0x3c, 0xb6, 0x9e,
+ 0xa6, 0x58, 0x46, 0x9b, 0xbf, 0x3e, 0x28, 0x8c, 0xdf, 0x1a,
+ 0x87, 0xaa, 0x7e, 0xf5, 0xf2, 0xcb, 0x5e, 0x84, 0x2d, 0xf6,
+ 0x82, 0x7e, 0x89, 0x4e, 0xf5, 0xe6, 0x3c, 0x92, 0x80, 0x1e,
+ 0x98, 0x1c, 0x6a, 0x7b, 0x57, 0x01, 0x02, 0x41, 0x00, 0xdd,
+ 0x60, 0x95, 0xd7, 0xa1, 0x9d, 0x0c, 0xa1, 0x84, 0xc5, 0x39,
+ 0xca, 0x67, 0x4c, 0x1c, 0x06, 0x71, 0x5b, 0x5c, 0x2d, 0x8d,
+ 0xce, 0xcd, 0xe2, 0x79, 0xc8, 0x33, 0xbe, 0x50, 0x37, 0x60,
+ 0x9f, 0x3b, 0xb9, 0x59, 0x55, 0x22, 0x1f, 0xa5, 0x4b, 0x1d,
+ 0xca, 0x38, 0xa0, 0xab, 0x87, 0x9c, 0x86, 0x0e, 0xdb, 0x1c,
+ 0x4f, 0x4f, 0x07, 0xed, 0x18, 0x3f, 0x05, 0x3c, 0xec, 0x78,
+ 0x11, 0xf6, 0x99, 0x02, 0x41, 0x00, 0xc2, 0xc5, 0xcf, 0xbe,
+ 0x95, 0x91, 0xeb, 0xcf, 0x47, 0xf3, 0x33, 0x32, 0xc7, 0x7e,
+ 0x93, 0x56, 0xf7, 0xd8, 0xf9, 0xd4, 0xb6, 0xd6, 0x20, 0xac,
+ 0xba, 0x8a, 0x20, 0x19, 0x14, 0xab, 0xc5, 0x5d, 0xb2, 0x08,
+ 0xcc, 0x77, 0x7c, 0x65, 0xa8, 0xdb, 0x66, 0x97, 0x36, 0x44,
+ 0x2c, 0x63, 0xc0, 0x6a, 0x7e, 0xb0, 0x0b, 0x5c, 0x90, 0x12,
+ 0x50, 0xb4, 0x36, 0x60, 0xc3, 0x1f, 0x22, 0x0c, 0xc8, 0x13,
+ 0x02, 0x40, 0x33, 0xc8, 0x7e, 0x04, 0x7c, 0x97, 0x61, 0xf6,
+ 0xfe, 0x39, 0xac, 0x34, 0xfe, 0x48, 0xbd, 0x5d, 0x7c, 0x72,
+ 0xa4, 0x73, 0x3b, 0x72, 0x9e, 0x92, 0x55, 0x6e, 0x51, 0x3c,
+ 0x39, 0x43, 0x5a, 0xe4, 0xa4, 0x71, 0xcc, 0xc5, 0xaf, 0x3f,
+ 0xbb, 0xc8, 0x80, 0x65, 0x67, 0x2d, 0x9e, 0x32, 0x10, 0x99,
+ 0x03, 0x2c, 0x99, 0xc8, 0xab, 0x71, 0xed, 0x31, 0xf8, 0xbb,
+ 0xde, 0xee, 0x69, 0x7f, 0xba, 0x31, 0x02, 0x40, 0x7e, 0xbc,
+ 0x60, 0x55, 0x4e, 0xd5, 0xc8, 0x6e, 0xf4, 0x0e, 0x57, 0xbe,
+ 0x2e, 0xf9, 0x39, 0xbe, 0x59, 0x3f, 0xa2, 0x30, 0xbb, 0x57,
+ 0xd1, 0xa3, 0x13, 0x2e, 0x55, 0x7c, 0x7c, 0x6a, 0xd8, 0xde,
+ 0x02, 0xbe, 0x9e, 0xed, 0x10, 0xd0, 0xc5, 0x73, 0x1d, 0xea,
+ 0x3e, 0xb1, 0x55, 0x81, 0x02, 0xef, 0x48, 0xc8, 0x1c, 0x5c,
+ 0x7a, 0x92, 0xb0, 0x58, 0xd3, 0x19, 0x5b, 0x5d, 0xa2, 0xb6,
+ 0x56, 0x69, 0x02, 0x40, 0x1e, 0x00, 0x6a, 0x9f, 0xba, 0xee,
+ 0x46, 0x5a, 0xc5, 0xb5, 0x9f, 0x91, 0x33, 0xdd, 0xc9, 0x96,
+ 0x75, 0xb7, 0x87, 0xcf, 0x18, 0x1c, 0xb7, 0xb9, 0x3f, 0x04,
+ 0x10, 0xb8, 0x75, 0xa9, 0xb8, 0xa0, 0x31, 0x35, 0x03, 0x30,
+ 0x89, 0xc8, 0x37, 0x68, 0x20, 0x30, 0x99, 0x39, 0x96, 0xd6,
+ 0x2b, 0x3d, 0x5e, 0x45, 0x84, 0xf7, 0xd2, 0x61, 0x50, 0xc9,
+ 0x50, 0xba, 0x8d, 0x08, 0xaa, 0xd0, 0x08, 0x1e
};
static const PKCS12_ATTR ATTRS1[] = {
@@ -2873,615 +884,67 @@ static int pkcs12_create_test(void)
const unsigned char *p;
static const unsigned char rsa_key[] = {
- 0x30,
- 0x82,
- 0x02,
- 0x5d,
- 0x02,
- 0x01,
- 0x00,
- 0x02,
- 0x81,
- 0x81,
- 0x00,
- 0xbb,
- 0x24,
- 0x7a,
- 0x09,
- 0x7e,
- 0x0e,
- 0xb2,
- 0x37,
- 0x32,
- 0xcc,
- 0x39,
- 0x67,
- 0xad,
- 0xf1,
- 0x9e,
- 0x3d,
- 0x6b,
- 0x82,
- 0x83,
- 0xd1,
- 0xd0,
- 0xac,
- 0xa4,
- 0xc0,
- 0x18,
- 0xbe,
- 0x8d,
- 0x98,
- 0x00,
- 0xc0,
- 0x7b,
- 0xff,
- 0x07,
- 0x44,
- 0xc9,
- 0xca,
- 0x1c,
- 0xba,
- 0x36,
- 0xe1,
- 0x27,
- 0x69,
- 0xff,
- 0xb1,
- 0xe3,
- 0x8d,
- 0x8b,
- 0xee,
- 0x57,
- 0xa9,
- 0x3a,
- 0xaa,
- 0x16,
- 0x43,
- 0x39,
- 0x54,
- 0x19,
- 0x7c,
- 0xae,
- 0x69,
- 0x24,
- 0x14,
- 0xf6,
- 0x64,
- 0xff,
- 0xbc,
- 0x74,
- 0xc6,
- 0x67,
- 0x6c,
- 0x4c,
- 0xf1,
- 0x02,
- 0x49,
- 0x69,
- 0xc7,
- 0x2b,
- 0xe1,
- 0xe1,
- 0xa1,
- 0xa3,
- 0x43,
- 0x14,
- 0xf4,
- 0x77,
- 0x8f,
- 0xc8,
- 0xd0,
- 0x85,
- 0x5a,
- 0x35,
- 0x95,
- 0xac,
- 0x62,
- 0xa9,
- 0xc1,
- 0x21,
- 0x00,
- 0x77,
- 0xa0,
- 0x8b,
- 0x97,
- 0x30,
- 0xb4,
- 0x5a,
- 0x2c,
- 0xb8,
- 0x90,
- 0x2f,
- 0x48,
- 0xa0,
- 0x05,
- 0x28,
- 0x4b,
- 0xf2,
- 0x0f,
- 0x8d,
- 0xec,
- 0x8b,
- 0x4d,
- 0x03,
- 0x42,
- 0x75,
- 0xd6,
- 0xad,
- 0x81,
- 0xc0,
- 0x11,
- 0x02,
- 0x03,
- 0x01,
- 0x00,
- 0x01,
- 0x02,
- 0x81,
- 0x80,
- 0x00,
- 0xfc,
- 0xb9,
- 0x4a,
- 0x26,
- 0x07,
- 0x89,
- 0x51,
- 0x2b,
- 0x53,
- 0x72,
- 0x91,
- 0xe0,
- 0x18,
- 0x3e,
- 0xa6,
- 0x5e,
- 0x31,
- 0xef,
- 0x9c,
- 0x0c,
- 0x16,
- 0x24,
- 0x42,
- 0xd0,
- 0x28,
- 0x33,
- 0xf9,
- 0xfa,
- 0xd0,
- 0x3c,
- 0x54,
- 0x04,
- 0x06,
- 0xc0,
- 0x15,
- 0xf5,
- 0x1b,
- 0x9a,
- 0xb3,
- 0x24,
- 0x31,
- 0xab,
- 0x3c,
- 0x6b,
- 0x47,
- 0x43,
- 0xb0,
- 0xd2,
- 0xa9,
- 0xdc,
- 0x05,
- 0xe1,
- 0x81,
- 0x59,
- 0xb6,
- 0x04,
- 0xe9,
- 0x66,
- 0x61,
- 0xaa,
- 0xd7,
- 0x0b,
- 0x00,
- 0x8f,
- 0x3d,
- 0xe5,
- 0xbf,
- 0xa2,
- 0xf8,
- 0x5e,
- 0x25,
- 0x6c,
- 0x1e,
- 0x22,
- 0x0f,
- 0xb4,
- 0xfd,
- 0x41,
- 0xe2,
- 0x03,
- 0x31,
- 0x5f,
- 0xda,
- 0x20,
- 0xc5,
- 0xc0,
- 0xf3,
- 0x55,
- 0x0e,
- 0xe1,
- 0xc9,
- 0xec,
- 0xd7,
- 0x3e,
- 0x2a,
- 0x0c,
- 0x01,
- 0xca,
- 0x7b,
- 0x22,
- 0xcb,
- 0xac,
- 0xf4,
- 0x2b,
- 0x27,
- 0xf0,
- 0x78,
- 0x5f,
- 0xb5,
- 0xc2,
- 0xf9,
- 0xe8,
- 0x14,
- 0x5a,
- 0x6e,
- 0x7e,
- 0x86,
- 0xbd,
- 0x6a,
- 0x9b,
- 0x20,
- 0x0c,
- 0xba,
- 0xcc,
- 0x97,
- 0x20,
- 0x11,
- 0x02,
- 0x41,
- 0x00,
- 0xc9,
- 0x59,
- 0x9f,
- 0x29,
- 0x8a,
- 0x5b,
- 0x9f,
- 0xe3,
- 0x2a,
- 0xd8,
- 0x7e,
- 0xc2,
- 0x40,
- 0x9f,
- 0xa8,
- 0x45,
- 0xe5,
- 0x3e,
- 0x11,
- 0x8d,
- 0x3c,
- 0xed,
- 0x6e,
- 0xab,
- 0xce,
- 0xd0,
- 0x65,
- 0x46,
- 0xd8,
- 0xc7,
- 0x07,
- 0x63,
- 0xb5,
- 0x23,
- 0x34,
- 0xf4,
- 0x9f,
- 0x7e,
- 0x1c,
- 0xc7,
- 0xc7,
- 0xf9,
- 0x65,
- 0xd1,
- 0xf4,
- 0x04,
- 0x42,
- 0x38,
- 0xbe,
- 0x3a,
- 0x0c,
- 0x9d,
- 0x08,
- 0x25,
- 0xfc,
- 0xa3,
- 0x71,
- 0xd9,
- 0xae,
- 0x0c,
- 0x39,
- 0x61,
- 0xf4,
- 0x89,
- 0x02,
- 0x41,
- 0x00,
- 0xed,
- 0xef,
- 0xab,
- 0xa9,
- 0xd5,
- 0x39,
- 0x9c,
- 0xee,
- 0x59,
- 0x1b,
- 0xff,
- 0xcf,
- 0x48,
- 0x44,
- 0x1b,
- 0xb6,
- 0x32,
- 0xe7,
- 0x46,
- 0x24,
- 0xf3,
- 0x04,
- 0x7f,
- 0xde,
- 0x95,
- 0x08,
- 0x6d,
- 0x75,
- 0x9e,
- 0x67,
- 0x17,
- 0xba,
- 0x5c,
- 0xa4,
- 0xd4,
- 0xe2,
- 0xe2,
- 0x4d,
- 0x77,
- 0xce,
- 0xeb,
- 0x66,
- 0x29,
- 0xc5,
- 0x96,
- 0xe0,
- 0x62,
- 0xbb,
- 0xe5,
- 0xac,
- 0xdc,
- 0x44,
- 0x62,
- 0x54,
- 0x86,
- 0xed,
- 0x64,
- 0x0c,
- 0xce,
- 0xd0,
- 0x60,
- 0x03,
- 0x9d,
- 0x49,
- 0x02,
- 0x40,
- 0x54,
- 0xd9,
- 0x18,
- 0x72,
- 0x27,
- 0xe4,
- 0xbe,
- 0x76,
- 0xbb,
- 0x1a,
- 0x6a,
- 0x28,
- 0x2f,
- 0x95,
- 0x58,
- 0x12,
- 0xc4,
- 0x2c,
- 0xa8,
- 0xb6,
- 0xcc,
- 0xe2,
- 0xfd,
- 0x0d,
- 0x17,
- 0x64,
- 0xc8,
- 0x18,
- 0xd7,
- 0xc6,
- 0xdf,
- 0x3d,
- 0x4c,
- 0x1a,
- 0x9e,
- 0xf9,
- 0x2a,
- 0xb0,
- 0xb9,
- 0x2e,
- 0x12,
- 0xfd,
- 0xec,
- 0xc3,
- 0x51,
- 0xc1,
- 0xed,
- 0xa9,
- 0xfd,
- 0xb7,
- 0x76,
- 0x93,
- 0x41,
- 0xd8,
- 0xc8,
- 0x22,
- 0x94,
- 0x1a,
- 0x77,
- 0xf6,
- 0x9c,
- 0xc3,
- 0xc3,
- 0x89,
- 0x02,
- 0x41,
- 0x00,
- 0x8e,
- 0xf9,
- 0xa7,
- 0x08,
- 0xad,
- 0xb5,
- 0x2a,
- 0x04,
- 0xdb,
- 0x8d,
- 0x04,
- 0xa1,
- 0xb5,
- 0x06,
- 0x20,
- 0x34,
- 0xd2,
- 0xcf,
- 0xc0,
- 0x89,
- 0xb1,
- 0x72,
- 0x31,
- 0xb8,
- 0x39,
- 0x8b,
- 0xcf,
- 0xe2,
- 0x8e,
- 0xa5,
- 0xda,
- 0x4f,
- 0x45,
- 0x1e,
- 0x53,
- 0x42,
- 0x66,
- 0xc4,
- 0x30,
- 0x4b,
- 0x29,
- 0x8e,
- 0xc1,
- 0x69,
- 0x17,
- 0x29,
- 0x8c,
- 0x8a,
- 0xe6,
- 0x0f,
- 0x82,
- 0x68,
- 0xa1,
- 0x41,
- 0xb3,
- 0xb6,
- 0x70,
- 0x99,
- 0x75,
- 0xa9,
- 0x27,
- 0x18,
- 0xe4,
- 0xe9,
- 0x02,
- 0x41,
- 0x00,
- 0x89,
- 0xea,
- 0x6e,
- 0x6d,
- 0x70,
- 0xdf,
- 0x25,
- 0x5f,
- 0x18,
- 0x3f,
- 0x48,
- 0xda,
- 0x63,
- 0x10,
- 0x8b,
- 0xfe,
- 0xa8,
- 0x0c,
- 0x94,
- 0x0f,
- 0xde,
- 0x97,
- 0x56,
- 0x53,
- 0x89,
- 0x94,
- 0xe2,
- 0x1e,
- 0x2c,
- 0x74,
- 0x3c,
- 0x91,
- 0x81,
- 0x34,
- 0x0b,
- 0xa6,
- 0x40,
- 0xf8,
- 0xcb,
- 0x2a,
- 0x60,
- 0x8c,
- 0xe0,
- 0x02,
- 0xb7,
- 0x89,
- 0x93,
- 0xcf,
- 0x18,
- 0x9f,
- 0x49,
- 0x54,
- 0xfd,
- 0x7d,
- 0x3f,
- 0x9a,
- 0xef,
- 0xd4,
- 0xa4,
- 0x4f,
- 0xc1,
- 0x45,
- 0x99,
- 0x91,
+ 0x30, 0x82, 0x02, 0x5d, 0x02, 0x01, 0x00, 0x02, 0x81, 0x81,
+ 0x00, 0xbb, 0x24, 0x7a, 0x09, 0x7e, 0x0e, 0xb2, 0x37, 0x32,
+ 0xcc, 0x39, 0x67, 0xad, 0xf1, 0x9e, 0x3d, 0x6b, 0x82, 0x83,
+ 0xd1, 0xd0, 0xac, 0xa4, 0xc0, 0x18, 0xbe, 0x8d, 0x98, 0x00,
+ 0xc0, 0x7b, 0xff, 0x07, 0x44, 0xc9, 0xca, 0x1c, 0xba, 0x36,
+ 0xe1, 0x27, 0x69, 0xff, 0xb1, 0xe3, 0x8d, 0x8b, 0xee, 0x57,
+ 0xa9, 0x3a, 0xaa, 0x16, 0x43, 0x39, 0x54, 0x19, 0x7c, 0xae,
+ 0x69, 0x24, 0x14, 0xf6, 0x64, 0xff, 0xbc, 0x74, 0xc6, 0x67,
+ 0x6c, 0x4c, 0xf1, 0x02, 0x49, 0x69, 0xc7, 0x2b, 0xe1, 0xe1,
+ 0xa1, 0xa3, 0x43, 0x14, 0xf4, 0x77, 0x8f, 0xc8, 0xd0, 0x85,
+ 0x5a, 0x35, 0x95, 0xac, 0x62, 0xa9, 0xc1, 0x21, 0x00, 0x77,
+ 0xa0, 0x8b, 0x97, 0x30, 0xb4, 0x5a, 0x2c, 0xb8, 0x90, 0x2f,
+ 0x48, 0xa0, 0x05, 0x28, 0x4b, 0xf2, 0x0f, 0x8d, 0xec, 0x8b,
+ 0x4d, 0x03, 0x42, 0x75, 0xd6, 0xad, 0x81, 0xc0, 0x11, 0x02,
+ 0x03, 0x01, 0x00, 0x01, 0x02, 0x81, 0x80, 0x00, 0xfc, 0xb9,
+ 0x4a, 0x26, 0x07, 0x89, 0x51, 0x2b, 0x53, 0x72, 0x91, 0xe0,
+ 0x18, 0x3e, 0xa6, 0x5e, 0x31, 0xef, 0x9c, 0x0c, 0x16, 0x24,
+ 0x42, 0xd0, 0x28, 0x33, 0xf9, 0xfa, 0xd0, 0x3c, 0x54, 0x04,
+ 0x06, 0xc0, 0x15, 0xf5, 0x1b, 0x9a, 0xb3, 0x24, 0x31, 0xab,
+ 0x3c, 0x6b, 0x47, 0x43, 0xb0, 0xd2, 0xa9, 0xdc, 0x05, 0xe1,
+ 0x81, 0x59, 0xb6, 0x04, 0xe9, 0x66, 0x61, 0xaa, 0xd7, 0x0b,
+ 0x00, 0x8f, 0x3d, 0xe5, 0xbf, 0xa2, 0xf8, 0x5e, 0x25, 0x6c,
+ 0x1e, 0x22, 0x0f, 0xb4, 0xfd, 0x41, 0xe2, 0x03, 0x31, 0x5f,
+ 0xda, 0x20, 0xc5, 0xc0, 0xf3, 0x55, 0x0e, 0xe1, 0xc9, 0xec,
+ 0xd7, 0x3e, 0x2a, 0x0c, 0x01, 0xca, 0x7b, 0x22, 0xcb, 0xac,
+ 0xf4, 0x2b, 0x27, 0xf0, 0x78, 0x5f, 0xb5, 0xc2, 0xf9, 0xe8,
+ 0x14, 0x5a, 0x6e, 0x7e, 0x86, 0xbd, 0x6a, 0x9b, 0x20, 0x0c,
+ 0xba, 0xcc, 0x97, 0x20, 0x11, 0x02, 0x41, 0x00, 0xc9, 0x59,
+ 0x9f, 0x29, 0x8a, 0x5b, 0x9f, 0xe3, 0x2a, 0xd8, 0x7e, 0xc2,
+ 0x40, 0x9f, 0xa8, 0x45, 0xe5, 0x3e, 0x11, 0x8d, 0x3c, 0xed,
+ 0x6e, 0xab, 0xce, 0xd0, 0x65, 0x46, 0xd8, 0xc7, 0x07, 0x63,
+ 0xb5, 0x23, 0x34, 0xf4, 0x9f, 0x7e, 0x1c, 0xc7, 0xc7, 0xf9,
+ 0x65, 0xd1, 0xf4, 0x04, 0x42, 0x38, 0xbe, 0x3a, 0x0c, 0x9d,
+ 0x08, 0x25, 0xfc, 0xa3, 0x71, 0xd9, 0xae, 0x0c, 0x39, 0x61,
+ 0xf4, 0x89, 0x02, 0x41, 0x00, 0xed, 0xef, 0xab, 0xa9, 0xd5,
+ 0x39, 0x9c, 0xee, 0x59, 0x1b, 0xff, 0xcf, 0x48, 0x44, 0x1b,
+ 0xb6, 0x32, 0xe7, 0x46, 0x24, 0xf3, 0x04, 0x7f, 0xde, 0x95,
+ 0x08, 0x6d, 0x75, 0x9e, 0x67, 0x17, 0xba, 0x5c, 0xa4, 0xd4,
+ 0xe2, 0xe2, 0x4d, 0x77, 0xce, 0xeb, 0x66, 0x29, 0xc5, 0x96,
+ 0xe0, 0x62, 0xbb, 0xe5, 0xac, 0xdc, 0x44, 0x62, 0x54, 0x86,
+ 0xed, 0x64, 0x0c, 0xce, 0xd0, 0x60, 0x03, 0x9d, 0x49, 0x02,
+ 0x40, 0x54, 0xd9, 0x18, 0x72, 0x27, 0xe4, 0xbe, 0x76, 0xbb,
+ 0x1a, 0x6a, 0x28, 0x2f, 0x95, 0x58, 0x12, 0xc4, 0x2c, 0xa8,
+ 0xb6, 0xcc, 0xe2, 0xfd, 0x0d, 0x17, 0x64, 0xc8, 0x18, 0xd7,
+ 0xc6, 0xdf, 0x3d, 0x4c, 0x1a, 0x9e, 0xf9, 0x2a, 0xb0, 0xb9,
+ 0x2e, 0x12, 0xfd, 0xec, 0xc3, 0x51, 0xc1, 0xed, 0xa9, 0xfd,
+ 0xb7, 0x76, 0x93, 0x41, 0xd8, 0xc8, 0x22, 0x94, 0x1a, 0x77,
+ 0xf6, 0x9c, 0xc3, 0xc3, 0x89, 0x02, 0x41, 0x00, 0x8e, 0xf9,
+ 0xa7, 0x08, 0xad, 0xb5, 0x2a, 0x04, 0xdb, 0x8d, 0x04, 0xa1,
+ 0xb5, 0x06, 0x20, 0x34, 0xd2, 0xcf, 0xc0, 0x89, 0xb1, 0x72,
+ 0x31, 0xb8, 0x39, 0x8b, 0xcf, 0xe2, 0x8e, 0xa5, 0xda, 0x4f,
+ 0x45, 0x1e, 0x53, 0x42, 0x66, 0xc4, 0x30, 0x4b, 0x29, 0x8e,
+ 0xc1, 0x69, 0x17, 0x29, 0x8c, 0x8a, 0xe6, 0x0f, 0x82, 0x68,
+ 0xa1, 0x41, 0xb3, 0xb6, 0x70, 0x99, 0x75, 0xa9, 0x27, 0x18,
+ 0xe4, 0xe9, 0x02, 0x41, 0x00, 0x89, 0xea, 0x6e, 0x6d, 0x70,
+ 0xdf, 0x25, 0x5f, 0x18, 0x3f, 0x48, 0xda, 0x63, 0x10, 0x8b,
+ 0xfe, 0xa8, 0x0c, 0x94, 0x0f, 0xde, 0x97, 0x56, 0x53, 0x89,
+ 0x94, 0xe2, 0x1e, 0x2c, 0x74, 0x3c, 0x91, 0x81, 0x34, 0x0b,
+ 0xa6, 0x40, 0xf8, 0xcb, 0x2a, 0x60, 0x8c, 0xe0, 0x02, 0xb7,
+ 0x89, 0x93, 0xcf, 0x18, 0x9f, 0x49, 0x54, 0xfd, 0x7d, 0x3f,
+ 0x9a, 0xef, 0xd4, 0xa4, 0x4f, 0xc1, 0x45, 0x99, 0x91
};
p = rsa_key;
diff --git a/crypto/openssl/test/quic_record_test.c b/crypto/openssl/test/quic_record_test.c
index 4966a2f7b5f..319884b6aef 100644
--- a/crypto/openssl/test/quic_record_test.c
+++ b/crypto/openssl/test/quic_record_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -232,131 +232,22 @@ static const struct rx_test_op rx_script_3[] = {
/* 4. Real World - Retry (S2C) */
static const unsigned char rx_script_4_in[] = {
0xf0, /* Long; Retry */
- 0x00,
- 0x00,
- 0x00,
- 0x01, /* Version 1 */
+ 0x00, 0x00, 0x00, 0x01, /* Version 1 */
0x00, /* DCID */
- 0x04,
- 0xad,
- 0x15,
- 0x3f,
- 0xae, /* SCID */
+ 0x04, 0xad, 0x15, 0x3f, 0xae, /* SCID */
/* Retry Token, including 16-byte Retry Integrity Tag */
- 0xf6,
- 0x8b,
- 0x6e,
- 0xa3,
- 0xdc,
- 0x40,
- 0x38,
- 0xc6,
- 0xa5,
- 0x99,
- 0x1c,
- 0xa9,
- 0x77,
- 0xe6,
- 0x1d,
- 0x4f,
- 0x09,
- 0x36,
- 0x12,
- 0x26,
- 0x00,
- 0x56,
- 0x0b,
- 0x29,
- 0x7d,
- 0x5e,
- 0xda,
- 0x39,
- 0xc6,
- 0x61,
- 0x57,
- 0x69,
- 0x15,
- 0xff,
- 0x93,
- 0x39,
- 0x95,
- 0xf0,
- 0x57,
- 0xf1,
- 0xe5,
- 0x36,
- 0x08,
- 0xad,
- 0xd2,
- 0x75,
- 0xa9,
- 0x68,
- 0x29,
- 0xed,
- 0xaa,
- 0x03,
- 0x0e,
- 0x5f,
- 0xac,
- 0xbd,
- 0x26,
- 0x07,
- 0x95,
- 0x4e,
- 0x48,
- 0x61,
- 0x26,
- 0xc5,
- 0xe2,
- 0x6c,
- 0x60,
- 0xbf,
- 0xa8,
- 0x6f,
- 0x51,
- 0xbb,
- 0x1d,
- 0xf7,
- 0x98,
- 0x95,
- 0x3b,
- 0x2c,
- 0x50,
- 0x79,
- 0xcc,
- 0xde,
- 0x27,
- 0x84,
- 0x44,
- 0x9b,
- 0xb2,
- 0x4a,
- 0x94,
- 0x4d,
- 0x4d,
- 0x3d,
- 0xbc,
- 0x00,
- 0x9d,
- 0x69,
- 0xad,
- 0x45,
- 0x89,
- 0x04,
- 0x48,
- 0xca,
- 0x04,
- 0xf6,
- 0x3a,
- 0x62,
- 0xc1,
- 0x38,
- 0x9d,
- 0x82,
- 0xb3,
- 0x45,
- 0x62,
- 0x4c,
+ 0xf6, 0x8b, 0x6e, 0xa3, 0xdc, 0x40, 0x38, 0xc6, 0xa5, 0x99,
+ 0x1c, 0xa9, 0x77, 0xe6, 0x1d, 0x4f, 0x09, 0x36, 0x12, 0x26,
+ 0x00, 0x56, 0x0b, 0x29, 0x7d, 0x5e, 0xda, 0x39, 0xc6, 0x61,
+ 0x57, 0x69, 0x15, 0xff, 0x93, 0x39, 0x95, 0xf0, 0x57, 0xf1,
+ 0xe5, 0x36, 0x08, 0xad, 0xd2, 0x75, 0xa9, 0x68, 0x29, 0xed,
+ 0xaa, 0x03, 0x0e, 0x5f, 0xac, 0xbd, 0x26, 0x07, 0x95, 0x4e,
+ 0x48, 0x61, 0x26, 0xc5, 0xe2, 0x6c, 0x60, 0xbf, 0xa8, 0x6f,
+ 0x51, 0xbb, 0x1d, 0xf7, 0x98, 0x95, 0x3b, 0x2c, 0x50, 0x79,
+ 0xcc, 0xde, 0x27, 0x84, 0x44, 0x9b, 0xb2, 0x4a, 0x94, 0x4d,
+ 0x4d, 0x3d, 0xbc, 0x00, 0x9d, 0x69, 0xad, 0x45, 0x89, 0x04,
+ 0x48, 0xca, 0x04, 0xf6, 0x3a, 0x62, 0xc1, 0x38, 0x9d, 0x82,
+ 0xb3, 0x45, 0x62, 0x4c
};
static const QUIC_PKT_HDR rx_script_4_expect_hdr = {
@@ -411,38 +302,10 @@ static const unsigned char rx_script_5_handshake_secret[32] = {
};
static const unsigned char rx_script_5_1rtt_secret[32] = {
- 0x53,
- 0xf2,
- 0x1b,
- 0x94,
- 0xa7,
- 0x65,
- 0xf7,
- 0x76,
- 0xfb,
- 0x06,
- 0x27,
- 0xaa,
- 0xd2,
- 0x3f,
- 0xe0,
- 0x9a,
- 0xbb,
- 0xcf,
- 0x99,
- 0x6f,
- 0x13,
- 0x2c,
- 0x6a,
- 0x37,
- 0x95,
- 0xf3,
- 0xda,
- 0x21,
- 0xcb,
- 0xcb,
- 0xa5,
- 0x26,
+ 0x53, 0xf2, 0x1b, 0x94, 0xa7, 0x65, 0xf7, 0x76, 0xfb, 0x06,
+ 0x27, 0xaa, 0xd2, 0x3f, 0xe0, 0x9a, 0xbb, 0xcf, 0x99, 0x6f,
+ 0x13, 0x2c, 0x6a, 0x37, 0x95, 0xf3, 0xda, 0x21, 0xcb, 0xcb,
+ 0xa5, 0x26
};
static const unsigned char rx_script_5_in[] = {
@@ -463,470 +326,53 @@ static const unsigned char rx_script_5_in[] = {
0xd2, /* Length (466) */
0xe3,
0xab, /* PN (0) */
- 0x22,
- 0x35,
- 0x34,
- 0x12,
- 0xcf,
- 0x20,
- 0x2b,
- 0x16,
- 0xaf,
- 0x08,
- 0xd4,
- 0xe0,
- 0x94,
- 0x8b,
- 0x1e,
- 0x62,
- 0xdf,
- 0x31,
- 0x61,
- 0xcc,
- 0xf9,
- 0xfa,
- 0x66,
- 0x4f,
- 0x18,
- 0x61,
- 0x07,
- 0xcb,
- 0x13,
- 0xd3,
- 0xf9,
- 0xbf,
- 0xe2,
- 0x8e,
- 0x25,
- 0x8d,
- 0xd1,
- 0xdf,
- 0x58,
- 0x9c,
- 0x05,
- 0x20,
- 0xf9,
- 0xf2,
- 0x01,
- 0x20,
- 0xe9,
- 0x39,
- 0xc3,
- 0x80,
- 0x77,
- 0xec,
- 0xa4,
- 0x57,
- 0xcf,
- 0x57,
- 0x8c,
- 0xdd,
- 0x68,
- 0x82,
- 0x91,
- 0xfe,
- 0x71,
- 0xa0,
- 0xfa,
- 0x56,
- 0x4c,
- 0xf2,
- 0xe7,
- 0x2b,
- 0xd0,
- 0xc0,
- 0xda,
- 0x81,
- 0xe2,
- 0x39,
- 0xb5,
- 0xf0,
- 0x0f,
- 0xd9,
- 0x07,
- 0xd5,
- 0x67,
- 0x09,
- 0x02,
- 0xf0,
- 0xff,
- 0x74,
- 0xb0,
- 0xa0,
- 0xd9,
- 0x3a,
- 0x7e,
- 0xb6,
- 0x57,
- 0x82,
- 0x47,
- 0x18,
- 0x66,
- 0xed,
- 0xe2,
- 0x18,
- 0x4d,
- 0xc2,
- 0x5c,
- 0x9f,
- 0x05,
- 0x09,
- 0x18,
- 0x24,
- 0x0e,
- 0x3f,
- 0x3d,
- 0xf9,
- 0x15,
- 0x8b,
- 0x08,
- 0xfd,
- 0x25,
- 0xe9,
- 0xc9,
- 0xb7,
- 0x8c,
- 0x18,
- 0x7b,
- 0xf3,
- 0x37,
- 0x58,
- 0xf0,
- 0xf0,
- 0xac,
- 0x33,
- 0x55,
- 0x3f,
- 0x39,
- 0xbc,
- 0x62,
- 0x03,
- 0x8a,
- 0xc0,
- 0xd6,
- 0xcc,
- 0x49,
- 0x47,
- 0xeb,
- 0x85,
- 0xb6,
- 0x72,
- 0xd7,
- 0xf8,
- 0xdc,
- 0x01,
- 0x32,
- 0xec,
- 0x1b,
- 0x4e,
- 0x38,
- 0x6e,
- 0x2c,
- 0xc5,
- 0x80,
- 0xf2,
- 0x43,
- 0x4a,
- 0xf5,
- 0xe5,
- 0xa2,
- 0xf8,
- 0x76,
- 0xa7,
- 0xa8,
- 0x57,
- 0x32,
- 0x67,
- 0x72,
- 0xeb,
- 0x82,
- 0xac,
- 0x3e,
- 0xc0,
- 0x15,
- 0x67,
- 0xac,
- 0x32,
- 0x19,
- 0x18,
- 0x0a,
- 0xef,
- 0x20,
- 0xa1,
- 0xe8,
- 0xaf,
- 0xac,
- 0x33,
- 0x87,
- 0x4c,
- 0x55,
- 0x05,
- 0x9b,
- 0x78,
- 0xf0,
- 0x3a,
- 0xce,
- 0x02,
- 0x28,
- 0x06,
- 0x84,
- 0x61,
- 0x97,
- 0xac,
- 0x87,
- 0x8f,
- 0x25,
- 0xe7,
- 0x1b,
- 0xa3,
- 0x02,
- 0x08,
- 0x4c,
- 0x2e,
- 0xef,
- 0xbd,
- 0x4f,
- 0x82,
- 0xe7,
- 0x37,
- 0x6c,
- 0x27,
- 0x6f,
- 0x85,
- 0xb4,
- 0xbc,
- 0x79,
- 0x38,
- 0x45,
- 0x80,
- 0x8a,
- 0xda,
- 0x2f,
- 0x11,
- 0x11,
- 0xac,
- 0x9c,
- 0xf3,
- 0x93,
- 0xc1,
- 0x49,
- 0x1b,
- 0x94,
- 0x12,
- 0x77,
- 0x07,
- 0xdc,
- 0xbf,
- 0xc2,
- 0xfd,
- 0x8b,
- 0xf6,
- 0xf1,
- 0x66,
- 0x1c,
- 0x7f,
- 0x07,
- 0xbf,
- 0x1f,
- 0xae,
- 0x27,
- 0x6c,
- 0x66,
- 0xe9,
- 0xa3,
- 0x64,
- 0x7a,
- 0x96,
- 0x78,
- 0x45,
- 0xfe,
- 0x4b,
- 0x8c,
- 0x6f,
- 0x7f,
- 0x03,
- 0x47,
- 0x3c,
- 0xd7,
- 0xf7,
- 0x63,
- 0x92,
- 0x58,
- 0x5b,
- 0x63,
- 0x83,
- 0x03,
- 0x05,
- 0xc3,
- 0x5d,
- 0x36,
- 0x62,
- 0x63,
- 0x5e,
- 0xcf,
- 0xfe,
- 0x0a,
- 0x29,
- 0xfa,
- 0xeb,
- 0xc8,
- 0xaf,
- 0xce,
- 0x31,
- 0x07,
- 0x6a,
- 0x09,
- 0x41,
- 0xc0,
- 0x2d,
- 0x98,
- 0x70,
- 0x05,
- 0x3b,
- 0x41,
- 0xfc,
- 0x7d,
- 0x61,
- 0xe0,
- 0x41,
- 0x7d,
- 0x13,
- 0x41,
- 0x51,
- 0x52,
- 0xb4,
- 0x78,
- 0xd5,
- 0x46,
- 0x51,
- 0x3b,
- 0xf1,
- 0xcd,
- 0xcc,
- 0x2e,
- 0x49,
- 0x30,
- 0x8b,
- 0x2a,
- 0xd2,
- 0xe6,
- 0x69,
- 0xb5,
- 0x6b,
- 0x7a,
- 0xf4,
- 0xbb,
- 0xd1,
- 0xf8,
- 0x4a,
- 0xe8,
- 0x53,
- 0x10,
- 0x46,
- 0x85,
- 0x8d,
- 0x66,
- 0x8e,
- 0x2b,
- 0xe8,
- 0x5d,
- 0xab,
- 0x7e,
- 0xfe,
- 0x5a,
- 0x79,
- 0xcf,
- 0xc5,
- 0x0c,
- 0x30,
- 0x9e,
- 0x98,
- 0x02,
- 0xb3,
- 0xa6,
- 0xd5,
- 0xfa,
- 0x25,
- 0xa8,
- 0xc8,
- 0xc1,
- 0xd9,
- 0x51,
- 0x60,
- 0x57,
- 0x5d,
- 0xfe,
- 0x75,
- 0x97,
- 0x05,
- 0xda,
- 0xbb,
- 0xc6,
- 0x6a,
- 0xbe,
- 0x5c,
- 0xa5,
- 0x65,
- 0x0a,
- 0x12,
- 0x33,
- 0x1c,
- 0xdf,
- 0xee,
- 0x08,
- 0xa9,
- 0x13,
- 0x13,
- 0x28,
- 0xce,
- 0x61,
- 0x59,
- 0xd1,
- 0x4e,
- 0xc7,
- 0x74,
- 0xfd,
- 0x64,
- 0xde,
- 0x08,
- 0xce,
- 0xda,
- 0x3f,
- 0xec,
- 0xad,
- 0xc9,
- 0xe1,
- 0xf9,
- 0x1f,
- 0x74,
- 0xf6,
- 0x86,
- 0x37,
- 0x6a,
- 0xa0,
- 0xc8,
- 0x0b,
- 0x1b,
- 0x94,
- 0x98,
- 0x86,
- 0x81,
- 0x3b,
- 0xfc,
- 0x47,
- 0x6c,
- 0xc9,
- 0x3e,
- 0x3c,
- 0x30,
- 0xc5,
- 0x9e,
- 0xb2,
- 0x32,
- 0x47,
- 0xf5,
- 0x0c,
- 0x6f,
+ 0x22, 0x35, 0x34, 0x12, 0xcf, 0x20, 0x2b, 0x16, 0xaf, 0x08,
+ 0xd4, 0xe0, 0x94, 0x8b, 0x1e, 0x62, 0xdf, 0x31, 0x61, 0xcc,
+ 0xf9, 0xfa, 0x66, 0x4f, 0x18, 0x61, 0x07, 0xcb, 0x13, 0xd3,
+ 0xf9, 0xbf, 0xe2, 0x8e, 0x25, 0x8d, 0xd1, 0xdf, 0x58, 0x9c,
+ 0x05, 0x20, 0xf9, 0xf2, 0x01, 0x20, 0xe9, 0x39, 0xc3, 0x80,
+ 0x77, 0xec, 0xa4, 0x57, 0xcf, 0x57, 0x8c, 0xdd, 0x68, 0x82,
+ 0x91, 0xfe, 0x71, 0xa0, 0xfa, 0x56, 0x4c, 0xf2, 0xe7, 0x2b,
+ 0xd0, 0xc0, 0xda, 0x81, 0xe2, 0x39, 0xb5, 0xf0, 0x0f, 0xd9,
+ 0x07, 0xd5, 0x67, 0x09, 0x02, 0xf0, 0xff, 0x74, 0xb0, 0xa0,
+ 0xd9, 0x3a, 0x7e, 0xb6, 0x57, 0x82, 0x47, 0x18, 0x66, 0xed,
+ 0xe2, 0x18, 0x4d, 0xc2, 0x5c, 0x9f, 0x05, 0x09, 0x18, 0x24,
+ 0x0e, 0x3f, 0x3d, 0xf9, 0x15, 0x8b, 0x08, 0xfd, 0x25, 0xe9,
+ 0xc9, 0xb7, 0x8c, 0x18, 0x7b, 0xf3, 0x37, 0x58, 0xf0, 0xf0,
+ 0xac, 0x33, 0x55, 0x3f, 0x39, 0xbc, 0x62, 0x03, 0x8a, 0xc0,
+ 0xd6, 0xcc, 0x49, 0x47, 0xeb, 0x85, 0xb6, 0x72, 0xd7, 0xf8,
+ 0xdc, 0x01, 0x32, 0xec, 0x1b, 0x4e, 0x38, 0x6e, 0x2c, 0xc5,
+ 0x80, 0xf2, 0x43, 0x4a, 0xf5, 0xe5, 0xa2, 0xf8, 0x76, 0xa7,
+ 0xa8, 0x57, 0x32, 0x67, 0x72, 0xeb, 0x82, 0xac, 0x3e, 0xc0,
+ 0x15, 0x67, 0xac, 0x32, 0x19, 0x18, 0x0a, 0xef, 0x20, 0xa1,
+ 0xe8, 0xaf, 0xac, 0x33, 0x87, 0x4c, 0x55, 0x05, 0x9b, 0x78,
+ 0xf0, 0x3a, 0xce, 0x02, 0x28, 0x06, 0x84, 0x61, 0x97, 0xac,
+ 0x87, 0x8f, 0x25, 0xe7, 0x1b, 0xa3, 0x02, 0x08, 0x4c, 0x2e,
+ 0xef, 0xbd, 0x4f, 0x82, 0xe7, 0x37, 0x6c, 0x27, 0x6f, 0x85,
+ 0xb4, 0xbc, 0x79, 0x38, 0x45, 0x80, 0x8a, 0xda, 0x2f, 0x11,
+ 0x11, 0xac, 0x9c, 0xf3, 0x93, 0xc1, 0x49, 0x1b, 0x94, 0x12,
+ 0x77, 0x07, 0xdc, 0xbf, 0xc2, 0xfd, 0x8b, 0xf6, 0xf1, 0x66,
+ 0x1c, 0x7f, 0x07, 0xbf, 0x1f, 0xae, 0x27, 0x6c, 0x66, 0xe9,
+ 0xa3, 0x64, 0x7a, 0x96, 0x78, 0x45, 0xfe, 0x4b, 0x8c, 0x6f,
+ 0x7f, 0x03, 0x47, 0x3c, 0xd7, 0xf7, 0x63, 0x92, 0x58, 0x5b,
+ 0x63, 0x83, 0x03, 0x05, 0xc3, 0x5d, 0x36, 0x62, 0x63, 0x5e,
+ 0xcf, 0xfe, 0x0a, 0x29, 0xfa, 0xeb, 0xc8, 0xaf, 0xce, 0x31,
+ 0x07, 0x6a, 0x09, 0x41, 0xc0, 0x2d, 0x98, 0x70, 0x05, 0x3b,
+ 0x41, 0xfc, 0x7d, 0x61, 0xe0, 0x41, 0x7d, 0x13, 0x41, 0x51,
+ 0x52, 0xb4, 0x78, 0xd5, 0x46, 0x51, 0x3b, 0xf1, 0xcd, 0xcc,
+ 0x2e, 0x49, 0x30, 0x8b, 0x2a, 0xd2, 0xe6, 0x69, 0xb5, 0x6b,
+ 0x7a, 0xf4, 0xbb, 0xd1, 0xf8, 0x4a, 0xe8, 0x53, 0x10, 0x46,
+ 0x85, 0x8d, 0x66, 0x8e, 0x2b, 0xe8, 0x5d, 0xab, 0x7e, 0xfe,
+ 0x5a, 0x79, 0xcf, 0xc5, 0x0c, 0x30, 0x9e, 0x98, 0x02, 0xb3,
+ 0xa6, 0xd5, 0xfa, 0x25, 0xa8, 0xc8, 0xc1, 0xd9, 0x51, 0x60,
+ 0x57, 0x5d, 0xfe, 0x75, 0x97, 0x05, 0xda, 0xbb, 0xc6, 0x6a,
+ 0xbe, 0x5c, 0xa5, 0x65, 0x0a, 0x12, 0x33, 0x1c, 0xdf, 0xee,
+ 0x08, 0xa9, 0x13, 0x13, 0x28, 0xce, 0x61, 0x59, 0xd1, 0x4e,
+ 0xc7, 0x74, 0xfd, 0x64, 0xde, 0x08, 0xce, 0xda, 0x3f, 0xec,
+ 0xad, 0xc9, 0xe1, 0xf9, 0x1f, 0x74, 0xf6, 0x86, 0x37, 0x6a,
+ 0xa0, 0xc8, 0x0b, 0x1b, 0x94, 0x98, 0x86, 0x81, 0x3b, 0xfc,
+ 0x47, 0x6c, 0xc9, 0x3e, 0x3c, 0x30, 0xc5, 0x9e, 0xb2, 0x32,
+ 0x47, 0xf5, 0x0c, 0x6f,
/* Second Packet: Handshake */
0xe6, /* Long, Handshake, PN Length=2 bytes */
@@ -944,765 +390,87 @@ static const unsigned char rx_script_5_in[] = {
0x9c, /* Length (668) */
0x9c,
0x55, /* PN (0) */
- 0x55,
- 0xd4,
- 0x50,
- 0x02,
- 0x1a,
- 0x57,
- 0x84,
- 0x22,
- 0xcd,
- 0x01,
- 0xe5,
- 0x42,
- 0x1b,
- 0x1e,
- 0x06,
- 0xf1,
- 0x86,
- 0xe2,
- 0x90,
- 0xf8,
- 0x9c,
- 0x3d,
- 0xa2,
- 0x7c,
- 0xde,
- 0x2b,
- 0xc9,
- 0x2e,
- 0xcd,
- 0xa8,
- 0x4f,
- 0x5a,
- 0x20,
- 0xca,
- 0x96,
- 0xb6,
- 0x11,
- 0x4b,
- 0xc8,
- 0x71,
- 0x32,
- 0xb5,
- 0xc7,
- 0x1a,
- 0x69,
- 0x7f,
- 0x1e,
- 0x37,
- 0x49,
- 0xfb,
- 0x08,
- 0xce,
- 0x83,
- 0x5f,
- 0x02,
- 0x6d,
- 0x8a,
- 0x8f,
- 0xe7,
- 0x5d,
- 0xe1,
- 0x34,
- 0x31,
- 0x22,
- 0x53,
- 0x53,
- 0x32,
- 0xcb,
- 0x04,
- 0x21,
- 0xce,
- 0xbc,
- 0xa5,
- 0x1b,
- 0xdd,
- 0x4d,
- 0xd5,
- 0x1c,
- 0xd6,
- 0x5d,
- 0x88,
- 0x29,
- 0x5a,
- 0x19,
- 0x71,
- 0x6a,
- 0xc2,
- 0xfa,
- 0xb7,
- 0xb4,
- 0x7d,
- 0xd1,
- 0x72,
- 0x93,
- 0x8f,
- 0x7c,
- 0xb5,
- 0x36,
- 0x1b,
- 0xea,
- 0xf3,
- 0xf1,
- 0xd7,
- 0x6e,
- 0xd3,
- 0x91,
- 0x96,
- 0x62,
- 0x4d,
- 0xc6,
- 0xec,
- 0xb7,
- 0xb0,
- 0xb7,
- 0x9b,
- 0x95,
- 0x8b,
- 0x14,
- 0x8d,
- 0x1a,
- 0x0d,
- 0xb6,
- 0x3e,
- 0xec,
- 0xfe,
- 0x3b,
- 0x51,
- 0xea,
- 0x1a,
- 0x05,
- 0x14,
- 0x12,
- 0x93,
- 0x0e,
- 0x7e,
- 0xe6,
- 0xa2,
- 0xc5,
- 0x22,
- 0x87,
- 0x65,
- 0xf8,
- 0x5d,
- 0x3c,
- 0x55,
- 0x18,
- 0xcb,
- 0xe9,
- 0xef,
- 0x23,
- 0x43,
- 0xfe,
- 0xe8,
- 0x0d,
- 0xb2,
- 0x0f,
- 0xc5,
- 0xf4,
- 0xb3,
- 0xde,
- 0x0c,
- 0xea,
- 0xa4,
- 0x48,
- 0x8e,
- 0xbf,
- 0x1f,
- 0xc7,
- 0x99,
- 0x53,
- 0x8c,
- 0xc1,
- 0x3d,
- 0xba,
- 0xf4,
- 0x8e,
- 0x8e,
- 0x02,
- 0x52,
- 0xf6,
- 0x1f,
- 0xcf,
- 0x1d,
- 0xaa,
- 0xb3,
- 0xcb,
- 0x08,
- 0xc2,
- 0xe1,
- 0x70,
- 0x68,
- 0x74,
- 0x78,
- 0xa9,
- 0x30,
- 0x67,
- 0xba,
- 0x2b,
- 0xea,
- 0x35,
- 0x63,
- 0x47,
- 0xff,
- 0x29,
- 0x73,
- 0x29,
- 0xc6,
- 0xe8,
- 0x08,
- 0xa9,
- 0x1e,
- 0x8f,
- 0x28,
- 0x41,
- 0xa4,
- 0x24,
- 0x54,
- 0x26,
- 0x5f,
- 0x42,
- 0x77,
- 0xb1,
- 0x2b,
- 0x3d,
- 0x65,
- 0x67,
- 0x60,
- 0xa7,
- 0x23,
- 0x0d,
- 0xa7,
- 0xf4,
- 0xd6,
- 0xe9,
- 0x4e,
- 0x58,
- 0x43,
- 0x9f,
- 0x3c,
- 0x9e,
- 0x77,
- 0x61,
- 0xe5,
- 0x04,
- 0x4f,
- 0x73,
- 0xc9,
- 0x10,
- 0x79,
- 0xd0,
- 0xda,
- 0x3b,
- 0xc6,
- 0x19,
- 0x93,
- 0x9f,
- 0x48,
- 0x3b,
- 0x76,
- 0x38,
- 0xa1,
- 0x72,
- 0x49,
- 0x7d,
- 0x86,
- 0x7f,
- 0xe8,
- 0x1b,
- 0xa9,
- 0x5b,
- 0xc0,
- 0x47,
- 0xa0,
- 0x9c,
- 0x3f,
- 0x65,
- 0x60,
- 0x76,
- 0x59,
- 0xaf,
- 0x20,
- 0x2d,
- 0x40,
- 0xa6,
- 0x80,
- 0x49,
- 0x5a,
- 0x8f,
- 0x09,
- 0xf8,
- 0xf6,
- 0x97,
- 0xc1,
- 0xbd,
- 0xe1,
- 0x9f,
- 0x9b,
- 0xa2,
- 0x4c,
- 0x7b,
- 0x88,
- 0xac,
- 0xbe,
- 0x4b,
- 0x11,
- 0x28,
- 0xd7,
- 0x67,
- 0xe6,
- 0xad,
- 0xaf,
- 0xd0,
- 0xad,
- 0x01,
- 0x29,
- 0xa4,
- 0x4a,
- 0xc4,
- 0xb8,
- 0x2e,
- 0x42,
- 0x79,
- 0x24,
- 0x9e,
- 0xd5,
- 0x34,
- 0xae,
- 0x45,
- 0xf1,
- 0x0b,
- 0x38,
- 0x4a,
- 0x76,
- 0xfb,
- 0x50,
- 0xa2,
- 0x99,
- 0xc9,
- 0x5b,
- 0x6d,
- 0xc0,
- 0xb7,
- 0x55,
- 0xd8,
- 0x8d,
- 0x49,
- 0xdd,
- 0x1b,
- 0xb8,
- 0xec,
- 0x10,
- 0x57,
- 0x9e,
- 0x33,
- 0xb4,
- 0x10,
- 0x16,
- 0x19,
- 0xac,
- 0x69,
- 0xa2,
- 0x19,
- 0x1b,
- 0xd0,
- 0x77,
- 0x45,
- 0xeb,
- 0x49,
- 0x5c,
- 0xc5,
- 0x7c,
- 0xbe,
- 0x4b,
- 0x4a,
- 0x22,
- 0x5c,
- 0x3d,
- 0x0e,
- 0x6e,
- 0xe5,
- 0x4b,
- 0x36,
- 0x06,
- 0x63,
- 0x03,
- 0x97,
- 0xab,
- 0xed,
- 0xdc,
- 0xea,
- 0x64,
- 0xc2,
- 0x70,
- 0xb6,
- 0x7e,
- 0x35,
- 0xfb,
- 0x13,
- 0x66,
- 0x37,
- 0xa3,
- 0x3f,
- 0x28,
- 0x16,
- 0x6c,
- 0xe7,
- 0xd4,
- 0xe6,
- 0xca,
- 0x26,
- 0x0f,
- 0x19,
- 0xdd,
- 0x02,
- 0xae,
- 0xc1,
- 0xcf,
- 0x18,
- 0x7d,
- 0x56,
- 0xe6,
- 0x52,
- 0xf3,
- 0x37,
- 0xb5,
- 0x86,
- 0x9d,
- 0x1d,
- 0x55,
- 0xb3,
- 0x95,
- 0x19,
- 0x19,
- 0xa5,
- 0x44,
- 0x95,
- 0x81,
- 0xed,
- 0x02,
- 0x18,
- 0xf1,
- 0x85,
- 0x57,
- 0x78,
- 0x28,
- 0xc4,
- 0x9a,
- 0xba,
- 0xe8,
- 0x5e,
- 0x22,
- 0x8d,
- 0xc1,
- 0x7b,
- 0x2a,
- 0x8a,
- 0xc8,
- 0xb9,
- 0xdd,
- 0x82,
- 0xb2,
- 0x7b,
- 0x9f,
- 0x3d,
- 0xf5,
- 0x27,
- 0x2a,
- 0x48,
- 0x53,
- 0xc7,
- 0xa0,
- 0x70,
- 0x0e,
- 0x9d,
- 0x61,
- 0xaa,
- 0xe2,
- 0xad,
- 0x28,
- 0xf2,
- 0xb4,
- 0xfc,
- 0x56,
- 0x6b,
- 0x89,
- 0xe7,
- 0xf9,
- 0x51,
- 0xc9,
- 0xe9,
- 0xd3,
- 0x8a,
- 0x8c,
- 0x7e,
- 0x86,
- 0xdd,
- 0xba,
- 0x2f,
- 0x39,
- 0xbf,
- 0x26,
- 0x62,
- 0x23,
- 0xd6,
- 0x98,
- 0x6d,
- 0x3e,
- 0x72,
- 0xd7,
- 0x1b,
- 0xe1,
- 0x62,
- 0x94,
- 0x35,
- 0xe2,
- 0x18,
- 0x19,
- 0x46,
- 0xb8,
- 0x2c,
- 0xb5,
- 0x8f,
- 0x8f,
- 0xb0,
- 0x5b,
- 0x76,
- 0x7b,
- 0x7e,
- 0xb8,
- 0xc6,
- 0xb7,
- 0xe9,
- 0x4e,
- 0x9d,
- 0x30,
- 0x68,
- 0x03,
- 0x1e,
- 0x19,
- 0x73,
- 0xc5,
- 0x3e,
- 0x24,
- 0xe2,
- 0x95,
- 0x60,
- 0x1b,
- 0x27,
- 0x93,
- 0x7c,
- 0x17,
- 0xc2,
- 0xc6,
- 0xa3,
- 0xbd,
- 0xbd,
- 0x70,
- 0xc6,
- 0x60,
- 0x59,
- 0xc8,
- 0x5c,
- 0xd7,
- 0x9a,
- 0xc4,
- 0x29,
- 0xac,
- 0x0f,
- 0xaa,
- 0x0d,
- 0xa9,
- 0x92,
- 0xa3,
- 0x95,
- 0xd7,
- 0x0f,
- 0x6f,
- 0x74,
- 0x99,
- 0x9b,
- 0xc1,
- 0xd3,
- 0x68,
- 0x6d,
- 0xac,
- 0x82,
- 0x2d,
- 0x32,
- 0x41,
- 0x9e,
- 0x0c,
- 0xf7,
- 0x31,
- 0x59,
- 0x4c,
- 0x93,
- 0x1c,
- 0x3b,
- 0x71,
- 0x69,
- 0xcf,
- 0xc5,
- 0xca,
- 0x2b,
- 0xdf,
- 0xe7,
- 0xaa,
- 0xfd,
- 0x1d,
- 0x71,
- 0x01,
- 0x7e,
- 0x1c,
- 0x70,
- 0x62,
- 0x20,
- 0x61,
- 0xf8,
- 0x35,
- 0xc1,
- 0x71,
- 0xe7,
- 0x02,
- 0x0d,
- 0x88,
- 0x44,
- 0xd9,
- 0x00,
- 0xc5,
- 0xcc,
- 0x63,
- 0xe4,
- 0xf0,
- 0x86,
- 0xa7,
- 0xd0,
- 0xfe,
- 0xcc,
- 0xb7,
- 0x1d,
- 0xfc,
- 0x21,
- 0x61,
- 0x54,
- 0x15,
- 0xea,
- 0x81,
- 0x5e,
- 0xc0,
- 0x31,
- 0xfa,
- 0xbf,
- 0x7d,
- 0xb9,
- 0x3b,
- 0xa2,
- 0x1e,
- 0x42,
- 0x73,
- 0x05,
- 0x3c,
- 0xdb,
- 0x21,
- 0x59,
- 0x4f,
- 0x63,
+ 0x55, 0xd4, 0x50, 0x02, 0x1a, 0x57, 0x84, 0x22, 0xcd, 0x01,
+ 0xe5, 0x42, 0x1b, 0x1e, 0x06, 0xf1, 0x86, 0xe2, 0x90, 0xf8,
+ 0x9c, 0x3d, 0xa2, 0x7c, 0xde, 0x2b, 0xc9, 0x2e, 0xcd, 0xa8,
+ 0x4f, 0x5a, 0x20, 0xca, 0x96, 0xb6, 0x11, 0x4b, 0xc8, 0x71,
+ 0x32, 0xb5, 0xc7, 0x1a, 0x69, 0x7f, 0x1e, 0x37, 0x49, 0xfb,
+ 0x08, 0xce, 0x83, 0x5f, 0x02, 0x6d, 0x8a, 0x8f, 0xe7, 0x5d,
+ 0xe1, 0x34, 0x31, 0x22, 0x53, 0x53, 0x32, 0xcb, 0x04, 0x21,
+ 0xce, 0xbc, 0xa5, 0x1b, 0xdd, 0x4d, 0xd5, 0x1c, 0xd6, 0x5d,
+ 0x88, 0x29, 0x5a, 0x19, 0x71, 0x6a, 0xc2, 0xfa, 0xb7, 0xb4,
+ 0x7d, 0xd1, 0x72, 0x93, 0x8f, 0x7c, 0xb5, 0x36, 0x1b, 0xea,
+ 0xf3, 0xf1, 0xd7, 0x6e, 0xd3, 0x91, 0x96, 0x62, 0x4d, 0xc6,
+ 0xec, 0xb7, 0xb0, 0xb7, 0x9b, 0x95, 0x8b, 0x14, 0x8d, 0x1a,
+ 0x0d, 0xb6, 0x3e, 0xec, 0xfe, 0x3b, 0x51, 0xea, 0x1a, 0x05,
+ 0x14, 0x12, 0x93, 0x0e, 0x7e, 0xe6, 0xa2, 0xc5, 0x22, 0x87,
+ 0x65, 0xf8, 0x5d, 0x3c, 0x55, 0x18, 0xcb, 0xe9, 0xef, 0x23,
+ 0x43, 0xfe, 0xe8, 0x0d, 0xb2, 0x0f, 0xc5, 0xf4, 0xb3, 0xde,
+ 0x0c, 0xea, 0xa4, 0x48, 0x8e, 0xbf, 0x1f, 0xc7, 0x99, 0x53,
+ 0x8c, 0xc1, 0x3d, 0xba, 0xf4, 0x8e, 0x8e, 0x02, 0x52, 0xf6,
+ 0x1f, 0xcf, 0x1d, 0xaa, 0xb3, 0xcb, 0x08, 0xc2, 0xe1, 0x70,
+ 0x68, 0x74, 0x78, 0xa9, 0x30, 0x67, 0xba, 0x2b, 0xea, 0x35,
+ 0x63, 0x47, 0xff, 0x29, 0x73, 0x29, 0xc6, 0xe8, 0x08, 0xa9,
+ 0x1e, 0x8f, 0x28, 0x41, 0xa4, 0x24, 0x54, 0x26, 0x5f, 0x42,
+ 0x77, 0xb1, 0x2b, 0x3d, 0x65, 0x67, 0x60, 0xa7, 0x23, 0x0d,
+ 0xa7, 0xf4, 0xd6, 0xe9, 0x4e, 0x58, 0x43, 0x9f, 0x3c, 0x9e,
+ 0x77, 0x61, 0xe5, 0x04, 0x4f, 0x73, 0xc9, 0x10, 0x79, 0xd0,
+ 0xda, 0x3b, 0xc6, 0x19, 0x93, 0x9f, 0x48, 0x3b, 0x76, 0x38,
+ 0xa1, 0x72, 0x49, 0x7d, 0x86, 0x7f, 0xe8, 0x1b, 0xa9, 0x5b,
+ 0xc0, 0x47, 0xa0, 0x9c, 0x3f, 0x65, 0x60, 0x76, 0x59, 0xaf,
+ 0x20, 0x2d, 0x40, 0xa6, 0x80, 0x49, 0x5a, 0x8f, 0x09, 0xf8,
+ 0xf6, 0x97, 0xc1, 0xbd, 0xe1, 0x9f, 0x9b, 0xa2, 0x4c, 0x7b,
+ 0x88, 0xac, 0xbe, 0x4b, 0x11, 0x28, 0xd7, 0x67, 0xe6, 0xad,
+ 0xaf, 0xd0, 0xad, 0x01, 0x29, 0xa4, 0x4a, 0xc4, 0xb8, 0x2e,
+ 0x42, 0x79, 0x24, 0x9e, 0xd5, 0x34, 0xae, 0x45, 0xf1, 0x0b,
+ 0x38, 0x4a, 0x76, 0xfb, 0x50, 0xa2, 0x99, 0xc9, 0x5b, 0x6d,
+ 0xc0, 0xb7, 0x55, 0xd8, 0x8d, 0x49, 0xdd, 0x1b, 0xb8, 0xec,
+ 0x10, 0x57, 0x9e, 0x33, 0xb4, 0x10, 0x16, 0x19, 0xac, 0x69,
+ 0xa2, 0x19, 0x1b, 0xd0, 0x77, 0x45, 0xeb, 0x49, 0x5c, 0xc5,
+ 0x7c, 0xbe, 0x4b, 0x4a, 0x22, 0x5c, 0x3d, 0x0e, 0x6e, 0xe5,
+ 0x4b, 0x36, 0x06, 0x63, 0x03, 0x97, 0xab, 0xed, 0xdc, 0xea,
+ 0x64, 0xc2, 0x70, 0xb6, 0x7e, 0x35, 0xfb, 0x13, 0x66, 0x37,
+ 0xa3, 0x3f, 0x28, 0x16, 0x6c, 0xe7, 0xd4, 0xe6, 0xca, 0x26,
+ 0x0f, 0x19, 0xdd, 0x02, 0xae, 0xc1, 0xcf, 0x18, 0x7d, 0x56,
+ 0xe6, 0x52, 0xf3, 0x37, 0xb5, 0x86, 0x9d, 0x1d, 0x55, 0xb3,
+ 0x95, 0x19, 0x19, 0xa5, 0x44, 0x95, 0x81, 0xed, 0x02, 0x18,
+ 0xf1, 0x85, 0x57, 0x78, 0x28, 0xc4, 0x9a, 0xba, 0xe8, 0x5e,
+ 0x22, 0x8d, 0xc1, 0x7b, 0x2a, 0x8a, 0xc8, 0xb9, 0xdd, 0x82,
+ 0xb2, 0x7b, 0x9f, 0x3d, 0xf5, 0x27, 0x2a, 0x48, 0x53, 0xc7,
+ 0xa0, 0x70, 0x0e, 0x9d, 0x61, 0xaa, 0xe2, 0xad, 0x28, 0xf2,
+ 0xb4, 0xfc, 0x56, 0x6b, 0x89, 0xe7, 0xf9, 0x51, 0xc9, 0xe9,
+ 0xd3, 0x8a, 0x8c, 0x7e, 0x86, 0xdd, 0xba, 0x2f, 0x39, 0xbf,
+ 0x26, 0x62, 0x23, 0xd6, 0x98, 0x6d, 0x3e, 0x72, 0xd7, 0x1b,
+ 0xe1, 0x62, 0x94, 0x35, 0xe2, 0x18, 0x19, 0x46, 0xb8, 0x2c,
+ 0xb5, 0x8f, 0x8f, 0xb0, 0x5b, 0x76, 0x7b, 0x7e, 0xb8, 0xc6,
+ 0xb7, 0xe9, 0x4e, 0x9d, 0x30, 0x68, 0x03, 0x1e, 0x19, 0x73,
+ 0xc5, 0x3e, 0x24, 0xe2, 0x95, 0x60, 0x1b, 0x27, 0x93, 0x7c,
+ 0x17, 0xc2, 0xc6, 0xa3, 0xbd, 0xbd, 0x70, 0xc6, 0x60, 0x59,
+ 0xc8, 0x5c, 0xd7, 0x9a, 0xc4, 0x29, 0xac, 0x0f, 0xaa, 0x0d,
+ 0xa9, 0x92, 0xa3, 0x95, 0xd7, 0x0f, 0x6f, 0x74, 0x99, 0x9b,
+ 0xc1, 0xd3, 0x68, 0x6d, 0xac, 0x82, 0x2d, 0x32, 0x41, 0x9e,
+ 0x0c, 0xf7, 0x31, 0x59, 0x4c, 0x93, 0x1c, 0x3b, 0x71, 0x69,
+ 0xcf, 0xc5, 0xca, 0x2b, 0xdf, 0xe7, 0xaa, 0xfd, 0x1d, 0x71,
+ 0x01, 0x7e, 0x1c, 0x70, 0x62, 0x20, 0x61, 0xf8, 0x35, 0xc1,
+ 0x71, 0xe7, 0x02, 0x0d, 0x88, 0x44, 0xd9, 0x00, 0xc5, 0xcc,
+ 0x63, 0xe4, 0xf0, 0x86, 0xa7, 0xd0, 0xfe, 0xcc, 0xb7, 0x1d,
+ 0xfc, 0x21, 0x61, 0x54, 0x15, 0xea, 0x81, 0x5e, 0xc0, 0x31,
+ 0xfa, 0xbf, 0x7d, 0xb9, 0x3b, 0xa2, 0x1e, 0x42, 0x73, 0x05,
+ 0x3c, 0xdb, 0x21, 0x59, 0x4f, 0x63,
/* Third Packet: 1-RTT */
0x5f, /* Short, 1-RTT, Spin=0, KP=0, PN Length=2 bytes */
0x68,
0x47, /* PN (0) */
- 0xa3,
- 0x3c,
- 0xa5,
- 0x27,
- 0x5e,
- 0xf9,
- 0x8d,
- 0xec,
- 0xea,
- 0x6c,
- 0x09,
- 0x18,
- 0x40,
- 0x80,
- 0xee,
- 0x9f,
- 0x6f,
- 0x73,
- 0x5c,
- 0x49,
- 0xe3,
- 0xec,
- 0xb7,
- 0x58,
- 0x05,
- 0x66,
- 0x8f,
- 0xa3,
- 0x52,
- 0x37,
- 0xa1,
- 0x22,
- 0x1f,
- 0xc6,
- 0x92,
- 0xd6,
- 0x59,
- 0x04,
- 0x99,
- 0xcb,
- 0x44,
- 0xef,
- 0x66,
- 0x05,
- 0x2d,
- 0xd0,
- 0x85,
- 0x24,
- 0xbb,
- 0xe3,
- 0xa1,
- 0xd1,
- 0xbe,
- 0xf7,
- 0x54,
- 0xad,
- 0x65,
- 0xf4,
- 0xd4,
- 0x59,
- 0x54,
- 0x87,
- 0x4e,
- 0x22,
- 0x4f,
- 0x06,
- 0x07,
- 0xa7,
- 0x8a,
- 0x14,
- 0x89,
- 0xd1,
- 0x3f,
- 0xd3,
- 0xe4,
- 0x6f,
- 0x71,
- 0x8f,
- 0x9a,
- 0xd2,
- 0x3b,
- 0x61,
- 0x0a,
- 0xba,
- 0x9a,
- 0x31,
- 0x56,
- 0xc7,
+ 0xa3, 0x3c, 0xa5, 0x27, 0x5e, 0xf9, 0x8d, 0xec, 0xea, 0x6c,
+ 0x09, 0x18, 0x40, 0x80, 0xee, 0x9f, 0x6f, 0x73, 0x5c, 0x49,
+ 0xe3, 0xec, 0xb7, 0x58, 0x05, 0x66, 0x8f, 0xa3, 0x52, 0x37,
+ 0xa1, 0x22, 0x1f, 0xc6, 0x92, 0xd6, 0x59, 0x04, 0x99, 0xcb,
+ 0x44, 0xef, 0x66, 0x05, 0x2d, 0xd0, 0x85, 0x24, 0xbb, 0xe3,
+ 0xa1, 0xd1, 0xbe, 0xf7, 0x54, 0xad, 0x65, 0xf4, 0xd4, 0x59,
+ 0x54, 0x87, 0x4e, 0x22, 0x4f, 0x06, 0x07, 0xa7, 0x8a, 0x14,
+ 0x89, 0xd1, 0x3f, 0xd3, 0xe4, 0x6f, 0x71, 0x8f, 0x9a, 0xd2,
+ 0x3b, 0x61, 0x0a, 0xba, 0x9a, 0x31, 0x56, 0xc7
};
static const QUIC_PKT_HDR rx_script_5a_expect_hdr = {
@@ -1723,454 +491,51 @@ static const QUIC_PKT_HDR rx_script_5a_expect_hdr = {
};
static const unsigned char rx_script_5a_body[] = {
- 0x02,
- 0x03,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x06,
- 0x00,
- 0x40,
- 0x5a,
- 0x02,
- 0x00,
- 0x00,
- 0x56,
- 0x03,
- 0x03,
- 0xe2,
- 0xd2,
- 0x0a,
- 0x3b,
- 0xa2,
- 0xc4,
- 0xd2,
- 0x29,
- 0xc8,
- 0xe8,
- 0xba,
- 0x23,
- 0x31,
- 0x88,
- 0x2c,
- 0x71,
- 0xeb,
- 0xba,
- 0x42,
- 0x5f,
- 0x94,
- 0xe9,
- 0x0a,
- 0x90,
- 0x35,
- 0x31,
- 0x1e,
- 0xca,
- 0xed,
- 0xf8,
- 0x8a,
- 0x8d,
- 0x00,
- 0x13,
- 0x01,
- 0x00,
- 0x00,
- 0x2e,
- 0x00,
- 0x2b,
- 0x00,
- 0x02,
- 0x03,
- 0x04,
- 0x00,
- 0x33,
- 0x00,
- 0x24,
- 0x00,
- 0x1d,
- 0x00,
- 0x20,
- 0x96,
- 0x0b,
- 0x4b,
- 0x30,
- 0x66,
- 0x3a,
- 0x75,
- 0x01,
- 0x4a,
- 0xdc,
- 0x2a,
- 0x75,
- 0x1f,
- 0xce,
- 0x7a,
- 0x30,
- 0x9d,
- 0x00,
- 0xca,
- 0x20,
- 0xb4,
- 0xe0,
- 0x6b,
- 0x81,
- 0x23,
- 0x18,
- 0x0b,
- 0x20,
- 0x1f,
- 0x54,
- 0x86,
- 0x1d,
+ 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x40, 0x5a, 0x02, 0x00,
+ 0x00, 0x56, 0x03, 0x03, 0xe2, 0xd2, 0x0a, 0x3b, 0xa2, 0xc4,
+ 0xd2, 0x29, 0xc8, 0xe8, 0xba, 0x23, 0x31, 0x88, 0x2c, 0x71,
+ 0xeb, 0xba, 0x42, 0x5f, 0x94, 0xe9, 0x0a, 0x90, 0x35, 0x31,
+ 0x1e, 0xca, 0xed, 0xf8, 0x8a, 0x8d, 0x00, 0x13, 0x01, 0x00,
+ 0x00, 0x2e, 0x00, 0x2b, 0x00, 0x02, 0x03, 0x04, 0x00, 0x33,
+ 0x00, 0x24, 0x00, 0x1d, 0x00, 0x20, 0x96, 0x0b, 0x4b, 0x30,
+ 0x66, 0x3a, 0x75, 0x01, 0x4a, 0xdc, 0x2a, 0x75, 0x1f, 0xce,
+ 0x7a, 0x30, 0x9d, 0x00, 0xca, 0x20, 0xb4, 0xe0, 0x6b, 0x81,
+ 0x23, 0x18, 0x0b, 0x20, 0x1f, 0x54, 0x86, 0x1d
};
static const QUIC_PKT_HDR rx_script_5b_expect_hdr = {
@@ -2191,656 +556,71 @@ static const QUIC_PKT_HDR rx_script_5b_expect_hdr = {
};
static const unsigned char rx_script_5b_body[] = {
- 0x06,
- 0x00,
- 0x42,
- 0x86,
- 0x08,
- 0x00,
- 0x00,
- 0x7d,
- 0x00,
- 0x7b,
- 0x00,
- 0x10,
- 0x00,
- 0x08,
- 0x00,
- 0x06,
- 0x05,
- 0x64,
- 0x75,
- 0x6d,
- 0x6d,
- 0x79,
- 0x00,
- 0x39,
- 0x00,
- 0x6b,
- 0x4b,
- 0x20,
- 0x0b,
- 0x1b,
- 0xe1,
- 0x1f,
- 0xd0,
- 0x78,
- 0xc0,
- 0x69,
- 0x72,
- 0x9c,
- 0xe2,
- 0xf7,
- 0x05,
- 0x04,
- 0x80,
- 0x08,
- 0x00,
- 0x00,
- 0x06,
- 0x04,
- 0x80,
- 0x08,
- 0x00,
- 0x00,
- 0x07,
- 0x04,
- 0x80,
- 0x08,
- 0x00,
- 0x00,
- 0x04,
- 0x04,
- 0x80,
- 0x0c,
- 0x00,
- 0x00,
- 0x08,
- 0x02,
- 0x40,
- 0x64,
- 0x09,
- 0x02,
- 0x40,
- 0x64,
- 0x01,
- 0x04,
- 0x80,
- 0x00,
- 0x75,
- 0x30,
- 0x03,
- 0x02,
- 0x45,
- 0xac,
- 0x0b,
- 0x01,
- 0x1a,
- 0x0c,
- 0x00,
- 0x02,
- 0x10,
- 0x41,
- 0x94,
- 0x41,
- 0x8d,
- 0x0d,
- 0xfb,
- 0x60,
- 0x7b,
- 0xdc,
- 0xcc,
- 0xa2,
- 0x9c,
- 0x3e,
- 0xa5,
- 0xdf,
- 0x8d,
- 0x00,
- 0x08,
- 0x2d,
- 0x71,
- 0x8a,
- 0x38,
- 0xdf,
- 0xdd,
- 0xe0,
- 0x03,
- 0x0e,
- 0x01,
- 0x04,
- 0x0f,
- 0x04,
- 0x83,
- 0xd0,
- 0x0a,
- 0x27,
- 0x10,
- 0x04,
- 0xad,
- 0x15,
- 0x3f,
- 0xae,
- 0x20,
- 0x01,
- 0x00,
- 0x0b,
- 0x00,
- 0x01,
- 0x8f,
- 0x00,
- 0x00,
- 0x01,
- 0x8b,
- 0x00,
- 0x01,
- 0x86,
- 0x30,
- 0x82,
- 0x01,
- 0x82,
- 0x30,
- 0x82,
- 0x01,
- 0x29,
- 0xa0,
- 0x03,
- 0x02,
- 0x01,
- 0x02,
- 0x02,
- 0x14,
- 0x0a,
- 0x73,
- 0x0f,
- 0x86,
- 0x18,
- 0xf2,
- 0xc3,
- 0x30,
- 0x01,
- 0xd2,
- 0xc0,
- 0xc1,
- 0x62,
- 0x52,
- 0x13,
- 0xf1,
- 0x9c,
- 0x13,
- 0x39,
- 0xb5,
- 0x30,
- 0x0a,
- 0x06,
- 0x08,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x04,
- 0x03,
- 0x02,
- 0x30,
- 0x17,
- 0x31,
- 0x15,
- 0x30,
- 0x13,
- 0x06,
- 0x03,
- 0x55,
- 0x04,
- 0x03,
- 0x0c,
- 0x0c,
- 0x6d,
- 0x61,
- 0x70,
- 0x61,
- 0x6b,
- 0x74,
- 0x2e,
- 0x6c,
- 0x6f,
- 0x63,
- 0x61,
- 0x6c,
- 0x30,
- 0x1e,
- 0x17,
- 0x0d,
- 0x32,
- 0x32,
- 0x30,
- 0x38,
- 0x30,
- 0x32,
- 0x31,
- 0x32,
- 0x30,
- 0x30,
- 0x31,
- 0x38,
- 0x5a,
- 0x17,
- 0x0d,
- 0x32,
- 0x32,
- 0x30,
- 0x39,
- 0x30,
- 0x31,
- 0x31,
- 0x32,
- 0x30,
- 0x30,
- 0x31,
- 0x38,
- 0x5a,
- 0x30,
- 0x17,
- 0x31,
- 0x15,
- 0x30,
- 0x13,
- 0x06,
- 0x03,
- 0x55,
- 0x04,
- 0x03,
- 0x0c,
- 0x0c,
- 0x6d,
- 0x61,
- 0x70,
- 0x61,
- 0x6b,
- 0x74,
- 0x2e,
- 0x6c,
- 0x6f,
- 0x63,
- 0x61,
- 0x6c,
- 0x30,
- 0x59,
- 0x30,
- 0x13,
- 0x06,
- 0x07,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x02,
- 0x01,
- 0x06,
- 0x08,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x03,
- 0x01,
- 0x07,
- 0x03,
- 0x42,
- 0x00,
- 0x04,
- 0x67,
- 0xf4,
- 0xd3,
- 0x8f,
- 0x15,
- 0x6d,
- 0xee,
- 0x85,
- 0xcc,
- 0x2a,
- 0x77,
- 0xfc,
- 0x0b,
- 0x8f,
- 0x9f,
- 0xcf,
- 0xa9,
- 0x95,
- 0x5d,
- 0x5b,
- 0xcd,
- 0xb7,
- 0x8b,
- 0xba,
- 0x31,
- 0x0a,
- 0x73,
- 0x62,
- 0xc5,
- 0xd0,
- 0x0e,
- 0x07,
- 0x90,
- 0xae,
- 0x38,
- 0x43,
- 0x79,
- 0xce,
- 0x5e,
- 0x33,
- 0xad,
- 0x31,
- 0xbf,
- 0x9f,
- 0x2a,
- 0x56,
- 0x83,
- 0xa5,
- 0x24,
- 0x16,
- 0xab,
- 0x0c,
- 0xf1,
- 0x64,
- 0xbe,
- 0xe4,
- 0x93,
- 0xb5,
- 0x89,
- 0xd6,
- 0x05,
- 0xe4,
- 0xf7,
- 0x7b,
- 0xa3,
- 0x53,
- 0x30,
- 0x51,
- 0x30,
- 0x1d,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x0e,
- 0x04,
- 0x16,
- 0x04,
- 0x14,
- 0x02,
- 0x64,
- 0x0f,
- 0x55,
- 0x69,
- 0x14,
- 0x91,
- 0x19,
- 0xed,
- 0xf9,
- 0x1a,
- 0xe9,
- 0x1d,
- 0xa5,
- 0x5a,
- 0xd0,
- 0x48,
- 0x96,
- 0x9f,
- 0x60,
- 0x30,
- 0x1f,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x23,
- 0x04,
- 0x18,
- 0x30,
- 0x16,
- 0x80,
- 0x14,
- 0x02,
- 0x64,
- 0x0f,
- 0x55,
- 0x69,
- 0x14,
- 0x91,
- 0x19,
- 0xed,
- 0xf9,
- 0x1a,
- 0xe9,
- 0x1d,
- 0xa5,
- 0x5a,
- 0xd0,
- 0x48,
- 0x96,
- 0x9f,
- 0x60,
- 0x30,
- 0x0f,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x13,
- 0x01,
- 0x01,
- 0xff,
- 0x04,
- 0x05,
- 0x30,
- 0x03,
- 0x01,
- 0x01,
- 0xff,
- 0x30,
- 0x0a,
- 0x06,
- 0x08,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x04,
- 0x03,
- 0x02,
- 0x03,
- 0x47,
- 0x00,
- 0x30,
- 0x44,
- 0x02,
- 0x20,
- 0x0a,
- 0x82,
- 0x92,
- 0x6e,
- 0xd3,
- 0xc6,
- 0x66,
- 0xd9,
- 0xd3,
- 0x75,
- 0xff,
- 0x71,
- 0x3b,
- 0x61,
- 0x46,
- 0x21,
- 0x00,
- 0xe6,
- 0x21,
- 0x5d,
- 0x9c,
- 0x86,
- 0xe9,
- 0x65,
- 0x40,
- 0x4f,
- 0xeb,
- 0x70,
- 0x4f,
- 0x2c,
- 0xad,
- 0x00,
- 0x02,
- 0x20,
- 0x08,
- 0xc2,
- 0x07,
- 0x5d,
- 0x16,
- 0xfc,
- 0x54,
- 0x34,
- 0x2b,
- 0xb4,
- 0x18,
- 0x67,
- 0x44,
- 0x81,
- 0xc9,
- 0xa9,
- 0x67,
- 0x2e,
- 0xce,
- 0xa1,
- 0x02,
- 0x9f,
- 0x3b,
- 0xe5,
- 0x61,
- 0x16,
- 0x0b,
- 0x50,
- 0xf6,
- 0xa1,
- 0x50,
- 0x94,
- 0x00,
- 0x00,
- 0x0f,
- 0x00,
- 0x00,
- 0x4a,
- 0x04,
- 0x03,
- 0x00,
- 0x46,
- 0x30,
- 0x44,
- 0x02,
- 0x20,
- 0x7d,
- 0x57,
- 0x17,
- 0x14,
- 0x46,
- 0x09,
- 0x95,
- 0x70,
- 0x09,
- 0x45,
- 0xe8,
- 0x9e,
- 0x5c,
- 0x87,
- 0x55,
- 0xd9,
- 0x08,
- 0xc6,
- 0x5e,
- 0x47,
- 0x73,
- 0x5e,
- 0xb1,
- 0xc9,
- 0xef,
- 0xcb,
- 0xe5,
- 0x7f,
- 0xcc,
- 0xb0,
- 0x28,
- 0xbc,
- 0x02,
- 0x20,
- 0x5d,
- 0xe4,
- 0x2b,
- 0x83,
- 0xd9,
- 0x78,
- 0x75,
- 0x45,
- 0xf3,
- 0x22,
- 0x2b,
- 0x38,
- 0xeb,
- 0x68,
- 0xe5,
- 0x71,
- 0x5d,
- 0xcb,
- 0xc3,
- 0x68,
- 0xb3,
- 0x0e,
- 0x7d,
- 0x5e,
- 0x1d,
- 0xc2,
- 0x1b,
- 0x8a,
- 0x62,
- 0x80,
- 0x48,
- 0x3e,
- 0x14,
- 0x00,
- 0x00,
- 0x20,
- 0x37,
- 0xcd,
- 0x55,
- 0xca,
- 0x3f,
- 0x4b,
- 0xf0,
- 0x95,
- 0xf8,
- 0xe4,
- 0xfe,
- 0x59,
- 0xab,
- 0xbc,
- 0xc1,
- 0x8f,
- 0x0c,
- 0x3f,
- 0x41,
- 0x59,
- 0xf6,
- 0x96,
- 0xdb,
- 0x75,
- 0xae,
- 0xe7,
- 0x86,
- 0x1a,
- 0x92,
- 0xa7,
- 0x53,
- 0x0a,
+ 0x06, 0x00, 0x42, 0x86, 0x08, 0x00, 0x00, 0x7d, 0x00, 0x7b,
+ 0x00, 0x10, 0x00, 0x08, 0x00, 0x06, 0x05, 0x64, 0x75, 0x6d,
+ 0x6d, 0x79, 0x00, 0x39, 0x00, 0x6b, 0x4b, 0x20, 0x0b, 0x1b,
+ 0xe1, 0x1f, 0xd0, 0x78, 0xc0, 0x69, 0x72, 0x9c, 0xe2, 0xf7,
+ 0x05, 0x04, 0x80, 0x08, 0x00, 0x00, 0x06, 0x04, 0x80, 0x08,
+ 0x00, 0x00, 0x07, 0x04, 0x80, 0x08, 0x00, 0x00, 0x04, 0x04,
+ 0x80, 0x0c, 0x00, 0x00, 0x08, 0x02, 0x40, 0x64, 0x09, 0x02,
+ 0x40, 0x64, 0x01, 0x04, 0x80, 0x00, 0x75, 0x30, 0x03, 0x02,
+ 0x45, 0xac, 0x0b, 0x01, 0x1a, 0x0c, 0x00, 0x02, 0x10, 0x41,
+ 0x94, 0x41, 0x8d, 0x0d, 0xfb, 0x60, 0x7b, 0xdc, 0xcc, 0xa2,
+ 0x9c, 0x3e, 0xa5, 0xdf, 0x8d, 0x00, 0x08, 0x2d, 0x71, 0x8a,
+ 0x38, 0xdf, 0xdd, 0xe0, 0x03, 0x0e, 0x01, 0x04, 0x0f, 0x04,
+ 0x83, 0xd0, 0x0a, 0x27, 0x10, 0x04, 0xad, 0x15, 0x3f, 0xae,
+ 0x20, 0x01, 0x00, 0x0b, 0x00, 0x01, 0x8f, 0x00, 0x00, 0x01,
+ 0x8b, 0x00, 0x01, 0x86, 0x30, 0x82, 0x01, 0x82, 0x30, 0x82,
+ 0x01, 0x29, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x14, 0x0a,
+ 0x73, 0x0f, 0x86, 0x18, 0xf2, 0xc3, 0x30, 0x01, 0xd2, 0xc0,
+ 0xc1, 0x62, 0x52, 0x13, 0xf1, 0x9c, 0x13, 0x39, 0xb5, 0x30,
+ 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
+ 0x02, 0x30, 0x17, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55,
+ 0x04, 0x03, 0x0c, 0x0c, 0x6d, 0x61, 0x70, 0x61, 0x6b, 0x74,
+ 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x30, 0x1e, 0x17, 0x0d,
+ 0x32, 0x32, 0x30, 0x38, 0x30, 0x32, 0x31, 0x32, 0x30, 0x30,
+ 0x31, 0x38, 0x5a, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x39, 0x30,
+ 0x31, 0x31, 0x32, 0x30, 0x30, 0x31, 0x38, 0x5a, 0x30, 0x17,
+ 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c,
+ 0x0c, 0x6d, 0x61, 0x70, 0x61, 0x6b, 0x74, 0x2e, 0x6c, 0x6f,
+ 0x63, 0x61, 0x6c, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
+ 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86,
+ 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04,
+ 0x67, 0xf4, 0xd3, 0x8f, 0x15, 0x6d, 0xee, 0x85, 0xcc, 0x2a,
+ 0x77, 0xfc, 0x0b, 0x8f, 0x9f, 0xcf, 0xa9, 0x95, 0x5d, 0x5b,
+ 0xcd, 0xb7, 0x8b, 0xba, 0x31, 0x0a, 0x73, 0x62, 0xc5, 0xd0,
+ 0x0e, 0x07, 0x90, 0xae, 0x38, 0x43, 0x79, 0xce, 0x5e, 0x33,
+ 0xad, 0x31, 0xbf, 0x9f, 0x2a, 0x56, 0x83, 0xa5, 0x24, 0x16,
+ 0xab, 0x0c, 0xf1, 0x64, 0xbe, 0xe4, 0x93, 0xb5, 0x89, 0xd6,
+ 0x05, 0xe4, 0xf7, 0x7b, 0xa3, 0x53, 0x30, 0x51, 0x30, 0x1d,
+ 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x02,
+ 0x64, 0x0f, 0x55, 0x69, 0x14, 0x91, 0x19, 0xed, 0xf9, 0x1a,
+ 0xe9, 0x1d, 0xa5, 0x5a, 0xd0, 0x48, 0x96, 0x9f, 0x60, 0x30,
+ 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16,
+ 0x80, 0x14, 0x02, 0x64, 0x0f, 0x55, 0x69, 0x14, 0x91, 0x19,
+ 0xed, 0xf9, 0x1a, 0xe9, 0x1d, 0xa5, 0x5a, 0xd0, 0x48, 0x96,
+ 0x9f, 0x60, 0x30, 0x0f, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01,
+ 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30,
+ 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03,
+ 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 0x02, 0x20, 0x0a, 0x82,
+ 0x92, 0x6e, 0xd3, 0xc6, 0x66, 0xd9, 0xd3, 0x75, 0xff, 0x71,
+ 0x3b, 0x61, 0x46, 0x21, 0x00, 0xe6, 0x21, 0x5d, 0x9c, 0x86,
+ 0xe9, 0x65, 0x40, 0x4f, 0xeb, 0x70, 0x4f, 0x2c, 0xad, 0x00,
+ 0x02, 0x20, 0x08, 0xc2, 0x07, 0x5d, 0x16, 0xfc, 0x54, 0x34,
+ 0x2b, 0xb4, 0x18, 0x67, 0x44, 0x81, 0xc9, 0xa9, 0x67, 0x2e,
+ 0xce, 0xa1, 0x02, 0x9f, 0x3b, 0xe5, 0x61, 0x16, 0x0b, 0x50,
+ 0xf6, 0xa1, 0x50, 0x94, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x4a,
+ 0x04, 0x03, 0x00, 0x46, 0x30, 0x44, 0x02, 0x20, 0x7d, 0x57,
+ 0x17, 0x14, 0x46, 0x09, 0x95, 0x70, 0x09, 0x45, 0xe8, 0x9e,
+ 0x5c, 0x87, 0x55, 0xd9, 0x08, 0xc6, 0x5e, 0x47, 0x73, 0x5e,
+ 0xb1, 0xc9, 0xef, 0xcb, 0xe5, 0x7f, 0xcc, 0xb0, 0x28, 0xbc,
+ 0x02, 0x20, 0x5d, 0xe4, 0x2b, 0x83, 0xd9, 0x78, 0x75, 0x45,
+ 0xf3, 0x22, 0x2b, 0x38, 0xeb, 0x68, 0xe5, 0x71, 0x5d, 0xcb,
+ 0xc3, 0x68, 0xb3, 0x0e, 0x7d, 0x5e, 0x1d, 0xc2, 0x1b, 0x8a,
+ 0x62, 0x80, 0x48, 0x3e, 0x14, 0x00, 0x00, 0x20, 0x37, 0xcd,
+ 0x55, 0xca, 0x3f, 0x4b, 0xf0, 0x95, 0xf8, 0xe4, 0xfe, 0x59,
+ 0xab, 0xbc, 0xc1, 0x8f, 0x0c, 0x3f, 0x41, 0x59, 0xf6, 0x96,
+ 0xdb, 0x75, 0xae, 0xe7, 0x86, 0x1a, 0x92, 0xa7, 0x53, 0x0a
};
static const QUIC_PKT_HDR rx_script_5c_expect_hdr = {
@@ -2861,78 +641,14 @@ static const QUIC_PKT_HDR rx_script_5c_expect_hdr = {
};
static const unsigned char rx_script_5c_body[] = {
- 0x18,
- 0x03,
- 0x00,
- 0x04,
- 0x92,
- 0xec,
- 0xaa,
- 0xd6,
- 0x47,
- 0xd8,
- 0x8b,
- 0x56,
- 0x3b,
- 0x5f,
- 0x67,
- 0xe6,
- 0xb9,
- 0xb9,
- 0xca,
- 0x72,
- 0xca,
- 0xf2,
- 0x49,
- 0x7d,
- 0x18,
- 0x02,
- 0x00,
- 0x04,
- 0xa9,
- 0x6e,
- 0x9b,
- 0x84,
- 0x26,
- 0x43,
- 0x00,
- 0xc7,
- 0x55,
- 0x71,
- 0x67,
- 0x2e,
- 0x52,
- 0xdd,
- 0x47,
- 0xfd,
- 0x06,
- 0x51,
- 0x33,
- 0x08,
- 0x18,
- 0x01,
- 0x00,
- 0x04,
- 0x36,
- 0xd5,
- 0x1f,
- 0x06,
- 0x4e,
- 0xbf,
- 0xb4,
- 0xc9,
- 0xef,
- 0x97,
- 0x1e,
- 0x9a,
- 0x3c,
- 0xab,
- 0x1e,
- 0xfc,
- 0xb7,
- 0x90,
- 0xc3,
- 0x1a,
+ 0x18, 0x03, 0x00, 0x04, 0x92, 0xec, 0xaa, 0xd6, 0x47, 0xd8,
+ 0x8b, 0x56, 0x3b, 0x5f, 0x67, 0xe6, 0xb9, 0xb9, 0xca, 0x72,
+ 0xca, 0xf2, 0x49, 0x7d, 0x18, 0x02, 0x00, 0x04, 0xa9, 0x6e,
+ 0x9b, 0x84, 0x26, 0x43, 0x00, 0xc7, 0x55, 0x71, 0x67, 0x2e,
+ 0x52, 0xdd, 0x47, 0xfd, 0x06, 0x51, 0x33, 0x08, 0x18, 0x01,
+ 0x00, 0x04, 0x36, 0xd5, 0x1f, 0x06, 0x4e, 0xbf, 0xb4, 0xc9,
+ 0xef, 0x97, 0x1e, 0x9a, 0x3c, 0xab, 0x1e, 0xfc, 0xb7, 0x90,
+ 0xc3, 0x1a
};
static const struct rx_test_op rx_script_5[] = {
@@ -3007,105 +723,19 @@ static const QUIC_CONN_ID rx_script_6_c2s_init_dcid = {
};
static const unsigned char rx_script_6_handshake_secret[48] = {
- 0xd1,
- 0x41,
- 0xb0,
- 0xf6,
- 0x0d,
- 0x8b,
- 0xbd,
- 0xe8,
- 0x5b,
- 0xa8,
- 0xff,
- 0xd7,
- 0x18,
- 0x9a,
- 0x23,
- 0x7b,
- 0x13,
- 0x5c,
- 0x1e,
- 0x90,
- 0x1d,
- 0x08,
- 0x95,
- 0xcc,
- 0xc5,
- 0x8e,
- 0x73,
- 0x4e,
- 0x02,
- 0x6f,
- 0x3c,
- 0xb6,
- 0x26,
- 0x77,
- 0x8d,
- 0x53,
- 0xc5,
- 0x62,
- 0x9f,
- 0xb5,
- 0xf0,
- 0x88,
- 0xfb,
- 0xe5,
- 0x14,
- 0x71,
- 0xab,
- 0xe6,
+ 0xd1, 0x41, 0xb0, 0xf6, 0x0d, 0x8b, 0xbd, 0xe8, 0x5b, 0xa8,
+ 0xff, 0xd7, 0x18, 0x9a, 0x23, 0x7b, 0x13, 0x5c, 0x1e, 0x90,
+ 0x1d, 0x08, 0x95, 0xcc, 0xc5, 0x8e, 0x73, 0x4e, 0x02, 0x6f,
+ 0x3c, 0xb6, 0x26, 0x77, 0x8d, 0x53, 0xc5, 0x62, 0x9f, 0xb5,
+ 0xf0, 0x88, 0xfb, 0xe5, 0x14, 0x71, 0xab, 0xe6
};
static const unsigned char rx_script_6_1rtt_secret[48] = {
- 0x2d,
- 0x6b,
- 0x9d,
- 0xd4,
- 0x39,
- 0xa0,
- 0xe7,
- 0xff,
- 0x17,
- 0xe2,
- 0xcb,
- 0x5c,
- 0x0d,
- 0x4a,
- 0xf6,
- 0x3f,
- 0xf4,
- 0xfe,
- 0xfc,
- 0xe5,
- 0x22,
- 0xfa,
- 0xf5,
- 0x5b,
- 0xc0,
- 0xb2,
- 0x18,
- 0xbb,
- 0x92,
- 0x4d,
- 0x35,
- 0xea,
- 0x67,
- 0xa6,
- 0xe7,
- 0xc1,
- 0x90,
- 0x10,
- 0xc9,
- 0x14,
- 0x46,
- 0xf5,
- 0x95,
- 0x57,
- 0x8b,
- 0x90,
- 0x88,
- 0x5d,
+ 0x2d, 0x6b, 0x9d, 0xd4, 0x39, 0xa0, 0xe7, 0xff, 0x17, 0xe2,
+ 0xcb, 0x5c, 0x0d, 0x4a, 0xf6, 0x3f, 0xf4, 0xfe, 0xfc, 0xe5,
+ 0x22, 0xfa, 0xf5, 0x5b, 0xc0, 0xb2, 0x18, 0xbb, 0x92, 0x4d,
+ 0x35, 0xea, 0x67, 0xa6, 0xe7, 0xc1, 0x90, 0x10, 0xc9, 0x14,
+ 0x46, 0xf5, 0x95, 0x57, 0x8b, 0x90, 0x88, 0x5d
};
static const unsigned char rx_script_6_in[] = {
@@ -3126,450 +756,51 @@ static const unsigned char rx_script_6_in[] = {
0xbe, /* Length (446) */
0xa9,
0xe2, /* PN (0) */
- 0x83,
- 0x39,
- 0x95,
- 0x8f,
- 0x8f,
- 0x8c,
- 0xa9,
- 0xaf,
- 0x10,
- 0x29,
- 0x3d,
- 0xfc,
- 0x56,
- 0x4a,
- 0x1c,
- 0x4b,
- 0xc9,
- 0x48,
- 0xb1,
- 0xaf,
- 0x36,
- 0xd5,
- 0xac,
- 0x95,
- 0xbf,
- 0xfd,
- 0x2c,
- 0x4d,
- 0x70,
- 0x2e,
- 0x5b,
- 0x7c,
- 0x22,
- 0x5f,
- 0x5f,
- 0xee,
- 0x10,
- 0x8f,
- 0xfb,
- 0x0b,
- 0x5f,
- 0x9d,
- 0x7e,
- 0x68,
- 0x2f,
- 0x94,
- 0x0b,
- 0xdb,
- 0xed,
- 0xef,
- 0xfa,
- 0x4e,
- 0xc6,
- 0xd5,
- 0xe7,
- 0xef,
- 0xe0,
- 0x78,
- 0x3c,
- 0xdc,
- 0xe9,
- 0xd8,
- 0xe8,
- 0x56,
- 0x71,
- 0xd7,
- 0xe7,
- 0x6c,
- 0x7f,
- 0x5d,
- 0xaa,
- 0x7a,
- 0x52,
- 0x1d,
- 0x95,
- 0x7a,
- 0x80,
- 0x70,
- 0x38,
- 0xc0,
- 0x8b,
- 0xa1,
- 0x2f,
- 0x09,
- 0x16,
- 0xd2,
- 0xec,
- 0xa3,
- 0x23,
- 0x72,
- 0x45,
- 0x3c,
- 0xbd,
- 0x8c,
- 0xda,
- 0xbb,
- 0x37,
- 0x5a,
- 0x8d,
- 0xb2,
- 0x00,
- 0x7e,
- 0x67,
- 0x0c,
- 0xa0,
- 0x32,
- 0xdd,
- 0x80,
- 0x07,
- 0x71,
- 0xb0,
- 0x95,
- 0x21,
- 0xbc,
- 0x1e,
- 0xbd,
- 0x63,
- 0x0a,
- 0x10,
- 0xe7,
- 0x4b,
- 0x6e,
- 0x2e,
- 0x85,
- 0x3a,
- 0x65,
- 0xf7,
- 0x06,
- 0x6e,
- 0x7e,
- 0x8f,
- 0x65,
- 0x8c,
- 0xb1,
- 0x93,
- 0xe9,
- 0x0d,
- 0xe8,
- 0x46,
- 0xe7,
- 0xcf,
- 0xa7,
- 0xd2,
- 0x8b,
- 0x15,
- 0x23,
- 0xec,
- 0xc3,
- 0xec,
- 0x44,
- 0xda,
- 0x62,
- 0x15,
- 0x35,
- 0x34,
- 0x2f,
- 0x62,
- 0x77,
- 0xc8,
- 0x1f,
- 0x83,
- 0x22,
- 0x00,
- 0xe5,
- 0xc0,
- 0x89,
- 0xb8,
- 0x97,
- 0xd2,
- 0x37,
- 0x02,
- 0xea,
- 0xa2,
- 0x35,
- 0xbf,
- 0x19,
- 0xf0,
- 0xba,
- 0x1d,
- 0xb7,
- 0xaa,
- 0x36,
- 0xbb,
- 0x11,
- 0x60,
- 0xc3,
- 0x45,
- 0x1f,
- 0xe5,
- 0x18,
- 0xde,
- 0x4c,
- 0x01,
- 0x23,
- 0x2d,
- 0x17,
- 0x78,
- 0xdd,
- 0x4c,
- 0x8a,
- 0x1e,
- 0x1b,
- 0xd4,
- 0xda,
- 0x56,
- 0x43,
- 0x13,
- 0xa4,
- 0x4f,
- 0xfd,
- 0xd5,
- 0x92,
- 0x6a,
- 0x05,
- 0x5f,
- 0x14,
- 0x63,
- 0x85,
- 0x7d,
- 0xf1,
- 0x31,
- 0xb8,
- 0x27,
- 0x0b,
- 0xa6,
- 0xb5,
- 0x50,
- 0xca,
- 0x8b,
- 0x0e,
- 0xa1,
- 0x0d,
- 0xf9,
- 0xc4,
- 0xea,
- 0x6a,
- 0x6e,
- 0x4b,
- 0x6d,
- 0xdf,
- 0x49,
- 0xe8,
- 0x32,
- 0xf6,
- 0x85,
- 0xc4,
- 0x29,
- 0x26,
- 0x32,
- 0xfb,
- 0x5e,
- 0xa8,
- 0x55,
- 0x6b,
- 0x67,
- 0xe9,
- 0xaa,
- 0x35,
- 0x33,
- 0x90,
- 0xd8,
- 0x2a,
- 0x71,
- 0x0b,
- 0x6a,
- 0x48,
- 0xc4,
- 0xa3,
- 0x8b,
- 0xe0,
- 0xe7,
- 0x00,
- 0x3d,
- 0xee,
- 0x30,
- 0x70,
- 0x84,
- 0xbd,
- 0xa3,
- 0x3c,
- 0x9e,
- 0xa3,
- 0x5c,
- 0x69,
- 0xab,
- 0x55,
- 0x7b,
- 0xe2,
- 0xe5,
- 0x86,
- 0x13,
- 0xcb,
- 0x93,
- 0x3f,
- 0xcb,
- 0x3e,
- 0x6d,
- 0xc9,
- 0xc2,
- 0x10,
- 0x2b,
- 0x00,
- 0x9b,
- 0x3f,
- 0x14,
- 0x4e,
- 0x04,
- 0x27,
- 0xc0,
- 0xae,
- 0x1d,
- 0x48,
- 0x89,
- 0x3a,
- 0xf4,
- 0xac,
- 0xe0,
- 0x05,
- 0x07,
- 0xc9,
- 0x74,
- 0x6e,
- 0x21,
- 0x01,
- 0xe9,
- 0x26,
- 0xfd,
- 0xb4,
- 0xb2,
- 0x2a,
- 0xda,
- 0x72,
- 0xda,
- 0xbf,
- 0x63,
- 0x9d,
- 0x37,
- 0xaf,
- 0x90,
- 0x05,
- 0xd6,
- 0x89,
- 0xc7,
- 0xa6,
- 0x81,
- 0x4e,
- 0x2a,
- 0x30,
- 0xe3,
- 0x05,
- 0x88,
- 0x9f,
- 0xd0,
- 0xba,
- 0x8d,
- 0xc4,
- 0x21,
- 0x52,
- 0x5a,
- 0x7a,
- 0xe1,
- 0xad,
- 0xd3,
- 0x88,
- 0xc2,
- 0x18,
- 0xad,
- 0x4c,
- 0xb1,
- 0x66,
- 0x73,
- 0x1b,
- 0xf2,
- 0xd1,
- 0xb9,
- 0x43,
- 0xaa,
- 0xc4,
- 0x66,
- 0xcd,
- 0x42,
- 0xfa,
- 0x80,
- 0xec,
- 0xa1,
- 0x7c,
- 0x45,
- 0x02,
- 0x53,
- 0x45,
- 0xd5,
- 0x07,
- 0xd4,
- 0x70,
- 0x12,
- 0x1b,
- 0x08,
- 0x05,
- 0x6e,
- 0x99,
- 0x0a,
- 0xd3,
- 0x5b,
- 0x99,
- 0x6b,
- 0x65,
- 0xc4,
- 0xc0,
- 0x04,
- 0x1b,
- 0x75,
- 0xf2,
- 0x86,
- 0x99,
- 0x09,
- 0x4a,
- 0x50,
- 0x70,
- 0x00,
- 0x7a,
- 0x93,
- 0xaa,
- 0xe6,
- 0xf4,
- 0x03,
- 0x29,
- 0x06,
- 0xa4,
- 0x30,
- 0x6d,
- 0x52,
- 0xbd,
- 0x60,
- 0xd1,
- 0x7e,
- 0xd6,
- 0x07,
- 0xc0,
- 0x41,
- 0x01,
- 0x12,
- 0x3e,
- 0x16,
- 0x94,
+ 0x83, 0x39, 0x95, 0x8f, 0x8f, 0x8c, 0xa9, 0xaf, 0x10, 0x29,
+ 0x3d, 0xfc, 0x56, 0x4a, 0x1c, 0x4b, 0xc9, 0x48, 0xb1, 0xaf,
+ 0x36, 0xd5, 0xac, 0x95, 0xbf, 0xfd, 0x2c, 0x4d, 0x70, 0x2e,
+ 0x5b, 0x7c, 0x22, 0x5f, 0x5f, 0xee, 0x10, 0x8f, 0xfb, 0x0b,
+ 0x5f, 0x9d, 0x7e, 0x68, 0x2f, 0x94, 0x0b, 0xdb, 0xed, 0xef,
+ 0xfa, 0x4e, 0xc6, 0xd5, 0xe7, 0xef, 0xe0, 0x78, 0x3c, 0xdc,
+ 0xe9, 0xd8, 0xe8, 0x56, 0x71, 0xd7, 0xe7, 0x6c, 0x7f, 0x5d,
+ 0xaa, 0x7a, 0x52, 0x1d, 0x95, 0x7a, 0x80, 0x70, 0x38, 0xc0,
+ 0x8b, 0xa1, 0x2f, 0x09, 0x16, 0xd2, 0xec, 0xa3, 0x23, 0x72,
+ 0x45, 0x3c, 0xbd, 0x8c, 0xda, 0xbb, 0x37, 0x5a, 0x8d, 0xb2,
+ 0x00, 0x7e, 0x67, 0x0c, 0xa0, 0x32, 0xdd, 0x80, 0x07, 0x71,
+ 0xb0, 0x95, 0x21, 0xbc, 0x1e, 0xbd, 0x63, 0x0a, 0x10, 0xe7,
+ 0x4b, 0x6e, 0x2e, 0x85, 0x3a, 0x65, 0xf7, 0x06, 0x6e, 0x7e,
+ 0x8f, 0x65, 0x8c, 0xb1, 0x93, 0xe9, 0x0d, 0xe8, 0x46, 0xe7,
+ 0xcf, 0xa7, 0xd2, 0x8b, 0x15, 0x23, 0xec, 0xc3, 0xec, 0x44,
+ 0xda, 0x62, 0x15, 0x35, 0x34, 0x2f, 0x62, 0x77, 0xc8, 0x1f,
+ 0x83, 0x22, 0x00, 0xe5, 0xc0, 0x89, 0xb8, 0x97, 0xd2, 0x37,
+ 0x02, 0xea, 0xa2, 0x35, 0xbf, 0x19, 0xf0, 0xba, 0x1d, 0xb7,
+ 0xaa, 0x36, 0xbb, 0x11, 0x60, 0xc3, 0x45, 0x1f, 0xe5, 0x18,
+ 0xde, 0x4c, 0x01, 0x23, 0x2d, 0x17, 0x78, 0xdd, 0x4c, 0x8a,
+ 0x1e, 0x1b, 0xd4, 0xda, 0x56, 0x43, 0x13, 0xa4, 0x4f, 0xfd,
+ 0xd5, 0x92, 0x6a, 0x05, 0x5f, 0x14, 0x63, 0x85, 0x7d, 0xf1,
+ 0x31, 0xb8, 0x27, 0x0b, 0xa6, 0xb5, 0x50, 0xca, 0x8b, 0x0e,
+ 0xa1, 0x0d, 0xf9, 0xc4, 0xea, 0x6a, 0x6e, 0x4b, 0x6d, 0xdf,
+ 0x49, 0xe8, 0x32, 0xf6, 0x85, 0xc4, 0x29, 0x26, 0x32, 0xfb,
+ 0x5e, 0xa8, 0x55, 0x6b, 0x67, 0xe9, 0xaa, 0x35, 0x33, 0x90,
+ 0xd8, 0x2a, 0x71, 0x0b, 0x6a, 0x48, 0xc4, 0xa3, 0x8b, 0xe0,
+ 0xe7, 0x00, 0x3d, 0xee, 0x30, 0x70, 0x84, 0xbd, 0xa3, 0x3c,
+ 0x9e, 0xa3, 0x5c, 0x69, 0xab, 0x55, 0x7b, 0xe2, 0xe5, 0x86,
+ 0x13, 0xcb, 0x93, 0x3f, 0xcb, 0x3e, 0x6d, 0xc9, 0xc2, 0x10,
+ 0x2b, 0x00, 0x9b, 0x3f, 0x14, 0x4e, 0x04, 0x27, 0xc0, 0xae,
+ 0x1d, 0x48, 0x89, 0x3a, 0xf4, 0xac, 0xe0, 0x05, 0x07, 0xc9,
+ 0x74, 0x6e, 0x21, 0x01, 0xe9, 0x26, 0xfd, 0xb4, 0xb2, 0x2a,
+ 0xda, 0x72, 0xda, 0xbf, 0x63, 0x9d, 0x37, 0xaf, 0x90, 0x05,
+ 0xd6, 0x89, 0xc7, 0xa6, 0x81, 0x4e, 0x2a, 0x30, 0xe3, 0x05,
+ 0x88, 0x9f, 0xd0, 0xba, 0x8d, 0xc4, 0x21, 0x52, 0x5a, 0x7a,
+ 0xe1, 0xad, 0xd3, 0x88, 0xc2, 0x18, 0xad, 0x4c, 0xb1, 0x66,
+ 0x73, 0x1b, 0xf2, 0xd1, 0xb9, 0x43, 0xaa, 0xc4, 0x66, 0xcd,
+ 0x42, 0xfa, 0x80, 0xec, 0xa1, 0x7c, 0x45, 0x02, 0x53, 0x45,
+ 0xd5, 0x07, 0xd4, 0x70, 0x12, 0x1b, 0x08, 0x05, 0x6e, 0x99,
+ 0x0a, 0xd3, 0x5b, 0x99, 0x6b, 0x65, 0xc4, 0xc0, 0x04, 0x1b,
+ 0x75, 0xf2, 0x86, 0x99, 0x09, 0x4a, 0x50, 0x70, 0x00, 0x7a,
+ 0x93, 0xaa, 0xe6, 0xf4, 0x03, 0x29, 0x06, 0xa4, 0x30, 0x6d,
+ 0x52, 0xbd, 0x60, 0xd1, 0x7e, 0xd6, 0x07, 0xc0, 0x41, 0x01,
+ 0x12, 0x3e, 0x16, 0x94,
/* Second Packet: Handshake */
0xea, /* Long, Handshake, PN Length=2 bytes */
@@ -3587,785 +818,89 @@ static const unsigned char rx_script_6_in[] = {
0xb0, /* Length (688) */
0x3a,
0xc5, /* PN (0) */
- 0x3b,
- 0x8e,
- 0x4c,
- 0x01,
- 0x72,
- 0x6b,
- 0xfa,
- 0xbb,
- 0xad,
- 0xf9,
- 0x9e,
- 0x21,
- 0xb1,
- 0xd0,
- 0x01,
- 0xf1,
- 0xd4,
- 0x67,
- 0x8d,
- 0x2c,
- 0xee,
- 0x04,
- 0x60,
- 0x4a,
- 0xe2,
- 0xe4,
- 0xc6,
- 0x89,
- 0x01,
- 0xae,
- 0x3c,
- 0x1f,
- 0xf7,
- 0xe6,
- 0xf7,
- 0xac,
- 0x26,
- 0xcf,
- 0x3c,
- 0x6d,
- 0x1d,
- 0xfd,
- 0x11,
- 0x02,
- 0x51,
- 0x73,
- 0xb5,
- 0xe1,
- 0xb2,
- 0x44,
- 0x42,
- 0x32,
- 0x0f,
- 0xf5,
- 0x3d,
- 0x55,
- 0x2d,
- 0x1f,
- 0x02,
- 0x29,
- 0x51,
- 0x35,
- 0xdb,
- 0xc7,
- 0x7a,
- 0x34,
- 0x4b,
- 0xec,
- 0x60,
- 0x49,
- 0xa2,
- 0x90,
- 0x11,
- 0xef,
- 0x5a,
- 0xa9,
- 0x1c,
- 0xf7,
- 0xd9,
- 0x21,
- 0x68,
- 0x1c,
- 0x2b,
- 0xc6,
- 0x57,
- 0xde,
- 0xb1,
- 0x0b,
- 0x31,
- 0xed,
- 0xef,
- 0x16,
- 0xba,
- 0x08,
- 0xb9,
- 0xe2,
- 0xd9,
- 0xd0,
- 0xd8,
- 0x1f,
- 0xc4,
- 0x32,
- 0xe8,
- 0x45,
- 0x2a,
- 0x86,
- 0xe4,
- 0xd3,
- 0xaf,
- 0x72,
- 0x4f,
- 0x30,
- 0x01,
- 0x71,
- 0x15,
- 0x9b,
- 0xa9,
- 0x55,
- 0x35,
- 0xf7,
- 0x39,
- 0x7e,
- 0x6a,
- 0x59,
- 0x18,
- 0x4f,
- 0xe6,
- 0xdf,
- 0xb5,
- 0x0d,
- 0xc2,
- 0xe7,
- 0xb2,
- 0xa1,
- 0xa6,
- 0xa3,
- 0x9c,
- 0xf0,
- 0x0d,
- 0x59,
- 0x05,
- 0x49,
- 0x95,
- 0xfa,
- 0xcc,
- 0x72,
- 0xd7,
- 0xc0,
- 0x84,
- 0x2e,
- 0xc4,
- 0x1c,
- 0xd4,
- 0xa0,
- 0xe3,
- 0x6c,
- 0x5a,
- 0x8c,
- 0x94,
- 0x4d,
- 0x37,
- 0x1a,
- 0x1c,
- 0x68,
- 0x93,
- 0x5f,
- 0xe5,
- 0x99,
- 0x27,
- 0xc6,
- 0x06,
- 0xaa,
- 0x1f,
- 0x29,
- 0x17,
- 0xc5,
- 0x8c,
- 0x3d,
- 0x53,
- 0xa7,
- 0x05,
- 0x3a,
- 0x44,
- 0x53,
- 0x86,
- 0xed,
- 0x56,
- 0x99,
- 0x4c,
- 0xe2,
- 0x7b,
- 0x3a,
- 0x1e,
- 0x5d,
- 0x6d,
- 0xac,
- 0x78,
- 0x1e,
- 0xfa,
- 0x55,
- 0x58,
- 0x6e,
- 0x72,
- 0xee,
- 0xf9,
- 0x33,
- 0x64,
- 0x7f,
- 0x93,
- 0x3c,
- 0xfe,
- 0x18,
- 0x97,
- 0x6b,
- 0x02,
- 0x74,
- 0x90,
- 0x0d,
- 0xba,
- 0x89,
- 0xc0,
- 0x22,
- 0x0a,
- 0x0a,
- 0x37,
- 0x4c,
- 0x28,
- 0x74,
- 0xa7,
- 0x3a,
- 0x44,
- 0x74,
- 0x42,
- 0xff,
- 0xf1,
- 0xd2,
- 0x8d,
- 0x0c,
- 0xc1,
- 0xed,
- 0x98,
- 0x98,
- 0x8e,
- 0xa8,
- 0x6b,
- 0x95,
- 0x6a,
- 0x86,
- 0x0b,
- 0xb4,
- 0x95,
- 0x58,
- 0x34,
- 0x12,
- 0xb0,
- 0xc0,
- 0xf8,
- 0x2d,
- 0x5b,
- 0x40,
- 0x51,
- 0x80,
- 0x07,
- 0x91,
- 0x31,
- 0x77,
- 0xd3,
- 0x06,
- 0xa5,
- 0xe5,
- 0x1f,
- 0xe2,
- 0xf8,
- 0x92,
- 0xe4,
- 0x23,
- 0x2b,
- 0xf0,
- 0x4c,
- 0xa9,
- 0xa5,
- 0x6c,
- 0x6f,
- 0xaf,
- 0xaf,
- 0xbf,
- 0x97,
- 0xcf,
- 0x46,
- 0xf2,
- 0x8d,
- 0x61,
- 0x0e,
- 0x73,
- 0xcd,
- 0xc5,
- 0xde,
- 0xda,
- 0x50,
- 0x82,
- 0x61,
- 0x6d,
- 0xb1,
- 0xa2,
- 0xbe,
- 0x6b,
- 0x99,
- 0xcd,
- 0x5b,
- 0x99,
- 0x8f,
- 0x66,
- 0xab,
- 0x11,
- 0x78,
- 0xcc,
- 0xdb,
- 0x66,
- 0x98,
- 0xca,
- 0x19,
- 0x92,
- 0xf4,
- 0x05,
- 0xae,
- 0xe6,
- 0xf3,
- 0xe7,
- 0xf0,
- 0x30,
- 0x28,
- 0x31,
- 0x74,
- 0xff,
- 0xe2,
- 0xb3,
- 0x3a,
- 0x4f,
- 0x79,
- 0xe7,
- 0x2a,
- 0x9f,
- 0xe3,
- 0x41,
- 0xb2,
- 0x88,
- 0xc8,
- 0x8f,
- 0x77,
- 0x57,
- 0x42,
- 0x65,
- 0xdb,
- 0x07,
- 0xf6,
- 0x5f,
- 0xb8,
- 0x34,
- 0x17,
- 0xe3,
- 0x8d,
- 0x22,
- 0x5b,
- 0x88,
- 0x94,
- 0x60,
- 0x97,
- 0x32,
- 0x3d,
- 0x8a,
- 0x51,
- 0x9d,
- 0xb5,
- 0xac,
- 0xd7,
- 0x99,
- 0x96,
- 0x23,
- 0x6d,
- 0xc9,
- 0xab,
- 0x61,
- 0x41,
- 0x8f,
- 0x72,
- 0x1b,
- 0xf8,
- 0x84,
- 0xd9,
- 0x57,
- 0x88,
- 0x68,
- 0x3d,
- 0x73,
- 0x5f,
- 0xb1,
- 0x18,
- 0x5c,
- 0x3a,
- 0x35,
- 0xd2,
- 0xc5,
- 0xb7,
- 0x29,
- 0xc7,
- 0x95,
- 0xdd,
- 0x21,
- 0xc0,
- 0x78,
- 0x49,
- 0xf3,
- 0x24,
- 0xe0,
- 0x4c,
- 0x5c,
- 0x32,
- 0x08,
- 0xb7,
- 0x00,
- 0x43,
- 0x70,
- 0x5a,
- 0x95,
- 0x23,
- 0x91,
- 0xf5,
- 0xb7,
- 0x61,
- 0x85,
- 0x6f,
- 0xb3,
- 0xa4,
- 0x6b,
- 0x05,
- 0x9d,
- 0x39,
- 0xa3,
- 0xb1,
- 0x1c,
- 0x61,
- 0xc5,
- 0xa5,
- 0xe7,
- 0x9a,
- 0xe9,
- 0x5d,
- 0xaa,
- 0xca,
- 0x11,
- 0xd8,
- 0x4b,
- 0xa4,
- 0x9c,
- 0x18,
- 0x4e,
- 0x2b,
- 0x2d,
- 0x75,
- 0xc1,
- 0x12,
- 0x20,
- 0xe4,
- 0x66,
- 0xa5,
- 0x59,
- 0x67,
- 0x4b,
- 0xcc,
- 0x52,
- 0x2d,
- 0xfa,
- 0xaa,
- 0xa4,
- 0xe9,
- 0xfc,
- 0x79,
- 0xd7,
- 0xff,
- 0x03,
- 0x3e,
- 0xec,
- 0xba,
- 0x97,
- 0x37,
- 0x52,
- 0xc1,
- 0x57,
- 0x31,
- 0x8e,
- 0x57,
- 0x0c,
- 0x54,
- 0x92,
- 0x9c,
- 0x25,
- 0x5c,
- 0xfa,
- 0x9f,
- 0xa5,
- 0x36,
- 0x18,
- 0xd0,
- 0xaa,
- 0xf3,
- 0x3b,
- 0x5b,
- 0x59,
- 0xbd,
- 0x33,
- 0x5e,
- 0x7d,
- 0x74,
- 0x7c,
- 0xaf,
- 0xe9,
- 0x54,
- 0x80,
- 0xc4,
- 0xb4,
- 0xa1,
- 0x24,
- 0x9e,
- 0x23,
- 0x0d,
- 0xbf,
- 0x4e,
- 0x0f,
- 0xaf,
- 0xa5,
- 0x16,
- 0xcb,
- 0x3b,
- 0xfa,
- 0x33,
- 0xa5,
- 0x68,
- 0xa6,
- 0x64,
- 0x48,
- 0x2f,
- 0x5e,
- 0xfa,
- 0x64,
- 0x4e,
- 0xe3,
- 0x27,
- 0x4f,
- 0x13,
- 0xe6,
- 0x37,
- 0xf6,
- 0xb9,
- 0x63,
- 0x4b,
- 0xdc,
- 0x49,
- 0x3c,
- 0x5e,
- 0x9e,
- 0x06,
- 0xea,
- 0xac,
- 0xa3,
- 0xdf,
- 0x6c,
- 0x49,
- 0xfb,
- 0xa1,
- 0x01,
- 0x4f,
- 0x6f,
- 0x74,
- 0x1f,
- 0xd3,
- 0x26,
- 0xa1,
- 0x92,
- 0x3e,
- 0xe0,
- 0x73,
- 0xd6,
- 0x3b,
- 0x67,
- 0x13,
- 0x53,
- 0x2e,
- 0xcb,
- 0xbc,
- 0x83,
- 0xd0,
- 0x6e,
- 0x28,
- 0xb1,
- 0xcb,
- 0xd9,
- 0x66,
- 0xe0,
- 0x33,
- 0x59,
- 0x45,
- 0xd3,
- 0x13,
- 0xc2,
- 0x48,
- 0xd5,
- 0x9e,
- 0x88,
- 0xba,
- 0x75,
- 0x7b,
- 0xb1,
- 0xfe,
- 0x6f,
- 0xec,
- 0xde,
- 0xff,
- 0x14,
- 0x59,
- 0x75,
- 0xbf,
- 0x1a,
- 0x74,
- 0x47,
- 0xc5,
- 0xd8,
- 0xe8,
- 0x1b,
- 0x3c,
- 0x86,
- 0xd7,
- 0x1f,
- 0x99,
- 0x11,
- 0xd3,
- 0x29,
- 0xfd,
- 0x5d,
- 0x22,
- 0x7e,
- 0x03,
- 0x78,
- 0xed,
- 0x62,
- 0x0e,
- 0xbe,
- 0x6d,
- 0x75,
- 0xf4,
- 0xa8,
- 0x6e,
- 0xc7,
- 0x21,
- 0x76,
- 0xc5,
- 0xa0,
- 0x0c,
- 0xaa,
- 0x58,
- 0x78,
- 0x7e,
- 0x6e,
- 0xfc,
- 0x1e,
- 0x2a,
- 0x1c,
- 0xdd,
- 0xe5,
- 0x78,
- 0x08,
- 0xbd,
- 0xdb,
- 0xea,
- 0x8f,
- 0x8a,
- 0xa5,
- 0xbf,
- 0x93,
- 0xfe,
- 0x0f,
- 0x03,
- 0xa1,
- 0xc8,
- 0x64,
- 0x9f,
- 0x4a,
+ 0x3b, 0x8e, 0x4c, 0x01, 0x72, 0x6b, 0xfa, 0xbb, 0xad, 0xf9,
+ 0x9e, 0x21, 0xb1, 0xd0, 0x01, 0xf1, 0xd4, 0x67, 0x8d, 0x2c,
+ 0xee, 0x04, 0x60, 0x4a, 0xe2, 0xe4, 0xc6, 0x89, 0x01, 0xae,
+ 0x3c, 0x1f, 0xf7, 0xe6, 0xf7, 0xac, 0x26, 0xcf, 0x3c, 0x6d,
+ 0x1d, 0xfd, 0x11, 0x02, 0x51, 0x73, 0xb5, 0xe1, 0xb2, 0x44,
+ 0x42, 0x32, 0x0f, 0xf5, 0x3d, 0x55, 0x2d, 0x1f, 0x02, 0x29,
+ 0x51, 0x35, 0xdb, 0xc7, 0x7a, 0x34, 0x4b, 0xec, 0x60, 0x49,
+ 0xa2, 0x90, 0x11, 0xef, 0x5a, 0xa9, 0x1c, 0xf7, 0xd9, 0x21,
+ 0x68, 0x1c, 0x2b, 0xc6, 0x57, 0xde, 0xb1, 0x0b, 0x31, 0xed,
+ 0xef, 0x16, 0xba, 0x08, 0xb9, 0xe2, 0xd9, 0xd0, 0xd8, 0x1f,
+ 0xc4, 0x32, 0xe8, 0x45, 0x2a, 0x86, 0xe4, 0xd3, 0xaf, 0x72,
+ 0x4f, 0x30, 0x01, 0x71, 0x15, 0x9b, 0xa9, 0x55, 0x35, 0xf7,
+ 0x39, 0x7e, 0x6a, 0x59, 0x18, 0x4f, 0xe6, 0xdf, 0xb5, 0x0d,
+ 0xc2, 0xe7, 0xb2, 0xa1, 0xa6, 0xa3, 0x9c, 0xf0, 0x0d, 0x59,
+ 0x05, 0x49, 0x95, 0xfa, 0xcc, 0x72, 0xd7, 0xc0, 0x84, 0x2e,
+ 0xc4, 0x1c, 0xd4, 0xa0, 0xe3, 0x6c, 0x5a, 0x8c, 0x94, 0x4d,
+ 0x37, 0x1a, 0x1c, 0x68, 0x93, 0x5f, 0xe5, 0x99, 0x27, 0xc6,
+ 0x06, 0xaa, 0x1f, 0x29, 0x17, 0xc5, 0x8c, 0x3d, 0x53, 0xa7,
+ 0x05, 0x3a, 0x44, 0x53, 0x86, 0xed, 0x56, 0x99, 0x4c, 0xe2,
+ 0x7b, 0x3a, 0x1e, 0x5d, 0x6d, 0xac, 0x78, 0x1e, 0xfa, 0x55,
+ 0x58, 0x6e, 0x72, 0xee, 0xf9, 0x33, 0x64, 0x7f, 0x93, 0x3c,
+ 0xfe, 0x18, 0x97, 0x6b, 0x02, 0x74, 0x90, 0x0d, 0xba, 0x89,
+ 0xc0, 0x22, 0x0a, 0x0a, 0x37, 0x4c, 0x28, 0x74, 0xa7, 0x3a,
+ 0x44, 0x74, 0x42, 0xff, 0xf1, 0xd2, 0x8d, 0x0c, 0xc1, 0xed,
+ 0x98, 0x98, 0x8e, 0xa8, 0x6b, 0x95, 0x6a, 0x86, 0x0b, 0xb4,
+ 0x95, 0x58, 0x34, 0x12, 0xb0, 0xc0, 0xf8, 0x2d, 0x5b, 0x40,
+ 0x51, 0x80, 0x07, 0x91, 0x31, 0x77, 0xd3, 0x06, 0xa5, 0xe5,
+ 0x1f, 0xe2, 0xf8, 0x92, 0xe4, 0x23, 0x2b, 0xf0, 0x4c, 0xa9,
+ 0xa5, 0x6c, 0x6f, 0xaf, 0xaf, 0xbf, 0x97, 0xcf, 0x46, 0xf2,
+ 0x8d, 0x61, 0x0e, 0x73, 0xcd, 0xc5, 0xde, 0xda, 0x50, 0x82,
+ 0x61, 0x6d, 0xb1, 0xa2, 0xbe, 0x6b, 0x99, 0xcd, 0x5b, 0x99,
+ 0x8f, 0x66, 0xab, 0x11, 0x78, 0xcc, 0xdb, 0x66, 0x98, 0xca,
+ 0x19, 0x92, 0xf4, 0x05, 0xae, 0xe6, 0xf3, 0xe7, 0xf0, 0x30,
+ 0x28, 0x31, 0x74, 0xff, 0xe2, 0xb3, 0x3a, 0x4f, 0x79, 0xe7,
+ 0x2a, 0x9f, 0xe3, 0x41, 0xb2, 0x88, 0xc8, 0x8f, 0x77, 0x57,
+ 0x42, 0x65, 0xdb, 0x07, 0xf6, 0x5f, 0xb8, 0x34, 0x17, 0xe3,
+ 0x8d, 0x22, 0x5b, 0x88, 0x94, 0x60, 0x97, 0x32, 0x3d, 0x8a,
+ 0x51, 0x9d, 0xb5, 0xac, 0xd7, 0x99, 0x96, 0x23, 0x6d, 0xc9,
+ 0xab, 0x61, 0x41, 0x8f, 0x72, 0x1b, 0xf8, 0x84, 0xd9, 0x57,
+ 0x88, 0x68, 0x3d, 0x73, 0x5f, 0xb1, 0x18, 0x5c, 0x3a, 0x35,
+ 0xd2, 0xc5, 0xb7, 0x29, 0xc7, 0x95, 0xdd, 0x21, 0xc0, 0x78,
+ 0x49, 0xf3, 0x24, 0xe0, 0x4c, 0x5c, 0x32, 0x08, 0xb7, 0x00,
+ 0x43, 0x70, 0x5a, 0x95, 0x23, 0x91, 0xf5, 0xb7, 0x61, 0x85,
+ 0x6f, 0xb3, 0xa4, 0x6b, 0x05, 0x9d, 0x39, 0xa3, 0xb1, 0x1c,
+ 0x61, 0xc5, 0xa5, 0xe7, 0x9a, 0xe9, 0x5d, 0xaa, 0xca, 0x11,
+ 0xd8, 0x4b, 0xa4, 0x9c, 0x18, 0x4e, 0x2b, 0x2d, 0x75, 0xc1,
+ 0x12, 0x20, 0xe4, 0x66, 0xa5, 0x59, 0x67, 0x4b, 0xcc, 0x52,
+ 0x2d, 0xfa, 0xaa, 0xa4, 0xe9, 0xfc, 0x79, 0xd7, 0xff, 0x03,
+ 0x3e, 0xec, 0xba, 0x97, 0x37, 0x52, 0xc1, 0x57, 0x31, 0x8e,
+ 0x57, 0x0c, 0x54, 0x92, 0x9c, 0x25, 0x5c, 0xfa, 0x9f, 0xa5,
+ 0x36, 0x18, 0xd0, 0xaa, 0xf3, 0x3b, 0x5b, 0x59, 0xbd, 0x33,
+ 0x5e, 0x7d, 0x74, 0x7c, 0xaf, 0xe9, 0x54, 0x80, 0xc4, 0xb4,
+ 0xa1, 0x24, 0x9e, 0x23, 0x0d, 0xbf, 0x4e, 0x0f, 0xaf, 0xa5,
+ 0x16, 0xcb, 0x3b, 0xfa, 0x33, 0xa5, 0x68, 0xa6, 0x64, 0x48,
+ 0x2f, 0x5e, 0xfa, 0x64, 0x4e, 0xe3, 0x27, 0x4f, 0x13, 0xe6,
+ 0x37, 0xf6, 0xb9, 0x63, 0x4b, 0xdc, 0x49, 0x3c, 0x5e, 0x9e,
+ 0x06, 0xea, 0xac, 0xa3, 0xdf, 0x6c, 0x49, 0xfb, 0xa1, 0x01,
+ 0x4f, 0x6f, 0x74, 0x1f, 0xd3, 0x26, 0xa1, 0x92, 0x3e, 0xe0,
+ 0x73, 0xd6, 0x3b, 0x67, 0x13, 0x53, 0x2e, 0xcb, 0xbc, 0x83,
+ 0xd0, 0x6e, 0x28, 0xb1, 0xcb, 0xd9, 0x66, 0xe0, 0x33, 0x59,
+ 0x45, 0xd3, 0x13, 0xc2, 0x48, 0xd5, 0x9e, 0x88, 0xba, 0x75,
+ 0x7b, 0xb1, 0xfe, 0x6f, 0xec, 0xde, 0xff, 0x14, 0x59, 0x75,
+ 0xbf, 0x1a, 0x74, 0x47, 0xc5, 0xd8, 0xe8, 0x1b, 0x3c, 0x86,
+ 0xd7, 0x1f, 0x99, 0x11, 0xd3, 0x29, 0xfd, 0x5d, 0x22, 0x7e,
+ 0x03, 0x78, 0xed, 0x62, 0x0e, 0xbe, 0x6d, 0x75, 0xf4, 0xa8,
+ 0x6e, 0xc7, 0x21, 0x76, 0xc5, 0xa0, 0x0c, 0xaa, 0x58, 0x78,
+ 0x7e, 0x6e, 0xfc, 0x1e, 0x2a, 0x1c, 0xdd, 0xe5, 0x78, 0x08,
+ 0xbd, 0xdb, 0xea, 0x8f, 0x8a, 0xa5, 0xbf, 0x93, 0xfe, 0x0f,
+ 0x03, 0xa1, 0xc8, 0x64, 0x9f, 0x4a,
/* Third Packet: 1-RTT */
0x48, /* Short, 1-RTT, Spin=0, KP=0, PN Length=2 bytes */
0x3e,
0x28, /* PN (0) */
- 0xb9,
- 0xdb,
- 0x61,
- 0xf8,
- 0x8b,
- 0x3a,
- 0xef,
- 0x26,
- 0x69,
- 0xf2,
- 0x57,
- 0xc6,
- 0x84,
- 0x25,
- 0x6b,
- 0x77,
- 0xbe,
- 0x8c,
- 0x43,
- 0x32,
- 0xf3,
- 0x9a,
- 0xd1,
- 0x85,
- 0x14,
- 0xbc,
- 0x89,
- 0x3b,
- 0x9c,
- 0xf3,
- 0xfc,
- 0x00,
- 0xa1,
- 0x3a,
- 0xc3,
- 0xc4,
- 0x1e,
- 0xdf,
- 0xd0,
- 0x11,
- 0x70,
- 0xd9,
- 0x02,
- 0x7a,
- 0xd4,
- 0xef,
- 0x86,
- 0x67,
- 0xb1,
- 0x1e,
- 0x5d,
- 0xe3,
- 0x7f,
- 0x82,
- 0x14,
- 0x52,
- 0xa5,
- 0x8a,
- 0x89,
- 0xa7,
- 0x98,
- 0x75,
- 0x2f,
- 0x8a,
- 0x00,
- 0xf3,
- 0xbd,
- 0x49,
- 0x26,
- 0x4d,
- 0x0c,
- 0xc7,
- 0x38,
- 0xe7,
- 0x91,
- 0x85,
- 0xc9,
- 0x21,
- 0x6a,
- 0x1c,
- 0xc4,
- 0xa3,
- 0x0e,
- 0xd8,
- 0xfe,
- 0xb1,
- 0x25,
- 0x1a,
+ 0xb9, 0xdb, 0x61, 0xf8, 0x8b, 0x3a, 0xef, 0x26, 0x69, 0xf2,
+ 0x57, 0xc6, 0x84, 0x25, 0x6b, 0x77, 0xbe, 0x8c, 0x43, 0x32,
+ 0xf3, 0x9a, 0xd1, 0x85, 0x14, 0xbc, 0x89, 0x3b, 0x9c, 0xf3,
+ 0xfc, 0x00, 0xa1, 0x3a, 0xc3, 0xc4, 0x1e, 0xdf, 0xd0, 0x11,
+ 0x70, 0xd9, 0x02, 0x7a, 0xd4, 0xef, 0x86, 0x67, 0xb1, 0x1e,
+ 0x5d, 0xe3, 0x7f, 0x82, 0x14, 0x52, 0xa5, 0x8a, 0x89, 0xa7,
+ 0x98, 0x75, 0x2f, 0x8a, 0x00, 0xf3, 0xbd, 0x49, 0x26, 0x4d,
+ 0x0c, 0xc7, 0x38, 0xe7, 0x91, 0x85, 0xc9, 0x21, 0x6a, 0x1c,
+ 0xc4, 0xa3, 0x0e, 0xd8, 0xfe, 0xb1, 0x25, 0x1a
};
static const QUIC_PKT_HDR rx_script_6a_expect_hdr = {
@@ -4386,434 +921,49 @@ static const QUIC_PKT_HDR rx_script_6a_expect_hdr = {
};
static const unsigned char rx_script_6a_body[] = {
- 0x02,
- 0x03,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x06,
- 0x00,
- 0x40,
- 0x5a,
- 0x02,
- 0x00,
- 0x00,
- 0x56,
- 0x03,
- 0x03,
- 0xc3,
- 0x45,
- 0xe8,
- 0xb8,
- 0xf9,
- 0x7c,
- 0x9f,
- 0x5d,
- 0xcf,
- 0x66,
- 0x25,
- 0xe4,
- 0x91,
- 0x0e,
- 0xb0,
- 0x5a,
- 0x14,
- 0xce,
- 0xaf,
- 0xea,
- 0x83,
- 0x12,
- 0xde,
- 0x68,
- 0xd9,
- 0x31,
- 0xf2,
- 0x23,
- 0x11,
- 0x3a,
- 0x15,
- 0xcb,
- 0x00,
- 0x13,
- 0x02,
- 0x00,
- 0x00,
- 0x2e,
- 0x00,
- 0x2b,
- 0x00,
- 0x02,
- 0x03,
- 0x04,
- 0x00,
- 0x33,
- 0x00,
- 0x24,
- 0x00,
- 0x1d,
- 0x00,
- 0x20,
- 0xab,
- 0xd3,
- 0xc6,
- 0x9f,
- 0x36,
- 0xd3,
- 0x52,
- 0x93,
- 0x87,
- 0xee,
- 0x92,
- 0x01,
- 0xa2,
- 0xd6,
- 0x9a,
- 0x5e,
- 0x61,
- 0x43,
- 0xcc,
- 0x4a,
- 0xcc,
- 0x7a,
- 0xcd,
- 0x83,
- 0xb2,
- 0xd9,
- 0xad,
- 0xd1,
- 0x14,
- 0xdc,
- 0x84,
- 0x61,
+ 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x40, 0x5a, 0x02, 0x00,
+ 0x00, 0x56, 0x03, 0x03, 0xc3, 0x45, 0xe8, 0xb8, 0xf9, 0x7c,
+ 0x9f, 0x5d, 0xcf, 0x66, 0x25, 0xe4, 0x91, 0x0e, 0xb0, 0x5a,
+ 0x14, 0xce, 0xaf, 0xea, 0x83, 0x12, 0xde, 0x68, 0xd9, 0x31,
+ 0xf2, 0x23, 0x11, 0x3a, 0x15, 0xcb, 0x00, 0x13, 0x02, 0x00,
+ 0x00, 0x2e, 0x00, 0x2b, 0x00, 0x02, 0x03, 0x04, 0x00, 0x33,
+ 0x00, 0x24, 0x00, 0x1d, 0x00, 0x20, 0xab, 0xd3, 0xc6, 0x9f,
+ 0x36, 0xd3, 0x52, 0x93, 0x87, 0xee, 0x92, 0x01, 0xa2, 0xd6,
+ 0x9a, 0x5e, 0x61, 0x43, 0xcc, 0x4a, 0xcc, 0x7a, 0xcd, 0x83,
+ 0xb2, 0xd9, 0xad, 0xd1, 0x14, 0xdc, 0x84, 0x61
};
static const QUIC_PKT_HDR rx_script_6b_expect_hdr = {
@@ -4834,676 +984,73 @@ static const QUIC_PKT_HDR rx_script_6b_expect_hdr = {
};
static const unsigned char rx_script_6b_body[] = {
- 0x06,
- 0x00,
- 0x42,
- 0x9a,
- 0x08,
- 0x00,
- 0x00,
- 0x80,
- 0x00,
- 0x7e,
- 0x00,
- 0x10,
- 0x00,
- 0x08,
- 0x00,
- 0x06,
- 0x05,
- 0x64,
- 0x75,
- 0x6d,
- 0x6d,
- 0x79,
- 0x00,
- 0x39,
- 0x00,
- 0x6e,
- 0x47,
- 0xfa,
- 0x05,
- 0x5a,
- 0xe0,
- 0xec,
- 0x4a,
- 0xf3,
- 0x05,
- 0x04,
- 0x80,
- 0x08,
- 0x00,
- 0x00,
- 0x06,
- 0x04,
- 0x80,
- 0x08,
- 0x00,
- 0x00,
- 0x07,
- 0x04,
- 0x80,
- 0x08,
- 0x00,
- 0x00,
- 0x04,
- 0x04,
- 0x80,
- 0x0c,
- 0x00,
- 0x00,
- 0x08,
- 0x02,
- 0x40,
- 0x64,
- 0x09,
- 0x02,
- 0x40,
- 0x64,
- 0x01,
- 0x04,
- 0x80,
- 0x00,
- 0x75,
- 0x30,
- 0x03,
- 0x02,
- 0x45,
- 0xac,
- 0x0b,
- 0x01,
- 0x1a,
- 0x0c,
- 0x00,
- 0x02,
- 0x10,
- 0x35,
- 0xd7,
- 0x7d,
- 0x8b,
- 0xc5,
- 0xb1,
- 0x89,
- 0xb1,
- 0x5c,
- 0x23,
- 0x74,
- 0x50,
- 0xfd,
- 0x47,
- 0xfe,
- 0xd2,
- 0x00,
- 0x11,
- 0x96,
- 0x38,
- 0x27,
- 0xde,
- 0x7d,
- 0xfb,
- 0x2b,
- 0x38,
- 0x56,
- 0xe5,
- 0x2a,
- 0xb8,
- 0x6b,
- 0xfa,
- 0xaa,
- 0xde,
- 0x81,
- 0x0e,
- 0x01,
- 0x04,
- 0x0f,
- 0x04,
- 0x36,
- 0xf4,
- 0x75,
- 0x2d,
- 0x10,
- 0x04,
- 0xac,
- 0x88,
- 0x95,
- 0xbd,
- 0x20,
- 0x01,
- 0x00,
- 0x0b,
- 0x00,
- 0x01,
- 0x8f,
- 0x00,
- 0x00,
- 0x01,
- 0x8b,
- 0x00,
- 0x01,
- 0x86,
- 0x30,
- 0x82,
- 0x01,
- 0x82,
- 0x30,
- 0x82,
- 0x01,
- 0x29,
- 0xa0,
- 0x03,
- 0x02,
- 0x01,
- 0x02,
- 0x02,
- 0x14,
- 0x0a,
- 0x73,
- 0x0f,
- 0x86,
- 0x18,
- 0xf2,
- 0xc3,
- 0x30,
- 0x01,
- 0xd2,
- 0xc0,
- 0xc1,
- 0x62,
- 0x52,
- 0x13,
- 0xf1,
- 0x9c,
- 0x13,
- 0x39,
- 0xb5,
- 0x30,
- 0x0a,
- 0x06,
- 0x08,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x04,
- 0x03,
- 0x02,
- 0x30,
- 0x17,
- 0x31,
- 0x15,
- 0x30,
- 0x13,
- 0x06,
- 0x03,
- 0x55,
- 0x04,
- 0x03,
- 0x0c,
- 0x0c,
- 0x6d,
- 0x61,
- 0x70,
- 0x61,
- 0x6b,
- 0x74,
- 0x2e,
- 0x6c,
- 0x6f,
- 0x63,
- 0x61,
- 0x6c,
- 0x30,
- 0x1e,
- 0x17,
- 0x0d,
- 0x32,
- 0x32,
- 0x30,
- 0x38,
- 0x30,
- 0x32,
- 0x31,
- 0x32,
- 0x30,
- 0x30,
- 0x31,
- 0x38,
- 0x5a,
- 0x17,
- 0x0d,
- 0x32,
- 0x32,
- 0x30,
- 0x39,
- 0x30,
- 0x31,
- 0x31,
- 0x32,
- 0x30,
- 0x30,
- 0x31,
- 0x38,
- 0x5a,
- 0x30,
- 0x17,
- 0x31,
- 0x15,
- 0x30,
- 0x13,
- 0x06,
- 0x03,
- 0x55,
- 0x04,
- 0x03,
- 0x0c,
- 0x0c,
- 0x6d,
- 0x61,
- 0x70,
- 0x61,
- 0x6b,
- 0x74,
- 0x2e,
- 0x6c,
- 0x6f,
- 0x63,
- 0x61,
- 0x6c,
- 0x30,
- 0x59,
- 0x30,
- 0x13,
- 0x06,
- 0x07,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x02,
- 0x01,
- 0x06,
- 0x08,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x03,
- 0x01,
- 0x07,
- 0x03,
- 0x42,
- 0x00,
- 0x04,
- 0x67,
- 0xf4,
- 0xd3,
- 0x8f,
- 0x15,
- 0x6d,
- 0xee,
- 0x85,
- 0xcc,
- 0x2a,
- 0x77,
- 0xfc,
- 0x0b,
- 0x8f,
- 0x9f,
- 0xcf,
- 0xa9,
- 0x95,
- 0x5d,
- 0x5b,
- 0xcd,
- 0xb7,
- 0x8b,
- 0xba,
- 0x31,
- 0x0a,
- 0x73,
- 0x62,
- 0xc5,
- 0xd0,
- 0x0e,
- 0x07,
- 0x90,
- 0xae,
- 0x38,
- 0x43,
- 0x79,
- 0xce,
- 0x5e,
- 0x33,
- 0xad,
- 0x31,
- 0xbf,
- 0x9f,
- 0x2a,
- 0x56,
- 0x83,
- 0xa5,
- 0x24,
- 0x16,
- 0xab,
- 0x0c,
- 0xf1,
- 0x64,
- 0xbe,
- 0xe4,
- 0x93,
- 0xb5,
- 0x89,
- 0xd6,
- 0x05,
- 0xe4,
- 0xf7,
- 0x7b,
- 0xa3,
- 0x53,
- 0x30,
- 0x51,
- 0x30,
- 0x1d,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x0e,
- 0x04,
- 0x16,
- 0x04,
- 0x14,
- 0x02,
- 0x64,
- 0x0f,
- 0x55,
- 0x69,
- 0x14,
- 0x91,
- 0x19,
- 0xed,
- 0xf9,
- 0x1a,
- 0xe9,
- 0x1d,
- 0xa5,
- 0x5a,
- 0xd0,
- 0x48,
- 0x96,
- 0x9f,
- 0x60,
- 0x30,
- 0x1f,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x23,
- 0x04,
- 0x18,
- 0x30,
- 0x16,
- 0x80,
- 0x14,
- 0x02,
- 0x64,
- 0x0f,
- 0x55,
- 0x69,
- 0x14,
- 0x91,
- 0x19,
- 0xed,
- 0xf9,
- 0x1a,
- 0xe9,
- 0x1d,
- 0xa5,
- 0x5a,
- 0xd0,
- 0x48,
- 0x96,
- 0x9f,
- 0x60,
- 0x30,
- 0x0f,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x13,
- 0x01,
- 0x01,
- 0xff,
- 0x04,
- 0x05,
- 0x30,
- 0x03,
- 0x01,
- 0x01,
- 0xff,
- 0x30,
- 0x0a,
- 0x06,
- 0x08,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x04,
- 0x03,
- 0x02,
- 0x03,
- 0x47,
- 0x00,
- 0x30,
- 0x44,
- 0x02,
- 0x20,
- 0x0a,
- 0x82,
- 0x92,
- 0x6e,
- 0xd3,
- 0xc6,
- 0x66,
- 0xd9,
- 0xd3,
- 0x75,
- 0xff,
- 0x71,
- 0x3b,
- 0x61,
- 0x46,
- 0x21,
- 0x00,
- 0xe6,
- 0x21,
- 0x5d,
- 0x9c,
- 0x86,
- 0xe9,
- 0x65,
- 0x40,
- 0x4f,
- 0xeb,
- 0x70,
- 0x4f,
- 0x2c,
- 0xad,
- 0x00,
- 0x02,
- 0x20,
- 0x08,
- 0xc2,
- 0x07,
- 0x5d,
- 0x16,
- 0xfc,
- 0x54,
- 0x34,
- 0x2b,
- 0xb4,
- 0x18,
- 0x67,
- 0x44,
- 0x81,
- 0xc9,
- 0xa9,
- 0x67,
- 0x2e,
- 0xce,
- 0xa1,
- 0x02,
- 0x9f,
- 0x3b,
- 0xe5,
- 0x61,
- 0x16,
- 0x0b,
- 0x50,
- 0xf6,
- 0xa1,
- 0x50,
- 0x94,
- 0x00,
- 0x00,
- 0x0f,
- 0x00,
- 0x00,
- 0x4b,
- 0x04,
- 0x03,
- 0x00,
- 0x47,
- 0x30,
- 0x45,
- 0x02,
- 0x20,
- 0x78,
- 0x9e,
- 0xe0,
- 0x6a,
- 0x7a,
- 0xbd,
- 0xc3,
- 0x84,
- 0x3d,
- 0x25,
- 0x6a,
- 0x59,
- 0x23,
- 0x97,
- 0x52,
- 0x64,
- 0x4e,
- 0xb6,
- 0x9f,
- 0xcc,
- 0xd3,
- 0xd7,
- 0xa9,
- 0x29,
- 0x44,
- 0x75,
- 0x6d,
- 0x50,
- 0xfc,
- 0x22,
- 0xde,
- 0xd3,
- 0x02,
- 0x21,
- 0x00,
- 0xe5,
- 0x28,
- 0xd6,
- 0x5a,
- 0xd1,
- 0xec,
- 0x4a,
- 0xcc,
- 0x20,
- 0xb4,
- 0xea,
- 0x15,
- 0xfb,
- 0x8e,
- 0x73,
- 0xa8,
- 0x6b,
- 0xbb,
- 0x42,
- 0x70,
- 0x90,
- 0x08,
- 0x6e,
- 0x74,
- 0x6f,
- 0x5a,
- 0x05,
- 0xb5,
- 0x39,
- 0xee,
- 0x01,
- 0x04,
- 0x14,
- 0x00,
- 0x00,
- 0x30,
- 0xff,
- 0x9f,
- 0xb2,
- 0x1d,
- 0xcb,
- 0x4f,
- 0xfc,
- 0x7a,
- 0xac,
- 0xf4,
- 0x75,
- 0x24,
- 0x83,
- 0x5f,
- 0x8d,
- 0xa3,
- 0x3e,
- 0x9d,
- 0xef,
- 0x43,
- 0x67,
- 0x89,
- 0x5d,
- 0x55,
- 0xc7,
- 0xce,
- 0x80,
- 0xab,
- 0xc3,
- 0xc7,
- 0x74,
- 0xc7,
- 0xb2,
- 0x91,
- 0x27,
- 0xce,
- 0xd8,
- 0x5e,
- 0xc4,
- 0x4e,
- 0x96,
- 0x19,
- 0x68,
- 0x2d,
- 0xbe,
- 0x6f,
- 0x49,
- 0xfa,
+ 0x06, 0x00, 0x42, 0x9a, 0x08, 0x00, 0x00, 0x80, 0x00, 0x7e,
+ 0x00, 0x10, 0x00, 0x08, 0x00, 0x06, 0x05, 0x64, 0x75, 0x6d,
+ 0x6d, 0x79, 0x00, 0x39, 0x00, 0x6e, 0x47, 0xfa, 0x05, 0x5a,
+ 0xe0, 0xec, 0x4a, 0xf3, 0x05, 0x04, 0x80, 0x08, 0x00, 0x00,
+ 0x06, 0x04, 0x80, 0x08, 0x00, 0x00, 0x07, 0x04, 0x80, 0x08,
+ 0x00, 0x00, 0x04, 0x04, 0x80, 0x0c, 0x00, 0x00, 0x08, 0x02,
+ 0x40, 0x64, 0x09, 0x02, 0x40, 0x64, 0x01, 0x04, 0x80, 0x00,
+ 0x75, 0x30, 0x03, 0x02, 0x45, 0xac, 0x0b, 0x01, 0x1a, 0x0c,
+ 0x00, 0x02, 0x10, 0x35, 0xd7, 0x7d, 0x8b, 0xc5, 0xb1, 0x89,
+ 0xb1, 0x5c, 0x23, 0x74, 0x50, 0xfd, 0x47, 0xfe, 0xd2, 0x00,
+ 0x11, 0x96, 0x38, 0x27, 0xde, 0x7d, 0xfb, 0x2b, 0x38, 0x56,
+ 0xe5, 0x2a, 0xb8, 0x6b, 0xfa, 0xaa, 0xde, 0x81, 0x0e, 0x01,
+ 0x04, 0x0f, 0x04, 0x36, 0xf4, 0x75, 0x2d, 0x10, 0x04, 0xac,
+ 0x88, 0x95, 0xbd, 0x20, 0x01, 0x00, 0x0b, 0x00, 0x01, 0x8f,
+ 0x00, 0x00, 0x01, 0x8b, 0x00, 0x01, 0x86, 0x30, 0x82, 0x01,
+ 0x82, 0x30, 0x82, 0x01, 0x29, 0xa0, 0x03, 0x02, 0x01, 0x02,
+ 0x02, 0x14, 0x0a, 0x73, 0x0f, 0x86, 0x18, 0xf2, 0xc3, 0x30,
+ 0x01, 0xd2, 0xc0, 0xc1, 0x62, 0x52, 0x13, 0xf1, 0x9c, 0x13,
+ 0x39, 0xb5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
+ 0x3d, 0x04, 0x03, 0x02, 0x30, 0x17, 0x31, 0x15, 0x30, 0x13,
+ 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0c, 0x6d, 0x61, 0x70,
+ 0x61, 0x6b, 0x74, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x30,
+ 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x38, 0x30, 0x32, 0x31,
+ 0x32, 0x30, 0x30, 0x31, 0x38, 0x5a, 0x17, 0x0d, 0x32, 0x32,
+ 0x30, 0x39, 0x30, 0x31, 0x31, 0x32, 0x30, 0x30, 0x31, 0x38,
+ 0x5a, 0x30, 0x17, 0x31, 0x15, 0x30, 0x13, 0x06, 0x03, 0x55,
+ 0x04, 0x03, 0x0c, 0x0c, 0x6d, 0x61, 0x70, 0x61, 0x6b, 0x74,
+ 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x30, 0x59, 0x30, 0x13,
+ 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06,
+ 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03,
+ 0x42, 0x00, 0x04, 0x67, 0xf4, 0xd3, 0x8f, 0x15, 0x6d, 0xee,
+ 0x85, 0xcc, 0x2a, 0x77, 0xfc, 0x0b, 0x8f, 0x9f, 0xcf, 0xa9,
+ 0x95, 0x5d, 0x5b, 0xcd, 0xb7, 0x8b, 0xba, 0x31, 0x0a, 0x73,
+ 0x62, 0xc5, 0xd0, 0x0e, 0x07, 0x90, 0xae, 0x38, 0x43, 0x79,
+ 0xce, 0x5e, 0x33, 0xad, 0x31, 0xbf, 0x9f, 0x2a, 0x56, 0x83,
+ 0xa5, 0x24, 0x16, 0xab, 0x0c, 0xf1, 0x64, 0xbe, 0xe4, 0x93,
+ 0xb5, 0x89, 0xd6, 0x05, 0xe4, 0xf7, 0x7b, 0xa3, 0x53, 0x30,
+ 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16,
+ 0x04, 0x14, 0x02, 0x64, 0x0f, 0x55, 0x69, 0x14, 0x91, 0x19,
+ 0xed, 0xf9, 0x1a, 0xe9, 0x1d, 0xa5, 0x5a, 0xd0, 0x48, 0x96,
+ 0x9f, 0x60, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04,
+ 0x18, 0x30, 0x16, 0x80, 0x14, 0x02, 0x64, 0x0f, 0x55, 0x69,
+ 0x14, 0x91, 0x19, 0xed, 0xf9, 0x1a, 0xe9, 0x1d, 0xa5, 0x5a,
+ 0xd0, 0x48, 0x96, 0x9f, 0x60, 0x30, 0x0f, 0x06, 0x03, 0x55,
+ 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30, 0x03, 0x01,
+ 0x01, 0xff, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
+ 0x3d, 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 0x02,
+ 0x20, 0x0a, 0x82, 0x92, 0x6e, 0xd3, 0xc6, 0x66, 0xd9, 0xd3,
+ 0x75, 0xff, 0x71, 0x3b, 0x61, 0x46, 0x21, 0x00, 0xe6, 0x21,
+ 0x5d, 0x9c, 0x86, 0xe9, 0x65, 0x40, 0x4f, 0xeb, 0x70, 0x4f,
+ 0x2c, 0xad, 0x00, 0x02, 0x20, 0x08, 0xc2, 0x07, 0x5d, 0x16,
+ 0xfc, 0x54, 0x34, 0x2b, 0xb4, 0x18, 0x67, 0x44, 0x81, 0xc9,
+ 0xa9, 0x67, 0x2e, 0xce, 0xa1, 0x02, 0x9f, 0x3b, 0xe5, 0x61,
+ 0x16, 0x0b, 0x50, 0xf6, 0xa1, 0x50, 0x94, 0x00, 0x00, 0x0f,
+ 0x00, 0x00, 0x4b, 0x04, 0x03, 0x00, 0x47, 0x30, 0x45, 0x02,
+ 0x20, 0x78, 0x9e, 0xe0, 0x6a, 0x7a, 0xbd, 0xc3, 0x84, 0x3d,
+ 0x25, 0x6a, 0x59, 0x23, 0x97, 0x52, 0x64, 0x4e, 0xb6, 0x9f,
+ 0xcc, 0xd3, 0xd7, 0xa9, 0x29, 0x44, 0x75, 0x6d, 0x50, 0xfc,
+ 0x22, 0xde, 0xd3, 0x02, 0x21, 0x00, 0xe5, 0x28, 0xd6, 0x5a,
+ 0xd1, 0xec, 0x4a, 0xcc, 0x20, 0xb4, 0xea, 0x15, 0xfb, 0x8e,
+ 0x73, 0xa8, 0x6b, 0xbb, 0x42, 0x70, 0x90, 0x08, 0x6e, 0x74,
+ 0x6f, 0x5a, 0x05, 0xb5, 0x39, 0xee, 0x01, 0x04, 0x14, 0x00,
+ 0x00, 0x30, 0xff, 0x9f, 0xb2, 0x1d, 0xcb, 0x4f, 0xfc, 0x7a,
+ 0xac, 0xf4, 0x75, 0x24, 0x83, 0x5f, 0x8d, 0xa3, 0x3e, 0x9d,
+ 0xef, 0x43, 0x67, 0x89, 0x5d, 0x55, 0xc7, 0xce, 0x80, 0xab,
+ 0xc3, 0xc7, 0x74, 0xc7, 0xb2, 0x91, 0x27, 0xce, 0xd8, 0x5e,
+ 0xc4, 0x4e, 0x96, 0x19, 0x68, 0x2d, 0xbe, 0x6f, 0x49, 0xfa
};
static const QUIC_PKT_HDR rx_script_6c_expect_hdr = {
@@ -5524,78 +1071,14 @@ static const QUIC_PKT_HDR rx_script_6c_expect_hdr = {
};
static const unsigned char rx_script_6c_body[] = {
- 0x18,
- 0x03,
- 0x00,
- 0x04,
- 0xf2,
- 0x94,
- 0x49,
- 0xc3,
- 0x34,
- 0xa1,
- 0xf4,
- 0x0f,
- 0xcb,
- 0xb8,
- 0x03,
- 0x04,
- 0x1f,
- 0xc8,
- 0x69,
- 0xb9,
- 0x3b,
- 0xd5,
- 0xc6,
- 0x93,
- 0x18,
- 0x02,
- 0x00,
- 0x04,
- 0x9a,
- 0x4f,
- 0xec,
- 0x52,
- 0xde,
- 0xd2,
- 0xc8,
- 0xb7,
- 0x1c,
- 0x0c,
- 0xf3,
- 0x4e,
- 0x46,
- 0xf0,
- 0x6c,
- 0x54,
- 0x34,
- 0x1b,
- 0x0d,
- 0x98,
- 0x18,
- 0x01,
- 0x00,
- 0x04,
- 0xe3,
- 0x33,
- 0x9e,
- 0x59,
- 0x00,
- 0x69,
- 0xc3,
- 0xac,
- 0xfc,
- 0x58,
- 0x0e,
- 0xa4,
- 0xf4,
- 0xf3,
- 0x23,
- 0x1b,
- 0xd6,
- 0x8e,
- 0x5b,
- 0x08,
+ 0x18, 0x03, 0x00, 0x04, 0xf2, 0x94, 0x49, 0xc3, 0x34, 0xa1,
+ 0xf4, 0x0f, 0xcb, 0xb8, 0x03, 0x04, 0x1f, 0xc8, 0x69, 0xb9,
+ 0x3b, 0xd5, 0xc6, 0x93, 0x18, 0x02, 0x00, 0x04, 0x9a, 0x4f,
+ 0xec, 0x52, 0xde, 0xd2, 0xc8, 0xb7, 0x1c, 0x0c, 0xf3, 0x4e,
+ 0x46, 0xf0, 0x6c, 0x54, 0x34, 0x1b, 0x0d, 0x98, 0x18, 0x01,
+ 0x00, 0x04, 0xe3, 0x33, 0x9e, 0x59, 0x00, 0x69, 0xc3, 0xac,
+ 0xfc, 0x58, 0x0e, 0xa4, 0xf4, 0xf3, 0x23, 0x1b, 0xd6, 0x8e,
+ 0x5b, 0x08
};
static const struct rx_test_op rx_script_6[] = {
@@ -5665,73 +1148,17 @@ static const QUIC_CONN_ID rx_script_7_c2s_init_dcid = {
};
static const unsigned char rx_script_7_handshake_secret[32] = {
- 0x85,
- 0x44,
- 0xa4,
- 0x02,
- 0x46,
- 0x5b,
- 0x2a,
- 0x92,
- 0x80,
- 0x71,
- 0xfd,
- 0x11,
- 0x89,
- 0x73,
- 0x84,
- 0xeb,
- 0x3e,
- 0x0d,
- 0x89,
- 0x4f,
- 0x71,
- 0xdc,
- 0x9c,
- 0xdd,
- 0x55,
- 0x77,
- 0x9e,
- 0x79,
- 0x7b,
- 0xeb,
- 0xfa,
- 0x86,
+ 0x85, 0x44, 0xa4, 0x02, 0x46, 0x5b, 0x2a, 0x92, 0x80, 0x71,
+ 0xfd, 0x11, 0x89, 0x73, 0x84, 0xeb, 0x3e, 0x0d, 0x89, 0x4f,
+ 0x71, 0xdc, 0x9c, 0xdd, 0x55, 0x77, 0x9e, 0x79, 0x7b, 0xeb,
+ 0xfa, 0x86
};
static const unsigned char rx_script_7_1rtt_secret[32] = {
- 0x4a,
- 0x77,
- 0xb6,
- 0x0e,
- 0xfd,
- 0x90,
- 0xca,
- 0xbf,
- 0xc0,
- 0x1a,
- 0x64,
- 0x9f,
- 0xc0,
- 0x03,
- 0xd3,
- 0x8d,
- 0xc5,
- 0x41,
- 0x04,
- 0x50,
- 0xb1,
- 0x5b,
- 0x74,
- 0xe7,
- 0xe3,
- 0x99,
- 0x0c,
- 0xdf,
- 0x74,
- 0x61,
- 0x35,
- 0xe6,
+ 0x4a, 0x77, 0xb6, 0x0e, 0xfd, 0x90, 0xca, 0xbf, 0xc0, 0x1a,
+ 0x64, 0x9f, 0xc0, 0x03, 0xd3, 0x8d, 0xc5, 0x41, 0x04, 0x50,
+ 0xb1, 0x5b, 0x74, 0xe7, 0xe3, 0x99, 0x0c, 0xdf, 0x74, 0x61,
+ 0x35, 0xe6
};
static const unsigned char rx_script_7_in[] = {
@@ -5752,463 +1179,52 @@ static const unsigned char rx_script_7_in[] = {
0xcb, /* Length (459) */
0x3c,
0xe0, /* PN (0) */
- 0x85,
- 0x05,
- 0xc2,
- 0x4d,
- 0x0f,
- 0xf3,
- 0x62,
- 0x51,
- 0x04,
- 0x33,
- 0xfa,
- 0xb5,
- 0xa3,
- 0x02,
- 0xbd,
- 0x5c,
- 0x22,
- 0x0c,
- 0x1d,
- 0xda,
- 0x06,
- 0xf1,
- 0xd7,
- 0xe0,
- 0xc8,
- 0x56,
- 0xb0,
- 0x3d,
- 0xc1,
- 0x49,
- 0x8c,
- 0xc2,
- 0x88,
- 0x5a,
- 0x0e,
- 0xd5,
- 0x67,
- 0x72,
- 0xec,
- 0xcc,
- 0x7a,
- 0x2b,
- 0x46,
- 0x17,
- 0x49,
- 0x4b,
- 0x28,
- 0x6a,
- 0x89,
- 0x71,
- 0xfd,
- 0x31,
- 0x9a,
- 0xa1,
- 0x97,
- 0x64,
- 0xe2,
- 0xbf,
- 0xa0,
- 0x6d,
- 0xf6,
- 0x76,
- 0x83,
- 0x28,
- 0xc4,
- 0xd5,
- 0x39,
- 0x87,
- 0x22,
- 0x7c,
- 0x11,
- 0x9a,
- 0x53,
- 0x66,
- 0xb4,
- 0x27,
- 0xf1,
- 0xab,
- 0x6f,
- 0x49,
- 0x43,
- 0x3f,
- 0x9a,
- 0x23,
- 0xd3,
- 0x53,
- 0x06,
- 0xe8,
- 0x14,
- 0xfd,
- 0xc0,
- 0x67,
- 0x1f,
- 0x88,
- 0x2a,
- 0xa8,
- 0xae,
- 0x5f,
- 0x05,
- 0x0a,
- 0xeb,
- 0x66,
- 0x72,
- 0x8c,
- 0x46,
- 0xcc,
- 0x54,
- 0x21,
- 0x5e,
- 0x14,
- 0xfe,
- 0x68,
- 0xc7,
- 0xf7,
- 0x60,
- 0x67,
- 0xb5,
- 0xa7,
- 0x0d,
- 0xf4,
- 0xe1,
- 0xff,
- 0x60,
- 0xe3,
- 0x11,
- 0x38,
- 0x92,
- 0x90,
- 0xc2,
- 0x48,
- 0x28,
- 0xbf,
- 0xf3,
- 0x85,
- 0x27,
- 0xfe,
- 0xbf,
- 0x42,
- 0x26,
- 0x1a,
- 0x4e,
- 0x78,
- 0xf1,
- 0xf0,
- 0x88,
- 0x16,
- 0x1b,
- 0x64,
- 0x5f,
- 0x66,
- 0x02,
- 0x0b,
- 0x45,
- 0x3d,
- 0x38,
- 0xd9,
- 0x09,
- 0xd5,
- 0xff,
- 0xc2,
- 0x68,
- 0x02,
- 0x2c,
- 0xc4,
- 0x3f,
- 0x60,
- 0x6e,
- 0x2f,
- 0x7f,
- 0x43,
- 0xf7,
- 0x1a,
- 0x37,
- 0xcc,
- 0xe0,
- 0xe0,
- 0x4b,
- 0x96,
- 0xc1,
- 0xb1,
- 0x8b,
- 0x1c,
- 0x7c,
- 0x6e,
- 0x80,
- 0xe3,
- 0x92,
- 0x9b,
- 0x86,
- 0x87,
- 0x1f,
- 0x9a,
- 0x6a,
- 0x62,
- 0x18,
- 0xf4,
- 0x86,
- 0xc2,
- 0x3e,
- 0x33,
- 0xa3,
- 0xbf,
- 0x43,
- 0x96,
- 0x6e,
- 0xff,
- 0x94,
- 0xaf,
- 0x6d,
- 0x23,
- 0x5c,
- 0x42,
- 0xed,
- 0xe7,
- 0xb9,
- 0x2c,
- 0x33,
- 0xb0,
- 0xc6,
- 0x3d,
- 0x44,
- 0x00,
- 0x0b,
- 0xa3,
- 0x39,
- 0xa8,
- 0xeb,
- 0x8c,
- 0x81,
- 0x1a,
- 0x99,
- 0x20,
- 0xbd,
- 0xfa,
- 0xf3,
- 0xf4,
- 0xf0,
- 0x11,
- 0xd8,
- 0x41,
- 0x31,
- 0x8d,
- 0xdc,
- 0x0d,
- 0x00,
- 0xa6,
- 0x31,
- 0x40,
- 0xc6,
- 0xc6,
- 0xad,
- 0x74,
- 0x93,
- 0x62,
- 0x1c,
- 0x55,
- 0xce,
- 0x5f,
- 0x8c,
- 0x5b,
- 0x3c,
- 0xcb,
- 0x25,
- 0x5e,
- 0xbf,
- 0xed,
- 0xbb,
- 0x3c,
- 0x97,
- 0x4b,
- 0x62,
- 0xe0,
- 0xba,
- 0xf1,
- 0xb0,
- 0x30,
- 0xbf,
- 0x35,
- 0x89,
- 0x7e,
- 0x25,
- 0x61,
- 0x54,
- 0x86,
- 0x52,
- 0x11,
- 0x86,
- 0x90,
- 0xc3,
- 0xf5,
- 0xad,
- 0xa0,
- 0x96,
- 0x30,
- 0xb2,
- 0xf0,
- 0xa6,
- 0x79,
- 0x39,
- 0x1c,
- 0x51,
- 0x42,
- 0xa1,
- 0x00,
- 0x6f,
- 0x55,
- 0x7d,
- 0xdc,
- 0xd0,
- 0x7c,
- 0xcf,
- 0x01,
- 0x88,
- 0x03,
- 0xd7,
- 0x2d,
- 0x65,
- 0x2b,
- 0x40,
- 0xee,
- 0xba,
- 0x10,
- 0xd8,
- 0x0c,
- 0x85,
- 0x14,
- 0xb7,
- 0x4d,
- 0x9e,
- 0x7d,
- 0x7c,
- 0xde,
- 0x7f,
- 0x0d,
- 0x0e,
- 0x3b,
- 0x3d,
- 0xe3,
- 0xd3,
- 0x63,
- 0xc2,
- 0xed,
- 0xc7,
- 0x41,
- 0xaf,
- 0x05,
- 0x85,
- 0x87,
- 0x46,
- 0x55,
- 0x7e,
- 0xbe,
- 0x14,
- 0x5b,
- 0x98,
- 0xae,
- 0x6e,
- 0x67,
- 0x1a,
- 0x65,
- 0xc6,
- 0xcf,
- 0xe1,
- 0x28,
- 0x50,
- 0x6b,
- 0xb4,
- 0xf6,
- 0xba,
- 0x63,
- 0xbc,
- 0xf1,
- 0xd7,
- 0xa4,
- 0x97,
- 0x2d,
- 0x4d,
- 0x04,
- 0x26,
- 0x96,
- 0xec,
- 0x0c,
- 0xd4,
- 0xae,
- 0x6a,
- 0xca,
- 0x7e,
- 0x65,
- 0xc5,
- 0x43,
- 0x7e,
- 0xf8,
- 0x77,
- 0x61,
- 0xd0,
- 0x2c,
- 0xe5,
- 0x37,
- 0x0a,
- 0xb3,
- 0x7a,
- 0x8c,
- 0x2a,
- 0xa1,
- 0xdc,
- 0x29,
- 0xdb,
- 0xec,
- 0xca,
- 0xdc,
- 0xfe,
- 0xdd,
- 0x38,
- 0xd2,
- 0x13,
- 0x9f,
- 0x94,
- 0x6d,
- 0x5b,
- 0x87,
- 0xf3,
- 0x15,
- 0xa8,
- 0xe5,
- 0xe9,
- 0x65,
- 0x1d,
- 0x4f,
- 0x92,
- 0x1b,
- 0xf4,
- 0xa6,
- 0xa4,
- 0xd6,
- 0x22,
- 0xfc,
- 0x26,
- 0x1b,
- 0x35,
- 0xa4,
- 0x1c,
- 0x88,
- 0x9f,
- 0x7d,
- 0xe0,
- 0x9a,
- 0x89,
- 0x0f,
- 0x6c,
- 0xc1,
- 0xda,
- 0x6e,
- 0x45,
- 0xce,
- 0x74,
- 0xb1,
- 0xff,
+ 0x85, 0x05, 0xc2, 0x4d, 0x0f, 0xf3, 0x62, 0x51, 0x04, 0x33,
+ 0xfa, 0xb5, 0xa3, 0x02, 0xbd, 0x5c, 0x22, 0x0c, 0x1d, 0xda,
+ 0x06, 0xf1, 0xd7, 0xe0, 0xc8, 0x56, 0xb0, 0x3d, 0xc1, 0x49,
+ 0x8c, 0xc2, 0x88, 0x5a, 0x0e, 0xd5, 0x67, 0x72, 0xec, 0xcc,
+ 0x7a, 0x2b, 0x46, 0x17, 0x49, 0x4b, 0x28, 0x6a, 0x89, 0x71,
+ 0xfd, 0x31, 0x9a, 0xa1, 0x97, 0x64, 0xe2, 0xbf, 0xa0, 0x6d,
+ 0xf6, 0x76, 0x83, 0x28, 0xc4, 0xd5, 0x39, 0x87, 0x22, 0x7c,
+ 0x11, 0x9a, 0x53, 0x66, 0xb4, 0x27, 0xf1, 0xab, 0x6f, 0x49,
+ 0x43, 0x3f, 0x9a, 0x23, 0xd3, 0x53, 0x06, 0xe8, 0x14, 0xfd,
+ 0xc0, 0x67, 0x1f, 0x88, 0x2a, 0xa8, 0xae, 0x5f, 0x05, 0x0a,
+ 0xeb, 0x66, 0x72, 0x8c, 0x46, 0xcc, 0x54, 0x21, 0x5e, 0x14,
+ 0xfe, 0x68, 0xc7, 0xf7, 0x60, 0x67, 0xb5, 0xa7, 0x0d, 0xf4,
+ 0xe1, 0xff, 0x60, 0xe3, 0x11, 0x38, 0x92, 0x90, 0xc2, 0x48,
+ 0x28, 0xbf, 0xf3, 0x85, 0x27, 0xfe, 0xbf, 0x42, 0x26, 0x1a,
+ 0x4e, 0x78, 0xf1, 0xf0, 0x88, 0x16, 0x1b, 0x64, 0x5f, 0x66,
+ 0x02, 0x0b, 0x45, 0x3d, 0x38, 0xd9, 0x09, 0xd5, 0xff, 0xc2,
+ 0x68, 0x02, 0x2c, 0xc4, 0x3f, 0x60, 0x6e, 0x2f, 0x7f, 0x43,
+ 0xf7, 0x1a, 0x37, 0xcc, 0xe0, 0xe0, 0x4b, 0x96, 0xc1, 0xb1,
+ 0x8b, 0x1c, 0x7c, 0x6e, 0x80, 0xe3, 0x92, 0x9b, 0x86, 0x87,
+ 0x1f, 0x9a, 0x6a, 0x62, 0x18, 0xf4, 0x86, 0xc2, 0x3e, 0x33,
+ 0xa3, 0xbf, 0x43, 0x96, 0x6e, 0xff, 0x94, 0xaf, 0x6d, 0x23,
+ 0x5c, 0x42, 0xed, 0xe7, 0xb9, 0x2c, 0x33, 0xb0, 0xc6, 0x3d,
+ 0x44, 0x00, 0x0b, 0xa3, 0x39, 0xa8, 0xeb, 0x8c, 0x81, 0x1a,
+ 0x99, 0x20, 0xbd, 0xfa, 0xf3, 0xf4, 0xf0, 0x11, 0xd8, 0x41,
+ 0x31, 0x8d, 0xdc, 0x0d, 0x00, 0xa6, 0x31, 0x40, 0xc6, 0xc6,
+ 0xad, 0x74, 0x93, 0x62, 0x1c, 0x55, 0xce, 0x5f, 0x8c, 0x5b,
+ 0x3c, 0xcb, 0x25, 0x5e, 0xbf, 0xed, 0xbb, 0x3c, 0x97, 0x4b,
+ 0x62, 0xe0, 0xba, 0xf1, 0xb0, 0x30, 0xbf, 0x35, 0x89, 0x7e,
+ 0x25, 0x61, 0x54, 0x86, 0x52, 0x11, 0x86, 0x90, 0xc3, 0xf5,
+ 0xad, 0xa0, 0x96, 0x30, 0xb2, 0xf0, 0xa6, 0x79, 0x39, 0x1c,
+ 0x51, 0x42, 0xa1, 0x00, 0x6f, 0x55, 0x7d, 0xdc, 0xd0, 0x7c,
+ 0xcf, 0x01, 0x88, 0x03, 0xd7, 0x2d, 0x65, 0x2b, 0x40, 0xee,
+ 0xba, 0x10, 0xd8, 0x0c, 0x85, 0x14, 0xb7, 0x4d, 0x9e, 0x7d,
+ 0x7c, 0xde, 0x7f, 0x0d, 0x0e, 0x3b, 0x3d, 0xe3, 0xd3, 0x63,
+ 0xc2, 0xed, 0xc7, 0x41, 0xaf, 0x05, 0x85, 0x87, 0x46, 0x55,
+ 0x7e, 0xbe, 0x14, 0x5b, 0x98, 0xae, 0x6e, 0x67, 0x1a, 0x65,
+ 0xc6, 0xcf, 0xe1, 0x28, 0x50, 0x6b, 0xb4, 0xf6, 0xba, 0x63,
+ 0xbc, 0xf1, 0xd7, 0xa4, 0x97, 0x2d, 0x4d, 0x04, 0x26, 0x96,
+ 0xec, 0x0c, 0xd4, 0xae, 0x6a, 0xca, 0x7e, 0x65, 0xc5, 0x43,
+ 0x7e, 0xf8, 0x77, 0x61, 0xd0, 0x2c, 0xe5, 0x37, 0x0a, 0xb3,
+ 0x7a, 0x8c, 0x2a, 0xa1, 0xdc, 0x29, 0xdb, 0xec, 0xca, 0xdc,
+ 0xfe, 0xdd, 0x38, 0xd2, 0x13, 0x9f, 0x94, 0x6d, 0x5b, 0x87,
+ 0xf3, 0x15, 0xa8, 0xe5, 0xe9, 0x65, 0x1d, 0x4f, 0x92, 0x1b,
+ 0xf4, 0xa6, 0xa4, 0xd6, 0x22, 0xfc, 0x26, 0x1b, 0x35, 0xa4,
+ 0x1c, 0x88, 0x9f, 0x7d, 0xe0, 0x9a, 0x89, 0x0f, 0x6c, 0xc1,
+ 0xda, 0x6e, 0x45, 0xce, 0x74, 0xb1, 0xff,
/* Second Packet: Handshake */
0xeb, /* Long, Handshake, PN Length=2 bytes */
@@ -6226,772 +1242,88 @@ static const unsigned char rx_script_7_in[] = {
0xa3, /* Length (675) */
0x43,
0x29, /* PN (0) */
- 0xff,
- 0xdb,
- 0xcf,
- 0x3c,
- 0x17,
- 0xcf,
- 0xdc,
- 0x42,
- 0x3a,
- 0x59,
- 0x88,
- 0xdb,
- 0x13,
- 0xef,
- 0x09,
- 0x3d,
- 0xf2,
- 0x24,
- 0xf3,
- 0xeb,
- 0xca,
- 0xb0,
- 0xe1,
- 0xa4,
- 0x67,
- 0x64,
- 0x65,
- 0x80,
- 0x5f,
- 0x73,
- 0x29,
- 0x69,
- 0x29,
- 0xba,
- 0x03,
- 0x77,
- 0x22,
- 0xc8,
- 0xa8,
- 0xd5,
- 0x21,
- 0xf2,
- 0xa2,
- 0x30,
- 0x7f,
- 0x86,
- 0x3a,
- 0x8a,
- 0xdd,
- 0x92,
- 0x33,
- 0xa6,
- 0x57,
- 0x21,
- 0x39,
- 0xdd,
- 0x34,
- 0xb4,
- 0x39,
- 0xa7,
- 0x6f,
- 0x0a,
- 0x14,
- 0xba,
- 0x9e,
- 0x3b,
- 0x3a,
- 0x6a,
- 0x4b,
- 0xc5,
- 0xda,
- 0x44,
- 0x82,
- 0xca,
- 0x52,
- 0x86,
- 0x68,
- 0x8a,
- 0x0c,
- 0x5e,
- 0xeb,
- 0x1e,
- 0x81,
- 0x43,
- 0x3a,
- 0x59,
- 0x2c,
- 0x26,
- 0x63,
- 0xa3,
- 0x89,
- 0x92,
- 0x80,
- 0xe9,
- 0x75,
- 0xc2,
- 0xdb,
- 0xb9,
- 0x58,
- 0x6d,
- 0xab,
- 0xfd,
- 0x21,
- 0xe0,
- 0x35,
- 0x79,
- 0x2e,
- 0x56,
- 0x7b,
- 0xfb,
- 0xb3,
- 0x7a,
- 0x05,
- 0x33,
- 0x0f,
- 0x13,
- 0xe5,
- 0xef,
- 0x04,
- 0x41,
- 0x69,
- 0x85,
- 0x91,
- 0x24,
- 0xce,
- 0xb5,
- 0x21,
- 0x8d,
- 0x0a,
- 0x13,
- 0xda,
- 0xae,
- 0x86,
- 0x2f,
- 0x25,
- 0x1f,
- 0x9c,
- 0x70,
- 0x8a,
- 0xaa,
- 0x05,
- 0xeb,
- 0x30,
- 0x93,
- 0x50,
- 0xc1,
- 0x39,
- 0xab,
- 0x99,
- 0x8a,
- 0x31,
- 0xc1,
- 0xc1,
- 0x5e,
- 0x39,
- 0xcf,
- 0x64,
- 0x3f,
- 0x9f,
- 0x5c,
- 0xa5,
- 0xa1,
- 0x88,
- 0xb2,
- 0x5f,
- 0x23,
- 0xcb,
- 0x76,
- 0xe5,
- 0xf3,
- 0x2d,
- 0xa0,
- 0xed,
- 0xad,
- 0xcf,
- 0x30,
- 0x05,
- 0x44,
- 0xdc,
- 0xa5,
- 0x81,
- 0xb1,
- 0x7f,
- 0x78,
- 0x0d,
- 0x4d,
- 0x96,
- 0xa3,
- 0xcb,
- 0xcb,
- 0x45,
- 0xcf,
- 0x5f,
- 0x22,
- 0xb8,
- 0x93,
- 0x2b,
- 0x16,
- 0xe0,
- 0x1c,
- 0x53,
- 0x34,
- 0x76,
- 0x3b,
- 0x7b,
- 0x78,
- 0xa1,
- 0x46,
- 0x40,
- 0x43,
- 0x4b,
- 0x0e,
- 0x1c,
- 0xfd,
- 0xcf,
- 0x01,
- 0xf1,
- 0x2c,
- 0xee,
- 0xd0,
- 0xbd,
- 0x9f,
- 0x44,
- 0xd2,
- 0xd7,
- 0x13,
- 0xf9,
- 0x65,
- 0x82,
- 0xf5,
- 0x42,
- 0xec,
- 0x9f,
- 0x5d,
- 0x51,
- 0x5a,
- 0x7b,
- 0xf2,
- 0x39,
- 0xbb,
- 0xa6,
- 0x19,
- 0x5c,
- 0x73,
- 0x95,
- 0x65,
- 0x5b,
- 0x64,
- 0x2f,
- 0xda,
- 0x50,
- 0xd0,
- 0x02,
- 0x34,
- 0x3f,
- 0x35,
- 0xc1,
- 0xd6,
- 0x31,
- 0x3b,
- 0xcf,
- 0x3f,
- 0x81,
- 0x8d,
- 0xe0,
- 0x40,
- 0xfd,
- 0x6d,
- 0x32,
- 0x68,
- 0xa4,
- 0xf2,
- 0x4e,
- 0x3a,
- 0x4a,
- 0x42,
- 0x2c,
- 0x07,
- 0x2d,
- 0x27,
- 0xa3,
- 0x34,
- 0xe7,
- 0x27,
- 0x87,
- 0x80,
- 0x76,
- 0xc0,
- 0xa0,
- 0x72,
- 0x05,
- 0xf2,
- 0x88,
- 0x81,
- 0xe3,
- 0x32,
- 0x00,
- 0x76,
- 0x8d,
- 0x24,
- 0x5c,
- 0x97,
- 0x2d,
- 0xd6,
- 0xb8,
- 0x34,
- 0xf8,
- 0x1c,
- 0x1a,
- 0x6d,
- 0xc7,
- 0x3f,
- 0xcf,
- 0x56,
- 0xae,
- 0xec,
- 0x26,
- 0x74,
- 0x53,
- 0x69,
- 0xcd,
- 0x7a,
- 0x97,
- 0x29,
- 0xab,
- 0x12,
- 0x7d,
- 0x75,
- 0xf8,
- 0x8d,
- 0x5b,
- 0xc0,
- 0x77,
- 0x20,
- 0xb6,
- 0x6a,
- 0x0b,
- 0xce,
- 0x98,
- 0x50,
- 0xca,
- 0x47,
- 0x42,
- 0x1e,
- 0x5d,
- 0xc3,
- 0x24,
- 0x5a,
- 0x47,
- 0x48,
- 0x3b,
- 0xa0,
- 0x9e,
- 0x43,
- 0xe9,
- 0x8d,
- 0x18,
- 0x23,
- 0xda,
- 0x6f,
- 0x8c,
- 0xda,
- 0xd0,
- 0x3e,
- 0xdb,
- 0x37,
- 0xff,
- 0xfc,
- 0x7e,
- 0x17,
- 0xbe,
- 0x42,
- 0xfd,
- 0xdb,
- 0x51,
- 0xb1,
- 0xa4,
- 0xfd,
- 0x9a,
- 0x20,
- 0x27,
- 0x24,
- 0x17,
- 0x04,
- 0x70,
- 0xb6,
- 0x21,
- 0x87,
- 0x88,
- 0xe9,
- 0xda,
- 0x63,
- 0xcb,
- 0xcb,
- 0x1d,
- 0xaf,
- 0x4a,
- 0x46,
- 0x76,
- 0x88,
- 0xa1,
- 0xf8,
- 0x48,
- 0x6c,
- 0x06,
- 0xb4,
- 0x62,
- 0x1a,
- 0x67,
- 0x18,
- 0xb0,
- 0x1d,
- 0x58,
- 0x6a,
- 0xfe,
- 0x1f,
- 0xf1,
- 0x48,
- 0xff,
- 0xcb,
- 0xa4,
- 0xd1,
- 0xa8,
- 0x12,
- 0x1f,
- 0x45,
- 0x94,
- 0x2f,
- 0x55,
- 0x80,
- 0x6a,
- 0x06,
- 0xcc,
- 0x7b,
- 0xb0,
- 0xcc,
- 0xb8,
- 0x06,
- 0x52,
- 0x16,
- 0xe3,
- 0x6e,
- 0x7e,
- 0xb0,
- 0x42,
- 0xfd,
- 0x3b,
- 0x7e,
- 0x0a,
- 0x42,
- 0x7b,
- 0x73,
- 0xaf,
- 0x2c,
- 0xf3,
- 0xbd,
- 0xe5,
- 0x72,
- 0x8c,
- 0x16,
- 0xb2,
- 0xd7,
- 0x7a,
- 0x11,
- 0xb6,
- 0x9f,
- 0xd1,
- 0x69,
- 0xc1,
- 0x1a,
- 0xe0,
- 0x26,
- 0x26,
- 0x13,
- 0xe2,
- 0x75,
- 0xf5,
- 0x74,
- 0xae,
- 0x3f,
- 0xee,
- 0x1e,
- 0x09,
- 0x63,
- 0x5a,
- 0x30,
- 0x19,
- 0xa5,
- 0x59,
- 0x48,
- 0x90,
- 0x9b,
- 0x46,
- 0x56,
- 0xd8,
- 0x6f,
- 0x6b,
- 0x76,
- 0x82,
- 0x32,
- 0xc7,
- 0x29,
- 0x76,
- 0x2e,
- 0x32,
- 0xb6,
- 0x23,
- 0x99,
- 0xeb,
- 0x92,
- 0x5d,
- 0xc4,
- 0x4c,
- 0xa1,
- 0xe9,
- 0x26,
- 0x37,
- 0x9a,
- 0x7d,
- 0x4c,
- 0x16,
- 0x9c,
- 0x18,
- 0xe9,
- 0xc0,
- 0xff,
- 0x48,
- 0x79,
- 0xb1,
- 0x7b,
- 0x0b,
- 0x1e,
- 0x6f,
- 0xb1,
- 0x77,
- 0xa5,
- 0xd2,
- 0xc6,
- 0x9a,
- 0xa9,
- 0xfc,
- 0xd1,
- 0x0f,
- 0x69,
- 0xf3,
- 0xe0,
- 0x49,
- 0x70,
- 0x57,
- 0x80,
- 0x86,
- 0xa7,
- 0x3f,
- 0x54,
- 0xa8,
- 0x60,
- 0xfb,
- 0xe4,
- 0x06,
- 0xa3,
- 0x13,
- 0xb9,
- 0x2f,
- 0xa7,
- 0x37,
- 0x80,
- 0x0c,
- 0x43,
- 0xac,
- 0x2f,
- 0xae,
- 0x6e,
- 0x62,
- 0x2b,
- 0x53,
- 0xe4,
- 0xfe,
- 0x58,
- 0xd7,
- 0x8b,
- 0x96,
- 0xdc,
- 0xe6,
- 0xd3,
- 0x86,
- 0xb8,
- 0xd6,
- 0x42,
- 0x5b,
- 0x68,
- 0x03,
- 0x48,
- 0x3f,
- 0xcd,
- 0xee,
- 0x39,
- 0x8b,
- 0xc4,
- 0x53,
- 0x30,
- 0x87,
- 0x48,
- 0x2a,
- 0x01,
- 0x9d,
- 0x6f,
- 0x8e,
- 0x36,
- 0x75,
- 0x73,
- 0xef,
- 0x77,
- 0x3a,
- 0x82,
- 0xd8,
- 0x4c,
- 0x0e,
- 0x7f,
- 0xb3,
- 0x8f,
- 0x16,
- 0xd1,
- 0x10,
- 0xcf,
- 0x2f,
- 0xa3,
- 0xdf,
- 0x65,
- 0xba,
- 0x91,
- 0x79,
- 0xf6,
- 0x93,
- 0x60,
- 0x08,
- 0xe5,
- 0xdb,
- 0x73,
- 0x02,
- 0x7a,
- 0x0b,
- 0x0e,
- 0xcc,
- 0x3b,
- 0x1f,
- 0x08,
- 0x2d,
- 0x51,
- 0x3e,
- 0x87,
- 0x48,
- 0xd3,
- 0xd3,
- 0x75,
- 0xc2,
- 0x28,
- 0xa3,
- 0xf3,
- 0x02,
- 0xde,
- 0x8f,
- 0xa6,
- 0xbd,
- 0xb3,
- 0x19,
- 0xa0,
- 0xdb,
- 0x48,
- 0x51,
- 0x03,
- 0x5f,
- 0x98,
- 0xbe,
+ 0xff, 0xdb, 0xcf, 0x3c, 0x17, 0xcf, 0xdc, 0x42, 0x3a, 0x59,
+ 0x88, 0xdb, 0x13, 0xef, 0x09, 0x3d, 0xf2, 0x24, 0xf3, 0xeb,
+ 0xca, 0xb0, 0xe1, 0xa4, 0x67, 0x64, 0x65, 0x80, 0x5f, 0x73,
+ 0x29, 0x69, 0x29, 0xba, 0x03, 0x77, 0x22, 0xc8, 0xa8, 0xd5,
+ 0x21, 0xf2, 0xa2, 0x30, 0x7f, 0x86, 0x3a, 0x8a, 0xdd, 0x92,
+ 0x33, 0xa6, 0x57, 0x21, 0x39, 0xdd, 0x34, 0xb4, 0x39, 0xa7,
+ 0x6f, 0x0a, 0x14, 0xba, 0x9e, 0x3b, 0x3a, 0x6a, 0x4b, 0xc5,
+ 0xda, 0x44, 0x82, 0xca, 0x52, 0x86, 0x68, 0x8a, 0x0c, 0x5e,
+ 0xeb, 0x1e, 0x81, 0x43, 0x3a, 0x59, 0x2c, 0x26, 0x63, 0xa3,
+ 0x89, 0x92, 0x80, 0xe9, 0x75, 0xc2, 0xdb, 0xb9, 0x58, 0x6d,
+ 0xab, 0xfd, 0x21, 0xe0, 0x35, 0x79, 0x2e, 0x56, 0x7b, 0xfb,
+ 0xb3, 0x7a, 0x05, 0x33, 0x0f, 0x13, 0xe5, 0xef, 0x04, 0x41,
+ 0x69, 0x85, 0x91, 0x24, 0xce, 0xb5, 0x21, 0x8d, 0x0a, 0x13,
+ 0xda, 0xae, 0x86, 0x2f, 0x25, 0x1f, 0x9c, 0x70, 0x8a, 0xaa,
+ 0x05, 0xeb, 0x30, 0x93, 0x50, 0xc1, 0x39, 0xab, 0x99, 0x8a,
+ 0x31, 0xc1, 0xc1, 0x5e, 0x39, 0xcf, 0x64, 0x3f, 0x9f, 0x5c,
+ 0xa5, 0xa1, 0x88, 0xb2, 0x5f, 0x23, 0xcb, 0x76, 0xe5, 0xf3,
+ 0x2d, 0xa0, 0xed, 0xad, 0xcf, 0x30, 0x05, 0x44, 0xdc, 0xa5,
+ 0x81, 0xb1, 0x7f, 0x78, 0x0d, 0x4d, 0x96, 0xa3, 0xcb, 0xcb,
+ 0x45, 0xcf, 0x5f, 0x22, 0xb8, 0x93, 0x2b, 0x16, 0xe0, 0x1c,
+ 0x53, 0x34, 0x76, 0x3b, 0x7b, 0x78, 0xa1, 0x46, 0x40, 0x43,
+ 0x4b, 0x0e, 0x1c, 0xfd, 0xcf, 0x01, 0xf1, 0x2c, 0xee, 0xd0,
+ 0xbd, 0x9f, 0x44, 0xd2, 0xd7, 0x13, 0xf9, 0x65, 0x82, 0xf5,
+ 0x42, 0xec, 0x9f, 0x5d, 0x51, 0x5a, 0x7b, 0xf2, 0x39, 0xbb,
+ 0xa6, 0x19, 0x5c, 0x73, 0x95, 0x65, 0x5b, 0x64, 0x2f, 0xda,
+ 0x50, 0xd0, 0x02, 0x34, 0x3f, 0x35, 0xc1, 0xd6, 0x31, 0x3b,
+ 0xcf, 0x3f, 0x81, 0x8d, 0xe0, 0x40, 0xfd, 0x6d, 0x32, 0x68,
+ 0xa4, 0xf2, 0x4e, 0x3a, 0x4a, 0x42, 0x2c, 0x07, 0x2d, 0x27,
+ 0xa3, 0x34, 0xe7, 0x27, 0x87, 0x80, 0x76, 0xc0, 0xa0, 0x72,
+ 0x05, 0xf2, 0x88, 0x81, 0xe3, 0x32, 0x00, 0x76, 0x8d, 0x24,
+ 0x5c, 0x97, 0x2d, 0xd6, 0xb8, 0x34, 0xf8, 0x1c, 0x1a, 0x6d,
+ 0xc7, 0x3f, 0xcf, 0x56, 0xae, 0xec, 0x26, 0x74, 0x53, 0x69,
+ 0xcd, 0x7a, 0x97, 0x29, 0xab, 0x12, 0x7d, 0x75, 0xf8, 0x8d,
+ 0x5b, 0xc0, 0x77, 0x20, 0xb6, 0x6a, 0x0b, 0xce, 0x98, 0x50,
+ 0xca, 0x47, 0x42, 0x1e, 0x5d, 0xc3, 0x24, 0x5a, 0x47, 0x48,
+ 0x3b, 0xa0, 0x9e, 0x43, 0xe9, 0x8d, 0x18, 0x23, 0xda, 0x6f,
+ 0x8c, 0xda, 0xd0, 0x3e, 0xdb, 0x37, 0xff, 0xfc, 0x7e, 0x17,
+ 0xbe, 0x42, 0xfd, 0xdb, 0x51, 0xb1, 0xa4, 0xfd, 0x9a, 0x20,
+ 0x27, 0x24, 0x17, 0x04, 0x70, 0xb6, 0x21, 0x87, 0x88, 0xe9,
+ 0xda, 0x63, 0xcb, 0xcb, 0x1d, 0xaf, 0x4a, 0x46, 0x76, 0x88,
+ 0xa1, 0xf8, 0x48, 0x6c, 0x06, 0xb4, 0x62, 0x1a, 0x67, 0x18,
+ 0xb0, 0x1d, 0x58, 0x6a, 0xfe, 0x1f, 0xf1, 0x48, 0xff, 0xcb,
+ 0xa4, 0xd1, 0xa8, 0x12, 0x1f, 0x45, 0x94, 0x2f, 0x55, 0x80,
+ 0x6a, 0x06, 0xcc, 0x7b, 0xb0, 0xcc, 0xb8, 0x06, 0x52, 0x16,
+ 0xe3, 0x6e, 0x7e, 0xb0, 0x42, 0xfd, 0x3b, 0x7e, 0x0a, 0x42,
+ 0x7b, 0x73, 0xaf, 0x2c, 0xf3, 0xbd, 0xe5, 0x72, 0x8c, 0x16,
+ 0xb2, 0xd7, 0x7a, 0x11, 0xb6, 0x9f, 0xd1, 0x69, 0xc1, 0x1a,
+ 0xe0, 0x26, 0x26, 0x13, 0xe2, 0x75, 0xf5, 0x74, 0xae, 0x3f,
+ 0xee, 0x1e, 0x09, 0x63, 0x5a, 0x30, 0x19, 0xa5, 0x59, 0x48,
+ 0x90, 0x9b, 0x46, 0x56, 0xd8, 0x6f, 0x6b, 0x76, 0x82, 0x32,
+ 0xc7, 0x29, 0x76, 0x2e, 0x32, 0xb6, 0x23, 0x99, 0xeb, 0x92,
+ 0x5d, 0xc4, 0x4c, 0xa1, 0xe9, 0x26, 0x37, 0x9a, 0x7d, 0x4c,
+ 0x16, 0x9c, 0x18, 0xe9, 0xc0, 0xff, 0x48, 0x79, 0xb1, 0x7b,
+ 0x0b, 0x1e, 0x6f, 0xb1, 0x77, 0xa5, 0xd2, 0xc6, 0x9a, 0xa9,
+ 0xfc, 0xd1, 0x0f, 0x69, 0xf3, 0xe0, 0x49, 0x70, 0x57, 0x80,
+ 0x86, 0xa7, 0x3f, 0x54, 0xa8, 0x60, 0xfb, 0xe4, 0x06, 0xa3,
+ 0x13, 0xb9, 0x2f, 0xa7, 0x37, 0x80, 0x0c, 0x43, 0xac, 0x2f,
+ 0xae, 0x6e, 0x62, 0x2b, 0x53, 0xe4, 0xfe, 0x58, 0xd7, 0x8b,
+ 0x96, 0xdc, 0xe6, 0xd3, 0x86, 0xb8, 0xd6, 0x42, 0x5b, 0x68,
+ 0x03, 0x48, 0x3f, 0xcd, 0xee, 0x39, 0x8b, 0xc4, 0x53, 0x30,
+ 0x87, 0x48, 0x2a, 0x01, 0x9d, 0x6f, 0x8e, 0x36, 0x75, 0x73,
+ 0xef, 0x77, 0x3a, 0x82, 0xd8, 0x4c, 0x0e, 0x7f, 0xb3, 0x8f,
+ 0x16, 0xd1, 0x10, 0xcf, 0x2f, 0xa3, 0xdf, 0x65, 0xba, 0x91,
+ 0x79, 0xf6, 0x93, 0x60, 0x08, 0xe5, 0xdb, 0x73, 0x02, 0x7a,
+ 0x0b, 0x0e, 0xcc, 0x3b, 0x1f, 0x08, 0x2d, 0x51, 0x3e, 0x87,
+ 0x48, 0xd3, 0xd3, 0x75, 0xc2, 0x28, 0xa3, 0xf3, 0x02, 0xde,
+ 0x8f, 0xa6, 0xbd, 0xb3, 0x19, 0xa0, 0xdb, 0x48, 0x51, 0x03,
+ 0x5f, 0x98, 0xbe,
/* Third Packet: 1-RTT */
0x5c, /* Short, 1-RTT, Spin=0, KP=0, PN Length=2 bytes */
0x4f,
0x33, /* PN (0) */
- 0x16,
- 0x75,
- 0x98,
- 0x67,
- 0x04,
- 0x16,
- 0x61,
- 0xe3,
- 0x00,
- 0xb7,
- 0x9d,
- 0x5c,
- 0x53,
- 0x4c,
- 0x26,
- 0x90,
- 0x92,
- 0x8e,
- 0x0e,
- 0xc0,
- 0x9c,
- 0x6d,
- 0x8b,
- 0xac,
- 0x15,
- 0x6d,
- 0x89,
- 0x74,
- 0x2f,
- 0xe7,
- 0x84,
- 0xe3,
- 0x46,
- 0x46,
- 0x8c,
- 0xc1,
- 0x21,
- 0x7c,
- 0x44,
- 0xa5,
- 0x00,
- 0x29,
- 0xca,
- 0xf2,
- 0x11,
- 0x18,
- 0xe0,
- 0x04,
- 0x40,
- 0x55,
- 0xd2,
- 0xa7,
- 0xe5,
- 0x9d,
- 0x22,
- 0xa2,
- 0x2a,
- 0x6c,
- 0x03,
- 0x87,
- 0xa3,
- 0xa3,
- 0xfa,
- 0xf5,
- 0x6c,
- 0xd7,
- 0x7d,
- 0xae,
- 0x3f,
- 0x28,
- 0x01,
- 0xae,
- 0x06,
- 0x11,
- 0x69,
- 0x67,
- 0x90,
- 0x57,
- 0x5a,
- 0xd0,
- 0xeb,
- 0xdd,
- 0xac,
- 0xbd,
- 0x7f,
- 0x33,
- 0x86,
- 0xbb,
+ 0x16, 0x75, 0x98, 0x67, 0x04, 0x16, 0x61, 0xe3, 0x00, 0xb7,
+ 0x9d, 0x5c, 0x53, 0x4c, 0x26, 0x90, 0x92, 0x8e, 0x0e, 0xc0,
+ 0x9c, 0x6d, 0x8b, 0xac, 0x15, 0x6d, 0x89, 0x74, 0x2f, 0xe7,
+ 0x84, 0xe3, 0x46, 0x46, 0x8c, 0xc1, 0x21, 0x7c, 0x44, 0xa5,
+ 0x00, 0x29, 0xca, 0xf2, 0x11, 0x18, 0xe0, 0x04, 0x40, 0x55,
+ 0xd2, 0xa7, 0xe5, 0x9d, 0x22, 0xa2, 0x2a, 0x6c, 0x03, 0x87,
+ 0xa3, 0xa3, 0xfa, 0xf5, 0x6c, 0xd7, 0x7d, 0xae, 0x3f, 0x28,
+ 0x01, 0xae, 0x06, 0x11, 0x69, 0x67, 0x90, 0x57, 0x5a, 0xd0,
+ 0xeb, 0xdd, 0xac, 0xbd, 0x7f, 0x33, 0x86, 0xbb
};
static const QUIC_PKT_HDR rx_script_7a_expect_hdr = {
@@ -7012,447 +1344,51 @@ static const QUIC_PKT_HDR rx_script_7a_expect_hdr = {
};
static const unsigned char rx_script_7a_body[] = {
- 0x02,
- 0x03,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x00,
- 0x06,
- 0x00,
- 0x40,
- 0x5a,
- 0x02,
- 0x00,
- 0x00,
- 0x56,
- 0x03,
- 0x03,
- 0xd5,
- 0xfb,
- 0x6a,
- 0x81,
- 0x1c,
- 0xdb,
- 0xa2,
- 0x5c,
- 0x11,
- 0x31,
- 0xda,
- 0x15,
- 0x28,
- 0x97,
- 0x94,
- 0x83,
- 0xfd,
- 0x9d,
- 0x91,
- 0x0e,
- 0x87,
- 0x71,
- 0x46,
- 0x64,
- 0xb4,
- 0xd9,
- 0x9e,
- 0xbd,
- 0xa8,
- 0x48,
- 0x32,
- 0xbf,
- 0x00,
- 0x13,
- 0x03,
- 0x00,
- 0x00,
- 0x2e,
- 0x00,
- 0x2b,
- 0x00,
- 0x02,
- 0x03,
- 0x04,
- 0x00,
- 0x33,
- 0x00,
- 0x24,
- 0x00,
- 0x1d,
- 0x00,
- 0x20,
- 0xef,
- 0xbb,
- 0x46,
- 0xe9,
- 0xb4,
- 0xf6,
- 0x54,
- 0xc4,
- 0x07,
- 0x71,
- 0xdc,
- 0x50,
- 0xd5,
- 0x69,
- 0x40,
- 0xbc,
- 0x85,
- 0x7f,
- 0xf9,
- 0x48,
- 0x14,
- 0xe3,
- 0xd6,
- 0x08,
- 0xa9,
- 0x0b,
- 0xfd,
- 0xbe,
- 0xf1,
- 0x57,
- 0x21,
- 0x34,
+ 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x40,
+ 0x5a, 0x02, 0x00, 0x00, 0x56, 0x03, 0x03, 0xd5, 0xfb, 0x6a,
+ 0x81, 0x1c, 0xdb, 0xa2, 0x5c, 0x11, 0x31, 0xda, 0x15, 0x28,
+ 0x97, 0x94, 0x83, 0xfd, 0x9d, 0x91, 0x0e, 0x87, 0x71, 0x46,
+ 0x64, 0xb4, 0xd9, 0x9e, 0xbd, 0xa8, 0x48, 0x32, 0xbf, 0x00,
+ 0x13, 0x03, 0x00, 0x00, 0x2e, 0x00, 0x2b, 0x00, 0x02, 0x03,
+ 0x04, 0x00, 0x33, 0x00, 0x24, 0x00, 0x1d, 0x00, 0x20, 0xef,
+ 0xbb, 0x46, 0xe9, 0xb4, 0xf6, 0x54, 0xc4, 0x07, 0x71, 0xdc,
+ 0x50, 0xd5, 0x69, 0x40, 0xbc, 0x85, 0x7f, 0xf9, 0x48, 0x14,
+ 0xe3, 0xd6, 0x08, 0xa9, 0x0b, 0xfd, 0xbe, 0xf1, 0x57, 0x21,
+ 0x34
};
static const QUIC_PKT_HDR rx_script_7b_expect_hdr = {
@@ -7473,663 +1409,72 @@ static const QUIC_PKT_HDR rx_script_7b_expect_hdr = {
};
static const unsigned char rx_script_7b_body[] = {
- 0x06,
- 0x00,
- 0x42,
- 0x8d,
- 0x08,
- 0x00,
- 0x00,
- 0x82,
- 0x00,
- 0x80,
- 0x00,
- 0x10,
- 0x00,
- 0x08,
- 0x00,
- 0x06,
- 0x05,
- 0x64,
- 0x75,
- 0x6d,
- 0x6d,
- 0x79,
- 0x00,
- 0x39,
- 0x00,
- 0x70,
- 0x46,
- 0x0a,
- 0x0d,
- 0xdc,
- 0x59,
- 0xf0,
- 0x4e,
- 0xb2,
- 0x2c,
- 0xac,
- 0x69,
- 0x6a,
- 0xc9,
- 0x77,
- 0xa9,
- 0x99,
- 0x05,
- 0x04,
- 0x80,
- 0x08,
- 0x00,
- 0x00,
- 0x06,
- 0x04,
- 0x80,
- 0x08,
- 0x00,
- 0x00,
- 0x07,
- 0x04,
- 0x80,
- 0x08,
- 0x00,
- 0x00,
- 0x04,
- 0x04,
- 0x80,
- 0x0c,
- 0x00,
- 0x00,
- 0x08,
- 0x02,
- 0x40,
- 0x64,
- 0x09,
- 0x02,
- 0x40,
- 0x64,
- 0x01,
- 0x04,
- 0x80,
- 0x00,
- 0x75,
- 0x30,
- 0x03,
- 0x02,
- 0x45,
- 0xac,
- 0x0b,
- 0x01,
- 0x1a,
- 0x0c,
- 0x00,
- 0x02,
- 0x10,
- 0x42,
- 0xf0,
- 0xed,
- 0x09,
- 0x07,
- 0x5b,
- 0xd9,
- 0x5a,
- 0xb2,
- 0x39,
- 0x5d,
- 0x73,
- 0x2c,
- 0x57,
- 0x1f,
- 0x50,
- 0x00,
- 0x0b,
- 0xe0,
- 0x3e,
- 0xf3,
- 0xd6,
- 0x91,
- 0x6f,
- 0x9c,
- 0xcc,
- 0x31,
- 0xf7,
- 0xa5,
- 0x0e,
- 0x01,
- 0x04,
- 0x0f,
- 0x04,
- 0x03,
- 0x45,
- 0x0c,
- 0x7a,
- 0x10,
- 0x04,
- 0xfa,
- 0x5d,
- 0xd6,
- 0x80,
- 0x20,
- 0x01,
- 0x00,
- 0x0b,
- 0x00,
- 0x01,
- 0x8f,
- 0x00,
- 0x00,
- 0x01,
- 0x8b,
- 0x00,
- 0x01,
- 0x86,
- 0x30,
- 0x82,
- 0x01,
- 0x82,
- 0x30,
- 0x82,
- 0x01,
- 0x29,
- 0xa0,
- 0x03,
- 0x02,
- 0x01,
- 0x02,
- 0x02,
- 0x14,
- 0x0a,
- 0x73,
- 0x0f,
- 0x86,
- 0x18,
- 0xf2,
- 0xc3,
- 0x30,
- 0x01,
- 0xd2,
- 0xc0,
- 0xc1,
- 0x62,
- 0x52,
- 0x13,
- 0xf1,
- 0x9c,
- 0x13,
- 0x39,
- 0xb5,
- 0x30,
- 0x0a,
- 0x06,
- 0x08,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x04,
- 0x03,
- 0x02,
- 0x30,
- 0x17,
- 0x31,
- 0x15,
- 0x30,
- 0x13,
- 0x06,
- 0x03,
- 0x55,
- 0x04,
- 0x03,
- 0x0c,
- 0x0c,
- 0x6d,
- 0x61,
- 0x70,
- 0x61,
- 0x6b,
- 0x74,
- 0x2e,
- 0x6c,
- 0x6f,
- 0x63,
- 0x61,
- 0x6c,
- 0x30,
- 0x1e,
- 0x17,
- 0x0d,
- 0x32,
- 0x32,
- 0x30,
- 0x38,
- 0x30,
- 0x32,
- 0x31,
- 0x32,
- 0x30,
- 0x30,
- 0x31,
- 0x38,
- 0x5a,
- 0x17,
- 0x0d,
- 0x32,
- 0x32,
- 0x30,
- 0x39,
- 0x30,
- 0x31,
- 0x31,
- 0x32,
- 0x30,
- 0x30,
- 0x31,
- 0x38,
- 0x5a,
- 0x30,
- 0x17,
- 0x31,
- 0x15,
- 0x30,
- 0x13,
- 0x06,
- 0x03,
- 0x55,
- 0x04,
- 0x03,
- 0x0c,
- 0x0c,
- 0x6d,
- 0x61,
- 0x70,
- 0x61,
- 0x6b,
- 0x74,
- 0x2e,
- 0x6c,
- 0x6f,
- 0x63,
- 0x61,
- 0x6c,
- 0x30,
- 0x59,
- 0x30,
- 0x13,
- 0x06,
- 0x07,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x02,
- 0x01,
- 0x06,
- 0x08,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x03,
- 0x01,
- 0x07,
- 0x03,
- 0x42,
- 0x00,
- 0x04,
- 0x67,
- 0xf4,
- 0xd3,
- 0x8f,
- 0x15,
- 0x6d,
- 0xee,
- 0x85,
- 0xcc,
- 0x2a,
- 0x77,
- 0xfc,
- 0x0b,
- 0x8f,
- 0x9f,
- 0xcf,
- 0xa9,
- 0x95,
- 0x5d,
- 0x5b,
- 0xcd,
- 0xb7,
- 0x8b,
- 0xba,
- 0x31,
- 0x0a,
- 0x73,
- 0x62,
- 0xc5,
- 0xd0,
- 0x0e,
- 0x07,
- 0x90,
- 0xae,
- 0x38,
- 0x43,
- 0x79,
- 0xce,
- 0x5e,
- 0x33,
- 0xad,
- 0x31,
- 0xbf,
- 0x9f,
- 0x2a,
- 0x56,
- 0x83,
- 0xa5,
- 0x24,
- 0x16,
- 0xab,
- 0x0c,
- 0xf1,
- 0x64,
- 0xbe,
- 0xe4,
- 0x93,
- 0xb5,
- 0x89,
- 0xd6,
- 0x05,
- 0xe4,
- 0xf7,
- 0x7b,
- 0xa3,
- 0x53,
- 0x30,
- 0x51,
- 0x30,
- 0x1d,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x0e,
- 0x04,
- 0x16,
- 0x04,
- 0x14,
- 0x02,
- 0x64,
- 0x0f,
- 0x55,
- 0x69,
- 0x14,
- 0x91,
- 0x19,
- 0xed,
- 0xf9,
- 0x1a,
- 0xe9,
- 0x1d,
- 0xa5,
- 0x5a,
- 0xd0,
- 0x48,
- 0x96,
- 0x9f,
- 0x60,
- 0x30,
- 0x1f,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x23,
- 0x04,
- 0x18,
- 0x30,
- 0x16,
- 0x80,
- 0x14,
- 0x02,
- 0x64,
- 0x0f,
- 0x55,
- 0x69,
- 0x14,
- 0x91,
- 0x19,
- 0xed,
- 0xf9,
- 0x1a,
- 0xe9,
- 0x1d,
- 0xa5,
- 0x5a,
- 0xd0,
- 0x48,
- 0x96,
- 0x9f,
- 0x60,
- 0x30,
- 0x0f,
- 0x06,
- 0x03,
- 0x55,
- 0x1d,
- 0x13,
- 0x01,
- 0x01,
- 0xff,
- 0x04,
- 0x05,
- 0x30,
- 0x03,
- 0x01,
- 0x01,
- 0xff,
- 0x30,
- 0x0a,
- 0x06,
- 0x08,
- 0x2a,
- 0x86,
- 0x48,
- 0xce,
- 0x3d,
- 0x04,
- 0x03,
- 0x02,
- 0x03,
- 0x47,
- 0x00,
- 0x30,
- 0x44,
- 0x02,
- 0x20,
- 0x0a,
- 0x82,
- 0x92,
- 0x6e,
- 0xd3,
- 0xc6,
- 0x66,
- 0xd9,
- 0xd3,
- 0x75,
- 0xff,
- 0x71,
- 0x3b,
- 0x61,
- 0x46,
- 0x21,
- 0x00,
- 0xe6,
- 0x21,
- 0x5d,
- 0x9c,
- 0x86,
- 0xe9,
- 0x65,
- 0x40,
- 0x4f,
- 0xeb,
- 0x70,
- 0x4f,
- 0x2c,
- 0xad,
- 0x00,
- 0x02,
- 0x20,
- 0x08,
- 0xc2,
- 0x07,
- 0x5d,
- 0x16,
- 0xfc,
- 0x54,
- 0x34,
- 0x2b,
- 0xb4,
- 0x18,
- 0x67,
- 0x44,
- 0x81,
- 0xc9,
- 0xa9,
- 0x67,
- 0x2e,
- 0xce,
- 0xa1,
- 0x02,
- 0x9f,
- 0x3b,
- 0xe5,
- 0x61,
- 0x16,
- 0x0b,
- 0x50,
- 0xf6,
- 0xa1,
- 0x50,
- 0x94,
- 0x00,
- 0x00,
- 0x0f,
- 0x00,
- 0x00,
- 0x4c,
- 0x04,
- 0x03,
- 0x00,
- 0x48,
- 0x30,
- 0x46,
- 0x02,
- 0x21,
- 0x00,
- 0xaa,
- 0x18,
- 0x61,
- 0x93,
- 0xdf,
- 0xbb,
- 0x79,
- 0xe7,
- 0x34,
- 0x7e,
- 0x2e,
- 0x61,
- 0x13,
- 0x8c,
- 0xa0,
- 0x33,
- 0xfb,
- 0x33,
- 0xca,
- 0xfc,
- 0xd2,
- 0x45,
- 0xb0,
- 0xc7,
- 0x89,
- 0x3d,
- 0xf1,
- 0xd6,
- 0x54,
- 0x94,
- 0x05,
- 0xb6,
- 0x02,
- 0x21,
- 0x00,
- 0xef,
- 0x6c,
- 0xb6,
- 0xf2,
- 0x00,
- 0xb2,
- 0x32,
- 0xb1,
- 0xf3,
- 0x3f,
- 0x59,
- 0xf5,
- 0xc8,
- 0x18,
- 0xbe,
- 0x39,
- 0xbb,
- 0x27,
- 0xf8,
- 0x67,
- 0xac,
- 0xcb,
- 0x63,
- 0xa4,
- 0x29,
- 0xfb,
- 0x8e,
- 0x88,
- 0x0f,
- 0xe5,
- 0xe9,
- 0x7e,
- 0x14,
- 0x00,
- 0x00,
- 0x20,
- 0xfc,
- 0x2c,
- 0x4c,
- 0xa7,
- 0x77,
- 0x24,
- 0x79,
- 0x29,
- 0xa8,
- 0x82,
- 0x1a,
- 0x4d,
- 0x58,
- 0x9d,
- 0x82,
- 0xe2,
- 0x09,
- 0x36,
- 0x63,
- 0x0e,
- 0x0b,
- 0x55,
- 0x51,
- 0x80,
- 0x93,
- 0x40,
- 0xda,
- 0x41,
- 0x33,
- 0x08,
- 0x10,
- 0x2c,
+ 0x06, 0x00, 0x42, 0x8d, 0x08, 0x00, 0x00, 0x82, 0x00, 0x80,
+ 0x00, 0x10, 0x00, 0x08, 0x00, 0x06, 0x05, 0x64, 0x75, 0x6d,
+ 0x6d, 0x79, 0x00, 0x39, 0x00, 0x70, 0x46, 0x0a, 0x0d, 0xdc,
+ 0x59, 0xf0, 0x4e, 0xb2, 0x2c, 0xac, 0x69, 0x6a, 0xc9, 0x77,
+ 0xa9, 0x99, 0x05, 0x04, 0x80, 0x08, 0x00, 0x00, 0x06, 0x04,
+ 0x80, 0x08, 0x00, 0x00, 0x07, 0x04, 0x80, 0x08, 0x00, 0x00,
+ 0x04, 0x04, 0x80, 0x0c, 0x00, 0x00, 0x08, 0x02, 0x40, 0x64,
+ 0x09, 0x02, 0x40, 0x64, 0x01, 0x04, 0x80, 0x00, 0x75, 0x30,
+ 0x03, 0x02, 0x45, 0xac, 0x0b, 0x01, 0x1a, 0x0c, 0x00, 0x02,
+ 0x10, 0x42, 0xf0, 0xed, 0x09, 0x07, 0x5b, 0xd9, 0x5a, 0xb2,
+ 0x39, 0x5d, 0x73, 0x2c, 0x57, 0x1f, 0x50, 0x00, 0x0b, 0xe0,
+ 0x3e, 0xf3, 0xd6, 0x91, 0x6f, 0x9c, 0xcc, 0x31, 0xf7, 0xa5,
+ 0x0e, 0x01, 0x04, 0x0f, 0x04, 0x03, 0x45, 0x0c, 0x7a, 0x10,
+ 0x04, 0xfa, 0x5d, 0xd6, 0x80, 0x20, 0x01, 0x00, 0x0b, 0x00,
+ 0x01, 0x8f, 0x00, 0x00, 0x01, 0x8b, 0x00, 0x01, 0x86, 0x30,
+ 0x82, 0x01, 0x82, 0x30, 0x82, 0x01, 0x29, 0xa0, 0x03, 0x02,
+ 0x01, 0x02, 0x02, 0x14, 0x0a, 0x73, 0x0f, 0x86, 0x18, 0xf2,
+ 0xc3, 0x30, 0x01, 0xd2, 0xc0, 0xc1, 0x62, 0x52, 0x13, 0xf1,
+ 0x9c, 0x13, 0x39, 0xb5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
+ 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x17, 0x31, 0x15,
+ 0x30, 0x13, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0c, 0x6d,
+ 0x61, 0x70, 0x61, 0x6b, 0x74, 0x2e, 0x6c, 0x6f, 0x63, 0x61,
+ 0x6c, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x32, 0x30, 0x38, 0x30,
+ 0x32, 0x31, 0x32, 0x30, 0x30, 0x31, 0x38, 0x5a, 0x17, 0x0d,
+ 0x32, 0x32, 0x30, 0x39, 0x30, 0x31, 0x31, 0x32, 0x30, 0x30,
+ 0x31, 0x38, 0x5a, 0x30, 0x17, 0x31, 0x15, 0x30, 0x13, 0x06,
+ 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0c, 0x6d, 0x61, 0x70, 0x61,
+ 0x6b, 0x74, 0x2e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x30, 0x59,
+ 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02,
+ 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01,
+ 0x07, 0x03, 0x42, 0x00, 0x04, 0x67, 0xf4, 0xd3, 0x8f, 0x15,
+ 0x6d, 0xee, 0x85, 0xcc, 0x2a, 0x77, 0xfc, 0x0b, 0x8f, 0x9f,
+ 0xcf, 0xa9, 0x95, 0x5d, 0x5b, 0xcd, 0xb7, 0x8b, 0xba, 0x31,
+ 0x0a, 0x73, 0x62, 0xc5, 0xd0, 0x0e, 0x07, 0x90, 0xae, 0x38,
+ 0x43, 0x79, 0xce, 0x5e, 0x33, 0xad, 0x31, 0xbf, 0x9f, 0x2a,
+ 0x56, 0x83, 0xa5, 0x24, 0x16, 0xab, 0x0c, 0xf1, 0x64, 0xbe,
+ 0xe4, 0x93, 0xb5, 0x89, 0xd6, 0x05, 0xe4, 0xf7, 0x7b, 0xa3,
+ 0x53, 0x30, 0x51, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e,
+ 0x04, 0x16, 0x04, 0x14, 0x02, 0x64, 0x0f, 0x55, 0x69, 0x14,
+ 0x91, 0x19, 0xed, 0xf9, 0x1a, 0xe9, 0x1d, 0xa5, 0x5a, 0xd0,
+ 0x48, 0x96, 0x9f, 0x60, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d,
+ 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x02, 0x64, 0x0f,
+ 0x55, 0x69, 0x14, 0x91, 0x19, 0xed, 0xf9, 0x1a, 0xe9, 0x1d,
+ 0xa5, 0x5a, 0xd0, 0x48, 0x96, 0x9f, 0x60, 0x30, 0x0f, 0x06,
+ 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x05, 0x30,
+ 0x03, 0x01, 0x01, 0xff, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86,
+ 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30,
+ 0x44, 0x02, 0x20, 0x0a, 0x82, 0x92, 0x6e, 0xd3, 0xc6, 0x66,
+ 0xd9, 0xd3, 0x75, 0xff, 0x71, 0x3b, 0x61, 0x46, 0x21, 0x00,
+ 0xe6, 0x21, 0x5d, 0x9c, 0x86, 0xe9, 0x65, 0x40, 0x4f, 0xeb,
+ 0x70, 0x4f, 0x2c, 0xad, 0x00, 0x02, 0x20, 0x08, 0xc2, 0x07,
+ 0x5d, 0x16, 0xfc, 0x54, 0x34, 0x2b, 0xb4, 0x18, 0x67, 0x44,
+ 0x81, 0xc9, 0xa9, 0x67, 0x2e, 0xce, 0xa1, 0x02, 0x9f, 0x3b,
+ 0xe5, 0x61, 0x16, 0x0b, 0x50, 0xf6, 0xa1, 0x50, 0x94, 0x00,
+ 0x00, 0x0f, 0x00, 0x00, 0x4c, 0x04, 0x03, 0x00, 0x48, 0x30,
+ 0x46, 0x02, 0x21, 0x00, 0xaa, 0x18, 0x61, 0x93, 0xdf, 0xbb,
+ 0x79, 0xe7, 0x34, 0x7e, 0x2e, 0x61, 0x13, 0x8c, 0xa0, 0x33,
+ 0xfb, 0x33, 0xca, 0xfc, 0xd2, 0x45, 0xb0, 0xc7, 0x89, 0x3d,
+ 0xf1, 0xd6, 0x54, 0x94, 0x05, 0xb6, 0x02, 0x21, 0x00, 0xef,
+ 0x6c, 0xb6, 0xf2, 0x00, 0xb2, 0x32, 0xb1, 0xf3, 0x3f, 0x59,
+ 0xf5, 0xc8, 0x18, 0xbe, 0x39, 0xbb, 0x27, 0xf8, 0x67, 0xac,
+ 0xcb, 0x63, 0xa4, 0x29, 0xfb, 0x8e, 0x88, 0x0f, 0xe5, 0xe9,
+ 0x7e, 0x14, 0x00, 0x00, 0x20, 0xfc, 0x2c, 0x4c, 0xa7, 0x77,
+ 0x24, 0x79, 0x29, 0xa8, 0x82, 0x1a, 0x4d, 0x58, 0x9d, 0x82,
+ 0xe2, 0x09, 0x36, 0x63, 0x0e, 0x0b, 0x55, 0x51, 0x80, 0x93,
+ 0x40, 0xda, 0x41, 0x33, 0x08, 0x10, 0x2c
};
static const QUIC_PKT_HDR rx_script_7c_expect_hdr = {
@@ -8150,78 +1495,14 @@ static const QUIC_PKT_HDR rx_script_7c_expect_hdr = {
};
static const unsigned char rx_script_7c_body[] = {
- 0x18,
- 0x03,
- 0x00,
- 0x04,
- 0xf7,
- 0x75,
- 0x72,
- 0xa2,
- 0xfd,
- 0x17,
- 0xd4,
- 0x82,
- 0x8e,
- 0xe9,
- 0x5b,
- 0xce,
- 0xed,
- 0xec,
- 0x88,
- 0xb9,
- 0x73,
- 0xbf,
- 0x36,
- 0x9f,
- 0x18,
- 0x02,
- 0x00,
- 0x04,
- 0x5f,
- 0x43,
- 0x96,
- 0xe4,
- 0x15,
- 0xdc,
- 0x56,
- 0x6b,
- 0x67,
- 0x4c,
- 0x36,
- 0xb2,
- 0xe2,
- 0x77,
- 0xdc,
- 0x6e,
- 0xb9,
- 0x2c,
- 0x0d,
- 0x79,
- 0x18,
- 0x01,
- 0x00,
- 0x04,
- 0xcb,
- 0x83,
- 0x4a,
- 0xf4,
- 0x8d,
- 0x7b,
- 0x69,
- 0x90,
- 0xaf,
- 0x0d,
- 0xd2,
- 0x38,
- 0xa4,
- 0xf1,
- 0x94,
- 0xff,
- 0x63,
- 0x24,
- 0xd3,
- 0x7a,
+ 0x18, 0x03, 0x00, 0x04, 0xf7, 0x75, 0x72, 0xa2, 0xfd, 0x17,
+ 0xd4, 0x82, 0x8e, 0xe9, 0x5b, 0xce, 0xed, 0xec, 0x88, 0xb9,
+ 0x73, 0xbf, 0x36, 0x9f, 0x18, 0x02, 0x00, 0x04, 0x5f, 0x43,
+ 0x96, 0xe4, 0x15, 0xdc, 0x56, 0x6b, 0x67, 0x4c, 0x36, 0xb2,
+ 0xe2, 0x77, 0xdc, 0x6e, 0xb9, 0x2c, 0x0d, 0x79, 0x18, 0x01,
+ 0x00, 0x04, 0xcb, 0x83, 0x4a, 0xf4, 0x8d, 0x7b, 0x69, 0x90,
+ 0xaf, 0x0d, 0xd2, 0x38, 0xa4, 0xf1, 0x94, 0xff, 0x63, 0x24,
+ 0xd3, 0x7a
};
static const struct rx_test_op rx_script_7[] = {
@@ -8295,57 +1576,12 @@ static const unsigned char rx_script_8a_in[] = {
0x51, /* Short, 1-RTT, PN Length=2 bytes, KP=0 */
0xcb,
0xf4, /* PN (4) */
- 0x3f,
- 0x68,
- 0x7b,
- 0xa8,
- 0x2b,
- 0xb9,
- 0xfa,
- 0x7d,
- 0xe4,
- 0x6b,
- 0x20,
- 0x48,
- 0xd1,
- 0x3c,
- 0xcb,
- 0x4b,
- 0xef,
- 0xb1,
- 0xfd,
- 0x5e,
- 0x1b,
- 0x19,
- 0x83,
- 0xa9,
- 0x47,
- 0x62,
- 0xc1,
- 0x6e,
- 0xef,
- 0x27,
- 0xc3,
- 0x9b,
- 0x8f,
- 0x3f,
- 0xce,
- 0x11,
- 0x68,
- 0xf5,
- 0x73,
- 0x0d,
- 0xf2,
- 0xdc,
- 0xe0,
- 0x28,
- 0x28,
- 0x79,
- 0xa6,
- 0x39,
- 0xc3,
- 0xb9,
- 0xd3,
+ 0x3f, 0x68, 0x7b, 0xa8, 0x2b, 0xb9, 0xfa, 0x7d, 0xe4, 0x6b,
+ 0x20, 0x48, 0xd1, 0x3c, 0xcb, 0x4b, 0xef, 0xb1, 0xfd, 0x5e,
+ 0x1b, 0x19, 0x83, 0xa9, 0x47, 0x62, 0xc1, 0x6e, 0xef, 0x27,
+ 0xc3, 0x9b, 0x8f, 0x3f, 0xce, 0x11, 0x68, 0xf5, 0x73, 0x0d,
+ 0xf2, 0xdc, 0xe0, 0x28, 0x28, 0x79, 0xa6, 0x39, 0xc3, 0xb9,
+ 0xd3
};
static const QUIC_PKT_HDR rx_script_8a_expect_hdr = {
@@ -8375,57 +1611,12 @@ static const unsigned char rx_script_8b_in[] = {
0x52, /* Short, 1-RTT, PN Length=2 bytes, KP=1 */
0x21,
0x8e, /* PN (5) */
- 0xa2,
- 0x6a,
- 0x9c,
- 0x83,
- 0x24,
- 0x48,
- 0xae,
- 0x60,
- 0x1e,
- 0xc2,
- 0xa5,
- 0x91,
- 0xfa,
- 0xe5,
- 0xf2,
- 0x05,
- 0x14,
- 0x37,
- 0x04,
- 0x6a,
- 0xa8,
- 0xae,
- 0x06,
- 0x58,
- 0xd7,
- 0x85,
- 0x48,
- 0xd7,
- 0x3b,
- 0x85,
- 0x9e,
- 0x5a,
- 0xb3,
- 0x46,
- 0x89,
- 0x1b,
- 0x4b,
- 0x6e,
- 0x1d,
- 0xd1,
- 0xfc,
- 0xb7,
- 0x47,
- 0xda,
- 0x6a,
- 0x64,
- 0x4b,
- 0x8e,
- 0xf2,
- 0x69,
- 0x16,
+ 0xa2, 0x6a, 0x9c, 0x83, 0x24, 0x48, 0xae, 0x60, 0x1e, 0xc2,
+ 0xa5, 0x91, 0xfa, 0xe5, 0xf2, 0x05, 0x14, 0x37, 0x04, 0x6a,
+ 0xa8, 0xae, 0x06, 0x58, 0xd7, 0x85, 0x48, 0xd7, 0x3b, 0x85,
+ 0x9e, 0x5a, 0xb3, 0x46, 0x89, 0x1b, 0x4b, 0x6e, 0x1d, 0xd1,
+ 0xfc, 0xb7, 0x47, 0xda, 0x6a, 0x64, 0x4b, 0x8e, 0xf2, 0x69,
+ 0x16
};
static const QUIC_PKT_HDR rx_script_8b_expect_hdr = {
@@ -8446,92 +1637,21 @@ static const QUIC_PKT_HDR rx_script_8b_expect_hdr = {
};
static const unsigned char rx_script_8b_body[] = {
- 0x02,
- 0x04,
- 0x03,
- 0x00,
- 0x00,
- 0x0c,
- 0x00,
- 0x36,
- 0x49,
- 0x27,
- 0x6d,
- 0x20,
- 0x68,
- 0x61,
- 0x76,
- 0x69,
- 0x6e,
- 0x67,
- 0x20,
- 0x61,
- 0x20,
- 0x77,
- 0x6f,
- 0x6e,
- 0x64,
- 0x65,
- 0x72,
- 0x66,
- 0x75,
- 0x6c,
- 0x20,
- 0x74,
- 0x69,
- 0x6d,
- 0x65,
+ 0x02, 0x04, 0x03, 0x00, 0x00, 0x0c, 0x00, 0x36, 0x49, 0x27,
+ 0x6d, 0x20, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x61,
+ 0x20, 0x77, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x66, 0x75, 0x6c,
+ 0x20, 0x74, 0x69, 0x6d, 0x65
};
static const unsigned char rx_script_8c_in[] = {
0x5b, /* Short, 1-RTT, PN Length=2 bytes, KP=0 */
0x98,
0xd6, /* PN (3) */
- 0x3c,
- 0x6f,
- 0x94,
- 0x20,
- 0x5e,
- 0xfc,
- 0x5b,
- 0x3a,
- 0x4a,
- 0x65,
- 0x1a,
- 0x9a,
- 0x6c,
- 0x00,
- 0x52,
- 0xb6,
- 0x0c,
- 0x9b,
- 0x07,
- 0xf9,
- 0x6f,
- 0xbc,
- 0x3d,
- 0xb4,
- 0x57,
- 0xe0,
- 0x15,
- 0x74,
- 0xfe,
- 0x76,
- 0xea,
- 0x1f,
- 0x23,
- 0xae,
- 0x22,
- 0x62,
- 0xb7,
- 0x90,
- 0x94,
- 0x89,
- 0x38,
- 0x9b,
- 0x5b,
- 0x47,
- 0xed,
+ 0x3c, 0x6f, 0x94, 0x20, 0x5e, 0xfc, 0x5b, 0x3a, 0x4a, 0x65,
+ 0x1a, 0x9a, 0x6c, 0x00, 0x52, 0xb6, 0x0c, 0x9b, 0x07, 0xf9,
+ 0x6f, 0xbc, 0x3d, 0xb4, 0x57, 0xe0, 0x15, 0x74, 0xfe, 0x76,
+ 0xea, 0x1f, 0x23, 0xae, 0x22, 0x62, 0xb7, 0x90, 0x94, 0x89,
+ 0x38, 0x9b, 0x5b, 0x47, 0xed
};
static const QUIC_PKT_HDR rx_script_8c_expect_hdr = {
@@ -8552,93 +1672,21 @@ static const QUIC_PKT_HDR rx_script_8c_expect_hdr = {
};
static const unsigned char rx_script_8c_body[] = {
- 0x08,
- 0x00,
- 0x49,
- 0x27,
- 0x6d,
- 0x20,
- 0x68,
- 0x61,
- 0x76,
- 0x69,
- 0x6e,
- 0x67,
- 0x20,
- 0x61,
- 0x20,
- 0x77,
- 0x6f,
- 0x6e,
- 0x64,
- 0x65,
- 0x72,
- 0x66,
- 0x75,
- 0x6c,
- 0x20,
- 0x74,
- 0x69,
- 0x6d,
- 0x65,
+ 0x08, 0x00, 0x49, 0x27, 0x6d, 0x20, 0x68, 0x61, 0x76, 0x69,
+ 0x6e, 0x67, 0x20, 0x61, 0x20, 0x77, 0x6f, 0x6e, 0x64, 0x65,
+ 0x72, 0x66, 0x75, 0x6c, 0x20, 0x74, 0x69, 0x6d, 0x65
};
static const unsigned char rx_script_8d_in[] = {
0x55, /* Short, 1-RTT, PN Length=2 bytes, KP=1 */
0x98,
0x20, /* PN (6) */
- 0x45,
- 0x53,
- 0x05,
- 0x29,
- 0x30,
- 0x42,
- 0x29,
- 0x02,
- 0xf2,
- 0xa7,
- 0x27,
- 0xd6,
- 0xb0,
- 0xb7,
- 0x30,
- 0xad,
- 0x45,
- 0xd8,
- 0x73,
- 0xd7,
- 0xe3,
- 0x65,
- 0xee,
- 0xd9,
- 0x35,
- 0x33,
- 0x03,
- 0x3a,
- 0x35,
- 0x0b,
- 0x59,
- 0xa7,
- 0xbc,
- 0x23,
- 0x37,
- 0xc2,
- 0x5e,
- 0x13,
- 0x88,
- 0x18,
- 0x79,
- 0x94,
- 0x6c,
- 0x15,
- 0xe3,
- 0x1f,
- 0x0d,
- 0xd1,
- 0xc3,
- 0xfa,
- 0x40,
- 0xff,
+ 0x45, 0x53, 0x05, 0x29, 0x30, 0x42, 0x29, 0x02, 0xf2, 0xa7,
+ 0x27, 0xd6, 0xb0, 0xb7, 0x30, 0xad, 0x45, 0xd8, 0x73, 0xd7,
+ 0xe3, 0x65, 0xee, 0xd9, 0x35, 0x33, 0x03, 0x3a, 0x35, 0x0b,
+ 0x59, 0xa7, 0xbc, 0x23, 0x37, 0xc2, 0x5e, 0x13, 0x88, 0x18,
+ 0x79, 0x94, 0x6c, 0x15, 0xe3, 0x1f, 0x0d, 0xd1, 0xc3, 0xfa,
+ 0x40, 0xff
};
static const QUIC_PKT_HDR rx_script_8d_expect_hdr = {
@@ -8659,100 +1707,22 @@ static const QUIC_PKT_HDR rx_script_8d_expect_hdr = {
};
static const unsigned char rx_script_8d_body[] = {
- 0x02,
- 0x05,
- 0x03,
- 0x00,
- 0x00,
- 0x0c,
- 0x00,
- 0x40,
- 0x51,
- 0x49,
- 0x27,
- 0x6d,
- 0x20,
- 0x68,
- 0x61,
- 0x76,
- 0x69,
- 0x6e,
- 0x67,
- 0x20,
- 0x61,
- 0x20,
- 0x77,
- 0x6f,
- 0x6e,
- 0x64,
- 0x65,
- 0x72,
- 0x66,
- 0x75,
- 0x6c,
- 0x20,
- 0x74,
- 0x69,
- 0x6d,
- 0x65,
+ 0x02, 0x05, 0x03, 0x00, 0x00, 0x0c, 0x00, 0x40, 0x51, 0x49,
+ 0x27, 0x6d, 0x20, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20,
+ 0x61, 0x20, 0x77, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x66, 0x75,
+ 0x6c, 0x20, 0x74, 0x69, 0x6d, 0x65
};
static const unsigned char rx_script_8e_in[] = {
0x55, /* Short, 1-RTTT, PN Length=2 bytes, KP=0 */
0x76,
0x25, /* PN (10) */
- 0x1c,
- 0x0d,
- 0x70,
- 0x4c,
- 0x2b,
- 0xc5,
- 0x7d,
- 0x7b,
- 0x77,
- 0x64,
- 0x03,
- 0x27,
- 0xb3,
- 0x5d,
- 0x83,
- 0x9e,
- 0x35,
- 0x05,
- 0x10,
- 0xd2,
- 0xa4,
- 0x5c,
- 0x83,
- 0xd6,
- 0x94,
- 0x12,
- 0x18,
- 0xc5,
- 0xb3,
- 0x0f,
- 0x0a,
- 0xb1,
- 0x8a,
- 0x82,
- 0x9f,
- 0xd6,
- 0xa9,
- 0xab,
- 0x40,
- 0xc1,
- 0x05,
- 0xe8,
- 0x1b,
- 0x74,
- 0xaa,
- 0x8e,
- 0xd6,
- 0x8b,
- 0xa5,
- 0xa3,
- 0x77,
- 0x79,
+ 0x1c, 0x0d, 0x70, 0x4c, 0x2b, 0xc5, 0x7d, 0x7b, 0x77, 0x64,
+ 0x03, 0x27, 0xb3, 0x5d, 0x83, 0x9e, 0x35, 0x05, 0x10, 0xd2,
+ 0xa4, 0x5c, 0x83, 0xd6, 0x94, 0x12, 0x18, 0xc5, 0xb3, 0x0f,
+ 0x0a, 0xb1, 0x8a, 0x82, 0x9f, 0xd6, 0xa9, 0xab, 0x40, 0xc1,
+ 0x05, 0xe8, 0x1b, 0x74, 0xaa, 0x8e, 0xd6, 0x8b, 0xa5, 0xa3,
+ 0x77, 0x79
};
static const QUIC_PKT_HDR rx_script_8e_expect_hdr = {
@@ -8773,42 +1743,10 @@ static const QUIC_PKT_HDR rx_script_8e_expect_hdr = {
};
static const unsigned char rx_script_8e_body[] = {
- 0x02,
- 0x09,
- 0x04,
- 0x00,
- 0x00,
- 0x0c,
- 0x00,
- 0x40,
- 0xbd,
- 0x49,
- 0x27,
- 0x6d,
- 0x20,
- 0x68,
- 0x61,
- 0x76,
- 0x69,
- 0x6e,
- 0x67,
- 0x20,
- 0x61,
- 0x20,
- 0x77,
- 0x6f,
- 0x6e,
- 0x64,
- 0x65,
- 0x72,
- 0x66,
- 0x75,
- 0x6c,
- 0x20,
- 0x74,
- 0x69,
- 0x6d,
- 0x65,
+ 0x02, 0x09, 0x04, 0x00, 0x00, 0x0c, 0x00, 0x40, 0xbd, 0x49,
+ 0x27, 0x6d, 0x20, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20,
+ 0x61, 0x20, 0x77, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x66, 0x75,
+ 0x6c, 0x20, 0x74, 0x69, 0x6d, 0x65
};
static const unsigned char rx_script_8f_in[] = {
@@ -10594,41 +3532,10 @@ static const unsigned char tx_script_4_secret[] = {
};
static const unsigned char tx_script_4a_body[] = {
- 0x02,
- 0x03,
- 0x09,
- 0x00,
- 0x03,
- 0x0c,
- 0x00,
- 0x36,
- 0x49,
- 0x27,
- 0x6d,
- 0x20,
- 0x68,
- 0x61,
- 0x76,
- 0x69,
- 0x6e,
- 0x67,
- 0x20,
- 0x61,
- 0x20,
- 0x77,
- 0x6f,
- 0x6e,
- 0x64,
- 0x65,
- 0x72,
- 0x66,
- 0x75,
- 0x6c,
- 0x20,
- 0x74,
- 0x69,
- 0x6d,
- 0x65,
+ 0x02, 0x03, 0x09, 0x00, 0x03, 0x0c, 0x00, 0x36, 0x49, 0x27,
+ 0x6d, 0x20, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x61,
+ 0x20, 0x77, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x66, 0x75, 0x6c,
+ 0x20, 0x74, 0x69, 0x6d, 0x65
};
static const unsigned char tx_script_4a_dgram[] = {
@@ -10670,104 +3577,19 @@ static const OSSL_QTX_PKT tx_script_4a_pkt = {
};
static const unsigned char tx_script_4b_body[] = {
- 0x02,
- 0x04,
- 0x07,
- 0x00,
- 0x00,
- 0x0c,
- 0x00,
- 0x40,
- 0x51,
- 0x49,
- 0x27,
- 0x6d,
- 0x20,
- 0x68,
- 0x61,
- 0x76,
- 0x69,
- 0x6e,
- 0x67,
- 0x20,
- 0x61,
- 0x20,
- 0x77,
- 0x6f,
- 0x6e,
- 0x64,
- 0x65,
- 0x72,
- 0x66,
- 0x75,
- 0x6c,
- 0x20,
- 0x74,
- 0x69,
- 0x6d,
- 0x65,
+ 0x02, 0x04, 0x07, 0x00, 0x00, 0x0c, 0x00, 0x40, 0x51, 0x49,
+ 0x27, 0x6d, 0x20, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20,
+ 0x61, 0x20, 0x77, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x66, 0x75,
+ 0x6c, 0x20, 0x74, 0x69, 0x6d, 0x65
};
static const unsigned char tx_script_4b_dgram[] = {
- 0x58,
- 0x6e,
- 0x4e,
- 0xbd,
- 0x49,
- 0xa4,
- 0x43,
- 0x33,
- 0xea,
- 0x11,
- 0x3a,
- 0x6c,
- 0xf5,
- 0x20,
- 0xef,
- 0x55,
- 0x8d,
- 0x25,
- 0xe2,
- 0x3b,
- 0x0e,
- 0x8c,
- 0xea,
- 0x17,
- 0xfc,
- 0x2b,
- 0x7a,
- 0xab,
- 0xfa,
- 0x3d,
- 0x07,
- 0xda,
- 0xa7,
- 0x7c,
- 0xc7,
- 0x47,
- 0x82,
- 0x02,
- 0x46,
- 0x40,
- 0x4f,
- 0x01,
- 0xad,
- 0xb2,
- 0x9d,
- 0x97,
- 0xdb,
- 0xfc,
- 0x9c,
- 0x4b,
- 0x46,
- 0xb1,
- 0x5a,
- 0x7f,
- 0x0b,
- 0x12,
- 0xaf,
- 0x49,
- 0xdf,
+ 0x58, 0x6e, 0x4e, 0xbd, 0x49, 0xa4, 0x43, 0x33, 0xea, 0x11,
+ 0x3a, 0x6c, 0xf5, 0x20, 0xef, 0x55, 0x8d, 0x25, 0xe2, 0x3b,
+ 0x0e, 0x8c, 0xea, 0x17, 0xfc, 0x2b, 0x7a, 0xab, 0xfa, 0x3d,
+ 0x07, 0xda, 0xa7, 0x7c, 0xc7, 0x47, 0x82, 0x02, 0x46, 0x40,
+ 0x4f, 0x01, 0xad, 0xb2, 0x9d, 0x97, 0xdb, 0xfc, 0x9c, 0x4b,
+ 0x46, 0xb1, 0x5a, 0x7f, 0x0b, 0x12, 0xaf, 0x49, 0xdf
};
static QUIC_PKT_HDR tx_script_4b_hdr = {
@@ -10801,104 +3623,19 @@ static const OSSL_QTX_PKT tx_script_4b_pkt = {
};
static const unsigned char tx_script_4c_body[] = {
- 0x02,
- 0x09,
- 0x0e,
- 0x00,
- 0x00,
- 0x0c,
- 0x00,
- 0x40,
- 0xd8,
- 0x49,
- 0x27,
- 0x6d,
- 0x20,
- 0x68,
- 0x61,
- 0x76,
- 0x69,
- 0x6e,
- 0x67,
- 0x20,
- 0x61,
- 0x20,
- 0x77,
- 0x6f,
- 0x6e,
- 0x64,
- 0x65,
- 0x72,
- 0x66,
- 0x75,
- 0x6c,
- 0x20,
- 0x74,
- 0x69,
- 0x6d,
- 0x65,
+ 0x02, 0x09, 0x0e, 0x00, 0x00, 0x0c, 0x00, 0x40, 0xd8, 0x49,
+ 0x27, 0x6d, 0x20, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20,
+ 0x61, 0x20, 0x77, 0x6f, 0x6e, 0x64, 0x65, 0x72, 0x66, 0x75,
+ 0x6c, 0x20, 0x74, 0x69, 0x6d, 0x65
};
static const unsigned char tx_script_4c_dgram[] = {
- 0x49,
- 0x6e,
- 0x4e,
- 0xbd,
- 0x49,
- 0x4d,
- 0xd9,
- 0x85,
- 0xba,
- 0x26,
- 0xfb,
- 0x68,
- 0x83,
- 0x9b,
- 0x94,
- 0x34,
- 0x7d,
- 0xc1,
- 0x7a,
- 0x05,
- 0xb7,
- 0x38,
- 0x43,
- 0x21,
- 0xe2,
- 0xec,
- 0x2b,
- 0xc1,
- 0x81,
- 0x74,
- 0x2d,
- 0xda,
- 0x24,
- 0xba,
- 0xbd,
- 0x99,
- 0x69,
- 0xd2,
- 0x56,
- 0xfa,
- 0xae,
- 0x29,
- 0x24,
- 0xb2,
- 0xaa,
- 0xda,
- 0xbd,
- 0x82,
- 0x80,
- 0xf1,
- 0xbb,
- 0x6a,
- 0xfd,
- 0xae,
- 0xda,
- 0x0e,
- 0x09,
- 0xcf,
- 0x09,
+ 0x49, 0x6e, 0x4e, 0xbd, 0x49, 0x4d, 0xd9, 0x85, 0xba, 0x26,
+ 0xfb, 0x68, 0x83, 0x9b, 0x94, 0x34, 0x7d, 0xc1, 0x7a, 0x05,
+ 0xb7, 0x38, 0x43, 0x21, 0xe2, 0xec, 0x2b, 0xc1, 0x81, 0x74,
+ 0x2d, 0xda, 0x24, 0xba, 0xbd, 0x99, 0x69, 0xd2, 0x56, 0xfa,
+ 0xae, 0x29, 0x24, 0xb2, 0xaa, 0xda, 0xbd, 0x82, 0x80, 0xf1,
+ 0xbb, 0x6a, 0xfd, 0xae, 0xda, 0x0e, 0x09, 0xcf, 0x09
};
static QUIC_PKT_HDR tx_script_4c_hdr = {
@@ -10944,253 +3681,35 @@ static const struct tx_test_op tx_script_4[] = {
/* 5. Real World - Retry Packet */
static const unsigned char tx_script_5_body[] = {
/* Retry Token */
- 0x92,
- 0xe7,
- 0xc6,
- 0xd8,
- 0x09,
- 0x65,
- 0x72,
- 0x55,
- 0xe5,
- 0xe2,
- 0x73,
- 0x04,
- 0xf3,
- 0x07,
- 0x5b,
- 0x21,
- 0x9f,
- 0x50,
- 0xcb,
- 0xbc,
- 0x79,
- 0xc5,
- 0x77,
- 0x5a,
- 0x29,
- 0x43,
- 0x65,
- 0x49,
- 0xf0,
- 0x6e,
- 0xc1,
- 0xc0,
- 0x3a,
- 0xe8,
- 0xca,
- 0xd2,
- 0x44,
- 0x69,
- 0xdd,
- 0x23,
- 0x31,
- 0x93,
- 0x52,
- 0x02,
- 0xf7,
- 0x42,
- 0x07,
- 0x78,
- 0xa1,
- 0x81,
- 0x61,
- 0x9c,
- 0x39,
- 0x07,
- 0x18,
- 0x69,
- 0x6e,
- 0x4f,
- 0xdc,
- 0xa0,
- 0xbe,
- 0x4b,
- 0xe5,
- 0xf2,
- 0xe9,
- 0xd2,
- 0xa4,
- 0xa7,
- 0x34,
- 0x55,
- 0x5e,
- 0xf3,
- 0xf8,
- 0x9c,
- 0x49,
- 0x8f,
- 0x0c,
- 0xc8,
- 0xb2,
- 0x75,
- 0x4b,
- 0x4d,
- 0x2f,
- 0xfe,
- 0x05,
- 0x5a,
- 0xdd,
- 0x4b,
- 0xe6,
- 0x14,
- 0xb4,
- 0xd2,
- 0xc0,
- 0x93,
- 0x6e,
- 0x0e,
- 0x84,
- 0x41,
- 0x4d,
- 0x31,
+ 0x92, 0xe7, 0xc6, 0xd8, 0x09, 0x65, 0x72, 0x55, 0xe5, 0xe2,
+ 0x73, 0x04, 0xf3, 0x07, 0x5b, 0x21, 0x9f, 0x50, 0xcb, 0xbc,
+ 0x79, 0xc5, 0x77, 0x5a, 0x29, 0x43, 0x65, 0x49, 0xf0, 0x6e,
+ 0xc1, 0xc0, 0x3a, 0xe8, 0xca, 0xd2, 0x44, 0x69, 0xdd, 0x23,
+ 0x31, 0x93, 0x52, 0x02, 0xf7, 0x42, 0x07, 0x78, 0xa1, 0x81,
+ 0x61, 0x9c, 0x39, 0x07, 0x18, 0x69, 0x6e, 0x4f, 0xdc, 0xa0,
+ 0xbe, 0x4b, 0xe5, 0xf2, 0xe9, 0xd2, 0xa4, 0xa7, 0x34, 0x55,
+ 0x5e, 0xf3, 0xf8, 0x9c, 0x49, 0x8f, 0x0c, 0xc8, 0xb2, 0x75,
+ 0x4b, 0x4d, 0x2f, 0xfe, 0x05, 0x5a, 0xdd, 0x4b, 0xe6, 0x14,
+ 0xb4, 0xd2, 0xc0, 0x93, 0x6e, 0x0e, 0x84, 0x41, 0x4d, 0x31,
/* Retry Integrity Tag */
- 0x43,
- 0x8e,
- 0xab,
- 0xcd,
- 0xce,
- 0x24,
- 0x44,
- 0xc2,
- 0x20,
- 0xe1,
- 0xe2,
- 0xc8,
- 0xae,
- 0xa3,
- 0x8d,
- 0x4e,
+ 0x43, 0x8e, 0xab, 0xcd, 0xce, 0x24, 0x44, 0xc2, 0x20, 0xe1,
+ 0xe2, 0xc8, 0xae, 0xa3, 0x8d, 0x4e
};
static const unsigned char tx_script_5_dgram[] = {
- 0xf0,
- 0x00,
- 0x00,
- 0x00,
- 0x01,
- 0x00,
- 0x04,
- 0xa9,
- 0x20,
- 0xcc,
- 0xc2,
- 0x92,
- 0xe7,
- 0xc6,
- 0xd8,
- 0x09,
- 0x65,
- 0x72,
- 0x55,
- 0xe5,
- 0xe2,
- 0x73,
- 0x04,
- 0xf3,
- 0x07,
- 0x5b,
- 0x21,
- 0x9f,
- 0x50,
- 0xcb,
- 0xbc,
- 0x79,
- 0xc5,
- 0x77,
- 0x5a,
- 0x29,
- 0x43,
- 0x65,
- 0x49,
- 0xf0,
- 0x6e,
- 0xc1,
- 0xc0,
- 0x3a,
- 0xe8,
- 0xca,
- 0xd2,
- 0x44,
- 0x69,
- 0xdd,
- 0x23,
- 0x31,
- 0x93,
- 0x52,
- 0x02,
- 0xf7,
- 0x42,
- 0x07,
- 0x78,
- 0xa1,
- 0x81,
- 0x61,
- 0x9c,
- 0x39,
- 0x07,
- 0x18,
- 0x69,
- 0x6e,
- 0x4f,
- 0xdc,
- 0xa0,
- 0xbe,
- 0x4b,
- 0xe5,
- 0xf2,
- 0xe9,
- 0xd2,
- 0xa4,
- 0xa7,
- 0x34,
- 0x55,
- 0x5e,
- 0xf3,
- 0xf8,
- 0x9c,
- 0x49,
- 0x8f,
- 0x0c,
- 0xc8,
- 0xb2,
- 0x75,
- 0x4b,
- 0x4d,
- 0x2f,
- 0xfe,
- 0x05,
- 0x5a,
- 0xdd,
- 0x4b,
- 0xe6,
- 0x14,
- 0xb4,
- 0xd2,
- 0xc0,
- 0x93,
- 0x6e,
- 0x0e,
- 0x84,
- 0x41,
- 0x4d,
- 0x31,
- 0x43,
- 0x8e,
- 0xab,
- 0xcd,
- 0xce,
- 0x24,
- 0x44,
- 0xc2,
- 0x20,
- 0xe1,
- 0xe2,
- 0xc8,
- 0xae,
- 0xa3,
- 0x8d,
- 0x4e,
+ 0xf0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0xa9, 0x20, 0xcc,
+ 0xc2, 0x92, 0xe7, 0xc6, 0xd8, 0x09, 0x65, 0x72, 0x55, 0xe5,
+ 0xe2, 0x73, 0x04, 0xf3, 0x07, 0x5b, 0x21, 0x9f, 0x50, 0xcb,
+ 0xbc, 0x79, 0xc5, 0x77, 0x5a, 0x29, 0x43, 0x65, 0x49, 0xf0,
+ 0x6e, 0xc1, 0xc0, 0x3a, 0xe8, 0xca, 0xd2, 0x44, 0x69, 0xdd,
+ 0x23, 0x31, 0x93, 0x52, 0x02, 0xf7, 0x42, 0x07, 0x78, 0xa1,
+ 0x81, 0x61, 0x9c, 0x39, 0x07, 0x18, 0x69, 0x6e, 0x4f, 0xdc,
+ 0xa0, 0xbe, 0x4b, 0xe5, 0xf2, 0xe9, 0xd2, 0xa4, 0xa7, 0x34,
+ 0x55, 0x5e, 0xf3, 0xf8, 0x9c, 0x49, 0x8f, 0x0c, 0xc8, 0xb2,
+ 0x75, 0x4b, 0x4d, 0x2f, 0xfe, 0x05, 0x5a, 0xdd, 0x4b, 0xe6,
+ 0x14, 0xb4, 0xd2, 0xc0, 0x93, 0x6e, 0x0e, 0x84, 0x41, 0x4d,
+ 0x31, 0x43, 0x8e, 0xab, 0xcd, 0xce, 0x24, 0x44, 0xc2, 0x20,
+ 0xe1, 0xe2, 0xc8, 0xae, 0xa3, 0x8d, 0x4e
};
static QUIC_PKT_HDR tx_script_5_hdr = {
diff --git a/crypto/openssl/test/quic_txp_test.c b/crypto/openssl/test/quic_txp_test.c
index c4d6cc055db..6b5a63e596b 100644
--- a/crypto/openssl/test/quic_txp_test.c
+++ b/crypto/openssl/test/quic_txp_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -27,22 +27,8 @@ static const QUIC_CONN_ID cid_1 = {
};
static const unsigned char reset_token_1[16] = {
- 0x99,
- 0x88,
- 0x77,
- 0x66,
- 0x55,
- 0x44,
- 0x33,
- 0x22,
- 0x11,
- 0xaa,
- 0xbb,
- 0xcc,
- 0xdd,
- 0xee,
- 0xff,
- 0x12,
+ 0x99, 0x88, 0x77, 0x66, 0x55, 0x44, 0x33, 0x22, 0x11, 0xaa,
+ 0xbb, 0xcc, 0xdd, 0xee, 0xff, 0x12
};
static const unsigned char secret_1[32] = {
diff --git a/crypto/openssl/test/quic_wire_test.c b/crypto/openssl/test/quic_wire_test.c
index 3724f6e08e1..a3fd1413d66 100644
--- a/crypto/openssl/test/quic_wire_test.c
+++ b/crypto/openssl/test/quic_wire_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -1625,27 +1625,19 @@ static int test_wire_retry_integrity_tag(void)
/* is_minimal=0 test */
static const unsigned char non_minimal_1[] = {
- 0x40,
- 0x00,
+ 0x40, 0x00
};
static const unsigned char non_minimal_2[] = {
- 0x40,
- 0x3F,
+ 0x40, 0x3F
};
static const unsigned char non_minimal_3[] = {
- 0x80,
- 0x00,
- 0x00,
- 0x00,
+ 0x80, 0x00, 0x00, 0x00
};
static const unsigned char non_minimal_4[] = {
- 0x80,
- 0x00,
- 0x3F,
- 0xFF,
+ 0x80, 0x00, 0x3F, 0xFF
};
static const unsigned char non_minimal_5[] = {
diff --git a/crypto/openssl/test/quicapitest.c b/crypto/openssl/test/quicapitest.c
index c61dda6f7f7..d40413898a6 100644
--- a/crypto/openssl/test/quicapitest.c
+++ b/crypto/openssl/test/quicapitest.c
@@ -19,6 +19,7 @@
#include "testutil.h"
#include "testutil/output.h"
#include "../ssl/ssl_local.h"
+#include "../ssl/quic/quic_channel_local.h"
#include "internal/quic_error.h"
static OSSL_LIB_CTX *libctx = NULL;
@@ -2689,6 +2690,84 @@ static int test_ssl_new_from_listener(void)
return testresult;
}
+/*
+ * Verify that the SSL* received in the info callback after SSL_new_from_listener
+ * is the outer QUIC connection object, not the inner TLS SSL.
+ */
+static SSL *new_from_listener_info_cb_ssl = NULL;
+
+static void new_from_listener_info_cb(const SSL *ssl, int type, int val)
+{
+ if (type == SSL_CB_HANDSHAKE_DONE)
+ new_from_listener_info_cb_ssl = (SSL *)ssl;
+}
+
+static int test_ssl_new_from_listener_user_ssl(void)
+{
+ SSL_CTX *lctx = NULL, *sctx = NULL;
+ SSL *qlistener = NULL, *qserver = NULL, *qconn = NULL;
+ BIO *lbio = NULL, *sbio = NULL;
+ BIO_ADDR *addr = NULL;
+ struct in_addr ina;
+ int ret = 0, chk;
+
+ ina.s_addr = htonl(0x1f000001);
+ new_from_listener_info_cb_ssl = NULL;
+
+ if (!TEST_ptr(lctx = create_server_ctx())
+ || !TEST_ptr(sctx = create_server_ctx())
+ || !TEST_true(BIO_new_bio_dgram_pair(&lbio, 0, &sbio, 0)))
+ goto err;
+
+ /*
+ * Register an info callback on the listener CTX. The inner TLS connection
+ * created by ossl_quic_new_from_listener inherits this CTX, so when the TLS
+ * handshake completes it invokes the callback with user_ssl. That must be
+ * qconn (the outer QUIC object), not the inner TLS SSL object.
+ */
+ SSL_CTX_set_info_callback(lctx, new_from_listener_info_cb);
+
+ if (!TEST_ptr(addr = create_addr(&ina, 8041))
+ || !TEST_true(bio_addr_bind(lbio, addr)))
+ goto err;
+ addr = NULL;
+
+ if (!TEST_ptr(addr = create_addr(&ina, 4081))
+ || !TEST_true(bio_addr_bind(sbio, addr)))
+ goto err;
+ addr = NULL;
+
+ qlistener = ql_create(lctx, lbio);
+ lbio = NULL;
+ qserver = ql_create(sctx, sbio);
+ sbio = NULL;
+ if (!TEST_ptr(qlistener) || !TEST_ptr(qserver)
+ || !TEST_ptr(qconn = SSL_new_from_listener(qlistener, 0))
+ || !TEST_ptr(addr = create_addr(&ina, 4081))
+ || !TEST_true(qc_init(qconn, addr)))
+ goto err;
+
+ while ((chk = SSL_do_handshake(qconn)) == -1) {
+ SSL_handle_events(qserver);
+ SSL_handle_events(qlistener);
+ }
+
+ ret = TEST_int_gt(chk, 0)
+ && TEST_ptr(new_from_listener_info_cb_ssl)
+ && TEST_ptr_eq(new_from_listener_info_cb_ssl, qconn);
+
+err:
+ SSL_free(qconn);
+ SSL_free(qlistener);
+ SSL_free(qserver);
+ BIO_free(lbio);
+ BIO_free(sbio);
+ SSL_CTX_free(sctx);
+ SSL_CTX_free(lctx);
+ BIO_ADDR_free(addr);
+ return ret;
+}
+
static int test_server_method_with_ssl_new(void)
{
SSL_CTX *ctx = NULL;
@@ -2941,6 +3020,74 @@ static int test_client_hello_retry(void)
return TEST_skip("EC(X) keys are not supported in this build");
#endif
}
+
+static int test_quic_resize_txe(void)
+{
+ SSL_CTX *cctx = NULL;
+ SSL *clientquic = NULL;
+ QUIC_TSERVER *qtserv = NULL;
+ QUIC_CHANNEL *ch = NULL;
+ unsigned char msg[] = "resize test";
+ unsigned char buf[sizeof(msg)];
+ size_t numbytes = 0;
+ int ret = 0;
+
+ if (!TEST_ptr(cctx = SSL_CTX_new_ex(libctx, NULL, OSSL_QUIC_client_method())))
+ goto end;
+
+ if (!TEST_true(qtest_create_quic_objects(libctx, cctx, NULL,
+ cert, privkey, 0,
+ &qtserv, &clientquic,
+ NULL, NULL)))
+ goto end;
+
+ if (!TEST_true(qtest_create_quic_connection(qtserv, clientquic)))
+ goto end;
+
+ /*
+ * Client writes first to open stream 0 (client-initiated bidirectional).
+ * The server must see the stream before it can write back on it.
+ */
+ if (!TEST_true(SSL_write_ex(clientquic, msg, sizeof(msg), &numbytes))
+ || !TEST_size_t_eq(numbytes, sizeof(msg)))
+ goto end;
+
+ ossl_quic_tserver_tick(qtserv);
+ if (!TEST_true(ossl_quic_tserver_read(qtserv, 0, buf, sizeof(buf),
+ &numbytes)))
+ goto end;
+
+ /*
+ * Increase the server's QTX MDPL above the initial allocation size
+ * (QUIC_MIN_INITIAL_DGRAM_LEN = 1200). All TXEs in the free list have
+ * alloc_len = 1200, so the next write will trigger qtx_resize_txe.
+ */
+ ch = ossl_quic_tserver_get_channel(qtserv);
+ if (!TEST_true(ossl_qtx_set_mdpl(ch->qtx,
+ QUIC_MIN_INITIAL_DGRAM_LEN + 250)))
+ goto end;
+
+ /* Trigger a server write: exercises qtx_resize_txe via qtx_reserve_txe */
+ if (!TEST_true(ossl_quic_tserver_write(qtserv, 0,
+ msg, sizeof(msg), &numbytes))
+ || !TEST_size_t_eq(numbytes, sizeof(msg)))
+ goto end;
+
+ ossl_quic_tserver_tick(qtserv);
+ SSL_handle_events(clientquic);
+
+ if (!TEST_true(SSL_read_ex(clientquic, buf, sizeof(buf), &numbytes))
+ || !TEST_mem_eq(buf, numbytes, msg, sizeof(msg)))
+ goto end;
+
+ ret = 1;
+end:
+ ossl_quic_tserver_free(qtserv);
+ SSL_free(clientquic);
+ SSL_CTX_free(cctx);
+ return ret;
+}
+
/***********************************************************************************/
OPT_TEST_DECLARE_USAGE("provider config certsdir datadir\n")
@@ -3036,6 +3183,7 @@ int setup_tests(void)
ADD_TEST(test_domain_flags);
ADD_TEST(test_early_ticks);
ADD_TEST(test_ssl_new_from_listener);
+ ADD_TEST(test_ssl_new_from_listener_user_ssl);
#ifndef OPENSSL_NO_SSL_TRACE
ADD_TEST(test_new_token);
#endif
@@ -3043,6 +3191,8 @@ int setup_tests(void)
ADD_TEST(test_ssl_accept_connection);
ADD_TEST(test_ssl_set_verify);
ADD_TEST(test_client_hello_retry);
+ ADD_TEST(test_quic_resize_txe);
+
return 1;
err:
cleanup_tests();
diff --git a/crypto/openssl/test/radix/quic_tests.c b/crypto/openssl/test/radix/quic_tests.c
index c0e54825cac..d6f0a19077a 100644
--- a/crypto/openssl/test/radix/quic_tests.c
+++ b/crypto/openssl/test/radix/quic_tests.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2024-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2024-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -294,13 +294,196 @@ DEF_SCRIPT(check_cwm, "check stream obeys cwm")
OP_WRITE_FAIL(C);
}
+struct mutcbk_ctx {
+ QUIC_PKT_HDR mutctx_qhdrin;
+ OSSL_QTX_IOVEC mutctx_iov;
+ const unsigned char *mutctx_inject;
+ size_t mutctx_inject_sz;
+ int mutctx_done;
+};
+
+static int mutcbk_inject_frames(const QUIC_PKT_HDR *hdrin,
+ const OSSL_QTX_IOVEC *iovecin, size_t numin, QUIC_PKT_HDR **hdrout,
+ const OSSL_QTX_IOVEC **iovecout, size_t *numout, void *arg)
+{
+ struct mutcbk_ctx *mutctx = (struct mutcbk_ctx *)arg;
+ size_t i;
+ size_t grow_allowance = 1200; /* QUIC_MIN_INITIAL_DGRAM_LEN */
+ size_t bufsz = 0;
+ char *buf;
+
+ /*
+ * make injection callback a one shot event,
+ * callback is invoked for every packet we
+ * want to modify only one packet here.
+ */
+ if (mutctx->mutctx_done)
+ return 0;
+
+ mutctx->mutctx_done = 1;
+
+ for (i = 0; i < numin; i++)
+ bufsz += iovecin[i].buf_len;
+
+ mutctx->mutctx_iov.buf_len = bufsz; /* keeps old size */
+ grow_allowance -= (bufsz < grow_allowance) ? bufsz : grow_allowance;
+ /* AEAD tag (16 bytes) + long header (14 bytes) */
+ grow_allowance -= (30 < grow_allowance) ? 30 : grow_allowance;
+
+ grow_allowance -= (hdrin->dst_conn_id.id_len < grow_allowance) ? hdrin->dst_conn_id.id_len : grow_allowance;
+ grow_allowance -= (hdrin->src_conn_id.id_len < grow_allowance) ? hdrin->src_conn_id.id_len : grow_allowance;
+
+ if (grow_allowance == 0) {
+ TEST_info("mutcbk_inject_frames() not enough space to inject");
+ return 0;
+ }
+ bufsz += grow_allowance;
+
+ /* discard const */
+ OPENSSL_free((char *)mutctx->mutctx_iov.buf);
+ mutctx->mutctx_iov.buf = OPENSSL_malloc(bufsz);
+ /* discard const */
+ buf = (char *)mutctx->mutctx_iov.buf;
+ if (buf == NULL) {
+ TEST_info("mutcbk_inject_frames() OPENSSL_malloc() failed");
+ return 0;
+ }
+
+ for (i = 0; i < numin; i++) {
+ memcpy(buf, iovecin[i].buf, iovecin[i].buf_len);
+ buf += iovecin[i].buf_len;
+ }
+
+ /* discard const */
+ buf = (char *)mutctx->mutctx_iov.buf;
+ if (mutctx->mutctx_inject != NULL) {
+ memmove(buf + mutctx->mutctx_inject_sz, buf,
+ mutctx->mutctx_iov.buf_len);
+ memcpy(buf, mutctx->mutctx_inject, mutctx->mutctx_inject_sz);
+ }
+ /*
+ * perhaps needed to have not looked at yet
+ */
+ mutctx->mutctx_qhdrin = *hdrin;
+ *hdrout = &mutctx->mutctx_qhdrin;
+ mutctx->mutctx_iov.buf_len += mutctx->mutctx_inject_sz;
+ *iovecout = &mutctx->mutctx_iov;
+ *numout = 1;
+
+ return 1;
+}
+
+static void mutcbk_finish_injecct_frames(void *arg)
+{
+ struct mutcbk_ctx *mutctx = (struct mutcbk_ctx *)arg;
+
+ OPENSSL_free((char *)mutctx->mutctx_iov.buf);
+ mutctx->mutctx_iov.buf = NULL;
+}
+
+/* 16 path challenge frames */
+#define PATH_CHALLENGE_FRAMES \
+ "\x1a" \
+ "ABCDEFGH" \
+ "\x1a" \
+ "ABCDEFGH" \
+ "\x1a" \
+ "ABCDEFGH" \
+ "\x1a" \
+ "ABCDEFGH" \
+ "\x1a" \
+ "ABCDEFGH" \
+ "\x1a" \
+ "ABCDEFGH" \
+ "\x1a" \
+ "ABCDEFGH" \
+ "\x1a" \
+ "ABCDEFGH" \
+ "\x1a" \
+ "ABCDEFGH" \
+ "\x1a" \
+ "ABCDEFGH" \
+ "\x1a" \
+ "ABCDEFGH" \
+ "\x1a" \
+ "ABCDEFGH" \
+ "\x1a" \
+ "ABCDEFGH" \
+ "\x1a" \
+ "ABCDEFGH" \
+ "\x1a" \
+ "ABCDEFGH" \
+ "\x1a" \
+ "ABCDEFGH"
+
+DEF_FUNC(mount_flood)
+{
+ int ok = 0;
+ SSL *ssl;
+ QUIC_CHANNEL *ch;
+ static struct mutcbk_ctx mutctx = { 0 };
+ static const unsigned char *inject_frames = (const unsigned char *)PATH_CHALLENGE_FRAMES;
+
+ mutctx.mutctx_inject = inject_frames;
+ mutctx.mutctx_inject_sz = sizeof(PATH_CHALLENGE_FRAMES) - 1;
+ REQUIRE_SSL(ssl);
+ ch = ossl_quic_conn_get_channel(ssl);
+ if (!TEST_ptr(ch))
+ goto err;
+
+ if (!TEST_true(ossl_quic_channel_set_mutator(ch, mutcbk_inject_frames,
+ mutcbk_finish_injecct_frames, &mutctx)))
+ goto err;
+ ok = 1;
+err:
+ return ok;
+}
+
+DEF_FUNC(check_flood_stats)
+{
+ int ok = 0;
+ SSL *ssl;
+ QUIC_CHANNEL *ch;
+ uint64_t path_response_count;
+ uint64_t path_challenge_count;
+
+ REQUIRE_SSL(ssl);
+ ch = ossl_quic_conn_get_channel(ssl);
+ if (!TEST_ptr(ch))
+ goto err;
+
+ path_challenge_count = ossl_quic_channel_get_path_challenge_count(ch);
+ path_response_count = ossl_quic_channel_get_path_response_count(ch);
+
+ if (TEST_uint64_t_ne(path_challenge_count, 16))
+ goto err;
+ if (TEST_uint64_t_ne(path_response_count, 1))
+ goto err;
+
+ ok = 1;
+err:
+ return ok;
+}
+
+DEF_SCRIPT(check_pc_flood, "check path challenge flood")
+{
+ OP_SIMPLE_PAIR_CONN();
+ OP_SELECT_SSL(0, C);
+ OP_FUNC(mount_flood);
+ OP_ACCEPT_CONN_WAIT(L, S, 0);
+ OP_WRITE_B(C, "attack");
+ OP_SELECT_SSL(0, S);
+ OP_FUNC(check_flood_stats);
+}
+
/*
* List of Test Scripts
* ============================================================================
*/
static SCRIPT_INFO *const scripts[] = {
- USE(simple_conn)
- USE(simple_thread)
- USE(ssl_poll)
- USE(check_cwm)
+ USE(simple_conn),
+ USE(simple_thread),
+ USE(ssl_poll),
+ USE(check_cwm),
+ USE(check_pc_flood),
};
diff --git a/crypto/openssl/test/radix/terp.c b/crypto/openssl/test/radix/terp.c
index 9e64702908b..ed415fa6292 100644
--- a/crypto/openssl/test/radix/terp.c
+++ b/crypto/openssl/test/radix/terp.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2024-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2024-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -858,4 +858,4 @@ static int TERP_run(SCRIPT_INFO *script_info, TERP_CONFIG *cfg)
}
#define SCRIPT(name) (&script_info_##name)
-#define USE(name) SCRIPT(name),
+#define USE(name) SCRIPT(name)
diff --git a/crypto/openssl/test/recipes/70-test_tls13ticket.t b/crypto/openssl/test/recipes/70-test_tls13ticket.t
new file mode 100644
index 00000000000..0fb782bd0d8
--- /dev/null
+++ b/crypto/openssl/test/recipes/70-test_tls13ticket.t
@@ -0,0 +1,26 @@
+#! /usr/bin/env perl
+# Copyright 2026 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the Apache License 2.0 (the "License"). You may not use
+# this file except in compliance with the License. You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+
+use OpenSSL::Test::Simple;
+use OpenSSL::Test qw/:DEFAULT srctop_file/;
+use OpenSSL::Test::Utils qw(disabled);
+
+setup("test_tls13ticket");
+
+plan skip_all => "needs TLSv1.3 enabled"
+ if disabled("tls1_3");
+
+plan skip_all => "needs ECX enabled"
+ if disabled("ecx");
+
+
+plan tests => 1;
+
+ok(run(test(["tls13ticket_test", srctop_file("apps", "server.pem"),
+ srctop_file("apps", "server.pem")])),
+ "running tls13ticket_test");
diff --git a/crypto/openssl/test/recipes/80-test_cms.t b/crypto/openssl/test/recipes/80-test_cms.t
index d3adf2d1af7..ab86ef4bf2f 100644
--- a/crypto/openssl/test/recipes/80-test_cms.t
+++ b/crypto/openssl/test/recipes/80-test_cms.t
@@ -53,7 +53,7 @@ my ($no_des, $no_dh, $no_dsa, $no_ec, $no_ec2m, $no_rc2, $no_zlib)
$no_rc2 = 1 if disabled("legacy");
-plan tests => 34;
+plan tests => 36;
ok(run(test(["pkcs7_test"])), "test pkcs7");
@@ -1247,6 +1247,23 @@ subtest "CMS code signing test" => sub {
"fail verify CMS signature with code signing certificate for purpose smime_sign");
};
+# Regression test for PKCS7_verify() ownership handling when
+# digestAlgorithms is an empty SET.
+# The malformed structure must fail cleanly without crashing or
+# triggering use-after-free behaviour.
+with({ exit_checker => sub { return shift == 4; } },
+ sub {
+ ok(run(app([
+ 'openssl', 'smime',
+ '-verify',
+ '-noverify',
+ '-in',
+ srctop_file('test', 'smime-eml',
+ 'pkcs7-empty-digest-set.eml'),
+ ])),
+ "Check empty digestAlgorithms SET is handled safely");
+ });
+
# Test case for missing MD algorithm (must not segfault)
with({ exit_checker => sub { return shift == 4; } },
@@ -1533,3 +1550,22 @@ subtest "SLH-DSA tests for CMS" => sub {
"accept CMS verify with SLH-DSA-SHAKE-256s");
}
};
+
+# Regression test for NULL dereference in PWRI decrypt path
+# when optional keyDerivationAlgorithm is omitted.
+subtest "PWRI missing keyDerivationAlgorithm regression" => sub {
+ plan tests => 1;
+
+ with({ exit_checker => sub { return shift == 4; } }, sub {
+ ok(run(app([
+ "openssl", "cms", @prov,
+ "-decrypt",
+ "-inform", "DER",
+ "-in",
+ srctop_file('test', 'cms-msg', 'missing-kdf.der'),
+ "-out", "pwri-out.txt",
+ "-pwri_password", "secret"])),
+ "missing keyDerivationAlgorithm is rejected");
+ });
+};
+
diff --git a/crypto/openssl/test/siphash_internal_test.c b/crypto/openssl/test/siphash_internal_test.c
index 8a97bd700e8..954a014f0db 100644
--- a/crypto/openssl/test/siphash_internal_test.c
+++ b/crypto/openssl/test/siphash_internal_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -36,1798 +36,134 @@ typedef struct {
/* From C reference: https://131002.net/siphash/ */
static TESTDATA tests[] = {
- { 0, { 8, {
- 0x31,
- 0x0e,
- 0x0e,
- 0xdd,
- 0x47,
- 0xdb,
- 0x6f,
- 0x72,
- } } },
- { 1, { 8, {
- 0xfd,
- 0x67,
- 0xdc,
- 0x93,
- 0xc5,
- 0x39,
- 0xf8,
- 0x74,
- } } },
- { 2, { 8, {
- 0x5a,
- 0x4f,
- 0xa9,
- 0xd9,
- 0x09,
- 0x80,
- 0x6c,
- 0x0d,
- } } },
- { 3, { 8, {
- 0x2d,
- 0x7e,
- 0xfb,
- 0xd7,
- 0x96,
- 0x66,
- 0x67,
- 0x85,
- } } },
- { 4, { 8, {
- 0xb7,
- 0x87,
- 0x71,
- 0x27,
- 0xe0,
- 0x94,
- 0x27,
- 0xcf,
- } } },
- { 5, { 8, {
- 0x8d,
- 0xa6,
- 0x99,
- 0xcd,
- 0x64,
- 0x55,
- 0x76,
- 0x18,
- } } },
- { 6, { 8, {
- 0xce,
- 0xe3,
- 0xfe,
- 0x58,
- 0x6e,
- 0x46,
- 0xc9,
- 0xcb,
- } } },
- { 7, { 8, {
- 0x37,
- 0xd1,
- 0x01,
- 0x8b,
- 0xf5,
- 0x00,
- 0x02,
- 0xab,
- } } },
- { 8, { 8, {
- 0x62,
- 0x24,
- 0x93,
- 0x9a,
- 0x79,
- 0xf5,
- 0xf5,
- 0x93,
- } } },
- { 9, { 8, {
- 0xb0,
- 0xe4,
- 0xa9,
- 0x0b,
- 0xdf,
- 0x82,
- 0x00,
- 0x9e,
- } } },
- { 10, { 8, {
- 0xf3,
- 0xb9,
- 0xdd,
- 0x94,
- 0xc5,
- 0xbb,
- 0x5d,
- 0x7a,
- } } },
- { 11, { 8, {
- 0xa7,
- 0xad,
- 0x6b,
- 0x22,
- 0x46,
- 0x2f,
- 0xb3,
- 0xf4,
- } } },
- { 12, { 8, {
- 0xfb,
- 0xe5,
- 0x0e,
- 0x86,
- 0xbc,
- 0x8f,
- 0x1e,
- 0x75,
- } } },
- { 13, { 8, {
- 0x90,
- 0x3d,
- 0x84,
- 0xc0,
- 0x27,
- 0x56,
- 0xea,
- 0x14,
- } } },
- { 14, { 8, {
- 0xee,
- 0xf2,
- 0x7a,
- 0x8e,
- 0x90,
- 0xca,
- 0x23,
- 0xf7,
- } } },
- { 15, { 8, {
- 0xe5,
- 0x45,
- 0xbe,
- 0x49,
- 0x61,
- 0xca,
- 0x29,
- 0xa1,
- } } },
- { 16, { 8, {
- 0xdb,
- 0x9b,
- 0xc2,
- 0x57,
- 0x7f,
- 0xcc,
- 0x2a,
- 0x3f,
- } } },
- { 17, { 8, {
- 0x94,
- 0x47,
- 0xbe,
- 0x2c,
- 0xf5,
- 0xe9,
- 0x9a,
- 0x69,
- } } },
- { 18, { 8, {
- 0x9c,
- 0xd3,
- 0x8d,
- 0x96,
- 0xf0,
- 0xb3,
- 0xc1,
- 0x4b,
- } } },
- { 19, { 8, {
- 0xbd,
- 0x61,
- 0x79,
- 0xa7,
- 0x1d,
- 0xc9,
- 0x6d,
- 0xbb,
- } } },
- { 20, { 8, {
- 0x98,
- 0xee,
- 0xa2,
- 0x1a,
- 0xf2,
- 0x5c,
- 0xd6,
- 0xbe,
- } } },
- { 21, { 8, {
- 0xc7,
- 0x67,
- 0x3b,
- 0x2e,
- 0xb0,
- 0xcb,
- 0xf2,
- 0xd0,
- } } },
- { 22, { 8, {
- 0x88,
- 0x3e,
- 0xa3,
- 0xe3,
- 0x95,
- 0x67,
- 0x53,
- 0x93,
- } } },
- { 23, { 8, {
- 0xc8,
- 0xce,
- 0x5c,
- 0xcd,
- 0x8c,
- 0x03,
- 0x0c,
- 0xa8,
- } } },
- { 24, { 8, {
- 0x94,
- 0xaf,
- 0x49,
- 0xf6,
- 0xc6,
- 0x50,
- 0xad,
- 0xb8,
- } } },
- { 25, { 8, {
- 0xea,
- 0xb8,
- 0x85,
- 0x8a,
- 0xde,
- 0x92,
- 0xe1,
- 0xbc,
- } } },
- { 26, { 8, {
- 0xf3,
- 0x15,
- 0xbb,
- 0x5b,
- 0xb8,
- 0x35,
- 0xd8,
- 0x17,
- } } },
- { 27, { 8, {
- 0xad,
- 0xcf,
- 0x6b,
- 0x07,
- 0x63,
- 0x61,
- 0x2e,
- 0x2f,
- } } },
- { 28, { 8, {
- 0xa5,
- 0xc9,
- 0x1d,
- 0xa7,
- 0xac,
- 0xaa,
- 0x4d,
- 0xde,
- } } },
- { 29, { 8, {
- 0x71,
- 0x65,
- 0x95,
- 0x87,
- 0x66,
- 0x50,
- 0xa2,
- 0xa6,
- } } },
- { 30, { 8, {
- 0x28,
- 0xef,
- 0x49,
- 0x5c,
- 0x53,
- 0xa3,
- 0x87,
- 0xad,
- } } },
- { 31, { 8, {
- 0x42,
- 0xc3,
- 0x41,
- 0xd8,
- 0xfa,
- 0x92,
- 0xd8,
- 0x32,
- } } },
- { 32, { 8, {
- 0xce,
- 0x7c,
- 0xf2,
- 0x72,
- 0x2f,
- 0x51,
- 0x27,
- 0x71,
- } } },
- { 33, { 8, {
- 0xe3,
- 0x78,
- 0x59,
- 0xf9,
- 0x46,
- 0x23,
- 0xf3,
- 0xa7,
- } } },
- { 34, { 8, {
- 0x38,
- 0x12,
- 0x05,
- 0xbb,
- 0x1a,
- 0xb0,
- 0xe0,
- 0x12,
- } } },
- { 35, { 8, {
- 0xae,
- 0x97,
- 0xa1,
- 0x0f,
- 0xd4,
- 0x34,
- 0xe0,
- 0x15,
- } } },
- { 36, { 8, {
- 0xb4,
- 0xa3,
- 0x15,
- 0x08,
- 0xbe,
- 0xff,
- 0x4d,
- 0x31,
- } } },
- { 37, { 8, {
- 0x81,
- 0x39,
- 0x62,
- 0x29,
- 0xf0,
- 0x90,
- 0x79,
- 0x02,
- } } },
- { 38, { 8, {
- 0x4d,
- 0x0c,
- 0xf4,
- 0x9e,
- 0xe5,
- 0xd4,
- 0xdc,
- 0xca,
- } } },
- { 39, { 8, {
- 0x5c,
- 0x73,
- 0x33,
- 0x6a,
- 0x76,
- 0xd8,
- 0xbf,
- 0x9a,
- } } },
- { 40, { 8, {
- 0xd0,
- 0xa7,
- 0x04,
- 0x53,
- 0x6b,
- 0xa9,
- 0x3e,
- 0x0e,
- } } },
- { 41, { 8, {
- 0x92,
- 0x59,
- 0x58,
- 0xfc,
- 0xd6,
- 0x42,
- 0x0c,
- 0xad,
- } } },
- { 42, { 8, {
- 0xa9,
- 0x15,
- 0xc2,
- 0x9b,
- 0xc8,
- 0x06,
- 0x73,
- 0x18,
- } } },
- { 43, { 8, {
- 0x95,
- 0x2b,
- 0x79,
- 0xf3,
- 0xbc,
- 0x0a,
- 0xa6,
- 0xd4,
- } } },
- { 44, { 8, {
- 0xf2,
- 0x1d,
- 0xf2,
- 0xe4,
- 0x1d,
- 0x45,
- 0x35,
- 0xf9,
- } } },
- { 45, { 8, {
- 0x87,
- 0x57,
- 0x75,
- 0x19,
- 0x04,
- 0x8f,
- 0x53,
- 0xa9,
- } } },
- { 46, { 8, {
- 0x10,
- 0xa5,
- 0x6c,
- 0xf5,
- 0xdf,
- 0xcd,
- 0x9a,
- 0xdb,
- } } },
- { 47, { 8, {
- 0xeb,
- 0x75,
- 0x09,
- 0x5c,
- 0xcd,
- 0x98,
- 0x6c,
- 0xd0,
- } } },
- { 48, { 8, {
- 0x51,
- 0xa9,
- 0xcb,
- 0x9e,
- 0xcb,
- 0xa3,
- 0x12,
- 0xe6,
- } } },
- { 49, { 8, {
- 0x96,
- 0xaf,
- 0xad,
- 0xfc,
- 0x2c,
- 0xe6,
- 0x66,
- 0xc7,
- } } },
- { 50, { 8, {
- 0x72,
- 0xfe,
- 0x52,
- 0x97,
- 0x5a,
- 0x43,
- 0x64,
- 0xee,
- } } },
- { 51, { 8, {
- 0x5a,
- 0x16,
- 0x45,
- 0xb2,
- 0x76,
- 0xd5,
- 0x92,
- 0xa1,
- } } },
- { 52, { 8, {
- 0xb2,
- 0x74,
- 0xcb,
- 0x8e,
- 0xbf,
- 0x87,
- 0x87,
- 0x0a,
- } } },
- { 53, { 8, {
- 0x6f,
- 0x9b,
- 0xb4,
- 0x20,
- 0x3d,
- 0xe7,
- 0xb3,
- 0x81,
- } } },
- { 54, { 8, {
- 0xea,
- 0xec,
- 0xb2,
- 0xa3,
- 0x0b,
- 0x22,
- 0xa8,
- 0x7f,
- } } },
- { 55, { 8, {
- 0x99,
- 0x24,
- 0xa4,
- 0x3c,
- 0xc1,
- 0x31,
- 0x57,
- 0x24,
- } } },
- { 56, { 8, {
- 0xbd,
- 0x83,
- 0x8d,
- 0x3a,
- 0xaf,
- 0xbf,
- 0x8d,
- 0xb7,
- } } },
- { 57, { 8, {
- 0x0b,
- 0x1a,
- 0x2a,
- 0x32,
- 0x65,
- 0xd5,
- 0x1a,
- 0xea,
- } } },
- { 58, { 8, {
- 0x13,
- 0x50,
- 0x79,
- 0xa3,
- 0x23,
- 0x1c,
- 0xe6,
- 0x60,
- } } },
- { 59, { 8, {
- 0x93,
- 0x2b,
- 0x28,
- 0x46,
- 0xe4,
- 0xd7,
- 0x06,
- 0x66,
- } } },
- { 60, { 8, {
- 0xe1,
- 0x91,
- 0x5f,
- 0x5c,
- 0xb1,
- 0xec,
- 0xa4,
- 0x6c,
- } } },
- { 61, { 8, {
- 0xf3,
- 0x25,
- 0x96,
- 0x5c,
- 0xa1,
- 0x6d,
- 0x62,
- 0x9f,
- } } },
- { 62, { 8, {
- 0x57,
- 0x5f,
- 0xf2,
- 0x8e,
- 0x60,
- 0x38,
- 0x1b,
- 0xe5,
- } } },
- { 63, { 8, {
- 0x72,
- 0x45,
- 0x06,
- 0xeb,
- 0x4c,
- 0x32,
- 0x8a,
- 0x95,
- } } },
- { 0, { 16, {
- 0xa3,
- 0x81,
- 0x7f,
- 0x04,
- 0xba,
- 0x25,
- 0xa8,
- 0xe6,
- 0x6d,
- 0xf6,
- 0x72,
- 0x14,
- 0xc7,
- 0x55,
- 0x02,
- 0x93,
- } } },
- { 1, { 16, {
- 0xda,
- 0x87,
- 0xc1,
- 0xd8,
- 0x6b,
- 0x99,
- 0xaf,
- 0x44,
- 0x34,
- 0x76,
- 0x59,
- 0x11,
- 0x9b,
- 0x22,
- 0xfc,
- 0x45,
- } } },
- { 2, { 16, {
- 0x81,
- 0x77,
- 0x22,
- 0x8d,
- 0xa4,
- 0xa4,
- 0x5d,
- 0xc7,
- 0xfc,
- 0xa3,
- 0x8b,
- 0xde,
- 0xf6,
- 0x0a,
- 0xff,
- 0xe4,
- } } },
- { 3, { 16, {
- 0x9c,
- 0x70,
- 0xb6,
- 0x0c,
- 0x52,
- 0x67,
- 0xa9,
- 0x4e,
- 0x5f,
- 0x33,
- 0xb6,
- 0xb0,
- 0x29,
- 0x85,
- 0xed,
- 0x51,
- } } },
- { 4, { 16, {
- 0xf8,
- 0x81,
- 0x64,
- 0xc1,
- 0x2d,
- 0x9c,
- 0x8f,
- 0xaf,
- 0x7d,
- 0x0f,
- 0x6e,
- 0x7c,
- 0x7b,
- 0xcd,
- 0x55,
- 0x79,
- } } },
- { 5, { 16, {
- 0x13,
- 0x68,
- 0x87,
- 0x59,
- 0x80,
- 0x77,
- 0x6f,
- 0x88,
- 0x54,
- 0x52,
- 0x7a,
- 0x07,
- 0x69,
- 0x0e,
- 0x96,
- 0x27,
- } } },
- { 6, { 16, {
- 0x14,
- 0xee,
- 0xca,
- 0x33,
- 0x8b,
- 0x20,
- 0x86,
- 0x13,
- 0x48,
- 0x5e,
- 0xa0,
- 0x30,
- 0x8f,
- 0xd7,
- 0xa1,
- 0x5e,
- } } },
- { 7, { 16, {
- 0xa1,
- 0xf1,
- 0xeb,
- 0xbe,
- 0xd8,
- 0xdb,
- 0xc1,
- 0x53,
- 0xc0,
- 0xb8,
- 0x4a,
- 0xa6,
- 0x1f,
- 0xf0,
- 0x82,
- 0x39,
- } } },
- { 8, { 16, {
- 0x3b,
- 0x62,
- 0xa9,
- 0xba,
- 0x62,
- 0x58,
- 0xf5,
- 0x61,
- 0x0f,
- 0x83,
- 0xe2,
- 0x64,
- 0xf3,
- 0x14,
- 0x97,
- 0xb4,
- } } },
- { 9, { 16, {
- 0x26,
- 0x44,
- 0x99,
- 0x06,
- 0x0a,
- 0xd9,
- 0xba,
- 0xab,
- 0xc4,
- 0x7f,
- 0x8b,
- 0x02,
- 0xbb,
- 0x6d,
- 0x71,
- 0xed,
- } } },
- { 10, { 16, {
- 0x00,
- 0x11,
- 0x0d,
- 0xc3,
- 0x78,
- 0x14,
- 0x69,
- 0x56,
- 0xc9,
- 0x54,
- 0x47,
- 0xd3,
- 0xf3,
- 0xd0,
- 0xfb,
- 0xba,
- } } },
- { 11, { 16, {
- 0x01,
- 0x51,
- 0xc5,
- 0x68,
- 0x38,
- 0x6b,
- 0x66,
- 0x77,
- 0xa2,
- 0xb4,
- 0xdc,
- 0x6f,
- 0x81,
- 0xe5,
- 0xdc,
- 0x18,
- } } },
- { 12, { 16, {
- 0xd6,
- 0x26,
- 0xb2,
- 0x66,
- 0x90,
- 0x5e,
- 0xf3,
- 0x58,
- 0x82,
- 0x63,
- 0x4d,
- 0xf6,
- 0x85,
- 0x32,
- 0xc1,
- 0x25,
- } } },
- { 13, { 16, {
- 0x98,
- 0x69,
- 0xe2,
- 0x47,
- 0xe9,
- 0xc0,
- 0x8b,
- 0x10,
- 0xd0,
- 0x29,
- 0x93,
- 0x4f,
- 0xc4,
- 0xb9,
- 0x52,
- 0xf7,
- } } },
- { 14, { 16, {
- 0x31,
- 0xfc,
- 0xef,
- 0xac,
- 0x66,
- 0xd7,
- 0xde,
- 0x9c,
- 0x7e,
- 0xc7,
- 0x48,
- 0x5f,
- 0xe4,
- 0x49,
- 0x49,
- 0x02,
- } } },
- { 15, { 16, {
- 0x54,
- 0x93,
- 0xe9,
- 0x99,
- 0x33,
- 0xb0,
- 0xa8,
- 0x11,
- 0x7e,
- 0x08,
- 0xec,
- 0x0f,
- 0x97,
- 0xcf,
- 0xc3,
- 0xd9,
- } } },
- { 16, { 16, {
- 0x6e,
- 0xe2,
- 0xa4,
- 0xca,
- 0x67,
- 0xb0,
- 0x54,
- 0xbb,
- 0xfd,
- 0x33,
- 0x15,
- 0xbf,
- 0x85,
- 0x23,
- 0x05,
- 0x77,
- } } },
- { 17, { 16, {
- 0x47,
- 0x3d,
- 0x06,
- 0xe8,
- 0x73,
- 0x8d,
- 0xb8,
- 0x98,
- 0x54,
- 0xc0,
- 0x66,
- 0xc4,
- 0x7a,
- 0xe4,
- 0x77,
- 0x40,
- } } },
- { 18, { 16, {
- 0xa4,
- 0x26,
- 0xe5,
- 0xe4,
- 0x23,
- 0xbf,
- 0x48,
- 0x85,
- 0x29,
- 0x4d,
- 0xa4,
- 0x81,
- 0xfe,
- 0xae,
- 0xf7,
- 0x23,
- } } },
- { 19, { 16, {
- 0x78,
- 0x01,
- 0x77,
- 0x31,
- 0xcf,
- 0x65,
- 0xfa,
- 0xb0,
- 0x74,
- 0xd5,
- 0x20,
- 0x89,
- 0x52,
- 0x51,
- 0x2e,
- 0xb1,
- } } },
- { 20, { 16, {
- 0x9e,
- 0x25,
- 0xfc,
- 0x83,
- 0x3f,
- 0x22,
- 0x90,
- 0x73,
- 0x3e,
- 0x93,
- 0x44,
- 0xa5,
- 0xe8,
- 0x38,
- 0x39,
- 0xeb,
- } } },
- { 21, { 16, {
- 0x56,
- 0x8e,
- 0x49,
- 0x5a,
- 0xbe,
- 0x52,
- 0x5a,
- 0x21,
- 0x8a,
- 0x22,
- 0x14,
- 0xcd,
- 0x3e,
- 0x07,
- 0x1d,
- 0x12,
- } } },
- { 22, { 16, {
- 0x4a,
- 0x29,
- 0xb5,
- 0x45,
- 0x52,
- 0xd1,
- 0x6b,
- 0x9a,
- 0x46,
- 0x9c,
- 0x10,
- 0x52,
- 0x8e,
- 0xff,
- 0x0a,
- 0xae,
- } } },
- { 23, { 16, {
- 0xc9,
- 0xd1,
- 0x84,
- 0xdd,
- 0xd5,
- 0xa9,
- 0xf5,
- 0xe0,
- 0xcf,
- 0x8c,
- 0xe2,
- 0x9a,
- 0x9a,
- 0xbf,
- 0x69,
- 0x1c,
- } } },
- { 24, { 16, {
- 0x2d,
- 0xb4,
- 0x79,
- 0xae,
- 0x78,
- 0xbd,
- 0x50,
- 0xd8,
- 0x88,
- 0x2a,
- 0x8a,
- 0x17,
- 0x8a,
- 0x61,
- 0x32,
- 0xad,
- } } },
- { 25, { 16, {
- 0x8e,
- 0xce,
- 0x5f,
- 0x04,
- 0x2d,
- 0x5e,
- 0x44,
- 0x7b,
- 0x50,
- 0x51,
- 0xb9,
- 0xea,
- 0xcb,
- 0x8d,
- 0x8f,
- 0x6f,
- } } },
- { 26, { 16, {
- 0x9c,
- 0x0b,
- 0x53,
- 0xb4,
- 0xb3,
- 0xc3,
- 0x07,
- 0xe8,
- 0x7e,
- 0xae,
- 0xe0,
- 0x86,
- 0x78,
- 0x14,
- 0x1f,
- 0x66,
- } } },
- { 27, { 16, {
- 0xab,
- 0xf2,
- 0x48,
- 0xaf,
- 0x69,
- 0xa6,
- 0xea,
- 0xe4,
- 0xbf,
- 0xd3,
- 0xeb,
- 0x2f,
- 0x12,
- 0x9e,
- 0xeb,
- 0x94,
- } } },
- { 28, { 16, {
- 0x06,
- 0x64,
- 0xda,
- 0x16,
- 0x68,
- 0x57,
- 0x4b,
- 0x88,
- 0xb9,
- 0x35,
- 0xf3,
- 0x02,
- 0x73,
- 0x58,
- 0xae,
- 0xf4,
- } } },
- { 29, { 16, {
- 0xaa,
- 0x4b,
- 0x9d,
- 0xc4,
- 0xbf,
- 0x33,
- 0x7d,
- 0xe9,
- 0x0c,
- 0xd4,
- 0xfd,
- 0x3c,
- 0x46,
- 0x7c,
- 0x6a,
- 0xb7,
- } } },
- { 30, { 16, {
- 0xea,
- 0x5c,
- 0x7f,
- 0x47,
- 0x1f,
- 0xaf,
- 0x6b,
- 0xde,
- 0x2b,
- 0x1a,
- 0xd7,
- 0xd4,
- 0x68,
- 0x6d,
- 0x22,
- 0x87,
- } } },
- { 31, { 16, {
- 0x29,
- 0x39,
- 0xb0,
- 0x18,
- 0x32,
- 0x23,
- 0xfa,
- 0xfc,
- 0x17,
- 0x23,
- 0xde,
- 0x4f,
- 0x52,
- 0xc4,
- 0x3d,
- 0x35,
- } } },
- { 32, { 16, {
- 0x7c,
- 0x39,
- 0x56,
- 0xca,
- 0x5e,
- 0xea,
- 0xfc,
- 0x3e,
- 0x36,
- 0x3e,
- 0x9d,
- 0x55,
- 0x65,
- 0x46,
- 0xeb,
- 0x68,
- } } },
- { 33, { 16, {
- 0x77,
- 0xc6,
- 0x07,
- 0x71,
- 0x46,
- 0xf0,
- 0x1c,
- 0x32,
- 0xb6,
- 0xb6,
- 0x9d,
- 0x5f,
- 0x4e,
- 0xa9,
- 0xff,
- 0xcf,
- } } },
- { 34, { 16, {
- 0x37,
- 0xa6,
- 0x98,
- 0x6c,
- 0xb8,
- 0x84,
- 0x7e,
- 0xdf,
- 0x09,
- 0x25,
- 0xf0,
- 0xf1,
- 0x30,
- 0x9b,
- 0x54,
- 0xde,
- } } },
- { 35, { 16, {
- 0xa7,
- 0x05,
- 0xf0,
- 0xe6,
- 0x9d,
- 0xa9,
- 0xa8,
- 0xf9,
- 0x07,
- 0x24,
- 0x1a,
- 0x2e,
- 0x92,
- 0x3c,
- 0x8c,
- 0xc8,
- } } },
- { 36, { 16, {
- 0x3d,
- 0xc4,
- 0x7d,
- 0x1f,
- 0x29,
- 0xc4,
- 0x48,
- 0x46,
- 0x1e,
- 0x9e,
- 0x76,
- 0xed,
- 0x90,
- 0x4f,
- 0x67,
- 0x11,
- } } },
- { 37, { 16, {
- 0x0d,
- 0x62,
- 0xbf,
- 0x01,
- 0xe6,
- 0xfc,
- 0x0e,
- 0x1a,
- 0x0d,
- 0x3c,
- 0x47,
- 0x51,
- 0xc5,
- 0xd3,
- 0x69,
- 0x2b,
- } } },
- { 38, { 16, {
- 0x8c,
- 0x03,
- 0x46,
- 0x8b,
- 0xca,
- 0x7c,
- 0x66,
- 0x9e,
- 0xe4,
- 0xfd,
- 0x5e,
- 0x08,
- 0x4b,
- 0xbe,
- 0xe7,
- 0xb5,
- } } },
- { 39, { 16, {
- 0x52,
- 0x8a,
- 0x5b,
- 0xb9,
- 0x3b,
- 0xaf,
- 0x2c,
- 0x9c,
- 0x44,
- 0x73,
- 0xcc,
- 0xe5,
- 0xd0,
- 0xd2,
- 0x2b,
- 0xd9,
- } } },
- { 40, { 16, {
- 0xdf,
- 0x6a,
- 0x30,
- 0x1e,
- 0x95,
- 0xc9,
- 0x5d,
- 0xad,
- 0x97,
- 0xae,
- 0x0c,
- 0xc8,
- 0xc6,
- 0x91,
- 0x3b,
- 0xd8,
- } } },
- { 41, { 16, {
- 0x80,
- 0x11,
- 0x89,
- 0x90,
- 0x2c,
- 0x85,
- 0x7f,
- 0x39,
- 0xe7,
- 0x35,
- 0x91,
- 0x28,
- 0x5e,
- 0x70,
- 0xb6,
- 0xdb,
- } } },
- { 42, { 16, {
- 0xe6,
- 0x17,
- 0x34,
- 0x6a,
- 0xc9,
- 0xc2,
- 0x31,
- 0xbb,
- 0x36,
- 0x50,
- 0xae,
- 0x34,
- 0xcc,
- 0xca,
- 0x0c,
- 0x5b,
- } } },
- { 43, { 16, {
- 0x27,
- 0xd9,
- 0x34,
- 0x37,
- 0xef,
- 0xb7,
- 0x21,
- 0xaa,
- 0x40,
- 0x18,
- 0x21,
- 0xdc,
- 0xec,
- 0x5a,
- 0xdf,
- 0x89,
- } } },
- { 44, { 16, {
- 0x89,
- 0x23,
- 0x7d,
- 0x9d,
- 0xed,
- 0x9c,
- 0x5e,
- 0x78,
- 0xd8,
- 0xb1,
- 0xc9,
- 0xb1,
- 0x66,
- 0xcc,
- 0x73,
- 0x42,
- } } },
- { 45, { 16, {
- 0x4a,
- 0x6d,
- 0x80,
- 0x91,
- 0xbf,
- 0x5e,
- 0x7d,
- 0x65,
- 0x11,
- 0x89,
- 0xfa,
- 0x94,
- 0xa2,
- 0x50,
- 0xb1,
- 0x4c,
- } } },
- { 46, { 16, {
- 0x0e,
- 0x33,
- 0xf9,
- 0x60,
- 0x55,
- 0xe7,
- 0xae,
- 0x89,
- 0x3f,
- 0xfc,
- 0x0e,
- 0x3d,
- 0xcf,
- 0x49,
- 0x29,
- 0x02,
- } } },
- { 47, { 16, {
- 0xe6,
- 0x1c,
- 0x43,
- 0x2b,
- 0x72,
- 0x0b,
- 0x19,
- 0xd1,
- 0x8e,
- 0xc8,
- 0xd8,
- 0x4b,
- 0xdc,
- 0x63,
- 0x15,
- 0x1b,
- } } },
- { 48, { 16, {
- 0xf7,
- 0xe5,
- 0xae,
- 0xf5,
- 0x49,
- 0xf7,
- 0x82,
- 0xcf,
- 0x37,
- 0x90,
- 0x55,
- 0xa6,
- 0x08,
- 0x26,
- 0x9b,
- 0x16,
- } } },
- { 49, { 16, {
- 0x43,
- 0x8d,
- 0x03,
- 0x0f,
- 0xd0,
- 0xb7,
- 0xa5,
- 0x4f,
- 0xa8,
- 0x37,
- 0xf2,
- 0xad,
- 0x20,
- 0x1a,
- 0x64,
- 0x03,
- } } },
- { 50, { 16, {
- 0xa5,
- 0x90,
- 0xd3,
- 0xee,
- 0x4f,
- 0xbf,
- 0x04,
- 0xe3,
- 0x24,
- 0x7e,
- 0x0d,
- 0x27,
- 0xf2,
- 0x86,
- 0x42,
- 0x3f,
- } } },
- { 51, { 16, {
- 0x5f,
- 0xe2,
- 0xc1,
- 0xa1,
- 0x72,
- 0xfe,
- 0x93,
- 0xc4,
- 0xb1,
- 0x5c,
- 0xd3,
- 0x7c,
- 0xae,
- 0xf9,
- 0xf5,
- 0x38,
- } } },
- { 52, { 16, {
- 0x2c,
- 0x97,
- 0x32,
- 0x5c,
- 0xbd,
- 0x06,
- 0xb3,
- 0x6e,
- 0xb2,
- 0x13,
- 0x3d,
- 0xd0,
- 0x8b,
- 0x3a,
- 0x01,
- 0x7c,
- } } },
- { 53, { 16, {
- 0x92,
- 0xc8,
- 0x14,
- 0x22,
- 0x7a,
- 0x6b,
- 0xca,
- 0x94,
- 0x9f,
- 0xf0,
- 0x65,
- 0x9f,
- 0x00,
- 0x2a,
- 0xd3,
- 0x9e,
- } } },
- { 54, { 16, {
- 0xdc,
- 0xe8,
- 0x50,
- 0x11,
- 0x0b,
- 0xd8,
- 0x32,
- 0x8c,
- 0xfb,
- 0xd5,
- 0x08,
- 0x41,
- 0xd6,
- 0x91,
- 0x1d,
- 0x87,
- } } },
- { 55, { 16, {
- 0x67,
- 0xf1,
- 0x49,
- 0x84,
- 0xc7,
- 0xda,
- 0x79,
- 0x12,
- 0x48,
- 0xe3,
- 0x2b,
- 0xb5,
- 0x92,
- 0x25,
- 0x83,
- 0xda,
- } } },
- { 56, { 16, {
- 0x19,
- 0x38,
- 0xf2,
- 0xcf,
- 0x72,
- 0xd5,
- 0x4e,
- 0xe9,
- 0x7e,
- 0x94,
- 0x16,
- 0x6f,
- 0xa9,
- 0x1d,
- 0x2a,
- 0x36,
- } } },
- { 57, { 16, {
- 0x74,
- 0x48,
- 0x1e,
- 0x96,
- 0x46,
- 0xed,
- 0x49,
- 0xfe,
- 0x0f,
- 0x62,
- 0x24,
- 0x30,
- 0x16,
- 0x04,
- 0x69,
- 0x8e,
- } } },
- { 58, { 16, {
- 0x57,
- 0xfc,
- 0xa5,
- 0xde,
- 0x98,
- 0xa9,
- 0xd6,
- 0xd8,
- 0x00,
- 0x64,
- 0x38,
- 0xd0,
- 0x58,
- 0x3d,
- 0x8a,
- 0x1d,
- } } },
- { 59, { 16, {
- 0x9f,
- 0xec,
- 0xde,
- 0x1c,
- 0xef,
- 0xdc,
- 0x1c,
- 0xbe,
- 0xd4,
- 0x76,
- 0x36,
- 0x74,
- 0xd9,
- 0x57,
- 0x53,
- 0x59,
- } } },
- { 60, { 16, {
- 0xe3,
- 0x04,
- 0x0c,
- 0x00,
- 0xeb,
- 0x28,
- 0xf1,
- 0x53,
- 0x66,
- 0xca,
- 0x73,
- 0xcb,
- 0xd8,
- 0x72,
- 0xe7,
- 0x40,
- } } },
- { 61, { 16, {
- 0x76,
- 0x97,
- 0x00,
- 0x9a,
- 0x6a,
- 0x83,
- 0x1d,
- 0xfe,
- 0xcc,
- 0xa9,
- 0x1c,
- 0x59,
- 0x93,
- 0x67,
- 0x0f,
- 0x7a,
- } } },
- { 62, { 16, {
- 0x58,
- 0x53,
- 0x54,
- 0x23,
- 0x21,
- 0xf5,
- 0x67,
- 0xa0,
- 0x05,
- 0xd5,
- 0x47,
- 0xa4,
- 0xf0,
- 0x47,
- 0x59,
- 0xbd,
- } } },
- { 63, { 16, {
- 0x51,
- 0x50,
- 0xd1,
- 0x77,
- 0x2f,
- 0x50,
- 0x83,
- 0x4a,
- 0x50,
- 0x3e,
- 0x06,
- 0x9a,
- 0x97,
- 0x3f,
- 0xbd,
- 0x7c,
- } } }
+ { 0, { 8, { 0x31, 0x0e, 0x0e, 0xdd, 0x47, 0xdb, 0x6f, 0x72 } } },
+ { 1, { 8, { 0xfd, 0x67, 0xdc, 0x93, 0xc5, 0x39, 0xf8, 0x74 } } },
+ { 2, { 8, { 0x5a, 0x4f, 0xa9, 0xd9, 0x09, 0x80, 0x6c, 0x0d } } },
+ { 3, { 8, { 0x2d, 0x7e, 0xfb, 0xd7, 0x96, 0x66, 0x67, 0x85 } } },
+ { 4, { 8, { 0xb7, 0x87, 0x71, 0x27, 0xe0, 0x94, 0x27, 0xcf } } },
+ { 5, { 8, { 0x8d, 0xa6, 0x99, 0xcd, 0x64, 0x55, 0x76, 0x18 } } },
+ { 6, { 8, { 0xce, 0xe3, 0xfe, 0x58, 0x6e, 0x46, 0xc9, 0xcb } } },
+ { 7, { 8, { 0x37, 0xd1, 0x01, 0x8b, 0xf5, 0x00, 0x02, 0xab } } },
+ { 8, { 8, { 0x62, 0x24, 0x93, 0x9a, 0x79, 0xf5, 0xf5, 0x93 } } },
+ { 9, { 8, { 0xb0, 0xe4, 0xa9, 0x0b, 0xdf, 0x82, 0x00, 0x9e } } },
+ { 10, { 8, { 0xf3, 0xb9, 0xdd, 0x94, 0xc5, 0xbb, 0x5d, 0x7a } } },
+ { 11, { 8, { 0xa7, 0xad, 0x6b, 0x22, 0x46, 0x2f, 0xb3, 0xf4 } } },
+ { 12, { 8, { 0xfb, 0xe5, 0x0e, 0x86, 0xbc, 0x8f, 0x1e, 0x75 } } },
+ { 13, { 8, { 0x90, 0x3d, 0x84, 0xc0, 0x27, 0x56, 0xea, 0x14 } } },
+ { 14, { 8, { 0xee, 0xf2, 0x7a, 0x8e, 0x90, 0xca, 0x23, 0xf7 } } },
+ { 15, { 8, { 0xe5, 0x45, 0xbe, 0x49, 0x61, 0xca, 0x29, 0xa1 } } },
+ { 16, { 8, { 0xdb, 0x9b, 0xc2, 0x57, 0x7f, 0xcc, 0x2a, 0x3f } } },
+ { 17, { 8, { 0x94, 0x47, 0xbe, 0x2c, 0xf5, 0xe9, 0x9a, 0x69 } } },
+ { 18, { 8, { 0x9c, 0xd3, 0x8d, 0x96, 0xf0, 0xb3, 0xc1, 0x4b } } },
+ { 19, { 8, { 0xbd, 0x61, 0x79, 0xa7, 0x1d, 0xc9, 0x6d, 0xbb } } },
+ { 20, { 8, { 0x98, 0xee, 0xa2, 0x1a, 0xf2, 0x5c, 0xd6, 0xbe } } },
+ { 21, { 8, { 0xc7, 0x67, 0x3b, 0x2e, 0xb0, 0xcb, 0xf2, 0xd0 } } },
+ { 22, { 8, { 0x88, 0x3e, 0xa3, 0xe3, 0x95, 0x67, 0x53, 0x93 } } },
+ { 23, { 8, { 0xc8, 0xce, 0x5c, 0xcd, 0x8c, 0x03, 0x0c, 0xa8 } } },
+ { 24, { 8, { 0x94, 0xaf, 0x49, 0xf6, 0xc6, 0x50, 0xad, 0xb8 } } },
+ { 25, { 8, { 0xea, 0xb8, 0x85, 0x8a, 0xde, 0x92, 0xe1, 0xbc } } },
+ { 26, { 8, { 0xf3, 0x15, 0xbb, 0x5b, 0xb8, 0x35, 0xd8, 0x17 } } },
+ { 27, { 8, { 0xad, 0xcf, 0x6b, 0x07, 0x63, 0x61, 0x2e, 0x2f } } },
+ { 28, { 8, { 0xa5, 0xc9, 0x1d, 0xa7, 0xac, 0xaa, 0x4d, 0xde } } },
+ { 29, { 8, { 0x71, 0x65, 0x95, 0x87, 0x66, 0x50, 0xa2, 0xa6 } } },
+ { 30, { 8, { 0x28, 0xef, 0x49, 0x5c, 0x53, 0xa3, 0x87, 0xad } } },
+ { 31, { 8, { 0x42, 0xc3, 0x41, 0xd8, 0xfa, 0x92, 0xd8, 0x32 } } },
+ { 32, { 8, { 0xce, 0x7c, 0xf2, 0x72, 0x2f, 0x51, 0x27, 0x71 } } },
+ { 33, { 8, { 0xe3, 0x78, 0x59, 0xf9, 0x46, 0x23, 0xf3, 0xa7 } } },
+ { 34, { 8, { 0x38, 0x12, 0x05, 0xbb, 0x1a, 0xb0, 0xe0, 0x12 } } },
+ { 35, { 8, { 0xae, 0x97, 0xa1, 0x0f, 0xd4, 0x34, 0xe0, 0x15 } } },
+ { 36, { 8, { 0xb4, 0xa3, 0x15, 0x08, 0xbe, 0xff, 0x4d, 0x31 } } },
+ { 37, { 8, { 0x81, 0x39, 0x62, 0x29, 0xf0, 0x90, 0x79, 0x02 } } },
+ { 38, { 8, { 0x4d, 0x0c, 0xf4, 0x9e, 0xe5, 0xd4, 0xdc, 0xca } } },
+ { 39, { 8, { 0x5c, 0x73, 0x33, 0x6a, 0x76, 0xd8, 0xbf, 0x9a } } },
+ { 40, { 8, { 0xd0, 0xa7, 0x04, 0x53, 0x6b, 0xa9, 0x3e, 0x0e } } },
+ { 41, { 8, { 0x92, 0x59, 0x58, 0xfc, 0xd6, 0x42, 0x0c, 0xad } } },
+ { 42, { 8, { 0xa9, 0x15, 0xc2, 0x9b, 0xc8, 0x06, 0x73, 0x18 } } },
+ { 43, { 8, { 0x95, 0x2b, 0x79, 0xf3, 0xbc, 0x0a, 0xa6, 0xd4 } } },
+ { 44, { 8, { 0xf2, 0x1d, 0xf2, 0xe4, 0x1d, 0x45, 0x35, 0xf9 } } },
+ { 45, { 8, { 0x87, 0x57, 0x75, 0x19, 0x04, 0x8f, 0x53, 0xa9 } } },
+ { 46, { 8, { 0x10, 0xa5, 0x6c, 0xf5, 0xdf, 0xcd, 0x9a, 0xdb } } },
+ { 47, { 8, { 0xeb, 0x75, 0x09, 0x5c, 0xcd, 0x98, 0x6c, 0xd0 } } },
+ { 48, { 8, { 0x51, 0xa9, 0xcb, 0x9e, 0xcb, 0xa3, 0x12, 0xe6 } } },
+ { 49, { 8, { 0x96, 0xaf, 0xad, 0xfc, 0x2c, 0xe6, 0x66, 0xc7 } } },
+ { 50, { 8, { 0x72, 0xfe, 0x52, 0x97, 0x5a, 0x43, 0x64, 0xee } } },
+ { 51, { 8, { 0x5a, 0x16, 0x45, 0xb2, 0x76, 0xd5, 0x92, 0xa1 } } },
+ { 52, { 8, { 0xb2, 0x74, 0xcb, 0x8e, 0xbf, 0x87, 0x87, 0x0a } } },
+ { 53, { 8, { 0x6f, 0x9b, 0xb4, 0x20, 0x3d, 0xe7, 0xb3, 0x81 } } },
+ { 54, { 8, { 0xea, 0xec, 0xb2, 0xa3, 0x0b, 0x22, 0xa8, 0x7f } } },
+ { 55, { 8, { 0x99, 0x24, 0xa4, 0x3c, 0xc1, 0x31, 0x57, 0x24 } } },
+ { 56, { 8, { 0xbd, 0x83, 0x8d, 0x3a, 0xaf, 0xbf, 0x8d, 0xb7 } } },
+ { 57, { 8, { 0x0b, 0x1a, 0x2a, 0x32, 0x65, 0xd5, 0x1a, 0xea } } },
+ { 58, { 8, { 0x13, 0x50, 0x79, 0xa3, 0x23, 0x1c, 0xe6, 0x60 } } },
+ { 59, { 8, { 0x93, 0x2b, 0x28, 0x46, 0xe4, 0xd7, 0x06, 0x66 } } },
+ { 60, { 8, { 0xe1, 0x91, 0x5f, 0x5c, 0xb1, 0xec, 0xa4, 0x6c } } },
+ { 61, { 8, { 0xf3, 0x25, 0x96, 0x5c, 0xa1, 0x6d, 0x62, 0x9f } } },
+ { 62, { 8, { 0x57, 0x5f, 0xf2, 0x8e, 0x60, 0x38, 0x1b, 0xe5 } } },
+ { 63, { 8, { 0x72, 0x45, 0x06, 0xeb, 0x4c, 0x32, 0x8a, 0x95 } } },
+ { 0, { 16, { 0xa3, 0x81, 0x7f, 0x04, 0xba, 0x25, 0xa8, 0xe6, 0x6d, 0xf6, 0x72, 0x14, 0xc7, 0x55, 0x02, 0x93 } } },
+ { 1, { 16, { 0xda, 0x87, 0xc1, 0xd8, 0x6b, 0x99, 0xaf, 0x44, 0x34, 0x76, 0x59, 0x11, 0x9b, 0x22, 0xfc, 0x45 } } },
+ { 2, { 16, { 0x81, 0x77, 0x22, 0x8d, 0xa4, 0xa4, 0x5d, 0xc7, 0xfc, 0xa3, 0x8b, 0xde, 0xf6, 0x0a, 0xff, 0xe4 } } },
+ { 3, { 16, { 0x9c, 0x70, 0xb6, 0x0c, 0x52, 0x67, 0xa9, 0x4e, 0x5f, 0x33, 0xb6, 0xb0, 0x29, 0x85, 0xed, 0x51 } } },
+ { 4, { 16, { 0xf8, 0x81, 0x64, 0xc1, 0x2d, 0x9c, 0x8f, 0xaf, 0x7d, 0x0f, 0x6e, 0x7c, 0x7b, 0xcd, 0x55, 0x79 } } },
+ { 5, { 16, { 0x13, 0x68, 0x87, 0x59, 0x80, 0x77, 0x6f, 0x88, 0x54, 0x52, 0x7a, 0x07, 0x69, 0x0e, 0x96, 0x27 } } },
+ { 6, { 16, { 0x14, 0xee, 0xca, 0x33, 0x8b, 0x20, 0x86, 0x13, 0x48, 0x5e, 0xa0, 0x30, 0x8f, 0xd7, 0xa1, 0x5e } } },
+ { 7, { 16, { 0xa1, 0xf1, 0xeb, 0xbe, 0xd8, 0xdb, 0xc1, 0x53, 0xc0, 0xb8, 0x4a, 0xa6, 0x1f, 0xf0, 0x82, 0x39 } } },
+ { 8, { 16, { 0x3b, 0x62, 0xa9, 0xba, 0x62, 0x58, 0xf5, 0x61, 0x0f, 0x83, 0xe2, 0x64, 0xf3, 0x14, 0x97, 0xb4 } } },
+ { 9, { 16, { 0x26, 0x44, 0x99, 0x06, 0x0a, 0xd9, 0xba, 0xab, 0xc4, 0x7f, 0x8b, 0x02, 0xbb, 0x6d, 0x71, 0xed } } },
+ { 10, { 16, { 0x00, 0x11, 0x0d, 0xc3, 0x78, 0x14, 0x69, 0x56, 0xc9, 0x54, 0x47, 0xd3, 0xf3, 0xd0, 0xfb, 0xba } } },
+ { 11, { 16, { 0x01, 0x51, 0xc5, 0x68, 0x38, 0x6b, 0x66, 0x77, 0xa2, 0xb4, 0xdc, 0x6f, 0x81, 0xe5, 0xdc, 0x18 } } },
+ { 12, { 16, { 0xd6, 0x26, 0xb2, 0x66, 0x90, 0x5e, 0xf3, 0x58, 0x82, 0x63, 0x4d, 0xf6, 0x85, 0x32, 0xc1, 0x25 } } },
+ { 13, { 16, { 0x98, 0x69, 0xe2, 0x47, 0xe9, 0xc0, 0x8b, 0x10, 0xd0, 0x29, 0x93, 0x4f, 0xc4, 0xb9, 0x52, 0xf7 } } },
+ { 14, { 16, { 0x31, 0xfc, 0xef, 0xac, 0x66, 0xd7, 0xde, 0x9c, 0x7e, 0xc7, 0x48, 0x5f, 0xe4, 0x49, 0x49, 0x02 } } },
+ { 15, { 16, { 0x54, 0x93, 0xe9, 0x99, 0x33, 0xb0, 0xa8, 0x11, 0x7e, 0x08, 0xec, 0x0f, 0x97, 0xcf, 0xc3, 0xd9 } } },
+ { 16, { 16, { 0x6e, 0xe2, 0xa4, 0xca, 0x67, 0xb0, 0x54, 0xbb, 0xfd, 0x33, 0x15, 0xbf, 0x85, 0x23, 0x05, 0x77 } } },
+ { 17, { 16, { 0x47, 0x3d, 0x06, 0xe8, 0x73, 0x8d, 0xb8, 0x98, 0x54, 0xc0, 0x66, 0xc4, 0x7a, 0xe4, 0x77, 0x40 } } },
+ { 18, { 16, { 0xa4, 0x26, 0xe5, 0xe4, 0x23, 0xbf, 0x48, 0x85, 0x29, 0x4d, 0xa4, 0x81, 0xfe, 0xae, 0xf7, 0x23 } } },
+ { 19, { 16, { 0x78, 0x01, 0x77, 0x31, 0xcf, 0x65, 0xfa, 0xb0, 0x74, 0xd5, 0x20, 0x89, 0x52, 0x51, 0x2e, 0xb1 } } },
+ { 20, { 16, { 0x9e, 0x25, 0xfc, 0x83, 0x3f, 0x22, 0x90, 0x73, 0x3e, 0x93, 0x44, 0xa5, 0xe8, 0x38, 0x39, 0xeb } } },
+ { 21, { 16, { 0x56, 0x8e, 0x49, 0x5a, 0xbe, 0x52, 0x5a, 0x21, 0x8a, 0x22, 0x14, 0xcd, 0x3e, 0x07, 0x1d, 0x12 } } },
+ { 22, { 16, { 0x4a, 0x29, 0xb5, 0x45, 0x52, 0xd1, 0x6b, 0x9a, 0x46, 0x9c, 0x10, 0x52, 0x8e, 0xff, 0x0a, 0xae } } },
+ { 23, { 16, { 0xc9, 0xd1, 0x84, 0xdd, 0xd5, 0xa9, 0xf5, 0xe0, 0xcf, 0x8c, 0xe2, 0x9a, 0x9a, 0xbf, 0x69, 0x1c } } },
+ { 24, { 16, { 0x2d, 0xb4, 0x79, 0xae, 0x78, 0xbd, 0x50, 0xd8, 0x88, 0x2a, 0x8a, 0x17, 0x8a, 0x61, 0x32, 0xad } } },
+ { 25, { 16, { 0x8e, 0xce, 0x5f, 0x04, 0x2d, 0x5e, 0x44, 0x7b, 0x50, 0x51, 0xb9, 0xea, 0xcb, 0x8d, 0x8f, 0x6f } } },
+ { 26, { 16, { 0x9c, 0x0b, 0x53, 0xb4, 0xb3, 0xc3, 0x07, 0xe8, 0x7e, 0xae, 0xe0, 0x86, 0x78, 0x14, 0x1f, 0x66 } } },
+ { 27, { 16, { 0xab, 0xf2, 0x48, 0xaf, 0x69, 0xa6, 0xea, 0xe4, 0xbf, 0xd3, 0xeb, 0x2f, 0x12, 0x9e, 0xeb, 0x94 } } },
+ { 28, { 16, { 0x06, 0x64, 0xda, 0x16, 0x68, 0x57, 0x4b, 0x88, 0xb9, 0x35, 0xf3, 0x02, 0x73, 0x58, 0xae, 0xf4 } } },
+ { 29, { 16, { 0xaa, 0x4b, 0x9d, 0xc4, 0xbf, 0x33, 0x7d, 0xe9, 0x0c, 0xd4, 0xfd, 0x3c, 0x46, 0x7c, 0x6a, 0xb7 } } },
+ { 30, { 16, { 0xea, 0x5c, 0x7f, 0x47, 0x1f, 0xaf, 0x6b, 0xde, 0x2b, 0x1a, 0xd7, 0xd4, 0x68, 0x6d, 0x22, 0x87 } } },
+ { 31, { 16, { 0x29, 0x39, 0xb0, 0x18, 0x32, 0x23, 0xfa, 0xfc, 0x17, 0x23, 0xde, 0x4f, 0x52, 0xc4, 0x3d, 0x35 } } },
+ { 32, { 16, { 0x7c, 0x39, 0x56, 0xca, 0x5e, 0xea, 0xfc, 0x3e, 0x36, 0x3e, 0x9d, 0x55, 0x65, 0x46, 0xeb, 0x68 } } },
+ { 33, { 16, { 0x77, 0xc6, 0x07, 0x71, 0x46, 0xf0, 0x1c, 0x32, 0xb6, 0xb6, 0x9d, 0x5f, 0x4e, 0xa9, 0xff, 0xcf } } },
+ { 34, { 16, { 0x37, 0xa6, 0x98, 0x6c, 0xb8, 0x84, 0x7e, 0xdf, 0x09, 0x25, 0xf0, 0xf1, 0x30, 0x9b, 0x54, 0xde } } },
+ { 35, { 16, { 0xa7, 0x05, 0xf0, 0xe6, 0x9d, 0xa9, 0xa8, 0xf9, 0x07, 0x24, 0x1a, 0x2e, 0x92, 0x3c, 0x8c, 0xc8 } } },
+ { 36, { 16, { 0x3d, 0xc4, 0x7d, 0x1f, 0x29, 0xc4, 0x48, 0x46, 0x1e, 0x9e, 0x76, 0xed, 0x90, 0x4f, 0x67, 0x11 } } },
+ { 37, { 16, { 0x0d, 0x62, 0xbf, 0x01, 0xe6, 0xfc, 0x0e, 0x1a, 0x0d, 0x3c, 0x47, 0x51, 0xc5, 0xd3, 0x69, 0x2b } } },
+ { 38, { 16, { 0x8c, 0x03, 0x46, 0x8b, 0xca, 0x7c, 0x66, 0x9e, 0xe4, 0xfd, 0x5e, 0x08, 0x4b, 0xbe, 0xe7, 0xb5 } } },
+ { 39, { 16, { 0x52, 0x8a, 0x5b, 0xb9, 0x3b, 0xaf, 0x2c, 0x9c, 0x44, 0x73, 0xcc, 0xe5, 0xd0, 0xd2, 0x2b, 0xd9 } } },
+ { 40, { 16, { 0xdf, 0x6a, 0x30, 0x1e, 0x95, 0xc9, 0x5d, 0xad, 0x97, 0xae, 0x0c, 0xc8, 0xc6, 0x91, 0x3b, 0xd8 } } },
+ { 41, { 16, { 0x80, 0x11, 0x89, 0x90, 0x2c, 0x85, 0x7f, 0x39, 0xe7, 0x35, 0x91, 0x28, 0x5e, 0x70, 0xb6, 0xdb } } },
+ { 42, { 16, { 0xe6, 0x17, 0x34, 0x6a, 0xc9, 0xc2, 0x31, 0xbb, 0x36, 0x50, 0xae, 0x34, 0xcc, 0xca, 0x0c, 0x5b } } },
+ { 43, { 16, { 0x27, 0xd9, 0x34, 0x37, 0xef, 0xb7, 0x21, 0xaa, 0x40, 0x18, 0x21, 0xdc, 0xec, 0x5a, 0xdf, 0x89 } } },
+ { 44, { 16, { 0x89, 0x23, 0x7d, 0x9d, 0xed, 0x9c, 0x5e, 0x78, 0xd8, 0xb1, 0xc9, 0xb1, 0x66, 0xcc, 0x73, 0x42 } } },
+ { 45, { 16, { 0x4a, 0x6d, 0x80, 0x91, 0xbf, 0x5e, 0x7d, 0x65, 0x11, 0x89, 0xfa, 0x94, 0xa2, 0x50, 0xb1, 0x4c } } },
+ { 46, { 16, { 0x0e, 0x33, 0xf9, 0x60, 0x55, 0xe7, 0xae, 0x89, 0x3f, 0xfc, 0x0e, 0x3d, 0xcf, 0x49, 0x29, 0x02 } } },
+ { 47, { 16, { 0xe6, 0x1c, 0x43, 0x2b, 0x72, 0x0b, 0x19, 0xd1, 0x8e, 0xc8, 0xd8, 0x4b, 0xdc, 0x63, 0x15, 0x1b } } },
+ { 48, { 16, { 0xf7, 0xe5, 0xae, 0xf5, 0x49, 0xf7, 0x82, 0xcf, 0x37, 0x90, 0x55, 0xa6, 0x08, 0x26, 0x9b, 0x16 } } },
+ { 49, { 16, { 0x43, 0x8d, 0x03, 0x0f, 0xd0, 0xb7, 0xa5, 0x4f, 0xa8, 0x37, 0xf2, 0xad, 0x20, 0x1a, 0x64, 0x03 } } },
+ { 50, { 16, { 0xa5, 0x90, 0xd3, 0xee, 0x4f, 0xbf, 0x04, 0xe3, 0x24, 0x7e, 0x0d, 0x27, 0xf2, 0x86, 0x42, 0x3f } } },
+ { 51, { 16, { 0x5f, 0xe2, 0xc1, 0xa1, 0x72, 0xfe, 0x93, 0xc4, 0xb1, 0x5c, 0xd3, 0x7c, 0xae, 0xf9, 0xf5, 0x38 } } },
+ { 52, { 16, { 0x2c, 0x97, 0x32, 0x5c, 0xbd, 0x06, 0xb3, 0x6e, 0xb2, 0x13, 0x3d, 0xd0, 0x8b, 0x3a, 0x01, 0x7c } } },
+ { 53, { 16, { 0x92, 0xc8, 0x14, 0x22, 0x7a, 0x6b, 0xca, 0x94, 0x9f, 0xf0, 0x65, 0x9f, 0x00, 0x2a, 0xd3, 0x9e } } },
+ { 54, { 16, { 0xdc, 0xe8, 0x50, 0x11, 0x0b, 0xd8, 0x32, 0x8c, 0xfb, 0xd5, 0x08, 0x41, 0xd6, 0x91, 0x1d, 0x87 } } },
+ { 55, { 16, { 0x67, 0xf1, 0x49, 0x84, 0xc7, 0xda, 0x79, 0x12, 0x48, 0xe3, 0x2b, 0xb5, 0x92, 0x25, 0x83, 0xda } } },
+ { 56, { 16, { 0x19, 0x38, 0xf2, 0xcf, 0x72, 0xd5, 0x4e, 0xe9, 0x7e, 0x94, 0x16, 0x6f, 0xa9, 0x1d, 0x2a, 0x36 } } },
+ { 57, { 16, { 0x74, 0x48, 0x1e, 0x96, 0x46, 0xed, 0x49, 0xfe, 0x0f, 0x62, 0x24, 0x30, 0x16, 0x04, 0x69, 0x8e } } },
+ { 58, { 16, { 0x57, 0xfc, 0xa5, 0xde, 0x98, 0xa9, 0xd6, 0xd8, 0x00, 0x64, 0x38, 0xd0, 0x58, 0x3d, 0x8a, 0x1d } } },
+ { 59, { 16, { 0x9f, 0xec, 0xde, 0x1c, 0xef, 0xdc, 0x1c, 0xbe, 0xd4, 0x76, 0x36, 0x74, 0xd9, 0x57, 0x53, 0x59 } } },
+ { 60, { 16, { 0xe3, 0x04, 0x0c, 0x00, 0xeb, 0x28, 0xf1, 0x53, 0x66, 0xca, 0x73, 0xcb, 0xd8, 0x72, 0xe7, 0x40 } } },
+ { 61, { 16, { 0x76, 0x97, 0x00, 0x9a, 0x6a, 0x83, 0x1d, 0xfe, 0xcc, 0xa9, 0x1c, 0x59, 0x93, 0x67, 0x0f, 0x7a } } },
+ { 62, { 16, { 0x58, 0x53, 0x54, 0x23, 0x21, 0xf5, 0x67, 0xa0, 0x05, 0xd5, 0x47, 0xa4, 0xf0, 0x47, 0x59, 0xbd } } },
+ { 63, { 16, { 0x51, 0x50, 0xd1, 0x77, 0x2f, 0x50, 0x83, 0x4a, 0x50, 0x3e, 0x06, 0x9a, 0x97, 0x3f, 0xbd, 0x7c } } }
};
static int test_siphash(int idx)
diff --git a/crypto/openssl/test/smime-eml/pkcs7-empty-digest-set.eml b/crypto/openssl/test/smime-eml/pkcs7-empty-digest-set.eml
new file mode 100644
index 00000000000..a6db2c38adf
--- /dev/null
+++ b/crypto/openssl/test/smime-eml/pkcs7-empty-digest-set.eml
@@ -0,0 +1,45 @@
+MIME-Version: 1.0
+Content-Type: multipart/signed; protocol="application/x-pkcs7-signature"; micalg="sha-256"; boundary="----E0314CC5D732C92AE2D7A3BACDCDCFCE"
+
+This is an S/MIME signed message
+
+------E0314CC5D732C92AE2D7A3BACDCDCFCE
+This is the content to be signed.
+
+------E0314CC5D732C92AE2D7A3BACDCDCFCE
+Content-Type: application/x-pkcs7-signature; name="smime.p7s"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment; filename="smime.p7s"
+
+MIIFWgYJKoZIhvcNAQcCoIIFSzCCBUcCAQExADALBgkqhkiG9w0BBwGgggLuMIIC
+6jCCAdKgAwIBAgIUL5E46FxyhsT7C3G1NS27OtR7XAowDQYJKoZIhvcNAQELBQAw
+FTETMBEGA1UEAwwKUG9DIFNpZ25lcjAeFw0yNjA1MDgxMDIwNDhaFw0yNzA1MDgx
+MDIwNDhaMBUxEzARBgNVBAMMClBvQyBTaWduZXIwggEiMA0GCSqGSIb3DQEBAQUA
+A4IBDwAwggEKAoIBAQDSSu/gupmIlclvmTMHiqOrCqmB8NRTjAMoI//MPJrnFXYp
+FjDPMk7Y/kCcHztudaIvADkowaFtOm4oMinQFhjwCNCo5K5WrrlAitnpcd5QH2nA
+iVZXjjohQUJEd7n33AGqTwo5EGaCK+alAZL7tA7bdhNi/aZ33L3bUNYqoHbXiNsE
+u1tj8frLfIjduOt0TMPSOrrFjjEsrL3T3tg+HmxpalDHz7E6o9zJu0wlk8bcR2Xk
+mpX8RdYCu7K9m39N1F2WKa9WJh24NQLpWRfwD213jaIFK2EXy/XHePDUeiMYtVOV
+oovCSmY7OqowupA7J+4dcsnRjFqgZECctHhAfk+PAgMBAAGjMjAwMB0GA1UdDgQW
+BBRZlupXNYq4fny0SE76sr/CdQ2DUTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3
+DQEBCwUAA4IBAQANOlttTWVz620JNTrPzhiR4x9+5UiF4GSqv8BRJQFj3Xh7fsUp
++3GDs9M27f4FVh3utJsjt7Sa9ZWLpBVdgjGBwGLAtPsoYMjhnUgZTUvwEk5+aXyv
+zJxn4I7mMbDhlNCMHcVtGdtA+2UOEuvdGfuEilpzPsV8DzM1K3xU5bSWoo0BRFKK
+srHkyEfxCFPAQOcX80ZbMO6zdcXeJjC6mQXGqy2aqeQob0vuSZJ7QHZBlRjY5YHR
+wWlIqG8G3Eist16iTqdX2PQFZT1/QAEQ/LnXARTUUjUroccdci8YNASoeHDpcjRL
+MBrN+QBNZVt5qLhDogwZb2ZwqKfZ8Aqg3oAkMYICPzCCAjsCAQEwLTAVMRMwEQYD
+VQQDDApQb0MgU2lnbmVyAhQvkTjoXHKGxPsLcbU1Lbs61HtcCjANBglghkgBZQME
+AgEFAKCB5DAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEP
+Fw0yNjA1MDgxMDIwNDhaMC8GCSqGSIb3DQEJBDEiBCAvyoHfycLqb8UzVPizy1uA
+o3h7tza3HebeiJaSnpIJHzB5BgkqhkiG9w0BCQ8xbDBqMAsGCWCGSAFlAwQBKjAL
+BglghkgBZQMEARYwCwYJYIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMC
+AgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDANBgkq
+hkiG9w0BAQEFAASCAQBIpl7U2j4YiU1vdZHyx2dCK41ZahtTVOB4RVJcrmopgans
+fICdkSTfb0dVqc13++bYn4i1b2R2os5YIkoGxdrM5aZB7KF9r1xwgrendTF4/BwP
+gQq2khNtKebv9Yr0kOPynFIsgx5BHk99wrzfwidJUFuJJgQ9W0YOf7EGkbnZvPT+
+hV0aeLmJAb5jjWhbDciqUjR3O23JQhzVj4U3vo2TeN7VYmNJsX+fA4sZzIbYSei9
+ps7GZruiRcKgqgUj1l8HjIGMHqd9lccchk/BYyAGxAbgGisntvfJdPZO09wG8rHh
+eS6FYkkXAKBO49WbhE9aVLJH0zgA6gTfyEvOOOS1
+
+------E0314CC5D732C92AE2D7A3BACDCDCFCE--
+
diff --git a/crypto/openssl/test/sslapitest.c b/crypto/openssl/test/sslapitest.c
index 078b1dcf2e7..0cdeb473cdf 100644
--- a/crypto/openssl/test/sslapitest.c
+++ b/crypto/openssl/test/sslapitest.c
@@ -1451,6 +1451,144 @@ static int execute_test_ktls_sendfile(int tls_version, const char *cipher,
return testresult;
}
+#ifndef OSSL_NO_USABLE_TLS1_3
+/*
+ * Test kTLS with SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER: retry SSL_write() after
+ * SSL_ERROR_WANT_WRITE using a different buffer pointer (same content) and
+ * verify that the data arrives intact.
+ */
+static int test_ktls_moving_write_buffer(void)
+{
+ SSL_CTX *cctx = NULL, *sctx = NULL;
+ SSL *clientssl = NULL, *serverssl = NULL;
+ BIO *bio_retry = NULL, *bio_orig = NULL;
+ int testresult = 0, cfd = -1, sfd = -1;
+ unsigned char *buf_orig = NULL, *buf_retry = NULL;
+ unsigned char outbuf[1024];
+ const size_t bufsz = sizeof(outbuf);
+ size_t written, readbytes, totread = 0, i;
+
+ /* kTLS requires real sockets */
+ if (!TEST_true(create_test_sockets(&cfd, &sfd, SOCK_STREAM, NULL)))
+ goto end;
+
+ /* Skip if the kernel does not support kTLS */
+ if (!ktls_chk_platform(cfd)) {
+ testresult = TEST_skip("Kernel does not support KTLS");
+ goto end;
+ }
+
+ if (!TEST_true(create_ssl_ctx_pair(libctx,
+ TLS_server_method(), TLS_client_method(),
+ TLS1_3_VERSION, TLS1_3_VERSION,
+ &sctx, &cctx, cert, privkey)))
+ goto end;
+
+ if (!TEST_true(SSL_CTX_set_ciphersuites(cctx, "TLS_AES_128_GCM_SHA256"))
+ || !TEST_true(SSL_CTX_set_ciphersuites(sctx, "TLS_AES_128_GCM_SHA256")))
+ goto end;
+
+ if (!TEST_true(create_ssl_objects2(sctx, cctx, &serverssl,
+ &clientssl, sfd, cfd)))
+ goto end;
+
+ /* Enable kTLS on the writing side (client) */
+ if (!TEST_true(SSL_set_options(clientssl, SSL_OP_ENABLE_KTLS)))
+ goto end;
+
+ SSL_set_mode(clientssl, SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER);
+ SSL_set_mode(clientssl, SSL_MODE_ENABLE_PARTIAL_WRITE);
+
+ if (!TEST_true(create_ssl_connection(serverssl, clientssl, SSL_ERROR_NONE)))
+ goto end;
+
+ /* Get a reference to the original BIO to replace it later. */
+ bio_orig = SSL_get_wbio(clientssl);
+ if (!TEST_ptr(bio_orig) || !TEST_true(BIO_up_ref(bio_orig))) {
+ bio_orig = NULL;
+ goto end;
+ }
+
+ /* Skip if kTLS TX was not activated for this cipher */
+ if (!BIO_get_ktls_send(bio_orig)) {
+ testresult = TEST_skip("kTLS send not supported");
+ goto end;
+ }
+
+ /* Swap write BIO to force WANT_WRITE */
+ bio_retry = BIO_new(bio_s_always_retry());
+ if (!TEST_ptr(bio_retry))
+ goto end;
+
+ SSL_set0_wbio(clientssl, bio_retry);
+ bio_retry = NULL; /* ownership transferred to clientssl */
+
+ /* Allocate two buffers with identical content but different addresses */
+ buf_orig = OPENSSL_malloc(bufsz);
+ buf_retry = OPENSSL_malloc(bufsz);
+ if (!TEST_ptr(buf_orig) || !TEST_ptr(buf_retry))
+ goto end;
+
+ for (i = 0; i < bufsz; i++)
+ buf_orig[i] = buf_retry[i] = (unsigned char)(i & 0xff);
+
+ /* First write attempt - will fail with WANT_WRITE */
+ if (!TEST_false(SSL_write_ex(clientssl, buf_orig, bufsz, &written))
+ || !TEST_int_eq(SSL_get_error(clientssl, 0), SSL_ERROR_WANT_WRITE))
+ goto end;
+
+ /* Restore the real socket BIO so the retry can actually send data */
+ SSL_set0_wbio(clientssl, bio_orig);
+ bio_orig = NULL;
+
+ /* Poison and free the original buffer */
+ memset(buf_orig, 0xDE, bufsz);
+ OPENSSL_free(buf_orig);
+ buf_orig = NULL;
+
+ /* Retry with a different buffer pointer */
+ if (!TEST_true(SSL_write_ex(clientssl, buf_retry, bufsz, &written)))
+ goto end;
+
+ /* Read the data on the server side */
+ totread = 0;
+ while (totread < bufsz) {
+ if (!SSL_read_ex(serverssl, outbuf + totread, bufsz - totread,
+ &readbytes)) {
+ if (!TEST_int_eq(SSL_get_error(serverssl, 0), SSL_ERROR_WANT_READ))
+ goto end;
+ } else {
+ totread += readbytes;
+ }
+ }
+
+ /* Verify data integrity */
+ if (!TEST_mem_eq(buf_retry, bufsz, outbuf, totread))
+ goto end;
+
+ testresult = 1;
+end:
+ OPENSSL_free(buf_orig);
+ OPENSSL_free(buf_retry);
+ if (clientssl != NULL) {
+ SSL_shutdown(clientssl);
+ SSL_free(clientssl);
+ }
+ if (serverssl != NULL) {
+ SSL_shutdown(serverssl);
+ SSL_free(serverssl);
+ }
+ SSL_CTX_free(sctx);
+ SSL_CTX_free(cctx);
+ BIO_free_all(bio_orig);
+ if (cfd != -1)
+ close(cfd);
+ if (sfd != -1)
+ close(sfd);
+ return testresult;
+}
+#endif /* !defined(OSSL_NO_USABLE_TLS1_3) */
+
static struct ktls_test_cipher {
int tls_version;
const char *cipher;
@@ -3138,6 +3276,52 @@ static int test_ssl_bio_change_wbio(void)
return execute_test_ssl_bio(0, CHANGE_WBIO);
}
+/*
+ * Regression for GH #30458: tls_set1_bio() must BIO_free_all the old chain
+ * when the write BIO is replaced, not only the top BIO.
+ */
+static int test_ssl_set_wbio_chain_no_leak(void)
+{
+ SSL_CTX *ctx = NULL;
+ SSL *ssl = NULL;
+ BIO *bio = NULL, *filter = NULL, *chain1 = NULL;
+ int testresult = 0;
+
+ if (!TEST_ptr(ctx = SSL_CTX_new_ex(libctx, NULL, TLS_method())))
+ goto end;
+ if (!TEST_ptr(ssl = SSL_new(ctx)))
+ goto end;
+
+ if (!TEST_ptr(filter = BIO_new(BIO_f_nbio_test())))
+ goto end;
+ if (!TEST_ptr(bio = BIO_new(BIO_s_mem()))) {
+ BIO_free(filter);
+ filter = NULL;
+ goto end;
+ }
+ if (!TEST_ptr(chain1 = BIO_push(filter, bio))) {
+ BIO_free_all(filter);
+ filter = bio = NULL;
+ goto end;
+ }
+ filter = bio = NULL;
+
+ SSL_set0_wbio(ssl, chain1);
+ chain1 = NULL;
+ SSL_set0_wbio(ssl, NULL);
+
+ testresult = 1;
+
+end:
+ BIO_free(filter);
+ BIO_free(bio);
+ BIO_free(chain1);
+ SSL_free(ssl);
+ SSL_CTX_free(ctx);
+
+ return testresult;
+}
+
#if !defined(OPENSSL_NO_TLS1_2) || defined(OSSL_NO_USABLE_TLS1_3)
typedef struct {
/* The list of sig algs */
@@ -8783,6 +8967,106 @@ static int test_ticket_callbacks(int tst)
return testresult;
}
+/*
+ * Callback that always returns ABORT for successfully decrypted tickets.
+ * Used by test_ticket_abort_session_leak to exercise the error path in
+ * tls_parse_ctos_psk() that previously leaked the SSL_SESSION.
+ */
+static SSL_TICKET_RETURN dec_tick_abort_cb(SSL *s, SSL_SESSION *ss,
+ const unsigned char *keyname,
+ size_t keyname_length,
+ SSL_TICKET_STATUS status,
+ void *arg)
+{
+ if (status == SSL_TICKET_SUCCESS || status == SSL_TICKET_SUCCESS_RENEW)
+ return SSL_TICKET_RETURN_ABORT;
+
+ return SSL_TICKET_RETURN_IGNORE_RENEW;
+}
+
+/*
+ * Test that returning SSL_TICKET_RETURN_ABORT from the decrypt ticket callback
+ * during TLS 1.3 resumption does not leak the SSL_SESSION allocated by
+ * tls_decrypt_ticket(). Before the fix, tls_parse_ctos_psk() would execute a
+ * bare "return 0" instead of "goto err", bypassing SSL_SESSION_free(sess).
+ * When run under LeakSanitizer the leaked session will be reported.
+ */
+static int test_ticket_abort_session_leak(void)
+{
+ SSL_CTX *cctx = NULL, *sctx = NULL;
+ SSL *clientssl = NULL, *serverssl = NULL;
+ SSL_SESSION *clntsess = NULL;
+ int testresult = 0;
+
+#ifdef OSSL_NO_USABLE_TLS1_3
+ return 1;
+#endif
+
+ if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(),
+ TLS_client_method(),
+ TLS1_3_VERSION, TLS1_3_VERSION,
+ &sctx, &cctx, cert, privkey)))
+ goto end;
+
+ if (!TEST_true(SSL_CTX_set_session_cache_mode(sctx, SSL_SESS_CACHE_OFF)))
+ goto end;
+
+ /* First handshake: use the normal gen/dec callbacks to get a ticket */
+ if (!TEST_true(SSL_CTX_set_session_ticket_cb(sctx, gen_tick_cb, dec_tick_cb,
+ NULL)))
+ goto end;
+
+ gen_tick_called = dec_tick_called = tick_key_cb_called = 0;
+ tick_dec_ret = SSL_TICKET_RETURN_USE_RENEW;
+
+ if (!TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl,
+ NULL, NULL))
+ || !TEST_true(create_ssl_connection(serverssl, clientssl,
+ SSL_ERROR_NONE)))
+ goto end;
+
+ clntsess = SSL_get1_session(clientssl);
+ if (!TEST_ptr(clntsess))
+ goto end;
+
+ SSL_shutdown(clientssl);
+ SSL_shutdown(serverssl);
+ SSL_free(serverssl);
+ SSL_free(clientssl);
+ serverssl = clientssl = NULL;
+
+ /*
+ * Second handshake (resumption): switch to the abort callback.
+ * The server will decrypt the ticket, allocate an SSL_SESSION, then the
+ * callback returns ABORT. The handshake must fail, and the session
+ * allocated inside tls_decrypt_ticket() must be freed (not leaked).
+ */
+ if (!TEST_true(SSL_CTX_set_session_ticket_cb(sctx, gen_tick_cb,
+ dec_tick_abort_cb, NULL)))
+ goto end;
+
+ if (!TEST_true(create_ssl_objects(sctx, cctx, &serverssl, &clientssl,
+ NULL, NULL))
+ || !TEST_true(SSL_set_session(clientssl, clntsess)))
+ goto end;
+
+ /* Resumption should fail because the callback aborts */
+ if (!TEST_false(create_ssl_connection(serverssl, clientssl,
+ SSL_ERROR_SSL)))
+ goto end;
+
+ testresult = 1;
+
+end:
+ SSL_SESSION_free(clntsess);
+ SSL_free(serverssl);
+ SSL_free(clientssl);
+ SSL_CTX_free(sctx);
+ SSL_CTX_free(cctx);
+
+ return testresult;
+}
+
/*
* Test incorrect shutdown.
* Test 0: client does not shutdown properly,
@@ -9146,6 +9430,17 @@ static int cert_cb(SSL *s, void *arg)
int rv;
chain = sk_X509_new_null();
+#ifndef OPENSSL_NO_ML_DSA
+ if (SSL_version(s) >= TLS1_3_VERSION
+ && fips_provider_version_ge(libctx, 3, 5, 0)) {
+ if (!TEST_ptr(chain)
+ || !TEST_true(load_chain("root-ml-dsa-44-cert.pem", NULL, NULL, chain))
+ || !TEST_true(load_chain("server-ml-dsa-44-cert.pem", NULL, &x509, NULL))
+ || !TEST_true(load_chain("server-ml-dsa-44-key.pem", &pkey, NULL, NULL)))
+ goto out;
+ goto check;
+ }
+#endif
if (!TEST_ptr(chain)
|| !TEST_true(load_chain("ca-cert.pem", NULL, NULL, chain))
|| !TEST_true(load_chain("root-cert.pem", NULL, NULL, chain))
@@ -9154,6 +9449,10 @@ static int cert_cb(SSL *s, void *arg)
|| !TEST_true(load_chain("p256-ee-rsa-ca-key.pem", &pkey,
NULL, NULL)))
goto out;
+
+#ifndef OPENSSL_NO_ML_DSA
+ check:
+#endif
rv = SSL_check_chain(s, x509, pkey, chain);
/*
* If the cert doesn't show as valid here (e.g., because we don't
@@ -9196,7 +9495,7 @@ static int test_cert_cb_int(int prot, int tst)
int testresult = 0, ret;
#ifdef OPENSSL_NO_EC
- /* We use an EC cert in these tests, so we skip in a no-ec build */
+ /* We use an EC cert in these tests with TLS 1.2 or absent ML-DSA */
if (tst >= 3)
return 1;
#endif
@@ -9227,21 +9526,34 @@ static int test_cert_cb_int(int prot, int tst)
NULL, NULL)))
goto end;
- if (tst == 4) {
+ if (tst == 3) {
+ if (!TEST_true(SSL_set1_sigalgs_list(clientssl,
+ "rsa_pss_rsae_sha256:rsa_pkcs1_sha256:"
+ "?ecdsa_secp256r1_sha256:?mldsa44"))
+ || !TEST_true(SSL_set1_sigalgs_list(serverssl,
+ "rsa_pss_rsae_sha256:rsa_pkcs1_sha256:"
+ "?ecdsa_secp256r1_sha256:?mldsa44")))
+ goto end;
+ } else if (tst == 4) {
/*
* We cause SSL_check_chain() to fail by specifying sig_algs that
- * the chain doesn't meet (the root uses an RSA cert)
+ * the chain doesn't meet (root either RSA or ML-DSA).
*/
if (!TEST_true(SSL_set1_sigalgs_list(clientssl,
- "ecdsa_secp256r1_sha256")))
+ "ecdsa_secp256r1_sha256"))
+ || !TEST_true(SSL_set1_sigalgs_list(serverssl,
+ "?ecdsa_secp256r1_sha256:?mldsa44")))
goto end;
} else if (tst == 5) {
/*
* We cause SSL_check_chain() to fail by specifying sig_algs that
- * the ee cert doesn't meet (the ee uses an ECDSA cert)
+ * the ee cert doesn't meet (the ee uses an ECDSA or ML-DSA cert)
*/
if (!TEST_true(SSL_set1_sigalgs_list(clientssl,
- "rsa_pss_rsae_sha256:rsa_pkcs1_sha256")))
+ "rsa_pss_rsae_sha256:rsa_pkcs1_sha256"))
+ || !TEST_true(SSL_set1_sigalgs_list(serverssl,
+ "rsa_pss_rsae_sha256:rsa_pkcs1_sha256:"
+ "?ecdsa_secp256r1_sha256:?mldsa44")))
goto end;
}
@@ -10595,11 +10907,13 @@ static int secret_cb(SSL *s, void *secretin, int *secret_len,
/*
* Test the session_secret_cb which is designed for use with EAP-FAST
*/
-static int test_session_secret_cb(void)
+static int test_session_secret_cb(int idx)
{
SSL_CTX *cctx = NULL, *sctx = NULL;
SSL *clientssl = NULL, *serverssl = NULL;
- SSL_SESSION *secret_sess = NULL;
+ SSL_SESSION *secret_sess = NULL, *server_sess = NULL;
+ unsigned int sess_len;
+ const unsigned char *sessid;
int testresult = 0;
if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(),
@@ -10633,12 +10947,20 @@ static int test_session_secret_cb(void)
NULL, NULL)))
goto end;
- /*
- * No session ids for EAP-FAST - otherwise the state machine gets very
- * confused.
- */
- if (!TEST_true(SSL_SESSION_set1_id(secret_sess, NULL, 0)))
- goto end;
+ if (idx == 0) {
+ /*
+ * Normal case: no session id
+ */
+ if (!TEST_true(SSL_SESSION_set1_id(secret_sess, NULL, 0)))
+ goto end;
+ } else {
+ /*
+ * Set an explicit session id. Normally we don't support this, but we
+ * can get away with it if we reset the session id later
+ */
+ if (!TEST_true(SSL_SESSION_set1_id(secret_sess, (unsigned char *)"sessionid", 9)))
+ goto end;
+ }
if (!TEST_true(SSL_set_min_proto_version(clientssl, TLS1_2_VERSION))
|| !TEST_true(SSL_set_max_proto_version(serverssl, TLS1_2_VERSION))
@@ -10649,13 +10971,39 @@ static int test_session_secret_cb(void)
|| !TEST_true(SSL_set_session(clientssl, secret_sess)))
goto end;
+ if (idx == 1) {
+ /*
+ * We just send the ClientHello here. We expect this to fail with
+ * SSL_ERROR_WANT_READ
+ */
+ if (!TEST_int_le(SSL_connect(clientssl), 0))
+ goto end;
+ /* Reset the session id to avoid confusing the state machine */
+ if (!TEST_true(SSL_SESSION_set1_id(secret_sess, NULL, 0)))
+ goto end;
+ }
if (!TEST_true(create_ssl_connection(serverssl, clientssl, SSL_ERROR_NONE)))
goto end;
+ /* Check that session resumption was successful */
+ if (!TEST_true(SSL_session_reused(clientssl))
+ || !TEST_true(SSL_session_reused(serverssl)))
+ goto end;
+
+ if (idx == 1) {
+ server_sess = SSL_get1_session(serverssl);
+ if (!TEST_ptr(server_sess))
+ goto end;
+ sessid = SSL_SESSION_get_id(server_sess, &sess_len);
+
+ if (!TEST_mem_eq(sessid, sess_len, "sessionid", 9))
+ goto end;
+ }
testresult = 1;
end:
SSL_SESSION_free(secret_sess);
+ SSL_SESSION_free(server_sess);
SSL_free(serverssl);
SSL_free(clientssl);
SSL_CTX_free(sctx);
@@ -12996,6 +13344,42 @@ static int alert_cb(SSL *s, unsigned char alert_code, void *arg)
return 1;
}
+/* Extension id reserved for private use by IANA */
+#define TEST_TLS_EXTENSION_ID 65282
+
+static int add_ext_cb_called = 0;
+static int parse_ext_cb_called = 0;
+
+static int add_old_ext(SSL *s, unsigned int ext_type,
+ const unsigned char **out, size_t *outlen,
+ int *al, void *add_arg)
+{
+ static const unsigned char data = 0xff;
+
+ add_ext_cb_called++;
+ *out = &data;
+ *outlen = 1;
+ return 1;
+}
+
+static void free_old_ext(SSL *s, unsigned int ext_type,
+ const unsigned char *out, void *add_arg)
+{
+ /* Do nothing */
+}
+
+static int parse_old_ext(SSL *s, unsigned int ext_type,
+ const unsigned char *in, size_t inlen,
+ int *al, void *parse_arg)
+{
+ parse_ext_cb_called++;
+ if (inlen != 1 || *in != 0xff) {
+ *al = SSL_AD_DECODE_ERROR;
+ return 0;
+ }
+ return 1;
+}
+
/*
* Test the QUIC TLS API
* Test 0: Normal run
@@ -13050,11 +13434,32 @@ static int test_quic_tls(int idx)
goto end;
if (idx == 5) {
+ static int dummy = 1;
+
if (!TEST_true(create_ssl_ctx_pair(libctx, TLS_server_method(), NULL,
TLS1_3_VERSION, 0,
&sctx2, NULL, cert, privkey)))
goto end;
+ /*
+ * We add an old style custom extension to ensure that it gets correctly
+ * handled when we copy QUIC's connection specific custom extensions.
+ */
+ add_ext_cb_called = 0;
+ parse_ext_cb_called = 0;
+ if (!TEST_true(SSL_CTX_add_client_custom_ext(cctx,
+ TEST_TLS_EXTENSION_ID,
+ add_old_ext, free_old_ext, &dummy, parse_old_ext, &dummy)))
+ goto end;
+ if (!TEST_true(SSL_CTX_add_server_custom_ext(sctx,
+ TEST_TLS_EXTENSION_ID,
+ add_old_ext, free_old_ext, &dummy, parse_old_ext, &dummy)))
+ goto end;
+ if (!TEST_true(SSL_CTX_add_server_custom_ext(sctx2,
+ TEST_TLS_EXTENSION_ID,
+ add_old_ext, free_old_ext, &dummy, parse_old_ext, &dummy)))
+ goto end;
+
/* Set up SNI */
if (!TEST_true(SSL_CTX_set_tlsext_servername_callback(sctx, sni_cb))
|| !TEST_true(SSL_CTX_set_tlsext_servername_arg(sctx, sctx2)))
@@ -13144,6 +13549,18 @@ static int test_quic_tls(int idx)
|| !TEST_true(cdata.wenc_level == OSSL_RECORD_PROTECTION_LEVEL_APPLICATION))
goto end;
+ /*
+ * We only expect the add cb to have actually been called because we are
+ * using the old style callbacks that only apply to TLSv1.2. Since we are
+ * using TLSv1.3 here, the add will be called for the ClientHello but
+ * nothing else.
+ */
+ if (idx == 5) {
+ if (!TEST_int_eq(add_ext_cb_called, 1)
+ || !TEST_int_eq(parse_ext_cb_called, 0))
+ goto end;
+ }
+
testresult = 1;
end:
SSL_free(serverssl);
@@ -13732,6 +14149,9 @@ int setup_tests(void)
ADD_ALL_TESTS(test_ktls, NUM_KTLS_TEST_CIPHERS * 4);
ADD_ALL_TESTS(test_ktls_sendfile, NUM_KTLS_TEST_CIPHERS * 2);
#endif
+#ifndef OSSL_NO_USABLE_TLS1_3
+ ADD_TEST(test_ktls_moving_write_buffer);
+#endif
#endif
ADD_TEST(test_large_message_tls);
ADD_TEST(test_large_message_tls_read_ahead);
@@ -13758,6 +14178,7 @@ int setup_tests(void)
ADD_TEST(test_ssl_bio_pop_ssl_bio);
ADD_TEST(test_ssl_bio_change_rbio);
ADD_TEST(test_ssl_bio_change_wbio);
+ ADD_TEST(test_ssl_set_wbio_chain_no_leak);
#if !defined(OPENSSL_NO_TLS1_2) || defined(OSSL_NO_USABLE_TLS1_3)
ADD_ALL_TESTS(test_set_sigalgs, OSSL_NELEM(testsigalgs) * 2);
ADD_TEST(test_keylog);
@@ -13844,6 +14265,7 @@ int setup_tests(void)
ADD_ALL_TESTS(test_ssl_pending, 2);
ADD_ALL_TESTS(test_ssl_get_shared_ciphers, OSSL_NELEM(shared_ciphers_data));
ADD_ALL_TESTS(test_ticket_callbacks, 20);
+ ADD_TEST(test_ticket_abort_session_leak);
ADD_ALL_TESTS(test_shutdown, 7);
ADD_TEST(test_async_shutdown);
ADD_ALL_TESTS(test_incorrect_shutdown, 2);
@@ -13868,7 +14290,7 @@ int setup_tests(void)
#endif
#ifndef OPENSSL_NO_TLS1_2
ADD_TEST(test_ssl_dup);
- ADD_TEST(test_session_secret_cb);
+ ADD_ALL_TESTS(test_session_secret_cb, 2);
#ifndef OPENSSL_NO_DH
ADD_ALL_TESTS(test_set_tmp_dh, 11);
ADD_ALL_TESTS(test_dh_auto, 7);
diff --git a/crypto/openssl/test/stack_test.c b/crypto/openssl/test/stack_test.c
index 2175387c084..7bea2a2b7f3 100644
--- a/crypto/openssl/test/stack_test.c
+++ b/crypto/openssl/test/stack_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2017-2021 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2017-2026 The OpenSSL Project Authors. All Rights Reserved.
* Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
@@ -29,17 +29,17 @@
typedef struct {
int n;
char c;
-} SS;
+} TST_SS;
typedef union {
int n;
char c;
-} SU;
+} TST_SU;
DEFINE_SPECIAL_STACK_OF(sint, int)
DEFINE_SPECIAL_STACK_OF_CONST(uchar, unsigned char)
-DEFINE_STACK_OF(SS)
-DEFINE_STACK_OF_CONST(SU)
+DEFINE_STACK_OF(TST_SS)
+DEFINE_STACK_OF_CONST(TST_SU)
static int int_compare(const int *const *a, const int *const *b)
{
@@ -255,25 +255,25 @@ static int test_uchar_stack(int reserve)
return testresult;
}
-static SS *SS_copy(const SS *p)
+static TST_SS *SS_copy(const TST_SS *p)
{
- SS *q = OPENSSL_malloc(sizeof(*q));
+ TST_SS *q = OPENSSL_malloc(sizeof(*q));
if (q != NULL)
memcpy(q, p, sizeof(*q));
return q;
}
-static void SS_free(SS *p)
+static void SS_free(TST_SS *p)
{
OPENSSL_free(p);
}
static int test_SS_stack(void)
{
- STACK_OF(SS) *s = sk_SS_new_null();
- STACK_OF(SS) *r = NULL;
- SS *v[10], *p;
+ STACK_OF(TST_SS) *s = sk_TST_SS_new_null();
+ STACK_OF(TST_SS) *r = NULL;
+ TST_SS *v[10], *p;
const int n = OSSL_NELEM(v);
int i;
int testresult = 0;
@@ -286,25 +286,25 @@ static int test_SS_stack(void)
goto end;
v[i]->n = i;
v[i]->c = 'A' + i;
- if (!TEST_int_eq(sk_SS_num(s), i)) {
+ if (!TEST_int_eq(sk_TST_SS_num(s), i)) {
TEST_info("SS stack size %d", i);
goto end;
}
- sk_SS_push(s, v[i]);
+ sk_TST_SS_push(s, v[i]);
}
- if (!TEST_int_eq(sk_SS_num(s), n))
+ if (!TEST_int_eq(sk_TST_SS_num(s), n))
goto end;
/* deepcopy */
- r = sk_SS_deep_copy(NULL, &SS_copy, &SS_free);
- if (sk_SS_num(r) != 0)
+ r = sk_TST_SS_deep_copy(NULL, &SS_copy, &SS_free);
+ if (sk_TST_SS_num(r) != 0)
goto end;
- sk_SS_free(r);
- r = sk_SS_deep_copy(s, &SS_copy, &SS_free);
+ sk_TST_SS_free(r);
+ r = sk_TST_SS_deep_copy(s, &SS_copy, &SS_free);
if (!TEST_ptr(r))
goto end;
for (i = 0; i < n; i++) {
- p = sk_SS_value(r, i);
+ p = sk_TST_SS_value(r, i);
if (!TEST_ptr_ne(p, v[i])) {
TEST_info("SS deepcopy non-copy %d", i);
goto end;
@@ -320,33 +320,33 @@ static int test_SS_stack(void)
}
/* pop_free - we rely on the malloc debug to catch the leak */
- sk_SS_pop_free(r, &SS_free);
+ sk_TST_SS_pop_free(r, &SS_free);
r = NULL;
/* delete_ptr */
- p = sk_SS_delete_ptr(s, v[3]);
+ p = sk_TST_SS_delete_ptr(s, v[3]);
if (!TEST_ptr(p))
goto end;
SS_free(p);
- if (!TEST_int_eq(sk_SS_num(s), n - 1))
+ if (!TEST_int_eq(sk_TST_SS_num(s), n - 1))
goto end;
for (i = 0; i < n - 1; i++)
- if (!TEST_ptr_eq(sk_SS_value(s, i), v[i < 3 ? i : 1 + i])) {
+ if (!TEST_ptr_eq(sk_TST_SS_value(s, i), v[i < 3 ? i : 1 + i])) {
TEST_info("SS delete ptr item %d", i);
goto end;
}
testresult = 1;
end:
- sk_SS_pop_free(r, &SS_free);
- sk_SS_pop_free(s, &SS_free);
+ sk_TST_SS_pop_free(r, &SS_free);
+ sk_TST_SS_pop_free(s, &SS_free);
return testresult;
}
static int test_SU_stack(void)
{
- STACK_OF(SU) *s = sk_SU_new_null();
- SU v[10];
+ STACK_OF(TST_SU) *s = sk_TST_SU_new_null();
+ TST_SU v[10];
const int n = OSSL_NELEM(v);
int i;
int testresult = 0;
@@ -357,25 +357,25 @@ static int test_SU_stack(void)
v[i].n = i;
else
v[i].c = 'A' + i;
- if (!TEST_int_eq(sk_SU_num(s), i)) {
+ if (!TEST_int_eq(sk_TST_SU_num(s), i)) {
TEST_info("SU stack size %d", i);
goto end;
}
- sk_SU_push(s, v + i);
+ sk_TST_SU_push(s, v + i);
}
- if (!TEST_int_eq(sk_SU_num(s), n))
+ if (!TEST_int_eq(sk_TST_SU_num(s), n))
goto end;
/* check the pointers are correct */
for (i = 0; i < n; i++)
- if (!TEST_ptr_eq(sk_SU_value(s, i), v + i)) {
+ if (!TEST_ptr_eq(sk_TST_SU_value(s, i), v + i)) {
TEST_info("SU pointer check %d", i);
goto end;
}
testresult = 1;
end:
- sk_SU_free(s);
+ sk_TST_SU_free(s);
return testresult;
}
diff --git a/crypto/openssl/test/threadstest.c b/crypto/openssl/test/threadstest.c
index 01be7f32242..f368dc06532 100644
--- a/crypto/openssl/test/threadstest.c
+++ b/crypto/openssl/test/threadstest.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2016-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -319,12 +319,19 @@ static void writer_fn(int id, int *iterations)
int count;
OSSL_TIME t1, t2;
uint64_t *old, *new;
+ CRYPTO_RCU_CB_ITEM *cbi = NULL;
t1 = ossl_time_now();
for (count = 0;; count++) {
new = CRYPTO_malloc(sizeof(uint64_t), NULL, 0);
*new = (uint64_t)0xBAD;
+
+ if (contention == 0) {
+ cbi = ossl_rcu_cb_item_new();
+ OPENSSL_assert(cbi != NULL);
+ }
+
if (contention == 0)
OSSL_sleep(1000);
ossl_rcu_write_lock(rcu_lock);
@@ -333,7 +340,7 @@ static void writer_fn(int id, int *iterations)
*new = global_ctr++;
ossl_rcu_assign_ptr(&writer_ptr, &new);
if (contention == 0)
- ossl_rcu_call(rcu_lock, free_old_rcu_data, old);
+ ossl_rcu_call(rcu_lock, cbi, free_old_rcu_data, old);
ossl_rcu_write_unlock(rcu_lock);
if (contention != 0) {
ossl_synchronize_rcu(rcu_lock);
diff --git a/crypto/openssl/test/tls13tickettest.c b/crypto/openssl/test/tls13tickettest.c
new file mode 100644
index 00000000000..9470f416963
--- /dev/null
+++ b/crypto/openssl/test/tls13tickettest.c
@@ -0,0 +1,157 @@
+/*
+ * Copyright 2026 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
+ * this file except in compliance with the License. You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+#include
+#include "helpers/ssltestlib.h"
+#include "testutil.h"
+
+struct stats {
+ unsigned int tickets;
+};
+
+static char *cert = NULL;
+static char *pkey = NULL;
+static int stats_idx = -1;
+
+static int stats_init(struct stats *stats)
+{
+ memset(stats, 0, sizeof(*stats));
+ return 1;
+}
+
+static int sess_new_cb(SSL *ssl, SSL_SESSION *session)
+{
+ struct stats *stats = SSL_get_ex_data(ssl, stats_idx);
+ if (stats == NULL)
+ return 0;
+ if (SSL_is_init_finished(ssl) == 0)
+ stats->tickets++;
+ return 0;
+}
+
+static void handshake_finished(const SSL *ssl)
+{
+ const char *endpoint = SSL_is_server(ssl) ? "server" : "client";
+ if (SSL_session_reused(ssl))
+ TEST_info("%s: Abbreviated handshake finished", endpoint);
+ else
+ TEST_info("%s: Full handshake finished", endpoint);
+}
+
+static void info_cb(const SSL *ssl, int type, int val)
+{
+ const char *endpoint = SSL_is_server(ssl) ? "server" : "client";
+
+ if (type & SSL_CB_ALERT) {
+ const char *dir = (type & SSL_CB_READ) ? "read" : "write";
+
+ TEST_info("%s: alert %s: %s : %s", endpoint, dir,
+ SSL_alert_type_string_long(val),
+ SSL_alert_desc_string_long(val));
+ }
+ if (type & SSL_CB_HANDSHAKE_DONE)
+ handshake_finished(ssl);
+}
+
+static int set_callbacks(SSL *ssl)
+{
+ SSL_set_info_callback(ssl, info_cb);
+ return 1;
+}
+
+static int set_shutdown(SSL *c, SSL *s)
+{
+ SSL_set_shutdown(c, SSL_SENT_SHUTDOWN | SSL_RECEIVED_SHUTDOWN);
+ SSL_set_shutdown(s, SSL_SENT_SHUTDOWN | SSL_RECEIVED_SHUTDOWN);
+ return 1;
+}
+
+static int enable_tickets(SSL_CTX *s, SSL_CTX *c)
+{
+ unsigned int cf = SSL_SESS_CACHE_CLIENT | SSL_SESS_CACHE_NO_INTERNAL_STORE;
+ unsigned int sf = SSL_SESS_CACHE_SERVER | SSL_SESS_CACHE_NO_INTERNAL_STORE;
+
+ SSL_CTX_set_session_cache_mode(s, sf);
+ SSL_CTX_set_session_cache_mode(c, cf);
+ SSL_CTX_set_verify(c, SSL_VERIFY_NONE, NULL);
+
+ SSL_CTX_sess_set_new_cb(s, sess_new_cb);
+ SSL_CTX_sess_set_new_cb(c, sess_new_cb);
+
+ return 1;
+}
+
+/*
+ * Verify ticket regeneration after fallback to a full handshake. If session
+ * resumption fails due to a ciphersuite mismatch, it falls back to a full
+ * handshake. In that case, ensure a new session ticket is issued reflecting the
+ * negotiated ciphersuite.
+ */
+static int test_tls13_ticket_ciphersuite_mismatch(void)
+{
+ struct stats stats1, stats2;
+ SSL_CTX *s_ctx = NULL, *c_ctx = NULL;
+ SSL *s_ssl = NULL, *c_ssl = NULL, *s = NULL, *c = NULL;
+ SSL_SESSION *sess = NULL;
+ int test;
+
+ test = create_ssl_ctx_pair(NULL, TLS_server_method(), TLS_client_method(),
+ TLS1_3_VERSION, TLS1_3_VERSION, &s_ctx, &c_ctx, cert, pkey)
+ && TEST_true(SSL_CTX_set_ciphersuites(s_ctx, "TLS_AES_128_GCM_SHA256"))
+ && TEST_true(SSL_CTX_set_ciphersuites(c_ctx, "TLS_AES_128_GCM_SHA256"))
+ && TEST_true(enable_tickets(s_ctx, c_ctx))
+ && TEST_true(create_ssl_objects(s_ctx, c_ctx, &s, &c, NULL, NULL))
+ && TEST_true(set_callbacks(c))
+ && TEST_true(set_callbacks(s))
+ && TEST_true(stats_init(&stats1))
+ && TEST_true(SSL_set_ex_data(c, stats_idx, &stats1))
+ && TEST_true(create_ssl_connection(s, c, SSL_ERROR_NONE))
+ && TEST_uint_eq(stats1.tickets, 2)
+ && TEST_true(set_shutdown(c, s))
+ && TEST_ptr(sess = SSL_get1_session(c))
+ && TEST_true(SSL_CTX_set_ciphersuites(s_ctx, "TLS_AES_256_GCM_SHA384"))
+ && TEST_true(SSL_CTX_set_ciphersuites(c_ctx, "TLS_AES_256_GCM_SHA384"))
+ && TEST_true(create_ssl_objects(s_ctx, c_ctx, &s_ssl, &c_ssl, NULL, NULL))
+ && TEST_true(SSL_set_session(c_ssl, sess))
+ && TEST_true(set_callbacks(c_ssl))
+ && TEST_true(set_callbacks(s_ssl))
+ && TEST_true(stats_init(&stats2))
+ && TEST_true(SSL_set_ex_data(c_ssl, stats_idx, &stats2))
+ && TEST_true(create_ssl_connection(s_ssl, c_ssl, SSL_ERROR_NONE))
+ && TEST_false(SSL_session_reused(c_ssl))
+ && TEST_uint_eq(stats2.tickets, 2);
+
+ SSL_SESSION_free(sess);
+ SSL_free(s_ssl);
+ SSL_free(c_ssl);
+ SSL_free(s);
+ SSL_free(c);
+ SSL_CTX_free(s_ctx);
+ SSL_CTX_free(c_ctx);
+ return test;
+}
+
+OPT_TEST_DECLARE_USAGE("\n")
+
+int setup_tests(void)
+{
+ if (!test_skip_common_options()) {
+ TEST_error("Error parsing test options\n");
+ return 0;
+ }
+
+ if (!TEST_ptr(cert = test_get_argument(0))
+ || !TEST_ptr(pkey = test_get_argument(1)))
+ return 0;
+
+ stats_idx = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL);
+ ADD_TEST(test_tls13_ticket_ciphersuite_mismatch);
+
+ return 1;
+}
diff --git a/crypto/openssl/test/x509_test.c b/crypto/openssl/test/x509_test.c
index 7afa9f26490..37928c5f008 100644
--- a/crypto/openssl/test/x509_test.c
+++ b/crypto/openssl/test/x509_test.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2022-2026 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
@@ -102,6 +102,21 @@ static int test_x509_tbs_cache(void)
return ret;
}
+static int test_x509_verify_with_new(void)
+{
+ int ret;
+ EVP_PKEY *pkey = NULL;
+ X509 *x = NULL;
+
+ ret = TEST_ptr(x = X509_new())
+ && TEST_ptr(pkey = EVP_PKEY_new())
+ && TEST_int_eq(X509_verify(x, pkey), -1)
+ && TEST_int_eq(X509_verify(x, pubkey), -1);
+ X509_free(x);
+ EVP_PKEY_free(pkey);
+ return ret;
+}
+
/*
* Test for Regression discussed in PR #19388
* In order for this simple test to fail, it requires the digest used for
@@ -321,6 +336,7 @@ int setup_tests(void)
ADD_TEST(test_x509_delete_last_extension);
ADD_TEST(test_x509_crl_delete_last_extension);
ADD_TEST(test_x509_revoked_delete_last_extension);
+ ADD_TEST(test_x509_verify_with_new);
return 1;
}
diff --git a/crypto/openssl/util/missingcrypto.txt b/crypto/openssl/util/missingcrypto.txt
index 269c1d3fa10..16ca0e49dfa 100644
--- a/crypto/openssl/util/missingcrypto.txt
+++ b/crypto/openssl/util/missingcrypto.txt
@@ -199,12 +199,8 @@ BIO_method_name(3)
BIO_new_NDEF(3)
BIO_new_PKCS7(3)
BIO_new_dgram_sctp(3)
-BIO_nread(3)
-BIO_nread0(3)
BIO_number_read(3)
BIO_number_written(3)
-BIO_nwrite(3)
-BIO_nwrite0(3)
BIO_s_datagram_sctp(3)
BIO_s_log(3)
BIO_set_tcp_ndelay(3)
diff --git a/crypto/openssl/util/missingcrypto111.txt b/crypto/openssl/util/missingcrypto111.txt
index f3402ada7e6..b6068ec0928 100644
--- a/crypto/openssl/util/missingcrypto111.txt
+++ b/crypto/openssl/util/missingcrypto111.txt
@@ -226,12 +226,8 @@ BIO_new_NDEF(3)
BIO_new_PKCS7(3)
BIO_new_dgram(3)
BIO_new_dgram_sctp(3)
-BIO_nread(3)
-BIO_nread0(3)
BIO_number_read(3)
BIO_number_written(3)
-BIO_nwrite(3)
-BIO_nwrite0(3)
BIO_s_datagram(3)
BIO_s_datagram_sctp(3)
BIO_s_log(3)