Blame test/recipes/30-test_evp_data/evpencod.txt

Packit c4476c
#
Packit c4476c
# Copyright 2001-2017 The OpenSSL Project Authors. All Rights Reserved.
Packit c4476c
#
Packit c4476c
# Licensed under the OpenSSL license (the "License").  You may not use
Packit c4476c
# this file except in compliance with the License.  You can obtain a copy
Packit c4476c
# in the file LICENSE in the source distribution or at
Packit c4476c
# https://www.openssl.org/source/license.html
Packit c4476c
Packit c4476c
# Tests start with one of these keywords
Packit c4476c
#       Cipher Decrypt Derive Digest Encoding KDF MAC PBE
Packit c4476c
#       PrivPubKeyPair Sign Verify VerifyRecover
Packit c4476c
# and continue until a blank line.  Lines starting with a pound sign,
Packit c4476c
# like this prolog, are ignored.
Packit c4476c
Packit c4476c
Title = Base64 tests
Packit c4476c
Packit c4476c
Encoding = canonical
Packit c4476c
Input = ""
Packit c4476c
Output = ""
Packit c4476c
Packit c4476c
Encoding = canonical
Packit c4476c
Input = "h"
Packit c4476c
Output = "aA==\n"
Packit c4476c
Packit c4476c
Encoding = canonical
Packit c4476c
Input = "hello"
Packit c4476c
Output = "aGVsbG8=\n"
Packit c4476c
Packit c4476c
Encoding = canonical
Packit c4476c
Input = "hello world!"
Packit c4476c
Output = "aGVsbG8gd29ybGQh\n"
Packit c4476c
Packit c4476c
Encoding = canonical
Packit c4476c
Input = 00010203040506070809a0b0c0d0e0f000
Packit c4476c
Output = "AAECAwQFBgcICaCwwNDg8AA=\n"
Packit c4476c
Packit c4476c
# Missing padding
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "aGVsbG8"
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "aGVsbG8\n"
Packit c4476c
Packit c4476c
# Tolerate missing newline
Packit c4476c
Encoding = valid
Packit c4476c
Input = "hello"
Packit c4476c
Output = "aGVsbG8="
Packit c4476c
Packit c4476c
# Don't tolerate extra trailing '='
Packit c4476c
Encoding = invalid
Packit c4476c
Input = "hello"
Packit c4476c
Output = "aGVsbG8==\n"
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "aGVsbG8===\n"
Packit c4476c
Packit c4476c
# Don't tolerate data after '='
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "aGV=sbG8=\n"
Packit c4476c
Packit c4476c
# Newlines are ignored
Packit c4476c
Encoding = valid
Packit c4476c
Input = "hello"
Packit c4476c
Output = "aGV\nsbG8=\n"
Packit c4476c
Packit c4476c
Encoding = canonical
Packit c4476c
Input = "hello"
Packit c4476c
Output = 614756736247383d0a
Packit c4476c
Packit c4476c
# Invalid characters
Packit c4476c
Encoding = invalid
Packit c4476c
Output = 614756736247383d0a00
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = 61475600736247383d0a
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = 61475601736247383d0a
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = 61475680736247383d0a
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = e14756736247383d0a
Packit c4476c
Packit c4476c
Encoding = canonical
Packit c4476c
Input = "OpenSSLOpenSSL\n"
Packit c4476c
Output = "T3BlblNTTE9wZW5TU0wK\n"
Packit c4476c
Packit c4476c
Encoding = valid
Packit c4476c
Input = "OpenSSLOpenSSL\n"
Packit c4476c
Output = "T3BlblNTTE9wZW5TU0wK"
Packit c4476c
Packit c4476c
# Truncate 1-3 chars
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "T3BlblNTTE9wZW5TU0w"
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "T3BlblNTTE9wZW5TU0"
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "T3BlblNTTE9wZW5TU"
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "T3BlblNTTE9wZW5TU0wK===="
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "T3BlblNTTE9wZW5TU0wK============================================\n"
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "YQ==YQ==YQ==\n"
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "A"
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "A\n"
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "A="
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "A==\n"
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "A===\n"
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "A====\n"
Packit c4476c
Packit c4476c
Encoding = valid
Packit c4476c
Input = "OpenSSLOpenSSL\n"
Packit c4476c
Output = "T3BlblNTTE9wZW5TU0wK\n\n"
Packit c4476c
Packit c4476c
Encoding = valid
Packit c4476c
Input = "OpenSSLOpenSSL\n"
Packit c4476c
Output = "T3BlblNTTE\n9wZW5TU0wK"
Packit c4476c
Packit c4476c
# CVE 2015-0292
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "ZW5jb2RlIG1lCg==================================================================\n"
Packit c4476c
Packit c4476c
Encoding = canonical
Packit c4476c
Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Packit c4476c
Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA==\n"
Packit c4476c
Packit c4476c
Encoding = valid
Packit c4476c
Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Packit c4476c
Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA\n==\n"
Packit c4476c
Packit c4476c
Encoding = valid
Packit c4476c
Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Packit c4476c
Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA=\n=\n"
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA====\n"
Packit c4476c
Packit c4476c
# Multiline output without padding
Packit c4476c
Encoding = canonical
Packit c4476c
Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Packit c4476c
Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\neHh4eHh4eHh4eHh4\n"
Packit c4476c
Packit c4476c
# Multiline output with padding
Packit c4476c
Encoding = canonical
Packit c4476c
Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Packit c4476c
Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\neHh4eHh4eHh4eHh4eHh4eA==\n"
Packit c4476c
Packit c4476c
# Multiline output with line break in the middle of a b64 block is accepted
Packit c4476c
Encoding = valid
Packit c4476c
Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Packit c4476c
Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh\n4eHh4eHh4eHh4eHh4eHh4eA==\n"
Packit c4476c
Packit c4476c
# Long lines are accepted
Packit c4476c
Encoding = valid
Packit c4476c
Input = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Packit c4476c
Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA==\n"
Packit c4476c
Packit c4476c
# Multiline input with data after '='.
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eA==\neHh4eHh4eHh4eHh4eHh4eHh4\n"
Packit c4476c
Packit c4476c
Encoding = invalid
Packit c4476c
Output = "eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4\neA==eHh4eHh4eHh4eHh4eHh4\n"
Packit c4476c
Packit c4476c
# B64_EOF ('-') terminates input and trailing bytes are ignored
Packit c4476c
Encoding = valid
Packit c4476c
Input = "OpenSSLOpenSSL\n"
Packit c4476c
Output = "T3BlblNTTE9wZW5TU0wK\n-abcd"
Packit c4476c
Packit c4476c
Encoding = valid
Packit c4476c
Input = "OpenSSLOpenSSL\n"
Packit c4476c
Output = "T3BlblNTTE9wZW5TU0wK-abcd"
Packit c4476c
Packit c4476c