Hans Leidekker (@hans) commented about dlls/bcrypt/gnutls.c:
if ((ret = pgnutls_pubkey_init( &pubkey )))
{
pgnutls_perror( ret );
return STATUS_INTERNAL_ERROR;
}
if ((ret = pgnutls_pubkey_import_privkey( pubkey, key_data(params->key)->a.privkey, 0, 0 )))
{
pgnutls_perror( ret );
pgnutls_pubkey_deinit( pubkey );
return STATUS_INTERNAL_ERROR;
}
- }
- ret = pgnutls_pubkey_encrypt_data(pubkey, 0, &d, &e);
- if (pubkey != key_data(params->key)->a.pubkey)
pgnutls_pubkey_deinit( pubkey );
Why not store the public key? That would be more efficient if key_asymmetric_encrypt() is called more than once.