Beispiel #1
0
static int pkey_dh_ctrl_str(EVP_PKEY_CTX *ctx,
                            const char *type, const char *value)
{
    if (!sgx_strcmp(type, "dh_paramgen_prime_len")) {
        int len;
        len = atoi(value);
        return EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len);
    }
    if (!sgx_strcmp(type, "dh_rfc5114")) {
        DH_PKEY_CTX *dctx = ctx->data;
        int len;
        len = atoi(value);
        if (len < 0 || len > 3)
            return -2;
        dctx->rfc5114_param = len;
        return 1;
    }
    if (!sgx_strcmp(type, "dh_paramgen_generator")) {
        int len;
        len = atoi(value);
        return EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, len);
    }
    if (!sgx_strcmp(type, "dh_paramgen_subprime_len")) {
        int len;
        len = atoi(value);
        return EVP_PKEY_CTX_set_dh_paramgen_subprime_len(ctx, len);
    }
    if (!sgx_strcmp(type, "dh_paramgen_type")) {
        int typ;
        typ = atoi(value);
        return EVP_PKEY_CTX_set_dh_paramgen_type(ctx, typ);
    }
    return -2;
}
Beispiel #2
0
static int
pkey_dh_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, const char *value)
{
 	long lval;
	char *ep;
	int len;

	if (!strcmp(type, "dh_paramgen_prime_len")) {
		errno = 0;
		lval = strtol(value, &ep, 10);
		if (value[0] == '\0' || *ep != '\0')
			goto not_a_number;
		if ((errno == ERANGE &&
		    (lval == LONG_MAX || lval == LONG_MIN)) ||
		    (lval > INT_MAX || lval < INT_MIN))
			goto out_of_range;
		len = lval;
		return EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len);
	} else if (!strcmp(type, "dh_paramgen_generator")) {
		errno = 0;
		lval = strtol(value, &ep, 10);
		if (value[0] == '\0' || *ep != '\0')
			goto not_a_number;
		if ((errno == ERANGE &&
		    (lval == LONG_MAX || lval == LONG_MIN)) ||
		    (lval > INT_MAX || lval < INT_MIN))
			goto out_of_range;
		len = lval;
		return EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, len);
	}

not_a_number:
out_of_range:
	return -2;
}
Beispiel #3
0
static int pkey_dh_ctrl_str(EVP_PKEY_CTX *ctx,
			const char *type, const char *value)
	{
	if (!strcmp(type, "dh_paramgen_prime_len"))
		{
		int len;
		len = atoi(value);
		return EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len);
		}
	if (!strcmp(type, "dh_paramgen_generator"))
		{
		int len;
		len = atoi(value);
		return EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, len);
		}
	return -2;
	}