Annotation of embedaddon/ipsec-tools/src/racoon/crypto_openssl.h, revision 1.1

1.1     ! misho       1: /*     $NetBSD: crypto_openssl.h,v 1.7 2009/08/17 11:59:10 vanhu Exp $ */
        !             2: 
        !             3: /* Id: crypto_openssl.h,v 1.11 2004/11/13 11:28:01 manubsd Exp */
        !             4: 
        !             5: /*
        !             6:  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
        !             7:  * All rights reserved.
        !             8:  * 
        !             9:  * Redistribution and use in source and binary forms, with or without
        !            10:  * modification, are permitted provided that the following conditions
        !            11:  * are met:
        !            12:  * 1. Redistributions of source code must retain the above copyright
        !            13:  *    notice, this list of conditions and the following disclaimer.
        !            14:  * 2. Redistributions in binary form must reproduce the above copyright
        !            15:  *    notice, this list of conditions and the following disclaimer in the
        !            16:  *    documentation and/or other materials provided with the distribution.
        !            17:  * 3. Neither the name of the project nor the names of its contributors
        !            18:  *    may be used to endorse or promote products derived from this software
        !            19:  *    without specific prior written permission.
        !            20:  * 
        !            21:  * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
        !            22:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        !            23:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
        !            24:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
        !            25:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        !            26:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
        !            27:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
        !            28:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
        !            29:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
        !            30:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        !            31:  * SUCH DAMAGE.
        !            32:  */
        !            33: 
        !            34: #ifndef _CRYPTO_OPENSSL_H
        !            35: #define _CRYPTO_OPENSSL_H
        !            36: 
        !            37: #include <openssl/x509v3.h>
        !            38: #include <openssl/rsa.h>
        !            39: 
        !            40: #define GENT_OTHERNAME GEN_OTHERNAME
        !            41: #define GENT_EMAIL     GEN_EMAIL
        !            42: #define GENT_DNS       GEN_DNS
        !            43: #define GENT_X400      GEN_X400
        !            44: #define GENT_DIRNAME   GEN_DIRNAME
        !            45: #define GENT_EDIPARTY  GEN_EDIPARTY
        !            46: #define GENT_URI       GEN_URI
        !            47: #define GENT_IPADD     GEN_IPADD
        !            48: #define GENT_RID       GEN_RID
        !            49: 
        !            50: extern vchar_t *eay_str2asn1dn __P((const char *, int));
        !            51: extern vchar_t *eay_hex2asn1dn __P((const char *, int));
        !            52: extern int eay_cmp_asn1dn __P((vchar_t *, vchar_t *));
        !            53: extern int eay_check_x509cert __P((vchar_t *, char *, char *, int));
        !            54: extern vchar_t *eay_get_x509asn1subjectname __P((vchar_t *));
        !            55: extern int eay_get_x509subjectaltname __P((vchar_t *, char **, int *, int));
        !            56: extern vchar_t * eay_get_x509asn1issuername __P((vchar_t *));
        !            57: extern char *eay_get_x509text __P((vchar_t *));
        !            58: extern vchar_t *eay_get_x509cert __P((char *));
        !            59: extern vchar_t *eay_get_x509sign __P((vchar_t *, vchar_t *));
        !            60: extern int eay_check_x509sign __P((vchar_t *, vchar_t *, vchar_t *));
        !            61: 
        !            62: extern int eay_check_rsasign __P((vchar_t *, vchar_t *, RSA *));
        !            63: extern vchar_t *eay_get_rsasign __P((vchar_t *, RSA *));
        !            64: 
        !            65: /* RSA */
        !            66: extern vchar_t *eay_rsa_sign __P((vchar_t *, RSA *));
        !            67: extern int eay_rsa_verify __P((vchar_t *, vchar_t *, RSA *));
        !            68: 
        !            69: /* ASN.1 */
        !            70: extern vchar_t *eay_get_pkcs1privkey __P((char *));
        !            71: extern vchar_t *eay_get_pkcs1pubkey __P((char *));
        !            72: 
        !            73: /* string error */
        !            74: extern char *eay_strerror __P((void));
        !            75: 
        !            76: /* OpenSSL initialization */
        !            77: extern void eay_init __P((void));
        !            78: 
        !            79: /* Generic EVP */
        !            80: extern vchar_t *evp_crypt __P((vchar_t *data, vchar_t *key, vchar_t *iv,
        !            81:                               const EVP_CIPHER *e, int enc));
        !            82: extern int evp_weakkey __P((vchar_t *key, const EVP_CIPHER *e));
        !            83: extern int evp_keylen __P((int len, const EVP_CIPHER *e));
        !            84: 
        !            85: /* DES */
        !            86: extern vchar_t *eay_des_encrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !            87: extern vchar_t *eay_des_decrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !            88: extern int eay_des_weakkey __P((vchar_t *));
        !            89: extern int eay_des_keylen __P((int));
        !            90: 
        !            91: /* IDEA */
        !            92: extern vchar_t *eay_idea_encrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !            93: extern vchar_t *eay_idea_decrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !            94: extern int eay_idea_weakkey __P((vchar_t *));
        !            95: extern int eay_idea_keylen __P((int));
        !            96: 
        !            97: /* blowfish */
        !            98: extern vchar_t *eay_bf_encrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !            99: extern vchar_t *eay_bf_decrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !           100: extern int eay_bf_weakkey __P((vchar_t *));
        !           101: extern int eay_bf_keylen __P((int));
        !           102: 
        !           103: /* RC5 */
        !           104: extern vchar_t *eay_rc5_encrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !           105: extern vchar_t *eay_rc5_decrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !           106: extern int eay_rc5_weakkey __P((vchar_t *));
        !           107: extern int eay_rc5_keylen __P((int));
        !           108: 
        !           109: /* 3DES */
        !           110: extern vchar_t *eay_3des_encrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !           111: extern vchar_t *eay_3des_decrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !           112: extern int eay_3des_weakkey __P((vchar_t *));
        !           113: extern int eay_3des_keylen __P((int));
        !           114: 
        !           115: /* CAST */
        !           116: extern vchar_t *eay_cast_encrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !           117: extern vchar_t *eay_cast_decrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !           118: extern int eay_cast_weakkey __P((vchar_t *));
        !           119: extern int eay_cast_keylen __P((int));
        !           120: 
        !           121: /* AES(RIJNDAEL) */
        !           122: extern vchar_t *eay_aes_encrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !           123: extern vchar_t *eay_aes_decrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !           124: extern int eay_aes_weakkey __P((vchar_t *));
        !           125: extern int eay_aes_keylen __P((int));
        !           126: 
        !           127: #if defined(HAVE_OPENSSL_CAMELLIA_H)
        !           128: /* Camellia */
        !           129: extern vchar_t *eay_camellia_encrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !           130: extern vchar_t *eay_camellia_decrypt __P((vchar_t *, vchar_t *, vchar_t *));
        !           131: extern int eay_camellia_weakkey __P((vchar_t *));
        !           132: extern int eay_camellia_keylen __P((int));
        !           133: #endif
        !           134: 
        !           135: /* misc */
        !           136: extern int eay_null_keylen __P((int));
        !           137: extern int eay_null_hashlen __P((void));
        !           138: extern int eay_kpdk_hashlen __P((void));
        !           139: extern int eay_twofish_keylen __P((int));
        !           140: 
        !           141: /* hash */
        !           142: #if defined(WITH_SHA2)
        !           143: /* HMAC SHA2 */
        !           144: extern vchar_t *eay_hmacsha2_512_one __P((vchar_t *, vchar_t *));
        !           145: extern caddr_t eay_hmacsha2_512_init __P((vchar_t *));
        !           146: extern void eay_hmacsha2_512_update __P((caddr_t, vchar_t *));
        !           147: extern vchar_t *eay_hmacsha2_512_final __P((caddr_t));
        !           148: extern vchar_t *eay_hmacsha2_384_one __P((vchar_t *, vchar_t *));
        !           149: extern caddr_t eay_hmacsha2_384_init __P((vchar_t *));
        !           150: extern void eay_hmacsha2_384_update __P((caddr_t, vchar_t *));
        !           151: extern vchar_t *eay_hmacsha2_384_final __P((caddr_t));
        !           152: extern vchar_t *eay_hmacsha2_256_one __P((vchar_t *, vchar_t *));
        !           153: extern caddr_t eay_hmacsha2_256_init __P((vchar_t *));
        !           154: extern void eay_hmacsha2_256_update __P((caddr_t, vchar_t *));
        !           155: extern vchar_t *eay_hmacsha2_256_final __P((caddr_t));
        !           156: #endif
        !           157: /* HMAC SHA1 */
        !           158: extern vchar_t *eay_hmacsha1_one __P((vchar_t *, vchar_t *));
        !           159: extern caddr_t eay_hmacsha1_init __P((vchar_t *));
        !           160: extern void eay_hmacsha1_update __P((caddr_t, vchar_t *));
        !           161: extern vchar_t *eay_hmacsha1_final __P((caddr_t));
        !           162: /* HMAC MD5 */
        !           163: extern vchar_t *eay_hmacmd5_one __P((vchar_t *, vchar_t *));
        !           164: extern caddr_t eay_hmacmd5_init __P((vchar_t *));
        !           165: extern void eay_hmacmd5_update __P((caddr_t, vchar_t *));
        !           166: extern vchar_t *eay_hmacmd5_final __P((caddr_t));
        !           167: 
        !           168: #if defined(WITH_SHA2)
        !           169: /* SHA2 functions */
        !           170: extern caddr_t eay_sha2_512_init __P((void));
        !           171: extern void eay_sha2_512_update __P((caddr_t, vchar_t *));
        !           172: extern vchar_t *eay_sha2_512_final __P((caddr_t));
        !           173: extern vchar_t *eay_sha2_512_one __P((vchar_t *));
        !           174: #endif
        !           175: extern int eay_sha2_512_hashlen __P((void));
        !           176: 
        !           177: #if defined(WITH_SHA2)
        !           178: extern caddr_t eay_sha2_384_init __P((void));
        !           179: extern void eay_sha2_384_update __P((caddr_t, vchar_t *));
        !           180: extern vchar_t *eay_sha2_384_final __P((caddr_t));
        !           181: extern vchar_t *eay_sha2_384_one __P((vchar_t *));
        !           182: #endif
        !           183: extern int eay_sha2_384_hashlen __P((void));
        !           184: 
        !           185: #if defined(WITH_SHA2)
        !           186: extern caddr_t eay_sha2_256_init __P((void));
        !           187: extern void eay_sha2_256_update __P((caddr_t, vchar_t *));
        !           188: extern vchar_t *eay_sha2_256_final __P((caddr_t));
        !           189: extern vchar_t *eay_sha2_256_one __P((vchar_t *));
        !           190: #endif
        !           191: extern int eay_sha2_256_hashlen __P((void));
        !           192: 
        !           193: /* SHA functions */
        !           194: extern caddr_t eay_sha1_init __P((void));
        !           195: extern void eay_sha1_update __P((caddr_t, vchar_t *));
        !           196: extern vchar_t *eay_sha1_final __P((caddr_t));
        !           197: extern vchar_t *eay_sha1_one __P((vchar_t *));
        !           198: extern int eay_sha1_hashlen __P((void));
        !           199: 
        !           200: /* MD5 functions */
        !           201: extern caddr_t eay_md5_init __P((void));
        !           202: extern void eay_md5_update __P((caddr_t, vchar_t *));
        !           203: extern vchar_t *eay_md5_final __P((caddr_t));
        !           204: extern vchar_t *eay_md5_one __P((vchar_t *));
        !           205: extern int eay_md5_hashlen __P((void));
        !           206: 
        !           207: /* RNG */
        !           208: extern vchar_t *eay_set_random __P((u_int32_t));
        !           209: extern u_int32_t eay_random __P((void));
        !           210: 
        !           211: /* DH */
        !           212: extern int eay_dh_generate __P((vchar_t *, u_int32_t, u_int, vchar_t **, vchar_t **));
        !           213: extern int eay_dh_compute __P((vchar_t *, u_int32_t, vchar_t *, vchar_t *, vchar_t *, vchar_t **));
        !           214: 
        !           215: /* Base 64 */
        !           216: vchar_t *base64_encode(char *in, long inlen);
        !           217: vchar_t *base64_decode(char *in, long inlen);
        !           218: 
        !           219: RSA *base64_pubkey2rsa(char *in);
        !           220: RSA *bignum_pubkey2rsa(BIGNUM *in);
        !           221: 
        !           222: /* misc */
        !           223: extern int eay_revbnl __P((vchar_t *));
        !           224: #include <openssl/bn.h>
        !           225: extern int eay_v2bn __P((BIGNUM **, vchar_t *));
        !           226: extern int eay_bn2v __P((vchar_t **, BIGNUM *));
        !           227: 
        !           228: extern const char *eay_version __P((void));
        !           229: 
        !           230: #define CBC_BLOCKLEN 8
        !           231: #define IPSEC_ENCRYPTKEYLEN 8
        !           232: 
        !           233: #endif /* _CRYPTO_OPENSSL_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>