diff options
author | Ken Raeburn <raeburn@mit.edu> | 2009-01-15 23:22:53 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@mit.edu> | 2009-01-15 23:22:53 +0000 |
commit | 06836322635cc2287afca3806ffb165792ef9ede (patch) | |
tree | 48f046e842f0d19a22ce66ea46fbd73dc20cb32f /src/include | |
parent | cfdd330d1c0203d178b9b49932da952a41a0754f (diff) | |
download | krb5-06836322635cc2287afca3806ffb165792ef9ede.tar.gz krb5-06836322635cc2287afca3806ffb165792ef9ede.tar.xz krb5-06836322635cc2287afca3806ffb165792ef9ede.zip |
Make enctype and checksumtype name mapping table types private to the
crypto library. Add a field for aliases to the record type so that
aliases don't have to be implemented by duplicating all the other
information.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21753 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/k5-int.h | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/src/include/k5-int.h b/src/include/k5-int.h index 78b271065b..f3da373bc2 100644 --- a/src/include/k5-int.h +++ b/src/include/k5-int.h @@ -657,69 +657,6 @@ struct krb5_aead_provider { size_t num_data); }; -typedef void (*krb5_encrypt_length_func) (const struct krb5_enc_provider *enc, - const struct krb5_hash_provider *hash, - size_t inputlen, size_t *length); - -typedef krb5_error_code (*krb5_crypt_func) (const struct krb5_enc_provider *enc, - const struct krb5_hash_provider *hash, - const krb5_keyblock *key, krb5_keyusage keyusage, - const krb5_data *ivec, - const krb5_data *input, krb5_data *output); - -typedef krb5_error_code (*krb5_str2key_func) (const struct krb5_enc_provider *enc, const krb5_data *string, - const krb5_data *salt, const krb5_data *parm, krb5_keyblock *key); - -typedef krb5_error_code (*krb5_prf_func)( - const struct krb5_enc_provider *enc, - const struct krb5_hash_provider *hash, - const krb5_keyblock *key, - const krb5_data *in, krb5_data *out); - -struct krb5_keytypes { - krb5_enctype etype; - char *in_string; - char *out_string; - const struct krb5_enc_provider *enc; - const struct krb5_hash_provider *hash; - size_t prf_length; - krb5_encrypt_length_func encrypt_len; - krb5_crypt_func encrypt; - krb5_crypt_func decrypt; - krb5_str2key_func str2key; - krb5_prf_func prf; - krb5_cksumtype required_ctype; - const struct krb5_aead_provider *aead; -}; - -struct krb5_cksumtypes { - krb5_cksumtype ctype; - unsigned int flags; - char *in_string; - char *out_string; - /* if the hash is keyed, this is the etype it is keyed with. - Actually, it can be keyed by any etype which has the same - enc_provider as the specified etype. DERIVE checksums can - be keyed with any valid etype. */ - krb5_enctype keyed_etype; - /* I can't statically initialize a union, so I'm just going to use - two pointers here. The keyhash is used if non-NULL. If NULL, - then HMAC/hash with derived keys is used if the relevant flag - is set. Otherwise, a non-keyed hash is computed. This is all - kind of messy, but so is the krb5 api. */ - const struct krb5_keyhash_provider *keyhash; - const struct krb5_hash_provider *hash; - /* This just gets uglier and uglier. In the key derivation case, - we produce an hmac. To make the hmac code work, we can't hack - the output size indicated by the hash provider, but we may want - a truncated hmac. If we want truncation, this is the number of - bytes we truncate to; it should be 0 otherwise. */ - unsigned int trunc_size; -}; - -#define KRB5_CKSUMFLAG_DERIVE 0x0001 -#define KRB5_CKSUMFLAG_NOT_COLL_PROOF 0x0002 - /* * in here to deal with stuff from lib/crypto */ |