prefix symbols that are _krb5_ structures
This commit is contained in:
@@ -57,7 +57,7 @@ static struct key_type keytype_arcfour = {
|
|||||||
|
|
||||||
krb5_error_code
|
krb5_error_code
|
||||||
_krb5_HMAC_MD5_checksum(krb5_context context,
|
_krb5_HMAC_MD5_checksum(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
@@ -67,7 +67,7 @@ _krb5_HMAC_MD5_checksum(krb5_context context,
|
|||||||
struct checksum_type *c = _krb5_find_checksum (CKSUMTYPE_RSA_MD5);
|
struct checksum_type *c = _krb5_find_checksum (CKSUMTYPE_RSA_MD5);
|
||||||
const char signature[] = "signaturekey";
|
const char signature[] = "signaturekey";
|
||||||
Checksum ksign_c;
|
Checksum ksign_c;
|
||||||
struct key_data ksign;
|
struct _krb5_key_data ksign;
|
||||||
krb5_keyblock kb;
|
krb5_keyblock kb;
|
||||||
unsigned char t[4];
|
unsigned char t[4];
|
||||||
unsigned char tmp[16];
|
unsigned char tmp[16];
|
||||||
@@ -123,7 +123,7 @@ struct checksum_type _krb5_checksum_hmac_md5 = {
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
ARCFOUR_subencrypt(krb5_context context,
|
ARCFOUR_subencrypt(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
void *data,
|
void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
@@ -132,7 +132,7 @@ ARCFOUR_subencrypt(krb5_context context,
|
|||||||
EVP_CIPHER_CTX ctx;
|
EVP_CIPHER_CTX ctx;
|
||||||
struct checksum_type *c = _krb5_find_checksum (CKSUMTYPE_RSA_MD5);
|
struct checksum_type *c = _krb5_find_checksum (CKSUMTYPE_RSA_MD5);
|
||||||
Checksum k1_c, k2_c, k3_c, cksum;
|
Checksum k1_c, k2_c, k3_c, cksum;
|
||||||
struct key_data ke;
|
struct _krb5_key_data ke;
|
||||||
krb5_keyblock kb;
|
krb5_keyblock kb;
|
||||||
unsigned char t[4];
|
unsigned char t[4];
|
||||||
unsigned char *cdata = data;
|
unsigned char *cdata = data;
|
||||||
@@ -190,7 +190,7 @@ ARCFOUR_subencrypt(krb5_context context,
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
ARCFOUR_subdecrypt(krb5_context context,
|
ARCFOUR_subdecrypt(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
void *data,
|
void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
@@ -199,7 +199,7 @@ ARCFOUR_subdecrypt(krb5_context context,
|
|||||||
EVP_CIPHER_CTX ctx;
|
EVP_CIPHER_CTX ctx;
|
||||||
struct checksum_type *c = _krb5_find_checksum (CKSUMTYPE_RSA_MD5);
|
struct checksum_type *c = _krb5_find_checksum (CKSUMTYPE_RSA_MD5);
|
||||||
Checksum k1_c, k2_c, k3_c, cksum;
|
Checksum k1_c, k2_c, k3_c, cksum;
|
||||||
struct key_data ke;
|
struct _krb5_key_data ke;
|
||||||
krb5_keyblock kb;
|
krb5_keyblock kb;
|
||||||
unsigned char t[4];
|
unsigned char t[4];
|
||||||
unsigned char *cdata = data;
|
unsigned char *cdata = data;
|
||||||
@@ -290,7 +290,7 @@ _krb5_usage2arcfour(krb5_context context, unsigned *usage)
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
ARCFOUR_encrypt(krb5_context context,
|
ARCFOUR_encrypt(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
void *data,
|
void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
krb5_boolean encryptp,
|
krb5_boolean encryptp,
|
||||||
|
@@ -57,7 +57,7 @@ _krb5_xor (DES_cblock *key, const unsigned char *b)
|
|||||||
krb5_error_code
|
krb5_error_code
|
||||||
_krb5_des_checksum(krb5_context context,
|
_krb5_des_checksum(krb5_context context,
|
||||||
const EVP_MD *evp_md,
|
const EVP_MD *evp_md,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
Checksum *cksum)
|
Checksum *cksum)
|
||||||
@@ -90,7 +90,7 @@ _krb5_des_checksum(krb5_context context,
|
|||||||
krb5_error_code
|
krb5_error_code
|
||||||
_krb5_des_verify(krb5_context context,
|
_krb5_des_verify(krb5_context context,
|
||||||
const EVP_MD *evp_md,
|
const EVP_MD *evp_md,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
Checksum *C)
|
Checksum *C)
|
||||||
@@ -130,7 +130,7 @@ _krb5_des_verify(krb5_context context,
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
RSA_MD5_checksum(krb5_context context,
|
RSA_MD5_checksum(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
|
@@ -50,7 +50,7 @@ krb5_DES_random_key(krb5_context context,
|
|||||||
static void
|
static void
|
||||||
krb5_DES_schedule_old(krb5_context context,
|
krb5_DES_schedule_old(krb5_context context,
|
||||||
struct key_type *kt,
|
struct key_type *kt,
|
||||||
struct key_data *key)
|
struct _krb5_key_data *key)
|
||||||
{
|
{
|
||||||
DES_set_key_unchecked(key->key->keyvalue.data, key->schedule->data);
|
DES_set_key_unchecked(key->key->keyvalue.data, key->schedule->data);
|
||||||
}
|
}
|
||||||
@@ -96,7 +96,7 @@ static struct key_type keytype_des = {
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
CRC32_checksum(krb5_context context,
|
CRC32_checksum(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
@@ -115,7 +115,7 @@ CRC32_checksum(krb5_context context,
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
RSA_MD4_checksum(krb5_context context,
|
RSA_MD4_checksum(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
@@ -128,7 +128,7 @@ RSA_MD4_checksum(krb5_context context,
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
RSA_MD4_DES_checksum(krb5_context context,
|
RSA_MD4_DES_checksum(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
@@ -139,7 +139,7 @@ RSA_MD4_DES_checksum(krb5_context context,
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
RSA_MD4_DES_verify(krb5_context context,
|
RSA_MD4_DES_verify(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
@@ -150,7 +150,7 @@ RSA_MD4_DES_verify(krb5_context context,
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
RSA_MD5_DES_checksum(krb5_context context,
|
RSA_MD5_DES_checksum(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
@@ -161,7 +161,7 @@ RSA_MD5_DES_checksum(krb5_context context,
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
RSA_MD5_DES_verify(krb5_context context,
|
RSA_MD5_DES_verify(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
@@ -212,7 +212,7 @@ struct checksum_type _krb5_checksum_rsa_md5_des = {
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
evp_des_encrypt_null_ivec(krb5_context context,
|
evp_des_encrypt_null_ivec(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
void *data,
|
void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
krb5_boolean encryptp,
|
krb5_boolean encryptp,
|
||||||
@@ -231,7 +231,7 @@ evp_des_encrypt_null_ivec(krb5_context context,
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
evp_des_encrypt_key_ivec(krb5_context context,
|
evp_des_encrypt_key_ivec(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
void *data,
|
void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
krb5_boolean encryptp,
|
krb5_boolean encryptp,
|
||||||
@@ -250,7 +250,7 @@ evp_des_encrypt_key_ivec(krb5_context context,
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
DES_CFB64_encrypt_null_ivec(krb5_context context,
|
DES_CFB64_encrypt_null_ivec(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
void *data,
|
void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
krb5_boolean encryptp,
|
krb5_boolean encryptp,
|
||||||
@@ -268,7 +268,7 @@ DES_CFB64_encrypt_null_ivec(krb5_context context,
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
DES_PCBC_encrypt_key_ivec(krb5_context context,
|
DES_PCBC_encrypt_key_ivec(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
void *data,
|
void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
krb5_boolean encryptp,
|
krb5_boolean encryptp,
|
||||||
|
@@ -86,7 +86,7 @@ static struct key_type keytype_des3_derived = {
|
|||||||
#ifdef DES3_OLD_ENCTYPE
|
#ifdef DES3_OLD_ENCTYPE
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
RSA_MD5_DES3_checksum(krb5_context context,
|
RSA_MD5_DES3_checksum(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
@@ -97,7 +97,7 @@ RSA_MD5_DES3_checksum(krb5_context context,
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
RSA_MD5_DES3_verify(krb5_context context,
|
RSA_MD5_DES3_verify(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
|
@@ -36,7 +36,7 @@
|
|||||||
void
|
void
|
||||||
_krb5_evp_schedule(krb5_context context,
|
_krb5_evp_schedule(krb5_context context,
|
||||||
struct key_type *kt,
|
struct key_type *kt,
|
||||||
struct key_data *kd)
|
struct _krb5_key_data *kd)
|
||||||
{
|
{
|
||||||
struct evp_schedule *key = kd->schedule->data;
|
struct evp_schedule *key = kd->schedule->data;
|
||||||
const EVP_CIPHER *c = (*kt->evp)();
|
const EVP_CIPHER *c = (*kt->evp)();
|
||||||
@@ -49,7 +49,7 @@ _krb5_evp_schedule(krb5_context context,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
_krb5_evp_cleanup(krb5_context context, struct key_data *kd)
|
_krb5_evp_cleanup(krb5_context context, struct _krb5_key_data *kd)
|
||||||
{
|
{
|
||||||
struct evp_schedule *key = kd->schedule->data;
|
struct evp_schedule *key = kd->schedule->data;
|
||||||
EVP_CIPHER_CTX_cleanup(&key->ectx);
|
EVP_CIPHER_CTX_cleanup(&key->ectx);
|
||||||
@@ -58,7 +58,7 @@ _krb5_evp_cleanup(krb5_context context, struct key_data *kd)
|
|||||||
|
|
||||||
krb5_error_code
|
krb5_error_code
|
||||||
_krb5_evp_encrypt(krb5_context context,
|
_krb5_evp_encrypt(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
void *data,
|
void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
krb5_boolean encryptp,
|
krb5_boolean encryptp,
|
||||||
@@ -89,7 +89,7 @@ static const unsigned char zero_ivec[EVP_MAX_BLOCK_LENGTH] = { 0 };
|
|||||||
|
|
||||||
krb5_error_code
|
krb5_error_code
|
||||||
_krb5_evp_encrypt_cts(krb5_context context,
|
_krb5_evp_encrypt_cts(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
void *data,
|
void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
krb5_boolean encryptp,
|
krb5_boolean encryptp,
|
||||||
|
@@ -50,7 +50,7 @@ static struct key_type keytype_null = {
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
NONE_checksum(krb5_context context,
|
NONE_checksum(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
@@ -71,7 +71,7 @@ struct checksum_type _krb5_checksum_none = {
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
NULL_encrypt(krb5_context context,
|
NULL_encrypt(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
void *data,
|
void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
krb5_boolean encryptp,
|
krb5_boolean encryptp,
|
||||||
|
@@ -35,16 +35,22 @@
|
|||||||
|
|
||||||
#include "krb5_locl.h"
|
#include "krb5_locl.h"
|
||||||
|
|
||||||
|
struct _krb5_key_usage {
|
||||||
|
unsigned usage;
|
||||||
|
struct _krb5_key_data key;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
#ifndef HEIMDAL_SMALLER
|
#ifndef HEIMDAL_SMALLER
|
||||||
#define DES3_OLD_ENCTYPE 1
|
#define DES3_OLD_ENCTYPE 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static krb5_error_code _get_derived_key(krb5_context, krb5_crypto,
|
static krb5_error_code _get_derived_key(krb5_context, krb5_crypto,
|
||||||
unsigned, struct key_data**);
|
unsigned, struct _krb5_key_data**);
|
||||||
static struct key_data *_new_derived_key(krb5_crypto crypto, unsigned usage);
|
static struct _krb5_key_data *_new_derived_key(krb5_crypto crypto, unsigned usage);
|
||||||
|
|
||||||
static void free_key_schedule(krb5_context,
|
static void free_key_schedule(krb5_context,
|
||||||
struct key_data *,
|
struct _krb5_key_data *,
|
||||||
struct encryption_type *);
|
struct encryption_type *);
|
||||||
|
|
||||||
/************************************************************
|
/************************************************************
|
||||||
@@ -110,7 +116,7 @@ krb5_generate_random_keyblock(krb5_context context,
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
_key_schedule(krb5_context context,
|
_key_schedule(krb5_context context,
|
||||||
struct key_data *key)
|
struct _krb5_key_data *key)
|
||||||
{
|
{
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
struct encryption_type *et = _krb5_find_enctype(key->key->keytype);
|
struct encryption_type *et = _krb5_find_enctype(key->key->keytype);
|
||||||
@@ -150,7 +156,7 @@ _key_schedule(krb5_context context,
|
|||||||
|
|
||||||
static krb5_error_code
|
static krb5_error_code
|
||||||
SHA1_checksum(krb5_context context,
|
SHA1_checksum(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
@@ -168,7 +174,7 @@ _krb5_internal_hmac(krb5_context context,
|
|||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
struct key_data *keyblock,
|
struct _krb5_key_data *keyblock,
|
||||||
Checksum *result)
|
Checksum *result)
|
||||||
{
|
{
|
||||||
unsigned char *ipad, *opad;
|
unsigned char *ipad, *opad;
|
||||||
@@ -229,7 +235,7 @@ krb5_hmac(krb5_context context,
|
|||||||
Checksum *result)
|
Checksum *result)
|
||||||
{
|
{
|
||||||
struct checksum_type *c = _krb5_find_checksum(cktype);
|
struct checksum_type *c = _krb5_find_checksum(cktype);
|
||||||
struct key_data kd;
|
struct _krb5_key_data kd;
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
|
|
||||||
if (c == NULL) {
|
if (c == NULL) {
|
||||||
@@ -252,7 +258,7 @@ krb5_hmac(krb5_context context,
|
|||||||
|
|
||||||
krb5_error_code
|
krb5_error_code
|
||||||
_krb5_SP_HMAC_SHA1_checksum(krb5_context context,
|
_krb5_SP_HMAC_SHA1_checksum(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *data,
|
const void *data,
|
||||||
size_t len,
|
size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
@@ -298,7 +304,7 @@ get_checksum_key(krb5_context context,
|
|||||||
krb5_crypto crypto,
|
krb5_crypto crypto,
|
||||||
unsigned usage, /* not krb5_key_usage */
|
unsigned usage, /* not krb5_key_usage */
|
||||||
struct checksum_type *ct,
|
struct checksum_type *ct,
|
||||||
struct key_data **key)
|
struct _krb5_key_data **key)
|
||||||
{
|
{
|
||||||
krb5_error_code ret = 0;
|
krb5_error_code ret = 0;
|
||||||
|
|
||||||
@@ -335,7 +341,7 @@ create_checksum (krb5_context context,
|
|||||||
Checksum *result)
|
Checksum *result)
|
||||||
{
|
{
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
struct key_data *dkey;
|
struct _krb5_key_data *dkey;
|
||||||
int keyed_checksum;
|
int keyed_checksum;
|
||||||
|
|
||||||
if (ct->flags & F_DISABLED) {
|
if (ct->flags & F_DISABLED) {
|
||||||
@@ -417,7 +423,7 @@ verify_checksum(krb5_context context,
|
|||||||
Checksum *cksum)
|
Checksum *cksum)
|
||||||
{
|
{
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
struct key_data *dkey;
|
struct _krb5_key_data *dkey;
|
||||||
int keyed_checksum;
|
int keyed_checksum;
|
||||||
Checksum c;
|
Checksum c;
|
||||||
struct checksum_type *ct;
|
struct checksum_type *ct;
|
||||||
@@ -798,7 +804,7 @@ encrypt_internal_derived(krb5_context context,
|
|||||||
Checksum cksum;
|
Checksum cksum;
|
||||||
unsigned char *p, *q;
|
unsigned char *p, *q;
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
struct key_data *dkey;
|
struct _krb5_key_data *dkey;
|
||||||
const struct encryption_type *et = crypto->et;
|
const struct encryption_type *et = crypto->et;
|
||||||
|
|
||||||
checksum_sz = CHECKSUMSIZE(et->keyed_checksum);
|
checksum_sz = CHECKSUMSIZE(et->keyed_checksum);
|
||||||
@@ -967,7 +973,7 @@ decrypt_internal_derived(krb5_context context,
|
|||||||
Checksum cksum;
|
Checksum cksum;
|
||||||
unsigned char *p;
|
unsigned char *p;
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
struct key_data *dkey;
|
struct _krb5_key_data *dkey;
|
||||||
struct encryption_type *et = crypto->et;
|
struct encryption_type *et = crypto->et;
|
||||||
unsigned long l;
|
unsigned long l;
|
||||||
|
|
||||||
@@ -1201,7 +1207,7 @@ krb5_encrypt_iov_ivec(krb5_context context,
|
|||||||
Checksum cksum;
|
Checksum cksum;
|
||||||
unsigned char *p, *q;
|
unsigned char *p, *q;
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
struct key_data *dkey;
|
struct _krb5_key_data *dkey;
|
||||||
const struct encryption_type *et = crypto->et;
|
const struct encryption_type *et = crypto->et;
|
||||||
krb5_crypto_iov *tiv, *piv, *hiv;
|
krb5_crypto_iov *tiv, *piv, *hiv;
|
||||||
|
|
||||||
@@ -1393,7 +1399,7 @@ krb5_decrypt_iov_ivec(krb5_context context,
|
|||||||
Checksum cksum;
|
Checksum cksum;
|
||||||
unsigned char *p, *q;
|
unsigned char *p, *q;
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
struct key_data *dkey;
|
struct _krb5_key_data *dkey;
|
||||||
struct encryption_type *et = crypto->et;
|
struct encryption_type *et = crypto->et;
|
||||||
krb5_crypto_iov *tiv, *hiv;
|
krb5_crypto_iov *tiv, *hiv;
|
||||||
|
|
||||||
@@ -1834,7 +1840,7 @@ krb5_decrypt_EncryptedData(krb5_context context,
|
|||||||
krb5_error_code
|
krb5_error_code
|
||||||
_krb5_derive_key(krb5_context context,
|
_krb5_derive_key(krb5_context context,
|
||||||
struct encryption_type *et,
|
struct encryption_type *et,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *constant,
|
const void *constant,
|
||||||
size_t len)
|
size_t len)
|
||||||
{
|
{
|
||||||
@@ -1923,10 +1929,10 @@ _krb5_derive_key(krb5_context context,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct key_data *
|
static struct _krb5_key_data *
|
||||||
_new_derived_key(krb5_crypto crypto, unsigned usage)
|
_new_derived_key(krb5_crypto crypto, unsigned usage)
|
||||||
{
|
{
|
||||||
struct key_usage *d = crypto->key_usage;
|
struct _krb5_key_usage *d = crypto->key_usage;
|
||||||
d = realloc(d, (crypto->num_key_usage + 1) * sizeof(*d));
|
d = realloc(d, (crypto->num_key_usage + 1) * sizeof(*d));
|
||||||
if(d == NULL)
|
if(d == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -1947,7 +1953,7 @@ krb5_derive_key(krb5_context context,
|
|||||||
{
|
{
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
struct encryption_type *et;
|
struct encryption_type *et;
|
||||||
struct key_data d;
|
struct _krb5_key_data d;
|
||||||
|
|
||||||
*derived_key = NULL;
|
*derived_key = NULL;
|
||||||
|
|
||||||
@@ -1975,10 +1981,10 @@ static krb5_error_code
|
|||||||
_get_derived_key(krb5_context context,
|
_get_derived_key(krb5_context context,
|
||||||
krb5_crypto crypto,
|
krb5_crypto crypto,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
struct key_data **key)
|
struct _krb5_key_data **key)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
struct key_data *d;
|
struct _krb5_key_data *d;
|
||||||
unsigned char constant[5];
|
unsigned char constant[5];
|
||||||
|
|
||||||
for(i = 0; i < crypto->num_key_usage; i++)
|
for(i = 0; i < crypto->num_key_usage; i++)
|
||||||
@@ -2060,7 +2066,7 @@ krb5_crypto_init(krb5_context context,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
free_key_schedule(krb5_context context,
|
free_key_schedule(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
struct encryption_type *et)
|
struct encryption_type *et)
|
||||||
{
|
{
|
||||||
if (et->keytype->cleanup)
|
if (et->keytype->cleanup)
|
||||||
@@ -2070,7 +2076,7 @@ free_key_schedule(krb5_context context,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
_krb5_free_key_data(krb5_context context, struct key_data *key,
|
_krb5_free_key_data(krb5_context context, struct _krb5_key_data *key,
|
||||||
struct encryption_type *et)
|
struct encryption_type *et)
|
||||||
{
|
{
|
||||||
krb5_free_keyblock(context, key->key);
|
krb5_free_keyblock(context, key->key);
|
||||||
@@ -2081,7 +2087,7 @@ _krb5_free_key_data(krb5_context context, struct key_data *key,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
free_key_usage(krb5_context context, struct key_usage *ku,
|
free_key_usage(krb5_context context, struct _krb5_key_usage *ku,
|
||||||
struct encryption_type *et)
|
struct encryption_type *et)
|
||||||
{
|
{
|
||||||
_krb5_free_key_data(context, &ku->key, et);
|
_krb5_free_key_data(context, &ku->key, et);
|
||||||
|
@@ -35,21 +35,18 @@
|
|||||||
#define DES3_OLD_ENCTYPE 1
|
#define DES3_OLD_ENCTYPE 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct key_data {
|
struct _krb5_key_data {
|
||||||
krb5_keyblock *key;
|
krb5_keyblock *key;
|
||||||
krb5_data *schedule;
|
krb5_data *schedule;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct key_usage {
|
struct _krb5_key_usage;
|
||||||
unsigned usage;
|
|
||||||
struct key_data key;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct krb5_crypto_data {
|
struct krb5_crypto_data {
|
||||||
struct encryption_type *et;
|
struct encryption_type *et;
|
||||||
struct key_data key;
|
struct _krb5_key_data key;
|
||||||
int num_key_usage;
|
int num_key_usage;
|
||||||
struct key_usage *key_usage;
|
struct _krb5_key_usage *key_usage;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CRYPTO_ETYPE(C) ((C)->et->type)
|
#define CRYPTO_ETYPE(C) ((C)->et->type)
|
||||||
@@ -78,10 +75,10 @@ struct key_type {
|
|||||||
size_t size;
|
size_t size;
|
||||||
size_t schedule_size;
|
size_t schedule_size;
|
||||||
void (*random_key)(krb5_context, krb5_keyblock*);
|
void (*random_key)(krb5_context, krb5_keyblock*);
|
||||||
void (*schedule)(krb5_context, struct key_type *, struct key_data *);
|
void (*schedule)(krb5_context, struct key_type *, struct _krb5_key_data *);
|
||||||
struct salt_type *string_to_key;
|
struct salt_type *string_to_key;
|
||||||
void (*random_to_key)(krb5_context, krb5_keyblock*, const void*, size_t);
|
void (*random_to_key)(krb5_context, krb5_keyblock*, const void*, size_t);
|
||||||
void (*cleanup)(krb5_context, struct key_data *);
|
void (*cleanup)(krb5_context, struct _krb5_key_data *);
|
||||||
const EVP_CIPHER *(*evp)(void);
|
const EVP_CIPHER *(*evp)(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -92,12 +89,12 @@ struct checksum_type {
|
|||||||
size_t checksumsize;
|
size_t checksumsize;
|
||||||
unsigned flags;
|
unsigned flags;
|
||||||
krb5_error_code (*checksum)(krb5_context context,
|
krb5_error_code (*checksum)(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *buf, size_t len,
|
const void *buf, size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
Checksum *csum);
|
Checksum *csum);
|
||||||
krb5_error_code (*verify)(krb5_context context,
|
krb5_error_code (*verify)(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
const void *buf, size_t len,
|
const void *buf, size_t len,
|
||||||
unsigned usage,
|
unsigned usage,
|
||||||
Checksum *csum);
|
Checksum *csum);
|
||||||
@@ -114,7 +111,7 @@ struct encryption_type {
|
|||||||
struct checksum_type *keyed_checksum;
|
struct checksum_type *keyed_checksum;
|
||||||
unsigned flags;
|
unsigned flags;
|
||||||
krb5_error_code (*encrypt)(krb5_context context,
|
krb5_error_code (*encrypt)(krb5_context context,
|
||||||
struct key_data *key,
|
struct _krb5_key_data *key,
|
||||||
void *data, size_t len,
|
void *data, size_t len,
|
||||||
krb5_boolean encryptp,
|
krb5_boolean encryptp,
|
||||||
int usage,
|
int usage,
|
||||||
|
@@ -87,7 +87,7 @@ HMAC_MD5_any_checksum(krb5_context context,
|
|||||||
unsigned usage,
|
unsigned usage,
|
||||||
Checksum *result)
|
Checksum *result)
|
||||||
{
|
{
|
||||||
struct key_data local_key;
|
struct _krb5_key_data local_key;
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
|
|
||||||
memset(&local_key, 0, sizeof(local_key));
|
memset(&local_key, 0, sizeof(local_key));
|
||||||
|
@@ -46,7 +46,7 @@ AES_string_to_key(krb5_context context,
|
|||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
uint32_t iter;
|
uint32_t iter;
|
||||||
struct encryption_type *et;
|
struct encryption_type *et;
|
||||||
struct key_data kd;
|
struct _krb5_key_data kd;
|
||||||
|
|
||||||
if (opaque.length == 0)
|
if (opaque.length == 0)
|
||||||
iter = _krb5_AES_string_to_default_iterator;
|
iter = _krb5_AES_string_to_default_iterator;
|
||||||
|
@@ -249,7 +249,7 @@ krb5_string_to_key_derived(krb5_context context,
|
|||||||
{
|
{
|
||||||
struct encryption_type *et = _krb5_find_enctype(etype);
|
struct encryption_type *et = _krb5_find_enctype(etype);
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
struct key_data kd;
|
struct _krb5_key_data kd;
|
||||||
size_t keylen;
|
size_t keylen;
|
||||||
u_char *tmp;
|
u_char *tmp;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user