Commit dab4e1f254 for strongswan.org
commit dab4e1f254d8ae7c29d39cb65eb307d2dbad3cc6
Author: Andreas Steffen <andreas.steffen@strongswan.org>
Date: Thu Dec 26 11:40:41 2024 +0100
curve25519: Use of public_key_info_encode()
diff --git a/src/libstrongswan/plugins/curve25519/curve25519_private_key.c b/src/libstrongswan/plugins/curve25519/curve25519_private_key.c
index bf5c41486d..9c4ebec905 100644
--- a/src/libstrongswan/plugins/curve25519/curve25519_private_key.c
+++ b/src/libstrongswan/plugins/curve25519/curve25519_private_key.c
@@ -133,7 +133,7 @@ METHOD(private_key_t, get_public_key, public_key_t*,
public_key_t *public;
chunk_t pubkey;
- pubkey = curve25519_public_key_info_encode(this->pubkey);
+ pubkey = public_key_info_encode(this->pubkey, OID_ED25519);
public = lib->creds->create(lib->creds, CRED_PUBLIC_KEY, KEY_ED25519,
BUILD_BLOB_ASN1_DER, pubkey, BUILD_END);
free(pubkey.ptr);
diff --git a/src/libstrongswan/plugins/curve25519/curve25519_public_key.c b/src/libstrongswan/plugins/curve25519/curve25519_public_key.c
index 2c20549e98..1f74590591 100644
--- a/src/libstrongswan/plugins/curve25519/curve25519_public_key.c
+++ b/src/libstrongswan/plugins/curve25519/curve25519_public_key.c
@@ -159,7 +159,7 @@ METHOD(public_key_t, get_encoding, bool,
{
bool success = TRUE;
- *encoding = curve25519_public_key_info_encode(this->pubkey);
+ *encoding = public_key_info_encode(this->pubkey, OID_ED25519);
if (type != PUBKEY_SPKI_ASN1_DER)
{
@@ -325,17 +325,6 @@ curve25519_public_key_t *curve25519_public_key_load(key_type_t type,
return &this->public;
}
-/**
- * See header.
- */
-chunk_t curve25519_public_key_info_encode(chunk_t pubkey)
-{
- return asn1_wrap(ASN1_SEQUENCE, "mm",
- asn1_wrap(ASN1_SEQUENCE, "m",
- asn1_build_known_oid(OID_ED25519)),
- asn1_bitstring("c", pubkey));
-}
-
/**
* See header.
*/
@@ -351,7 +340,7 @@ bool curve25519_public_key_fingerprint(chunk_t pubkey,
key = chunk_clone(pubkey);
break;
case KEYID_PUBKEY_INFO_SHA1:
- key = curve25519_public_key_info_encode(pubkey);
+ key = public_key_info_encode(pubkey, OID_ED25519);
break;
default:
return FALSE;
diff --git a/src/libstrongswan/plugins/curve25519/curve25519_public_key.h b/src/libstrongswan/plugins/curve25519/curve25519_public_key.h
index 69b6b1e873..a0357166a9 100644
--- a/src/libstrongswan/plugins/curve25519/curve25519_public_key.h
+++ b/src/libstrongswan/plugins/curve25519/curve25519_public_key.h
@@ -51,16 +51,6 @@ struct curve25519_public_key_t {
curve25519_public_key_t *curve25519_public_key_load(key_type_t type,
va_list args);
-/* The following functions are shared with the curve25519_private_key class */
-
-/**
- * Encode a Ed25519 subjectPublicKeyInfo record in ASN.1 DER format
- *
- * @param pubkey Ed25519 public key
- * @result ASN.1 encoded subjectPublicKeyInfo record
- */
-chunk_t curve25519_public_key_info_encode(chunk_t pubkey);
-
/**
* Generate a Ed25519 public key fingerprint
*