コード例 #1
0
ファイル: tls_config.c プロジェクト: bbbrumley/openbsd
int
tls_config_set_cert_mem(struct tls_config *config, const uint8_t *cert,
    size_t len)
{
	return tls_keypair_set_cert_mem(config->keypair, &config->error,
	    cert, len);
}
コード例 #2
0
ファイル: tls_config.c プロジェクト: bbbrumley/openbsd
static int
tls_config_add_keypair_mem_internal(struct tls_config *config, const uint8_t *cert,
    size_t cert_len, const uint8_t *key, size_t key_len,
    const uint8_t *staple, size_t staple_len)
{
	struct tls_keypair *keypair;

	if ((keypair = tls_keypair_new()) == NULL)
		return (-1);
	if (tls_keypair_set_cert_mem(keypair, &config->error, cert, cert_len) != 0)
		goto err;
	if (tls_keypair_set_key_mem(keypair, &config->error, key, key_len) != 0)
		goto err;
	if (staple != NULL &&
	    tls_keypair_set_ocsp_staple_mem(keypair, &config->error, staple,
		staple_len) != 0)
		goto err;

	tls_config_keypair_add(config, keypair);

	return (0);

 err:
	tls_keypair_free(keypair);
	return (-1);
}
コード例 #3
0
void
tls_keypair_clear(struct tls_keypair *keypair)
{
	struct tls_error error;

	tls_keypair_set_cert_mem(keypair, &error, NULL, 0);
	tls_keypair_set_key_mem(keypair, &error, NULL, 0);
	tls_keypair_set_ocsp_staple_mem(keypair, &error, NULL, 0);

	free(keypair->pubkey_hash);
	keypair->pubkey_hash = NULL;
}
コード例 #4
0
static void
tls_keypair_clear(struct tls_keypair *keypair)
{
	tls_keypair_set_cert_mem(keypair, NULL, 0);
	tls_keypair_set_key_mem(keypair, NULL, 0);
}