2 * This program is free software; you can redistribute it and/or
3 * modify it under the terms of the GNU General Public License as
4 * published by the Free Software Foundation; either version 2 of the
5 * License, or (at your option) any later version.
7 * This program is distributed in the hope that it will be useful, but
8 * WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 * General Public License for more details.
12 * You should have received a copy of the GNU General Public License
13 * along with this program; if not, write to the Free Software
14 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17 * You can also choose to distribute this program under the terms of
18 * the Unmodified Binary Distribution Licence (as given in the file
19 * COPYING.UBDL), provided that you have satisfied its requirements.
22 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL
);
24 #include <config/crypto.h>
28 * Cryptographic configuration
30 * Cryptographic configuration is slightly messy since we need to drag
31 * in objects based on combinations of build options.
34 PROVIDE_REQUIRING_SYMBOL();
37 #if defined ( CRYPTO_PUBKEY_RSA )
38 REQUIRE_OBJECT ( oid_rsa
);
42 #if defined ( CRYPTO_DIGEST_MD4 )
43 REQUIRE_OBJECT ( oid_md4
);
47 #if defined ( CRYPTO_DIGEST_MD5 )
48 REQUIRE_OBJECT ( oid_md5
);
52 #if defined ( CRYPTO_DIGEST_SHA1 )
53 REQUIRE_OBJECT ( oid_sha1
);
57 #if defined ( CRYPTO_DIGEST_SHA224 )
58 REQUIRE_OBJECT ( oid_sha224
);
62 #if defined ( CRYPTO_DIGEST_SHA256 )
63 REQUIRE_OBJECT ( oid_sha256
);
67 #if defined ( CRYPTO_DIGEST_SHA384 )
68 REQUIRE_OBJECT ( oid_sha384
);
72 #if defined ( CRYPTO_DIGEST_SHA512 )
73 REQUIRE_OBJECT ( oid_sha512
);
77 #if defined ( CRYPTO_DIGEST_SHA512_224 )
78 REQUIRE_OBJECT ( oid_sha512_224
);
82 #if defined ( CRYPTO_DIGEST_SHA512_256 )
83 REQUIRE_OBJECT ( oid_sha512_256
);
87 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_MD5 )
88 REQUIRE_OBJECT ( rsa_md5
);
92 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_SHA1 )
93 REQUIRE_OBJECT ( rsa_sha1
);
97 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_SHA224 )
98 REQUIRE_OBJECT ( rsa_sha224
);
101 /* RSA and SHA-256 */
102 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_SHA256 )
103 REQUIRE_OBJECT ( rsa_sha256
);
106 /* RSA and SHA-384 */
107 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_SHA384 )
108 REQUIRE_OBJECT ( rsa_sha384
);
111 /* RSA and SHA-512 */
112 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_SHA512 )
113 REQUIRE_OBJECT ( rsa_sha512
);
116 /* RSA, AES-CBC, and SHA-1 */
117 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_CIPHER_AES_CBC ) && \
118 defined ( CRYPTO_DIGEST_SHA1 )
119 REQUIRE_OBJECT ( rsa_aes_cbc_sha1
);
122 /* RSA, AES-CBC, and SHA-256 */
123 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_CIPHER_AES_CBC ) && \
124 defined ( CRYPTO_DIGEST_SHA256 )
125 REQUIRE_OBJECT ( rsa_aes_cbc_sha256
);