Renamed key_encod{ing,der}_t and constants, prepare for generic credential encoding
This commit is contained in:
@@ -248,7 +248,7 @@ METHOD(certificate_t, issued_by, bool,
|
||||
}
|
||||
if (this->authKeyIdentifier.ptr && key)
|
||||
{
|
||||
if (!key->get_fingerprint(key, KEY_ID_PUBKEY_SHA1, &fingerprint) ||
|
||||
if (!key->get_fingerprint(key, KEYID_PUBKEY_SHA1, &fingerprint) ||
|
||||
!chunk_equals(fingerprint, this->authKeyIdentifier))
|
||||
{
|
||||
return FALSE;
|
||||
|
||||
@@ -51,7 +51,7 @@ struct private_openssl_ec_private_key_t {
|
||||
};
|
||||
|
||||
/* from ec public key */
|
||||
bool openssl_ec_fingerprint(EC_KEY *ec, key_encoding_type_t type, chunk_t *fp);
|
||||
bool openssl_ec_fingerprint(EC_KEY *ec, cred_encoding_type_t type, chunk_t *fp);
|
||||
|
||||
/**
|
||||
* Build a signature as in RFC 4754
|
||||
@@ -221,7 +221,7 @@ static public_key_t* get_public_key(private_openssl_ec_private_key_t *this)
|
||||
* Implementation of private_key_t.get_fingerprint.
|
||||
*/
|
||||
static bool get_fingerprint(private_openssl_ec_private_key_t *this,
|
||||
key_encoding_type_t type, chunk_t *fingerprint)
|
||||
cred_encoding_type_t type, chunk_t *fingerprint)
|
||||
{
|
||||
return openssl_ec_fingerprint(this->ec, type, fingerprint);
|
||||
}
|
||||
@@ -230,14 +230,14 @@ static bool get_fingerprint(private_openssl_ec_private_key_t *this,
|
||||
* Implementation of private_key_t.get_encoding.
|
||||
*/
|
||||
static bool get_encoding(private_openssl_ec_private_key_t *this,
|
||||
key_encoding_type_t type, chunk_t *encoding)
|
||||
cred_encoding_type_t type, chunk_t *encoding)
|
||||
{
|
||||
u_char *p;
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case KEY_PRIV_ASN1_DER:
|
||||
case KEY_PRIV_PEM:
|
||||
case PRIVKEY_ASN1_DER:
|
||||
case PRIVKEY_PEM:
|
||||
{
|
||||
bool success = TRUE;
|
||||
|
||||
@@ -245,13 +245,13 @@ static bool get_encoding(private_openssl_ec_private_key_t *this,
|
||||
p = encoding->ptr;
|
||||
i2d_ECPrivateKey(this->ec, &p);
|
||||
|
||||
if (type == KEY_PRIV_PEM)
|
||||
if (type == PRIVKEY_PEM)
|
||||
{
|
||||
chunk_t asn1_encoding = *encoding;
|
||||
|
||||
success = lib->encoding->encode(lib->encoding, KEY_PRIV_PEM,
|
||||
NULL, encoding, KEY_PART_ECDSA_PRIV_ASN1_DER,
|
||||
asn1_encoding, KEY_PART_END);
|
||||
success = lib->encoding->encode(lib->encoding, PRIVKEY_PEM,
|
||||
NULL, encoding, CRED_PART_ECDSA_PRIV_ASN1_DER,
|
||||
asn1_encoding, CRED_PART_END);
|
||||
chunk_clear(&asn1_encoding);
|
||||
}
|
||||
return success;
|
||||
@@ -300,9 +300,9 @@ static private_openssl_ec_private_key_t *create_empty(void)
|
||||
this->public.interface.get_public_key = (public_key_t* (*)(private_key_t *this))get_public_key;
|
||||
this->public.interface.equals = private_key_equals;
|
||||
this->public.interface.belongs_to = private_key_belongs_to;
|
||||
this->public.interface.get_fingerprint = (bool(*)(private_key_t*, key_encoding_type_t type, chunk_t *fp))get_fingerprint;
|
||||
this->public.interface.get_fingerprint = (bool(*)(private_key_t*, cred_encoding_type_t type, chunk_t *fp))get_fingerprint;
|
||||
this->public.interface.has_fingerprint = (bool(*)(private_key_t*, chunk_t fp))private_key_has_fingerprint;
|
||||
this->public.interface.get_encoding = (bool(*)(private_key_t*, key_encoding_type_t type, chunk_t *encoding))get_encoding;
|
||||
this->public.interface.get_encoding = (bool(*)(private_key_t*, cred_encoding_type_t type, chunk_t *encoding))get_encoding;
|
||||
this->public.interface.get_ref = (private_key_t* (*)(private_key_t *this))get_ref;
|
||||
this->public.interface.destroy = (void (*)(private_key_t *this))destroy;
|
||||
|
||||
|
||||
@@ -193,7 +193,7 @@ static size_t get_keysize(private_openssl_ec_public_key_t *this)
|
||||
/**
|
||||
* Calculate fingerprint from a EC_KEY, also used in ec private key.
|
||||
*/
|
||||
bool openssl_ec_fingerprint(EC_KEY *ec, key_encoding_type_t type, chunk_t *fp)
|
||||
bool openssl_ec_fingerprint(EC_KEY *ec, cred_encoding_type_t type, chunk_t *fp)
|
||||
{
|
||||
hasher_t *hasher;
|
||||
chunk_t key;
|
||||
@@ -205,12 +205,12 @@ bool openssl_ec_fingerprint(EC_KEY *ec, key_encoding_type_t type, chunk_t *fp)
|
||||
}
|
||||
switch (type)
|
||||
{
|
||||
case KEY_ID_PUBKEY_SHA1:
|
||||
case KEYID_PUBKEY_SHA1:
|
||||
key = chunk_alloc(i2o_ECPublicKey(ec, NULL));
|
||||
p = key.ptr;
|
||||
i2o_ECPublicKey(ec, &p);
|
||||
break;
|
||||
case KEY_ID_PUBKEY_INFO_SHA1:
|
||||
case KEYID_PUBKEY_INFO_SHA1:
|
||||
key = chunk_alloc(i2d_EC_PUBKEY(ec, NULL));
|
||||
p = key.ptr;
|
||||
i2d_EC_PUBKEY(ec, &p);
|
||||
@@ -236,7 +236,7 @@ bool openssl_ec_fingerprint(EC_KEY *ec, key_encoding_type_t type, chunk_t *fp)
|
||||
* Implementation of private_key_t.get_fingerprint.
|
||||
*/
|
||||
static bool get_fingerprint(private_openssl_ec_public_key_t *this,
|
||||
key_encoding_type_t type, chunk_t *fingerprint)
|
||||
cred_encoding_type_t type, chunk_t *fingerprint)
|
||||
{
|
||||
return openssl_ec_fingerprint(this->ec, type, fingerprint);
|
||||
}
|
||||
@@ -245,14 +245,14 @@ static bool get_fingerprint(private_openssl_ec_public_key_t *this,
|
||||
* Implementation of private_key_t.get_encoding.
|
||||
*/
|
||||
static bool get_encoding(private_openssl_ec_public_key_t *this,
|
||||
key_encoding_type_t type, chunk_t *encoding)
|
||||
cred_encoding_type_t type, chunk_t *encoding)
|
||||
{
|
||||
u_char *p;
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case KEY_PUB_SPKI_ASN1_DER:
|
||||
case KEY_PUB_PEM:
|
||||
case PUBKEY_SPKI_ASN1_DER:
|
||||
case PUBKEY_PEM:
|
||||
{
|
||||
bool success = TRUE;
|
||||
|
||||
@@ -260,13 +260,13 @@ static bool get_encoding(private_openssl_ec_public_key_t *this,
|
||||
p = encoding->ptr;
|
||||
i2d_EC_PUBKEY(this->ec, &p);
|
||||
|
||||
if (type == KEY_PUB_PEM)
|
||||
if (type == PUBKEY_PEM)
|
||||
{
|
||||
chunk_t asn1_encoding = *encoding;
|
||||
|
||||
success = lib->encoding->encode(lib->encoding, KEY_PUB_PEM,
|
||||
NULL, encoding, KEY_PART_ECDSA_PUB_ASN1_DER,
|
||||
asn1_encoding, KEY_PART_END);
|
||||
success = lib->encoding->encode(lib->encoding, PUBKEY_PEM,
|
||||
NULL, encoding, CRED_PART_ECDSA_PUB_ASN1_DER,
|
||||
asn1_encoding, CRED_PART_END);
|
||||
chunk_clear(&asn1_encoding);
|
||||
}
|
||||
return success;
|
||||
@@ -313,9 +313,9 @@ static private_openssl_ec_public_key_t *create_empty()
|
||||
this->public.interface.encrypt = (bool (*)(public_key_t *this, chunk_t crypto, chunk_t *plain))encrypt_;
|
||||
this->public.interface.get_keysize = (size_t (*) (public_key_t *this))get_keysize;
|
||||
this->public.interface.equals = public_key_equals;
|
||||
this->public.interface.get_fingerprint = (bool(*)(public_key_t*, key_encoding_type_t type, chunk_t *fp))get_fingerprint;
|
||||
this->public.interface.get_fingerprint = (bool(*)(public_key_t*, cred_encoding_type_t type, chunk_t *fp))get_fingerprint;
|
||||
this->public.interface.has_fingerprint = (bool(*)(public_key_t*, chunk_t fp))public_key_has_fingerprint;
|
||||
this->public.interface.get_encoding = (bool(*)(public_key_t*, key_encoding_type_t type, chunk_t *encoding))get_encoding;
|
||||
this->public.interface.get_encoding = (bool(*)(public_key_t*, cred_encoding_type_t type, chunk_t *encoding))get_encoding;
|
||||
this->public.interface.get_ref = (public_key_t* (*)(public_key_t *this))get_ref;
|
||||
this->public.interface.destroy = (void (*)(public_key_t *this))destroy;
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ struct private_openssl_rsa_private_key_t {
|
||||
};
|
||||
|
||||
/* implemented in rsa public key */
|
||||
bool openssl_rsa_fingerprint(RSA *rsa, key_encoding_type_t type, chunk_t *fp);
|
||||
bool openssl_rsa_fingerprint(RSA *rsa, cred_encoding_type_t type, chunk_t *fp);
|
||||
|
||||
/**
|
||||
* Build an EMPSA PKCS1 signature described in PKCS#1
|
||||
@@ -208,7 +208,7 @@ static public_key_t* get_public_key(private_openssl_rsa_private_key_t *this)
|
||||
* Implementation of public_key_t.get_fingerprint.
|
||||
*/
|
||||
static bool get_fingerprint(private_openssl_rsa_private_key_t *this,
|
||||
key_encoding_type_t type, chunk_t *fingerprint)
|
||||
cred_encoding_type_t type, chunk_t *fingerprint)
|
||||
{
|
||||
return openssl_rsa_fingerprint(this->rsa, type, fingerprint);
|
||||
}
|
||||
@@ -217,7 +217,7 @@ static bool get_fingerprint(private_openssl_rsa_private_key_t *this,
|
||||
* Implementation of public_key_t.get_encoding.
|
||||
*/
|
||||
static bool get_encoding(private_openssl_rsa_private_key_t *this,
|
||||
key_encoding_type_t type, chunk_t *encoding)
|
||||
cred_encoding_type_t type, chunk_t *encoding)
|
||||
{
|
||||
u_char *p;
|
||||
|
||||
@@ -227,8 +227,8 @@ static bool get_encoding(private_openssl_rsa_private_key_t *this,
|
||||
}
|
||||
switch (type)
|
||||
{
|
||||
case KEY_PRIV_ASN1_DER:
|
||||
case KEY_PRIV_PEM:
|
||||
case PRIVKEY_ASN1_DER:
|
||||
case PRIVKEY_PEM:
|
||||
{
|
||||
bool success = TRUE;
|
||||
|
||||
@@ -236,13 +236,13 @@ static bool get_encoding(private_openssl_rsa_private_key_t *this,
|
||||
p = encoding->ptr;
|
||||
i2d_RSAPrivateKey(this->rsa, &p);
|
||||
|
||||
if (type == KEY_PRIV_PEM)
|
||||
if (type == PRIVKEY_PEM)
|
||||
{
|
||||
chunk_t asn1_encoding = *encoding;
|
||||
|
||||
success = lib->encoding->encode(lib->encoding, KEY_PRIV_PEM,
|
||||
NULL, encoding, KEY_PART_RSA_PRIV_ASN1_DER,
|
||||
asn1_encoding, KEY_PART_END);
|
||||
success = lib->encoding->encode(lib->encoding, PRIVKEY_PEM,
|
||||
NULL, encoding, CRED_PART_RSA_PRIV_ASN1_DER,
|
||||
asn1_encoding, CRED_PART_END);
|
||||
chunk_clear(&asn1_encoding);
|
||||
}
|
||||
return success;
|
||||
@@ -291,9 +291,9 @@ static private_openssl_rsa_private_key_t *create_empty(void)
|
||||
this->public.interface.get_public_key = (public_key_t* (*) (private_key_t*))get_public_key;
|
||||
this->public.interface.equals = private_key_equals;
|
||||
this->public.interface.belongs_to = private_key_belongs_to;
|
||||
this->public.interface.get_fingerprint = (bool(*)(private_key_t*, key_encoding_type_t type, chunk_t *fp))get_fingerprint;
|
||||
this->public.interface.get_fingerprint = (bool(*)(private_key_t*, cred_encoding_type_t type, chunk_t *fp))get_fingerprint;
|
||||
this->public.interface.has_fingerprint = (bool(*)(private_key_t*, chunk_t fp))private_key_has_fingerprint;
|
||||
this->public.interface.get_encoding = (bool(*)(private_key_t*, key_encoding_type_t type, chunk_t *encoding))get_encoding;
|
||||
this->public.interface.get_encoding = (bool(*)(private_key_t*, cred_encoding_type_t type, chunk_t *encoding))get_encoding;
|
||||
this->public.interface.get_ref = (private_key_t* (*) (private_key_t*))get_ref;
|
||||
this->public.interface.destroy = (void (*) (private_key_t*))destroy;
|
||||
|
||||
|
||||
@@ -172,7 +172,7 @@ static size_t get_keysize(private_openssl_rsa_public_key_t *this)
|
||||
/**
|
||||
* Calculate fingerprint from a RSA key, also used in rsa private key.
|
||||
*/
|
||||
bool openssl_rsa_fingerprint(RSA *rsa, key_encoding_type_t type, chunk_t *fp)
|
||||
bool openssl_rsa_fingerprint(RSA *rsa, cred_encoding_type_t type, chunk_t *fp)
|
||||
{
|
||||
hasher_t *hasher;
|
||||
chunk_t key;
|
||||
@@ -184,12 +184,12 @@ bool openssl_rsa_fingerprint(RSA *rsa, key_encoding_type_t type, chunk_t *fp)
|
||||
}
|
||||
switch (type)
|
||||
{
|
||||
case KEY_ID_PUBKEY_SHA1:
|
||||
case KEYID_PUBKEY_SHA1:
|
||||
key = chunk_alloc(i2d_RSAPublicKey(rsa, NULL));
|
||||
p = key.ptr;
|
||||
i2d_RSAPublicKey(rsa, &p);
|
||||
break;
|
||||
case KEY_ID_PUBKEY_INFO_SHA1:
|
||||
case KEYID_PUBKEY_INFO_SHA1:
|
||||
key = chunk_alloc(i2d_RSA_PUBKEY(rsa, NULL));
|
||||
p = key.ptr;
|
||||
i2d_RSA_PUBKEY(rsa, &p);
|
||||
@@ -215,7 +215,7 @@ bool openssl_rsa_fingerprint(RSA *rsa, key_encoding_type_t type, chunk_t *fp)
|
||||
* Implementation of public_key_t.get_fingerprint.
|
||||
*/
|
||||
static bool get_fingerprint(private_openssl_rsa_public_key_t *this,
|
||||
key_encoding_type_t type, chunk_t *fingerprint)
|
||||
cred_encoding_type_t type, chunk_t *fingerprint)
|
||||
{
|
||||
return openssl_rsa_fingerprint(this->rsa, type, fingerprint);
|
||||
}
|
||||
@@ -224,14 +224,14 @@ static bool get_fingerprint(private_openssl_rsa_public_key_t *this,
|
||||
* Implementation of public_key_t.get_encoding.
|
||||
*/
|
||||
static bool get_encoding(private_openssl_rsa_public_key_t *this,
|
||||
key_encoding_type_t type, chunk_t *encoding)
|
||||
cred_encoding_type_t type, chunk_t *encoding)
|
||||
{
|
||||
u_char *p;
|
||||
|
||||
switch (type)
|
||||
{
|
||||
case KEY_PUB_SPKI_ASN1_DER:
|
||||
case KEY_PUB_PEM:
|
||||
case PUBKEY_SPKI_ASN1_DER:
|
||||
case PUBKEY_PEM:
|
||||
{
|
||||
bool success = TRUE;
|
||||
|
||||
@@ -239,18 +239,18 @@ static bool get_encoding(private_openssl_rsa_public_key_t *this,
|
||||
p = encoding->ptr;
|
||||
i2d_RSA_PUBKEY(this->rsa, &p);
|
||||
|
||||
if (type == KEY_PUB_PEM)
|
||||
if (type == PUBKEY_PEM)
|
||||
{
|
||||
chunk_t asn1_encoding = *encoding;
|
||||
|
||||
success = lib->encoding->encode(lib->encoding, KEY_PUB_PEM,
|
||||
NULL, encoding, KEY_PART_RSA_PUB_ASN1_DER,
|
||||
asn1_encoding, KEY_PART_END);
|
||||
success = lib->encoding->encode(lib->encoding, PUBKEY_PEM,
|
||||
NULL, encoding, CRED_PART_RSA_PUB_ASN1_DER,
|
||||
asn1_encoding, CRED_PART_END);
|
||||
chunk_clear(&asn1_encoding);
|
||||
}
|
||||
return success;
|
||||
}
|
||||
case KEY_PUB_ASN1_DER:
|
||||
case PUBKEY_ASN1_DER:
|
||||
{
|
||||
*encoding = chunk_alloc(i2d_RSAPublicKey(this->rsa, NULL));
|
||||
p = encoding->ptr;
|
||||
@@ -299,9 +299,9 @@ static private_openssl_rsa_public_key_t *create_empty()
|
||||
this->public.interface.encrypt = (bool (*)(public_key_t *this, chunk_t crypto, chunk_t *plain))encrypt_;
|
||||
this->public.interface.equals = public_key_equals;
|
||||
this->public.interface.get_keysize = (size_t (*) (public_key_t *this))get_keysize;
|
||||
this->public.interface.get_fingerprint = (bool(*)(public_key_t*, key_encoding_type_t type, chunk_t *fp))get_fingerprint;
|
||||
this->public.interface.get_fingerprint = (bool(*)(public_key_t*, cred_encoding_type_t type, chunk_t *fp))get_fingerprint;
|
||||
this->public.interface.has_fingerprint = (bool(*)(public_key_t*, chunk_t fp))public_key_has_fingerprint;
|
||||
this->public.interface.get_encoding = (bool(*)(public_key_t*, key_encoding_type_t type, chunk_t *encoding))get_encoding;
|
||||
this->public.interface.get_encoding = (bool(*)(public_key_t*, cred_encoding_type_t type, chunk_t *encoding))get_encoding;
|
||||
this->public.interface.get_ref = (public_key_t* (*)(public_key_t *this))get_ref;
|
||||
this->public.interface.destroy = (void (*)(public_key_t *this))destroy;
|
||||
|
||||
|
||||
@@ -213,7 +213,7 @@ METHOD(x509_t, get_subjectKeyIdentifier, chunk_t,
|
||||
{
|
||||
return this->subjectKeyIdentifier;
|
||||
}
|
||||
if (this->pubkey->get_fingerprint(this->pubkey, KEY_ID_PUBKEY_SHA1,
|
||||
if (this->pubkey->get_fingerprint(this->pubkey, KEYID_PUBKEY_SHA1,
|
||||
&fingerprint))
|
||||
{
|
||||
return fingerprint;
|
||||
|
||||
Reference in New Issue
Block a user