wrap common crypto in HAVE_COMMONCRYPTO_COMMONCRYPTOR_H

This commit is contained in:
Love Hornquist Astrand
2010-09-07 23:25:33 -07:00
parent 0d12baeb83
commit 04e0c67070

View File

@@ -48,7 +48,9 @@
#ifdef HAVE_COMMONCRYPTO_COMMONDIGEST_H #ifdef HAVE_COMMONCRYPTO_COMMONDIGEST_H
#include <CommonCrypto/CommonDigest.h> #include <CommonCrypto/CommonDigest.h>
#endif #endif
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
#include <CommonCrypto/CommonCryptor.h> #include <CommonCrypto/CommonCryptor.h>
#endif
#include <evp.h> #include <evp.h>
#include <evp-cc.h> #include <evp-cc.h>
@@ -57,6 +59,8 @@
* *
*/ */
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
struct cc_key { struct cc_key {
CCCryptorRef href; CCCryptorRef href;
}; };
@@ -160,6 +164,8 @@ cc_des_ede3_cbc_init(EVP_CIPHER_CTX *ctx,
return init_cc_key(encp, kCCAlgorithm3DES, 0, key, kCCKeySize3DES, iv, &cc->href); return init_cc_key(encp, kCCAlgorithm3DES, 0, key, kCCKeySize3DES, iv, &cc->href);
} }
#endif /* HAVE_COMMONCRYPTO_COMMONCRYPTOR_H */
/** /**
* The tripple DES cipher type (Apple CommonCrypto provider) * The tripple DES cipher type (Apple CommonCrypto provider)
* *
@@ -171,6 +177,7 @@ cc_des_ede3_cbc_init(EVP_CIPHER_CTX *ctx,
const EVP_CIPHER * const EVP_CIPHER *
EVP_cc_des_ede3_cbc(void) EVP_cc_des_ede3_cbc(void)
{ {
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
static const EVP_CIPHER des_ede3_cbc = { static const EVP_CIPHER des_ede3_cbc = {
0, 0,
8, 8,
@@ -187,8 +194,12 @@ EVP_cc_des_ede3_cbc(void)
NULL NULL
}; };
return &des_ede3_cbc; return &des_ede3_cbc;
#else
return NULL;
#endif
} }
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
/* /*
* *
*/ */
@@ -202,6 +213,7 @@ cc_des_cbc_init(EVP_CIPHER_CTX *ctx,
struct cc_key *cc = ctx->cipher_data; struct cc_key *cc = ctx->cipher_data;
return init_cc_key(encp, kCCAlgorithmDES, 0, key, kCCBlockSizeDES, iv, &cc->href); return init_cc_key(encp, kCCAlgorithmDES, 0, key, kCCBlockSizeDES, iv, &cc->href);
} }
#endif
/** /**
* The DES cipher type (Apple CommonCrypto provider) * The DES cipher type (Apple CommonCrypto provider)
@@ -214,6 +226,7 @@ cc_des_cbc_init(EVP_CIPHER_CTX *ctx,
const EVP_CIPHER * const EVP_CIPHER *
EVP_cc_des_cbc(void) EVP_cc_des_cbc(void)
{ {
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
static const EVP_CIPHER des_ede3_cbc = { static const EVP_CIPHER des_ede3_cbc = {
0, 0,
kCCBlockSizeDES, kCCBlockSizeDES,
@@ -230,8 +243,12 @@ EVP_cc_des_cbc(void)
NULL NULL
}; };
return &des_ede3_cbc; return &des_ede3_cbc;
#else
return NULL;
#endif
} }
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
/* /*
* *
*/ */
@@ -245,6 +262,7 @@ cc_aes_cbc_init(EVP_CIPHER_CTX *ctx,
struct cc_key *cc = ctx->cipher_data; struct cc_key *cc = ctx->cipher_data;
return init_cc_key(encp, kCCAlgorithmAES128, 0, key, ctx->cipher->key_len, iv, &cc->href); return init_cc_key(encp, kCCAlgorithmAES128, 0, key, ctx->cipher->key_len, iv, &cc->href);
} }
#endif
/** /**
* The AES-128 cipher type (Apple CommonCrypto provider) * The AES-128 cipher type (Apple CommonCrypto provider)
@@ -257,6 +275,7 @@ cc_aes_cbc_init(EVP_CIPHER_CTX *ctx,
const EVP_CIPHER * const EVP_CIPHER *
EVP_cc_aes_128_cbc(void) EVP_cc_aes_128_cbc(void)
{ {
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
static const EVP_CIPHER c = { static const EVP_CIPHER c = {
0, 0,
kCCBlockSizeAES128, kCCBlockSizeAES128,
@@ -273,6 +292,9 @@ EVP_cc_aes_128_cbc(void)
NULL NULL
}; };
return &c; return &c;
#else
return NULL;
#endif
} }
/** /**
@@ -286,6 +308,7 @@ EVP_cc_aes_128_cbc(void)
const EVP_CIPHER * const EVP_CIPHER *
EVP_cc_aes_192_cbc(void) EVP_cc_aes_192_cbc(void)
{ {
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
static const EVP_CIPHER c = { static const EVP_CIPHER c = {
0, 0,
kCCBlockSizeAES128, kCCBlockSizeAES128,
@@ -302,6 +325,9 @@ EVP_cc_aes_192_cbc(void)
NULL NULL
}; };
return &c; return &c;
#else
return NULL;
#endif
} }
/** /**
@@ -315,6 +341,7 @@ EVP_cc_aes_192_cbc(void)
const EVP_CIPHER * const EVP_CIPHER *
EVP_cc_aes_256_cbc(void) EVP_cc_aes_256_cbc(void)
{ {
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
static const EVP_CIPHER c = { static const EVP_CIPHER c = {
0, 0,
kCCBlockSizeAES128, kCCBlockSizeAES128,
@@ -331,8 +358,12 @@ EVP_cc_aes_256_cbc(void)
NULL NULL
}; };
return &c; return &c;
#else
return NULL;
#endif
} }
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
/* /*
* *
*/ */
@@ -348,6 +379,7 @@ cc_aes_cfb8_init(EVP_CIPHER_CTX *ctx,
return init_cc_key(1, kCCAlgorithmAES128, kCCOptionECBMode, return init_cc_key(1, kCCAlgorithmAES128, kCCOptionECBMode,
key, ctx->cipher->key_len, NULL, &cc->href); key, ctx->cipher->key_len, NULL, &cc->href);
} }
#endif
/** /**
* The AES-128 CFB8 cipher type (Apple CommonCrypto provider) * The AES-128 CFB8 cipher type (Apple CommonCrypto provider)
@@ -360,6 +392,7 @@ cc_aes_cfb8_init(EVP_CIPHER_CTX *ctx,
const EVP_CIPHER * const EVP_CIPHER *
EVP_cc_aes_128_cfb8(void) EVP_cc_aes_128_cfb8(void)
{ {
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
static const EVP_CIPHER c = { static const EVP_CIPHER c = {
0, 0,
1, 1,
@@ -376,6 +409,9 @@ EVP_cc_aes_128_cfb8(void)
NULL NULL
}; };
return &c; return &c;
#else
return NULL
#endif
} }
/** /**
@@ -389,6 +425,7 @@ EVP_cc_aes_128_cfb8(void)
const EVP_CIPHER * const EVP_CIPHER *
EVP_cc_aes_192_cfb8(void) EVP_cc_aes_192_cfb8(void)
{ {
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
static const EVP_CIPHER c = { static const EVP_CIPHER c = {
0, 0,
1, 1,
@@ -405,6 +442,9 @@ EVP_cc_aes_192_cfb8(void)
NULL NULL
}; };
return &c; return &c;
#else
return NULL;
#endif
} }
/** /**
@@ -418,6 +458,7 @@ EVP_cc_aes_192_cfb8(void)
const EVP_CIPHER * const EVP_CIPHER *
EVP_cc_aes_256_cfb8(void) EVP_cc_aes_256_cfb8(void)
{ {
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
static const EVP_CIPHER c = { static const EVP_CIPHER c = {
0, 0,
kCCBlockSizeAES128, kCCBlockSizeAES128,
@@ -434,6 +475,9 @@ EVP_cc_aes_256_cfb8(void)
NULL NULL
}; };
return &c; return &c;
#else
return NULL;
#endif
} }
/* /*
@@ -722,6 +766,8 @@ EVP_cc_camellia_256_cbc(void)
return NULL; return NULL;
} }
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
/* /*
* *
*/ */
@@ -736,7 +782,10 @@ cc_rc4_init(EVP_CIPHER_CTX *ctx,
return init_cc_key(encp, kCCAlgorithmRC4, 0, key, ctx->key_len, iv, &cc->href); return init_cc_key(encp, kCCAlgorithmRC4, 0, key, ctx->key_len, iv, &cc->href);
} }
#endif
/** /**
* The RC4 cipher type (Apple CommonCrypto provider) * The RC4 cipher type (Apple CommonCrypto provider)
* *
* @return the RC4 EVP_CIPHER pointer. * @return the RC4 EVP_CIPHER pointer.
@@ -747,6 +796,7 @@ cc_rc4_init(EVP_CIPHER_CTX *ctx,
const EVP_CIPHER * const EVP_CIPHER *
EVP_cc_rc4(void) EVP_cc_rc4(void)
{ {
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
static const EVP_CIPHER rc4 = { static const EVP_CIPHER rc4 = {
0, 0,
1, 1,
@@ -763,6 +813,9 @@ EVP_cc_rc4(void)
NULL NULL
}; };
return &rc4; return &rc4;
#else
return NULL;
#endif
} }
@@ -777,6 +830,7 @@ EVP_cc_rc4(void)
const EVP_CIPHER * const EVP_CIPHER *
EVP_cc_rc4_40(void) EVP_cc_rc4_40(void)
{ {
#ifdef HAVE_COMMONCRYPTO_COMMONCRYPTOR_H
static const EVP_CIPHER rc4_40 = { static const EVP_CIPHER rc4_40 = {
0, 0,
1, 1,
@@ -793,6 +847,9 @@ EVP_cc_rc4_40(void)
NULL NULL
}; };
return &rc4_40; return &rc4_40;
#else
return NULL;
#endif
} }
#endif /* __APPLE__ */ #endif /* __APPLE__ */