Use EVP_PKEY_generate_from_alg in tool/server.cc

Slightly fewer steps.

Change-Id: Id71e613a159d8421700785cd833f0d5bbc3de838
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/98731
Reviewed-by: Lily Chen <chlily@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
diff --git a/tool/server.cc b/tool/server.cc
index 4149749..9a4f2cf 100644
--- a/tool/server.cc
+++ b/tool/server.cc
@@ -18,6 +18,7 @@
 
 #include <openssl/digest.h>
 #include <openssl/err.h>
+#include <openssl/evp.h>
 #include <openssl/hpke.h>
 #include <openssl/rand.h>
 #include <openssl/ssl.h>
@@ -170,16 +171,12 @@
 }
 
 static bssl::UniquePtr<EVP_PKEY> MakeKeyPairForSelfSignedCert() {
-  bssl::UniquePtr<EC_KEY> ec_key(EC_KEY_new_by_curve_name(NID_X9_62_prime256v1));
-  if (!ec_key || !EC_KEY_generate_key(ec_key.get())) {
+  bssl::UniquePtr<EVP_PKEY> evp_pkey(
+      EVP_PKEY_generate_from_alg(EVP_pkey_ec_p256()));
+  if (!evp_pkey) {
     fprintf(stderr, "Failed to generate key pair.\n");
     return nullptr;
   }
-  bssl::UniquePtr<EVP_PKEY> evp_pkey(EVP_PKEY_new());
-  if (!evp_pkey || !EVP_PKEY_assign_EC_KEY(evp_pkey.get(), ec_key.release())) {
-    fprintf(stderr, "Failed to assign key pair.\n");
-    return nullptr;
-  }
   return evp_pkey;
 }