Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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;
}