/* ****************************************************************************** * INTERPEAK CONFIGURATION SOURCE FILE * * Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipcrypto_config.c,v $ $Revision: 1.28.10.5 $ * $Source: /home/interpeak/CVSRoot/ipcrypto/config/ipcrypto_config.c,v $ * $Author: yli10 $ * $State: Exp $ $Locker: $ * * INTERPEAK_COPYRIGHT_STRING * Design and implementation by Lennart Bang ****************************************************************************** */ /* **************************************************************************** * 1 DESCRIPTION **************************************************************************** */ /* **************************************************************************** * 2 INCLUDE FILES **************************************************************************** */ #include #include "ipcrypto_config.h" #include #include #include #include #include #include /* **************************************************************************** * 3 DEFINES **************************************************************************** */ #define SHELL_ADD_CMD(cmd, usage, desc, hook) \ ipcom_shell_add_cmd(cmd, usage, desc, hook, IPCOM_PRIORITY_MIN, IPCOM_PROC_STACK_MAX*2) #if defined(_WRS_CONFIG_COMPONENT_IPCRYPTO_USE_FIPS_140_2) && !defined(OPENSSL_FIPS) #define OPENSSL_FIPS #endif #ifdef PRJ_BUILD #ifdef IPCRYPTO_USE_TEST #undef IPCRYPTO_USE_TEST #endif #ifdef INCLUDE_IPCRYPTO_USE_TEST_CMDS #define IPCRYPTO_USE_TEST #endif #ifdef IPCRYPTO_USE_KEY_DB_EXAMPLE_KEYS #undef IPCRYPTO_USE_KEY_DB_EXAMPLE_KEYS #endif #ifdef INCLUDE_IPCRYPTO_USE_KEY_DB_EXAMPLE_KEYS #define IPCRYPTO_USE_KEY_DB_EXAMPLE_KEYS #endif #endif /* PRJ_BUILD */ /* *=========================================================================== * IPCRYPTO_USE_*_CMD *=========================================================================== * Set the defines below to include the correspondig openssl shell command * applications. */ #if defined(IPCRYPTO_USE_APPS) && !defined(PRJ_BUILD) || defined(INCLUDE_IPCRYPTO_USE_CMDS) #define IPCRYPTO_USE_VERIFY_CMD #define IPCRYPTO_USE_ASN1PARSE_CMD #define IPCRYPTO_USE_REQ_CMD #define IPCRYPTO_USE_DGST_CMD #define IPCRYPTO_USE_DH_CMD #define IPCRYPTO_USE_DHPARAM_CMD #define IPCRYPTO_USE_GENDH_CMD #define IPCRYPTO_USE_ENC_CMD #define IPCRYPTO_USE_PASSWD_CMD #define IPCRYPTO_USE_CA_CMD #define IPCRYPTO_USE_CRL_CMD #define IPCRYPTO_USE_RSA_CMD #define IPCRYPTO_USE_RSAUTL_CMD #define IPCRYPTO_USE_GENRSA_CMD #define IPCRYPTO_USE_DSA_CMD #define IPCRYPTO_USE_DSAPARAM_CMD #define IPCRYPTO_USE_GENDSA_CMD #define IPCRYPTO_USE_X509_CMD #define IPCRYPTO_USE_PKCS7_CMD #define IPCRYPTO_USE_CRL2P7_CMD #define IPCRYPTO_USE_NSEQ_CMD #define IPCRYPTO_USE_PKCS8_CMD #define IPCRYPTO_USE_SPKAC_CMD #define IPCRYPTO_USE_SMIME_CMD #define IPCRYPTO_USE_RAND_CMD #define IPCRYPTO_USE_VERSION_CMD #define IPCRYPTO_USE_ENGINE_CMD #define IPCRYPTO_USE_SPEED_CMD #ifdef IPSSL #define IPCRYPTO_USE_OCSP_CMD #endif #endif /* IPCRYPTO_USE_APPS */ /* **************************************************************************** * 4 TYPES **************************************************************************** */ /* **************************************************************************** * 5 EXTERN PROTOTYPES **************************************************************************** */ /* *=========================================================================== * apps *=========================================================================== */ IP_GLOBAL void ipcrypto_key_db_install_example_keys(void); extern void ipcrypto_cmds_startup(void); extern int verify_main(int argc, char ** argv); extern int asn1parse_main(int argc, char ** argv); extern int req_main(int argc,char *argv[]); extern int dgst_main(int argc,char *argv[]); extern int dh_main(int argc,char *argv[]); extern int dhparam_main(int argc,char *argv[]); extern int enc_main(int argc,char *argv[]); extern int passwd_main(int argc,char *argv[]); extern int gendh_main(int argc,char *argv[]); extern int ca_main(int argc,char *argv[]); extern int crl_main(int argc,char *argv[]); extern int rsa_main(int argc,char *argv[]); extern int rsautl_main(int argc,char *argv[]); extern int dsa_main(int argc,char *argv[]); extern int dsaparam_main(int argc,char *argv[]); extern int x509_main(int argc,char *argv[]); extern int genrsa_main(int argc,char *argv[]); extern int gendsa_main(int argc,char *argv[]); extern int speed_main(int argc,char *argv[]); extern int version_main(int argc,char *argv[]); extern int pkcs7_main(int argc,char *argv[]); extern int crl2pkcs7_main(int argc,char *argv[]); extern int nseq_main(int argc,char *argv[]); extern int pkcs12_main(int argc,char *argv[]); extern int pkcs8_main(int argc,char *argv[]); extern int spkac_main(int argc,char *argv[]); extern int smime_main(int argc,char *argv[]); extern int rand_main(int argc,char *argv[]); extern int engine_main(int argc,char *argv[]); extern int ocsp_main(int argc,char *argv[]); extern int ipcrypto_cmd_cmp(int argc, char **argv); extern int ipcrypto_cmd_memory(int argc, char **argv); extern int ipcrypto_cmd_fips_ctrl(int argc, char **argv); /* *=========================================================================== * test *=========================================================================== */ extern int bftest(int argc, char **argv); extern int bntest(int argc, char **argv); extern int divtest(int argc, char **argv); extern int exptest(int argc, char **argv); extern int casttest(int argc, char **argv); extern int destest(int argc, char **argv); extern int dhtest(int argc, char **argv); extern int dsatest(int argc, char **argv); extern int ectest(int argc, char **argv); extern int ecdhtest(int argc, char **argv); extern int ecdsatest(int argc, char **argv); extern int enginetest(int argc, char **argv); extern int hmactest(int argc, char **argv); extern int evp_test(int argc, char **argv); extern int hmactest(int argc, char **argv); extern int md2test(int argc, char **argv); extern int md4test(int argc, char **argv); extern int md5test(int argc, char **argv); extern int mdc2test(int argc, char **argv); extern int randtest(int argc, char **argv); extern int rc2test(int argc, char **argv); extern int rc4test(int argc, char **argv); extern int rc5test(int argc, char **argv); extern int rmdtest(int argc, char **argv); extern int rsa_test(int argc, char **argv); extern int sha1test(int argc, char **argv); extern int shatest(int argc, char **argv); extern int sha512test(int argc, char **argv); extern int tabtest(int argc, char **argv); extern int ipcrypto_cmd_aescmac_test(int argc, char **argv); extern int ipcrypto_cmd_aeskeywrap_test(int argc, char **argv); extern int aesgcmtest_main(int argc, char **argv); extern int aes_ccm_test_main(int argc,char *argv[]); extern int constant_time_test(int argc, char *argv[]); /* **************************************************************************** * 6 LOCAL PROTOTYPES **************************************************************************** */ #if IPCOM_USE_SHELL != IPCOM_SHELL_NONE #ifdef IPCRYPTO_USE_VERIFY_CMD IP_STATIC int ipcrypto_verify_main(int argc, char ** argv); #endif #ifdef IPCRYPTO_USE_ASN1PARSE_CMD IP_STATIC int ipcrypto_asn1parse_main(int argc, char ** argv); #endif #ifdef IPCRYPTO_USE_REQ_CMD IP_STATIC int ipcrypto_req_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_DGST_CMD IP_STATIC int ipcrypto_dgst_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_DH_CMD IP_STATIC int ipcrypto_dh_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_DHPARAM_CMD IP_STATIC int ipcrypto_dhparam_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_ENC_CMD IP_STATIC int ipcrypto_enc_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_PASSWD_CMD IP_STATIC int ipcrypto_passwd_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_GENDH_CMD IP_STATIC int ipcrypto_gendh_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_CA_CMD IP_STATIC int ipcrypto_ca_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_CRL_CMD IP_STATIC int ipcrypto_crl_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_RSA_CMD IP_STATIC int ipcrypto_rsa_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_RSAUTL_CMD IP_STATIC int ipcrypto_rsautl_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_DSA_CMD IP_STATIC int ipcrypto_dsa_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_DSAPARAM_CMD IP_STATIC int ipcrypto_dsaparam_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_X509_CMD IP_STATIC int ipcrypto_x509_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_GENRSA_CMD IP_STATIC int ipcrypto_genrsa_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_GENDSA_CMD IP_STATIC int ipcrypto_gendsa_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_SPEED_CMD IP_STATIC int ipcrypto_speed_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_VERSION_CMD IP_STATIC int ipcrypto_version_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_PKCS7_CMD IP_STATIC int ipcrypto_pkcs7_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_CRL2PKCS7_CMD IP_STATIC int ipcrypto_crl2pkcs7_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_NSEQ_CMD IP_STATIC int ipcrypto_nseq_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_PKCS12_CMD IP_STATIC int ipcrypto_pkcs12_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_PKCS8_CMD IP_STATIC int ipcrypto_pkcs8_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_SPKAC_CMD IP_STATIC int ipcrypto_spkac_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_SMIME_CMD IP_STATIC int ipcrypto_smime_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_RAND_CMD IP_STATIC int ipcrypto_rand_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_ENGINE_CMD IP_STATIC int ipcrypto_engine_main(int argc,char *argv[]); #endif #ifdef IPCRYPTO_USE_OCSP_CMD IP_STATIC int ipcrypto_ocsp_main(int argc,char *argv[]); #endif #endif /* IPCOM_USE_SHELL != IPCOM_SHELL_NONE */ IP_PUBLIC Ip_err ipcrypto_configure(void); /* **************************************************************************** * 7 DATA **************************************************************************** */ /* *=========================================================================== * SYSVAR CONFIGURATION *=========================================================================== */ IP_STATIC IP_CONST Ipcom_sysvar ipcrypto_conf_sysvar[] = { IP_SYSVAR("OPENSSL_CONF", IPCOM_FILE_ROOT "openssl/openssl.cnf", OPENSSL_CONF), IP_SYSVAR("HOME", IPCOM_FILE_ROOT "openssl", OPENSSL_HOME), { IP_NULL, IP_NULL } }; #ifdef OPENSSL_FIPS /* When running ipcrypto in FIPS 140-2 mode, a fingerprint (hash) is calculated * of the FIPS module implementation. This fingerprint is compared to an expected * value (ipcrypto_fips_signature). If the value matches, the system is allowed * to enter FIPS 140-2 mode. Initializing ipcrypto_fips_signature to all 0xEE * will not enable FIPS 140-2 mode. After you have booted your image you can * use the shell command 'fips_ctrl hash' to calculate the fips_signature. * Thereafter update ipcrypto_fips_signature below, rebuild and reboot and * ipcrypto will start in FIPS 140-2 mode. */ unsigned char ipcrypto_fips_signature[20] = { 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE, 0xEE }; #endif /* **************************************************************************** * 8 STATIC FUNCTIONS **************************************************************************** */ #if IPCOM_USE_SHELL != IPCOM_SHELL_NONE /* *=========================================================================== * SHELL COMMANDS *=========================================================================== */ #ifdef IPCRYPTO_USE_VERIFY_CMD IP_STATIC int ipcrypto_verify_main(int argc, char ** argv) { ipcrypto_cmds_startup(); return verify_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_ASN1PARSE_CMD IP_STATIC int ipcrypto_asn1parse_main(int argc, char ** argv) { ipcrypto_cmds_startup(); return asn1parse_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_REQ_CMD IP_STATIC int ipcrypto_req_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return req_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_DGST_CMD IP_STATIC int ipcrypto_dgst_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return dgst_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_DH_CMD IP_STATIC int ipcrypto_dh_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return dh_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_DHPARAM_CMD IP_STATIC int ipcrypto_dhparam_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return dhparam_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_ENC_CMD IP_STATIC int ipcrypto_enc_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return enc_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_PASSWD_CMD IP_STATIC int ipcrypto_passwd_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return passwd_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_GENDH_CMD IP_STATIC int ipcrypto_gendh_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return gendh_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_CA_CMD IP_STATIC int ipcrypto_ca_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return ca_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_CRL_CMD IP_STATIC int ipcrypto_crl_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return crl_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_RSA_CMD IP_STATIC int ipcrypto_rsa_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return rsa_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_RSAUTL_CMD IP_STATIC int ipcrypto_rsautl_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return rsautl_main(argc, argv); } #endif #ifndef OPENSSL_NO_DSA #ifdef IPCRYPTO_USE_DSA_CMD IP_STATIC int ipcrypto_dsa_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return dsa_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_GENDSA_CMD IP_STATIC int ipcrypto_gendsa_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return gendsa_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_DSAPARAM_CMD IP_STATIC int ipcrypto_dsaparam_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return dsaparam_main(argc, argv); } #endif #endif /* OPENSSL_NO_DSA */ #ifdef IPCRYPTO_USE_X509_CMD IP_STATIC int ipcrypto_x509_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return x509_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_GENRSA_CMD IP_STATIC int ipcrypto_genrsa_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return genrsa_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_SPEED_CMD IP_STATIC int ipcrypto_speed_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return speed_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_VERSION_CMD IP_STATIC int ipcrypto_version_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return version_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_PKCS7_CMD IP_STATIC int ipcrypto_pkcs7_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return pkcs7_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_CRL2PKCS7_CMD IP_STATIC int ipcrypto_crl2pkcs7_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return crl2pkcs7_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_NSEQ_CMD IP_STATIC int ipcrypto_nseq_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return nseq_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_PKCS12_CMD IP_STATIC int ipcrypto_pkcs12_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return pkcs12_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_PKCS8_CMD IP_STATIC int ipcrypto_pkcs8_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return pkcs8_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_SPKAC_CMD IP_STATIC int ipcrypto_spkac_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return spkac_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_SMIME_CMD IP_STATIC int ipcrypto_smime_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return smime_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_RAND_CMD IP_STATIC int ipcrypto_rand_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return rand_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_ENGINE_CMD IP_STATIC int ipcrypto_engine_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return engine_main(argc, argv); } #endif #ifdef IPCRYPTO_USE_OCSP_CMD IP_STATIC int ipcrypto_ocsp_main(int argc,char *argv[]) { ipcrypto_cmds_startup(); return ocsp_main(argc, argv); } #endif #endif /* IPCOM_USE_SHELL != IPCOM_SHELL_NONE */ /* **************************************************************************** * 9 GLOBAL FUNCTIONS **************************************************************************** */ /* **************************************************************************** * 10 PUBLIC FUNCTIONS **************************************************************************** */ /* *=========================================================================== * ipcrypto_configure *=========================================================================== */ IP_PUBLIC Ip_err ipcrypto_configure(void) { /* Initialize IPCRYPTO system variables. */ (void)ipcom_sysvar_setv(ipcrypto_conf_sysvar, IPCOM_SYSVAR_FLAG_OVERWRITE); #if IPCOM_USE_SHELL != IPCOM_SHELL_NONE #ifdef IPCRYPTO_USE_VERIFY_CMD SHELL_ADD_CMD("verify", "verify [-verbose] [-CApath path] [-CAfile file] [-purpose purpose] cert1 cert2 ...", "X.509 Certificate Verification", ipcrypto_verify_main); #endif #ifdef IPCRYPTO_USE_ASN1PARSE_CMD SHELL_ADD_CMD("asn1parse", "asn1parse [options]", "Parse an ASN.1 sequence", ipcrypto_asn1parse_main); #endif #ifdef IPCRYPTO_USE_REQ_CMD SHELL_ADD_CMD("req", "req [options]", "X.509 Certificate Signing Request (CSR) Management", ipcrypto_req_main); #endif #ifdef IPCRYPTO_USE_DGST_CMD SHELL_ADD_CMD("dgst", "dgst [options] [file ...]", "Message Digest Calculation", ipcrypto_dgst_main); #endif #ifndef OPENSSL_NO_DH #ifdef IPCRYPTO_USE_DH_CMD SHELL_ADD_CMD("dh", "dh [options]", "Diffie-Hellman Parameter Management. Obsoleted by dhparam", ipcrypto_dh_main); #endif #ifdef IPCRYPTO_USE_DHPARAM_CMD SHELL_ADD_CMD("dhparam", "dhparam [options] [numbits]", "Generation and Management of Diffie-Hellman Parameters", ipcrypto_dhparam_main); #endif #ifdef IPCRYPTO_USE_GENDH_CMD SHELL_ADD_CMD("gendh", "x", "Generation of Diffie-Hellman Parameters. Obsoleted by dhparam", ipcrypto_gendh_main); #endif #endif /* OPENSSL_NO_DH */ #ifdef IPCRYPTO_USE_ENC_CMD SHELL_ADD_CMD("enc", "enc [options]", "Encoding with Ciphers", ipcrypto_enc_main); #endif #ifdef IPCRYPTO_USE_PASSWD_CMD SHELL_ADD_CMD("passwd", "passwd [options] [passwords]", "Generation of hashed passwords", ipcrypto_passwd_main); #endif #ifdef IPCRYPTO_USE_CA_CMD SHELL_ADD_CMD("ca", "ca args", "Certificate Authority (CA) Management", ipcrypto_ca_main); #endif #ifdef IPCRYPTO_USE_CRL_CMD SHELL_ADD_CMD("crl", "crl args", "Certificate Revocation List (CRL) Management", ipcrypto_crl_main); #endif #ifndef OPENSSL_NO_RSA #ifdef IPCRYPTO_USE_RSA_CMD SHELL_ADD_CMD("rsa", "rsa [options]", "RSA Data Management", ipcrypto_rsa_main); #endif #ifdef IPCRYPTO_USE_RSAUTL_CMD SHELL_ADD_CMD("rsautl", "rsautl [options]", "RSA utility for signing, verification, encryption, and decryption", ipcrypto_rsautl_main); #endif #ifdef IPCRYPTO_USE_GENRSA_CMD SHELL_ADD_CMD("genrsa", "genrsa [args] [numbits]", "Generation of RSA keys", ipcrypto_genrsa_main); #endif #endif /* OPENSSL_NO_RSA */ #ifndef OPENSSL_NO_DSA #ifdef IPCRYPTO_USE_DSA_CMD SHELL_ADD_CMD("dsa", "dsa [options]", "DSA key processing", ipcrypto_dsa_main); #endif #ifdef IPCRYPTO_USE_DSAPARAM_CMD SHELL_ADD_CMD("dsaparam", "dsaparam [options]", "DSA parameter manipulation and generation", ipcrypto_dsaparam_main); #endif #ifdef IPCRYPTO_USE_GENDSA_CMD SHELL_ADD_CMD("gendsa", "gendsa [args] dsaparam-file", "Generation of DSA Parameters", ipcrypto_gendsa_main); #endif #endif /* OPENSSL_NO_DSA */ #ifdef IPCRYPTO_USE_X509_CMD SHELL_ADD_CMD("x509", "x509 [options]", "Certificate display and signing utility", ipcrypto_x509_main); #endif #ifdef IPCRYPTO_USE_SPEED_CMD SHELL_ADD_CMD("speed", "speed [options]", "Test encryption performance", ipcrypto_speed_main); #endif #ifdef IPCRYPTO_USE_PKCS7_CMD SHELL_ADD_CMD("pkcs7", "pkcs7 [options]", "PKCS#7 Data Management", ipcrypto_pkcs7_main); #endif #ifdef IPCRYPTO_USE_CRL2PKCS7_CMD SHELL_ADD_CMD("crl2p7", "crl2p7 [options]", "CRL to PKCS#7 Conversion", ipcrypto_crl2pkcs7_main); #endif #ifdef IPCRYPTO_USE_NSEQ_CMD SHELL_ADD_CMD("nseq", "nseq [options]", "Create or examine a netscape certificate sequence", ipcrypto_nseq_main); #endif #if defined(IPCRYPTO_USE_PKCS12_CMD) &&!defined(OPENSSL_NO_DES) && !defined(OPENSSL_NO_SHA1) SHELL_ADD_CMD("pkcs12", "pkcs12 [options]", "PKCS#12 file utility", ipcrypto_pkcs12_main); #endif #ifdef IPCRYPTO_USE_PKCS8_CMD SHELL_ADD_CMD("pkcs8", "pkcs8 [options]", "PKCS#8 format private key conversion tool", ipcrypto_pkcs8_main); #endif #ifdef IPCRYPTO_USE_SPKAC_CMD SHELL_ADD_CMD("spkac", "spkac [options]", "SPKAC printing and generating utility", ipcrypto_spkac_main); #endif #ifdef IPCRYPTO_USE_SMIME_CMD SHELL_ADD_CMD("smime", "smime [options]", "S/MIME mail processing", ipcrypto_smime_main); #endif #ifdef IPCRYPTO_USE_RAND_CMD SHELL_ADD_CMD("rand", "rand [options]", "Generate pseudo-random bytes", ipcrypto_rand_main); #endif #ifdef IPCRYPTO_USE_VERSION_CMD SHELL_ADD_CMD("ipcrypto_ver", "ipcrypto_ver", "Show IPCRYPTO version", ipcrypto_version_main); #endif #ifdef IPCRYPTO_USE_ENGINE_CMD SHELL_ADD_CMD("engine", "engine", "Hardware Crypto Support", ipcrypto_engine_main); #endif #ifdef IPCRYPTO_USE_OCSP_CMD SHELL_ADD_CMD("ocsp", "ocsp", "ocsp - Online Certificate Status Protocol utility", ipcrypto_ocsp_main); #endif #ifdef OPENSSL_FIPS SHELL_ADD_CMD("fips_ctrl", "fips_ctrl", "FIPS control command", ipcrypto_cmd_fips_ctrl); #endif #ifdef IPCRYPTO_USE_TEST SHELL_ADD_CMD("cmp", "cmp", "cmp", ipcrypto_cmd_cmp); SHELL_ADD_CMD("sslmem", "sslmem", "sslmem", ipcrypto_cmd_memory); /* general test/ progs. */ SHELL_ADD_CMD("bntest", "bntest", "Big number test utility.", bntest); SHELL_ADD_CMD("exptest", "exptest", "Big number test utility.", exptest); #ifndef OPENSSL_NO_EC SHELL_ADD_CMD("ectest", "ectest", "ectest test utility.", ectest); SHELL_ADD_CMD("ecdhtest", "ecdhtest", "ecdhtest test utility.", ecdhtest); SHELL_ADD_CMD("ecdsatest", "ecdsatest", "ecdsatest test utility.", ecdsatest); #endif #ifndef OPENSSL_NO_ENGINE SHELL_ADD_CMD("enginetest", "enginetest", "engine test utility.", enginetest); #endif #ifndef OPENSSL_NO_MD2 SHELL_ADD_CMD("md2test", "md2test", "md2test test utility.", md2test); #endif #ifndef OPENSSL_NO_MD4 SHELL_ADD_CMD("md4test", "md4test", "md4test test utility.", md4test); #endif #ifndef OPENSSL_NO_MD5 SHELL_ADD_CMD("md5test", "md5test", "md5test test utility.", md5test); #endif #ifndef OPENSSL_NO_HMAC SHELL_ADD_CMD("hmactest", "hmactest", "hmactest test utility.", hmactest); #endif #ifndef OPENSSL_NO_RC2 SHELL_ADD_CMD("rc2test", "rc2test", "RC2 test utility.", rc2test); #endif #ifndef OPENSSL_NO_RC4 SHELL_ADD_CMD("rc4test", "rc4test", "RC4 test utility.", rc4test); #endif #ifndef OPENSSL_NO_DES SHELL_ADD_CMD("destest", "destest", "destest test utility.", destest); #endif #ifndef OPENSSL_NO_SHA #ifndef OPENSSL_FIPS SHELL_ADD_CMD("shatest", "shatest", "shatest test utility.", shatest); SHELL_ADD_CMD("sha512test", "sha512test", "sha512 test utility.", sha512test); #endif SHELL_ADD_CMD("sha1test", "sha1test", "sha1test test utility.", sha1test); #endif #ifndef OPENSSL_NO_MDC2 SHELL_ADD_CMD("mdc2test", "mdc2test", "mdc2test test utility.", mdc2test); #endif #ifndef OPENSSL_NO_RIPEMD SHELL_ADD_CMD("rmdtest", "rmdtest", "rmdtest test utility.", rmdtest); #endif SHELL_ADD_CMD("randtest", "randtest", "randtest test utility.", randtest); #ifndef OPENSSL_NO_DH SHELL_ADD_CMD("dhtest", "dhtest", "dhtest test utility.", dhtest); #endif #ifndef OPENSSL_NO_CAST SHELL_ADD_CMD("casttest", "casttest", "casttest test utility.", casttest); #endif #ifndef OPENSSL_NO_BF SHELL_ADD_CMD("bftest", "bftest", "bftest test utility.", bftest); #endif #ifndef OPENSSL_NO_DSA SHELL_ADD_CMD("dsatest", "dsatest", "dsatest test utility.", dsatest); #endif SHELL_ADD_CMD("exptest", "exptest", "exptest test utility.", exptest); #ifndef OPENSSL_NO_RSA SHELL_ADD_CMD("rsa_test", "rsa_test", "rsa_test test utility.", rsa_test); #endif #ifndef OPENSSL_NO_EVP SHELL_ADD_CMD("evp_test", "evp_test", "evp_test test utility.", evp_test); #endif SHELL_ADD_CMD("tabtest", "tabtest", "X509 test utility.", tabtest); SHELL_ADD_CMD("cmactest", "cmactest", "AES-CMAC test utility.",ipcrypto_cmd_aescmac_test); SHELL_ADD_CMD("aeskeywraptest", "aeskeywraptest", "AES-Keywrap test utility.",ipcrypto_cmd_aeskeywrap_test); /* Openssl-1.0.1 have AES GCM and CCM support out of the box. For the time being we leave the WR * modifications/additions for these algorithms out. We need to decide if we shall continue the * support for the WR variants or if we shall rely on the std openssl variants only */ #ifndef IPCRYPTO_OPENSSL_1_0_2 SHELL_ADD_CMD("aesgcmtest", "aesgcmtest", "aesgcmtest", aesgcmtest_main); SHELL_ADD_CMD("aes_ccm_test", "aes_ccm_test", "aes_ccm_test", aes_ccm_test_main); #endif SHELL_ADD_CMD("constant_time_test", "constant_time_test", "constant_time_test test utility.", constant_time_test); #endif /* IPCRYPTO_USE_TEST */ #endif /* IPCOM_USE_SHELL != IPCOM_SHELL_NONE */ #ifdef IPCRYPTO_USE_KEY_DB_EXAMPLE_KEYS ipcrypto_key_db_install_example_keys(); #endif /* No configuration to enter */ return IPCOM_SUCCESS; } /* **************************************************************************** * END OF FILE **************************************************************************** */