static int openssl_iostream_use_key(struct ssl_iostream *ssl_io, const struct ssl_iostream_settings *set) { EVP_PKEY *pkey; int ret = 0; if (openssl_iostream_load_key(set, ssl_io->source, &pkey) < 0) return -1; if (SSL_use_PrivateKey(ssl_io->ssl, pkey) != 1) { i_error("%s: Can't load SSL private key: %s", ssl_io->source, openssl_iostream_key_load_error()); ret = -1; } EVP_PKEY_free(pkey); return ret; }
static int openssl_iostream_use_key(struct ssl_iostream *ssl_io, const struct ssl_iostream_settings *set, const char **error_r) { EVP_PKEY *pkey; int ret = 0; if (openssl_iostream_load_key(set, &pkey, error_r) < 0) return -1; if (SSL_use_PrivateKey(ssl_io->ssl, pkey) != 1) { *error_r = t_strdup_printf("Can't load SSL private key: %s", openssl_iostream_key_load_error()); ret = -1; } EVP_PKEY_free(pkey); return ret; }