iPXE
config_crypto.c
Go to the documentation of this file.
00001 /*
00002  * This program is free software; you can redistribute it and/or
00003  * modify it under the terms of the GNU General Public License as
00004  * published by the Free Software Foundation; either version 2 of the
00005  * License, or (at your option) any later version.
00006  *
00007  * This program is distributed in the hope that it will be useful, but
00008  * WITHOUT ANY WARRANTY; without even the implied warranty of
00009  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00010  * General Public License for more details.
00011  *
00012  * You should have received a copy of the GNU General Public License
00013  * along with this program; if not, write to the Free Software
00014  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
00015  * 02110-1301, USA.
00016  *
00017  * You can also choose to distribute this program under the terms of
00018  * the Unmodified Binary Distribution Licence (as given in the file
00019  * COPYING.UBDL), provided that you have satisfied its requirements.
00020  */
00021 
00022 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
00023 
00024 #include <config/crypto.h>
00025 
00026 /** @file
00027  *
00028  * Cryptographic configuration
00029  *
00030  * Cryptographic configuration is slightly messy since we need to drag
00031  * in objects based on combinations of build options.
00032  */
00033 
00034 PROVIDE_REQUIRING_SYMBOL();
00035 
00036 /* RSA and MD5 */
00037 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_MD5 )
00038 REQUIRE_OBJECT ( rsa_md5 );
00039 #endif
00040 
00041 /* RSA and SHA-1 */
00042 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_SHA1 )
00043 REQUIRE_OBJECT ( rsa_sha1 );
00044 #endif
00045 
00046 /* RSA and SHA-224 */
00047 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_SHA224 )
00048 REQUIRE_OBJECT ( rsa_sha224 );
00049 #endif
00050 
00051 /* RSA and SHA-256 */
00052 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_SHA256 )
00053 REQUIRE_OBJECT ( rsa_sha256 );
00054 #endif
00055 
00056 /* RSA and SHA-384 */
00057 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_SHA384 )
00058 REQUIRE_OBJECT ( rsa_sha384 );
00059 #endif
00060 
00061 /* RSA and SHA-512 */
00062 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_DIGEST_SHA512 )
00063 REQUIRE_OBJECT ( rsa_sha512 );
00064 #endif
00065 
00066 /* RSA, AES-CBC, and SHA-1 */
00067 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_CIPHER_AES_CBC ) && \
00068     defined ( CRYPTO_DIGEST_SHA1 )
00069 REQUIRE_OBJECT ( rsa_aes_cbc_sha1 );
00070 #endif
00071 
00072 /* RSA, AES-CBC, and SHA-256 */
00073 #if defined ( CRYPTO_PUBKEY_RSA ) && defined ( CRYPTO_CIPHER_AES_CBC ) && \
00074     defined ( CRYPTO_DIGEST_SHA256 )
00075 REQUIRE_OBJECT ( rsa_aes_cbc_sha256 );
00076 #endif