#if HAVE_OPENSSL
static int load_secure_boot_auto_enroll(
X509 **ret_certificate,
- EVP_PKEY **ret_private_key) {
+ EVP_PKEY **ret_private_key,
+ OpenSSLAskPasswordUI **ret_ui) {
int r;
assert(ret_certificate);
assert(ret_private_key);
+ assert(ret_ui);
if (!arg_secure_boot_auto_enroll) {
*ret_certificate = NULL;
return log_error_errno(r, "Failed to parse private key path %s: %m", arg_private_key);
}
- _cleanup_(EVP_PKEY_freep) EVP_PKEY *private_key = NULL;
r = openssl_load_private_key(
arg_private_key_source_type,
arg_private_key_source,
.until = USEC_INFINITY,
.hup_fd = -EBADF,
},
- &private_key,
- /* ret_user_interface= */ NULL);
+ ret_private_key,
+ ret_ui);
if (r < 0)
return log_error_errno(r, "Failed to load private key from %s: %m", arg_private_key);
*ret_certificate = TAKE_PTR(certificate);
- *ret_private_key = TAKE_PTR(private_key);
return 0;
}
graceful = arg_graceful() == ARG_GRACEFUL_FORCE || (!install && arg_graceful() != ARG_GRACEFUL_NO);
#if HAVE_OPENSSL
+ _cleanup_(openssl_ask_password_ui_freep) OpenSSLAskPasswordUI *ui = NULL;
_cleanup_(EVP_PKEY_freep) EVP_PKEY *private_key = NULL;
_cleanup_(X509_freep) X509 *certificate = NULL;
- r = load_secure_boot_auto_enroll(&certificate, &private_key);
+ r = load_secure_boot_auto_enroll(&certificate, &private_key, &ui);
if (r < 0)
return r;
#endif