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
  *