コード例 #1
0
ファイル: fips_dsa_selftest.c プロジェクト: leloulight/eme
int FIPS_selftest_dsa()
	{
	DSA *dsa=NULL;
	EVP_PKEY pk;
	int ret = 0;

	dsa = FIPS_dsa_new();

	if(dsa == NULL)
		goto err;

	fips_load_key_component(dsa, p, dsa_test_2048);
	fips_load_key_component(dsa, q, dsa_test_2048);
	fips_load_key_component(dsa, g, dsa_test_2048);
	fips_load_key_component(dsa, pub_key, dsa_test_2048);
	fips_load_key_component(dsa, priv_key, dsa_test_2048);

	pk.type = EVP_PKEY_DSA;
	pk.pkey.dsa = dsa;

	if (!fips_pkey_signature_test(FIPS_TEST_SIGNATURE, &pk, NULL, 0,
					NULL, 0, EVP_sha384(), 0,
					"DSA SHA384"))
		goto err;
	ret = 1;

	err:
	if (dsa)
		FIPS_dsa_free(dsa);
	return ret;
	}
コード例 #2
0
ファイル: fips_rsa_selftest.c プロジェクト: leloulight/eme
static int setrsakey(RSA *k)
	{
	fips_load_key_component(k, n, rsa_test_2048);
	fips_load_key_component(k, e, rsa_test_2048);
	fips_load_key_component(k, d, rsa_test_2048);
	fips_load_key_component(k, p, rsa_test_2048);
	fips_load_key_component(k, q, rsa_test_2048);
	fips_load_key_component(k, dmp1, rsa_test_2048);
	fips_load_key_component(k, dmq1, rsa_test_2048);
	fips_load_key_component(k, iqmp, rsa_test_2048);
	return 1;
	err:
	return 0;
	}
コード例 #3
0
int FIPS_selftest_dsa()
{
    DSA *dsa = NULL;
    EVP_PKEY *pk = NULL;
    int ret = 0;

    dsa = DSA_new();

    if (dsa == NULL)
        goto err;

    fips_load_key_component(dsa, p, dsa_test_2048);
    fips_load_key_component(dsa, q, dsa_test_2048);
    fips_load_key_component(dsa, g, dsa_test_2048);
    fips_load_key_component(dsa, pub_key, dsa_test_2048);
    fips_load_key_component(dsa, priv_key, dsa_test_2048);

    if (corrupt_dsa)
        BN_set_bit(dsa->pub_key, 2047);

    if ((pk = EVP_PKEY_new()) == NULL)
        goto err;

    EVP_PKEY_assign_DSA(pk, dsa);

    if (!fips_pkey_signature_test(pk, NULL, 0,
                                  NULL, 0, EVP_sha256(), 0, "DSA SHA256"))
        goto err;
    ret = 1;

 err:
    if (pk)
        EVP_PKEY_free(pk);
    else if (dsa)
        DSA_free(dsa);
    return ret;
}