@@ -2060,21 +2060,21 @@ def x25519_load_private_bytes(self, data):
20602060 )
20612061 return _X25519PrivateKey (self , evp_pkey )
20622062
2063- def x25519_generate_key (self ):
2064- evp_pkey_ctx = self ._lib .EVP_PKEY_CTX_new_id (
2065- self ._lib .NID_X25519 , self ._ffi .NULL
2066- )
2063+ def _evp_pkey_keygen_gc (self , nid ):
2064+ evp_pkey_ctx = self ._lib .EVP_PKEY_CTX_new_id (nid , self ._ffi .NULL )
20672065 self .openssl_assert (evp_pkey_ctx != self ._ffi .NULL )
2068- evp_pkey_ctx = self ._ffi .gc (
2069- evp_pkey_ctx , self ._lib .EVP_PKEY_CTX_free
2070- )
2066+ evp_pkey_ctx = self ._ffi .gc (evp_pkey_ctx , self ._lib .EVP_PKEY_CTX_free )
20712067 res = self ._lib .EVP_PKEY_keygen_init (evp_pkey_ctx )
20722068 self .openssl_assert (res == 1 )
20732069 evp_ppkey = self ._ffi .new ("EVP_PKEY **" )
20742070 res = self ._lib .EVP_PKEY_keygen (evp_pkey_ctx , evp_ppkey )
20752071 self .openssl_assert (res == 1 )
20762072 self .openssl_assert (evp_ppkey [0 ] != self ._ffi .NULL )
20772073 evp_pkey = self ._ffi .gc (evp_ppkey [0 ], self ._lib .EVP_PKEY_free )
2074+ return evp_pkey
2075+
2076+ def x25519_generate_key (self ):
2077+ evp_pkey = self ._evp_pkey_keygen_gc (self ._lib .NID_X25519 )
20782078 return _X25519PrivateKey (self , evp_pkey )
20792079
20802080 def x25519_supported (self ):
0 commit comments