yuezonghe | 824eb0c | 2024-06-27 02:32:26 -0700 | [diff] [blame] | 1 | /* |
| 2 | * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved. |
| 3 | * |
| 4 | * Licensed under the OpenSSL license (the "License"). You may not use |
| 5 | * this file except in compliance with the License. You can obtain a copy |
| 6 | * in the file LICENSE in the source distribution or at |
| 7 | * https://www.openssl.org/source/license.html |
| 8 | */ |
| 9 | |
| 10 | #include <stdio.h> |
| 11 | #include "internal/cryptlib.h" |
| 12 | #include <openssl/evp.h> |
| 13 | #include "crypto/evp.h" |
| 14 | #include <openssl/pkcs12.h> |
| 15 | #include <openssl/objects.h> |
| 16 | |
| 17 | void openssl_add_all_ciphers_int(void) |
| 18 | { |
| 19 | |
| 20 | #ifndef OPENSSL_NO_DES |
| 21 | EVP_add_cipher(EVP_des_cfb()); |
| 22 | EVP_add_cipher(EVP_des_cfb1()); |
| 23 | EVP_add_cipher(EVP_des_cfb8()); |
| 24 | EVP_add_cipher(EVP_des_ede_cfb()); |
| 25 | EVP_add_cipher(EVP_des_ede3_cfb()); |
| 26 | EVP_add_cipher(EVP_des_ede3_cfb1()); |
| 27 | EVP_add_cipher(EVP_des_ede3_cfb8()); |
| 28 | |
| 29 | EVP_add_cipher(EVP_des_ofb()); |
| 30 | EVP_add_cipher(EVP_des_ede_ofb()); |
| 31 | EVP_add_cipher(EVP_des_ede3_ofb()); |
| 32 | |
| 33 | EVP_add_cipher(EVP_desx_cbc()); |
| 34 | EVP_add_cipher_alias(SN_desx_cbc, "DESX"); |
| 35 | EVP_add_cipher_alias(SN_desx_cbc, "desx"); |
| 36 | |
| 37 | EVP_add_cipher(EVP_des_cbc()); |
| 38 | EVP_add_cipher_alias(SN_des_cbc, "DES"); |
| 39 | EVP_add_cipher_alias(SN_des_cbc, "des"); |
| 40 | EVP_add_cipher(EVP_des_ede_cbc()); |
| 41 | EVP_add_cipher(EVP_des_ede3_cbc()); |
| 42 | EVP_add_cipher_alias(SN_des_ede3_cbc, "DES3"); |
| 43 | EVP_add_cipher_alias(SN_des_ede3_cbc, "des3"); |
| 44 | |
| 45 | EVP_add_cipher(EVP_des_ecb()); |
| 46 | EVP_add_cipher(EVP_des_ede()); |
| 47 | EVP_add_cipher_alias(SN_des_ede_ecb, "DES-EDE-ECB"); |
| 48 | EVP_add_cipher_alias(SN_des_ede_ecb, "des-ede-ecb"); |
| 49 | EVP_add_cipher(EVP_des_ede3()); |
| 50 | EVP_add_cipher_alias(SN_des_ede3_ecb, "DES-EDE3-ECB"); |
| 51 | EVP_add_cipher_alias(SN_des_ede3_ecb, "des-ede3-ecb"); |
| 52 | EVP_add_cipher(EVP_des_ede3_wrap()); |
| 53 | EVP_add_cipher_alias(SN_id_smime_alg_CMS3DESwrap, "des3-wrap"); |
| 54 | #endif |
| 55 | |
| 56 | #ifndef OPENSSL_NO_RC4 |
| 57 | EVP_add_cipher(EVP_rc4()); |
| 58 | EVP_add_cipher(EVP_rc4_40()); |
| 59 | # ifndef OPENSSL_NO_MD5 |
| 60 | EVP_add_cipher(EVP_rc4_hmac_md5()); |
| 61 | # endif |
| 62 | #endif |
| 63 | |
| 64 | #ifndef OPENSSL_NO_IDEA |
| 65 | EVP_add_cipher(EVP_idea_ecb()); |
| 66 | EVP_add_cipher(EVP_idea_cfb()); |
| 67 | EVP_add_cipher(EVP_idea_ofb()); |
| 68 | EVP_add_cipher(EVP_idea_cbc()); |
| 69 | EVP_add_cipher_alias(SN_idea_cbc, "IDEA"); |
| 70 | EVP_add_cipher_alias(SN_idea_cbc, "idea"); |
| 71 | #endif |
| 72 | |
| 73 | #ifndef OPENSSL_NO_SEED |
| 74 | EVP_add_cipher(EVP_seed_ecb()); |
| 75 | EVP_add_cipher(EVP_seed_cfb()); |
| 76 | EVP_add_cipher(EVP_seed_ofb()); |
| 77 | EVP_add_cipher(EVP_seed_cbc()); |
| 78 | EVP_add_cipher_alias(SN_seed_cbc, "SEED"); |
| 79 | EVP_add_cipher_alias(SN_seed_cbc, "seed"); |
| 80 | #endif |
| 81 | |
| 82 | #ifndef OPENSSL_NO_SM4 |
| 83 | EVP_add_cipher(EVP_sm4_ecb()); |
| 84 | EVP_add_cipher(EVP_sm4_cbc()); |
| 85 | EVP_add_cipher(EVP_sm4_cfb()); |
| 86 | EVP_add_cipher(EVP_sm4_ofb()); |
| 87 | EVP_add_cipher(EVP_sm4_ctr()); |
| 88 | EVP_add_cipher_alias(SN_sm4_cbc, "SM4"); |
| 89 | EVP_add_cipher_alias(SN_sm4_cbc, "sm4"); |
| 90 | #endif |
| 91 | |
| 92 | #ifndef OPENSSL_NO_RC2 |
| 93 | EVP_add_cipher(EVP_rc2_ecb()); |
| 94 | EVP_add_cipher(EVP_rc2_cfb()); |
| 95 | EVP_add_cipher(EVP_rc2_ofb()); |
| 96 | EVP_add_cipher(EVP_rc2_cbc()); |
| 97 | EVP_add_cipher(EVP_rc2_40_cbc()); |
| 98 | EVP_add_cipher(EVP_rc2_64_cbc()); |
| 99 | EVP_add_cipher_alias(SN_rc2_cbc, "RC2"); |
| 100 | EVP_add_cipher_alias(SN_rc2_cbc, "rc2"); |
| 101 | EVP_add_cipher_alias(SN_rc2_cbc, "rc2-128"); |
| 102 | EVP_add_cipher_alias(SN_rc2_64_cbc, "rc2-64"); |
| 103 | EVP_add_cipher_alias(SN_rc2_40_cbc, "rc2-40"); |
| 104 | #endif |
| 105 | |
| 106 | #ifndef OPENSSL_NO_BF |
| 107 | EVP_add_cipher(EVP_bf_ecb()); |
| 108 | EVP_add_cipher(EVP_bf_cfb()); |
| 109 | EVP_add_cipher(EVP_bf_ofb()); |
| 110 | EVP_add_cipher(EVP_bf_cbc()); |
| 111 | EVP_add_cipher_alias(SN_bf_cbc, "BF"); |
| 112 | EVP_add_cipher_alias(SN_bf_cbc, "bf"); |
| 113 | EVP_add_cipher_alias(SN_bf_cbc, "blowfish"); |
| 114 | #endif |
| 115 | |
| 116 | #ifndef OPENSSL_NO_CAST |
| 117 | EVP_add_cipher(EVP_cast5_ecb()); |
| 118 | EVP_add_cipher(EVP_cast5_cfb()); |
| 119 | EVP_add_cipher(EVP_cast5_ofb()); |
| 120 | EVP_add_cipher(EVP_cast5_cbc()); |
| 121 | EVP_add_cipher_alias(SN_cast5_cbc, "CAST"); |
| 122 | EVP_add_cipher_alias(SN_cast5_cbc, "cast"); |
| 123 | EVP_add_cipher_alias(SN_cast5_cbc, "CAST-cbc"); |
| 124 | EVP_add_cipher_alias(SN_cast5_cbc, "cast-cbc"); |
| 125 | #endif |
| 126 | |
| 127 | #ifndef OPENSSL_NO_RC5 |
| 128 | EVP_add_cipher(EVP_rc5_32_12_16_ecb()); |
| 129 | EVP_add_cipher(EVP_rc5_32_12_16_cfb()); |
| 130 | EVP_add_cipher(EVP_rc5_32_12_16_ofb()); |
| 131 | EVP_add_cipher(EVP_rc5_32_12_16_cbc()); |
| 132 | EVP_add_cipher_alias(SN_rc5_cbc, "rc5"); |
| 133 | EVP_add_cipher_alias(SN_rc5_cbc, "RC5"); |
| 134 | #endif |
| 135 | |
| 136 | EVP_add_cipher(EVP_aes_128_ecb()); |
| 137 | EVP_add_cipher(EVP_aes_128_cbc()); |
| 138 | EVP_add_cipher(EVP_aes_128_cfb()); |
| 139 | EVP_add_cipher(EVP_aes_128_cfb1()); |
| 140 | EVP_add_cipher(EVP_aes_128_cfb8()); |
| 141 | EVP_add_cipher(EVP_aes_128_ofb()); |
| 142 | EVP_add_cipher(EVP_aes_128_ctr()); |
| 143 | EVP_add_cipher(EVP_aes_128_gcm()); |
| 144 | #ifndef OPENSSL_NO_OCB |
| 145 | EVP_add_cipher(EVP_aes_128_ocb()); |
| 146 | #endif |
| 147 | EVP_add_cipher(EVP_aes_128_xts()); |
| 148 | EVP_add_cipher(EVP_aes_128_ccm()); |
| 149 | EVP_add_cipher(EVP_aes_128_wrap()); |
| 150 | EVP_add_cipher_alias(SN_id_aes128_wrap, "aes128-wrap"); |
| 151 | EVP_add_cipher(EVP_aes_128_wrap_pad()); |
| 152 | EVP_add_cipher_alias(SN_aes_128_cbc, "AES128"); |
| 153 | EVP_add_cipher_alias(SN_aes_128_cbc, "aes128"); |
| 154 | EVP_add_cipher(EVP_aes_192_ecb()); |
| 155 | EVP_add_cipher(EVP_aes_192_cbc()); |
| 156 | EVP_add_cipher(EVP_aes_192_cfb()); |
| 157 | EVP_add_cipher(EVP_aes_192_cfb1()); |
| 158 | EVP_add_cipher(EVP_aes_192_cfb8()); |
| 159 | EVP_add_cipher(EVP_aes_192_ofb()); |
| 160 | EVP_add_cipher(EVP_aes_192_ctr()); |
| 161 | EVP_add_cipher(EVP_aes_192_gcm()); |
| 162 | #ifndef OPENSSL_NO_OCB |
| 163 | EVP_add_cipher(EVP_aes_192_ocb()); |
| 164 | #endif |
| 165 | EVP_add_cipher(EVP_aes_192_ccm()); |
| 166 | EVP_add_cipher(EVP_aes_192_wrap()); |
| 167 | EVP_add_cipher_alias(SN_id_aes192_wrap, "aes192-wrap"); |
| 168 | EVP_add_cipher(EVP_aes_192_wrap_pad()); |
| 169 | EVP_add_cipher_alias(SN_aes_192_cbc, "AES192"); |
| 170 | EVP_add_cipher_alias(SN_aes_192_cbc, "aes192"); |
| 171 | EVP_add_cipher(EVP_aes_256_ecb()); |
| 172 | EVP_add_cipher(EVP_aes_256_cbc()); |
| 173 | EVP_add_cipher(EVP_aes_256_cfb()); |
| 174 | EVP_add_cipher(EVP_aes_256_cfb1()); |
| 175 | EVP_add_cipher(EVP_aes_256_cfb8()); |
| 176 | EVP_add_cipher(EVP_aes_256_ofb()); |
| 177 | EVP_add_cipher(EVP_aes_256_ctr()); |
| 178 | EVP_add_cipher(EVP_aes_256_gcm()); |
| 179 | #ifndef OPENSSL_NO_OCB |
| 180 | EVP_add_cipher(EVP_aes_256_ocb()); |
| 181 | #endif |
| 182 | EVP_add_cipher(EVP_aes_256_xts()); |
| 183 | EVP_add_cipher(EVP_aes_256_ccm()); |
| 184 | EVP_add_cipher(EVP_aes_256_wrap()); |
| 185 | EVP_add_cipher_alias(SN_id_aes256_wrap, "aes256-wrap"); |
| 186 | EVP_add_cipher(EVP_aes_256_wrap_pad()); |
| 187 | EVP_add_cipher_alias(SN_aes_256_cbc, "AES256"); |
| 188 | EVP_add_cipher_alias(SN_aes_256_cbc, "aes256"); |
| 189 | EVP_add_cipher(EVP_aes_128_cbc_hmac_sha1()); |
| 190 | EVP_add_cipher(EVP_aes_256_cbc_hmac_sha1()); |
| 191 | EVP_add_cipher(EVP_aes_128_cbc_hmac_sha256()); |
| 192 | EVP_add_cipher(EVP_aes_256_cbc_hmac_sha256()); |
| 193 | |
| 194 | #ifndef OPENSSL_NO_ARIA |
| 195 | EVP_add_cipher(EVP_aria_128_ecb()); |
| 196 | EVP_add_cipher(EVP_aria_128_cbc()); |
| 197 | EVP_add_cipher(EVP_aria_128_cfb()); |
| 198 | EVP_add_cipher(EVP_aria_128_cfb1()); |
| 199 | EVP_add_cipher(EVP_aria_128_cfb8()); |
| 200 | EVP_add_cipher(EVP_aria_128_ctr()); |
| 201 | EVP_add_cipher(EVP_aria_128_ofb()); |
| 202 | EVP_add_cipher(EVP_aria_128_gcm()); |
| 203 | EVP_add_cipher(EVP_aria_128_ccm()); |
| 204 | EVP_add_cipher_alias(SN_aria_128_cbc, "ARIA128"); |
| 205 | EVP_add_cipher_alias(SN_aria_128_cbc, "aria128"); |
| 206 | EVP_add_cipher(EVP_aria_192_ecb()); |
| 207 | EVP_add_cipher(EVP_aria_192_cbc()); |
| 208 | EVP_add_cipher(EVP_aria_192_cfb()); |
| 209 | EVP_add_cipher(EVP_aria_192_cfb1()); |
| 210 | EVP_add_cipher(EVP_aria_192_cfb8()); |
| 211 | EVP_add_cipher(EVP_aria_192_ctr()); |
| 212 | EVP_add_cipher(EVP_aria_192_ofb()); |
| 213 | EVP_add_cipher(EVP_aria_192_gcm()); |
| 214 | EVP_add_cipher(EVP_aria_192_ccm()); |
| 215 | EVP_add_cipher_alias(SN_aria_192_cbc, "ARIA192"); |
| 216 | EVP_add_cipher_alias(SN_aria_192_cbc, "aria192"); |
| 217 | EVP_add_cipher(EVP_aria_256_ecb()); |
| 218 | EVP_add_cipher(EVP_aria_256_cbc()); |
| 219 | EVP_add_cipher(EVP_aria_256_cfb()); |
| 220 | EVP_add_cipher(EVP_aria_256_cfb1()); |
| 221 | EVP_add_cipher(EVP_aria_256_cfb8()); |
| 222 | EVP_add_cipher(EVP_aria_256_ctr()); |
| 223 | EVP_add_cipher(EVP_aria_256_ofb()); |
| 224 | EVP_add_cipher(EVP_aria_256_gcm()); |
| 225 | EVP_add_cipher(EVP_aria_256_ccm()); |
| 226 | EVP_add_cipher_alias(SN_aria_256_cbc, "ARIA256"); |
| 227 | EVP_add_cipher_alias(SN_aria_256_cbc, "aria256"); |
| 228 | #endif |
| 229 | |
| 230 | #ifndef OPENSSL_NO_CAMELLIA |
| 231 | EVP_add_cipher(EVP_camellia_128_ecb()); |
| 232 | EVP_add_cipher(EVP_camellia_128_cbc()); |
| 233 | EVP_add_cipher(EVP_camellia_128_cfb()); |
| 234 | EVP_add_cipher(EVP_camellia_128_cfb1()); |
| 235 | EVP_add_cipher(EVP_camellia_128_cfb8()); |
| 236 | EVP_add_cipher(EVP_camellia_128_ofb()); |
| 237 | EVP_add_cipher_alias(SN_camellia_128_cbc, "CAMELLIA128"); |
| 238 | EVP_add_cipher_alias(SN_camellia_128_cbc, "camellia128"); |
| 239 | EVP_add_cipher(EVP_camellia_192_ecb()); |
| 240 | EVP_add_cipher(EVP_camellia_192_cbc()); |
| 241 | EVP_add_cipher(EVP_camellia_192_cfb()); |
| 242 | EVP_add_cipher(EVP_camellia_192_cfb1()); |
| 243 | EVP_add_cipher(EVP_camellia_192_cfb8()); |
| 244 | EVP_add_cipher(EVP_camellia_192_ofb()); |
| 245 | EVP_add_cipher_alias(SN_camellia_192_cbc, "CAMELLIA192"); |
| 246 | EVP_add_cipher_alias(SN_camellia_192_cbc, "camellia192"); |
| 247 | EVP_add_cipher(EVP_camellia_256_ecb()); |
| 248 | EVP_add_cipher(EVP_camellia_256_cbc()); |
| 249 | EVP_add_cipher(EVP_camellia_256_cfb()); |
| 250 | EVP_add_cipher(EVP_camellia_256_cfb1()); |
| 251 | EVP_add_cipher(EVP_camellia_256_cfb8()); |
| 252 | EVP_add_cipher(EVP_camellia_256_ofb()); |
| 253 | EVP_add_cipher_alias(SN_camellia_256_cbc, "CAMELLIA256"); |
| 254 | EVP_add_cipher_alias(SN_camellia_256_cbc, "camellia256"); |
| 255 | EVP_add_cipher(EVP_camellia_128_ctr()); |
| 256 | EVP_add_cipher(EVP_camellia_192_ctr()); |
| 257 | EVP_add_cipher(EVP_camellia_256_ctr()); |
| 258 | #endif |
| 259 | |
| 260 | #ifndef OPENSSL_NO_CHACHA |
| 261 | EVP_add_cipher(EVP_chacha20()); |
| 262 | # ifndef OPENSSL_NO_POLY1305 |
| 263 | EVP_add_cipher(EVP_chacha20_poly1305()); |
| 264 | # endif |
| 265 | #endif |
| 266 | } |