TEST: Adapt test/evp_pkey_provided_test.c to check the key size
[openssl.git] / test / evp_pkey_provided_test.c
index 6dcd0fe70122fea73712bc6be91f7ff27817ca8a..8101585d950ed759a17dcce0b819cb2cee5331e8 100644 (file)
@@ -122,11 +122,14 @@ static int test_fromdata_rsa(void)
         OSSL_PARAM_END
     };
 
-    if (!TEST_ptr(ctx = EVP_PKEY_CTX_new_provided(NULL, "RSA", NULL)))
+    if (!TEST_ptr(ctx = EVP_PKEY_CTX_new_from_name(NULL, "RSA", NULL)))
         goto err;
 
     if (!TEST_true(EVP_PKEY_key_fromdata_init(ctx))
-        || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, fromdata_params)))
+        || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, fromdata_params))
+        || !TEST_int_eq(EVP_PKEY_bits(pk), 32)
+        || !TEST_int_eq(EVP_PKEY_security_bits(pk), 8)
+        || !TEST_int_eq(EVP_PKEY_size(pk), 4))
         goto err;
 
     ret = test_print_key_using_pem(pk)
@@ -139,6 +142,7 @@ static int test_fromdata_rsa(void)
     return ret;
 }
 
+#ifndef OPENSSL_NO_DH
 /* Array indexes used in test_fromdata_dh */
 #define PRIV_KEY        0
 #define PUB_KEY         1
@@ -171,11 +175,14 @@ static int test_fromdata_dh(void)
         OSSL_PARAM_END
     };
 
-    if (!TEST_ptr(ctx = EVP_PKEY_CTX_new_provided(NULL, "DH", NULL)))
+    if (!TEST_ptr(ctx = EVP_PKEY_CTX_new_from_name(NULL, "DH", NULL)))
         goto err;
 
     if (!TEST_true(EVP_PKEY_key_fromdata_init(ctx))
-        || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, fromdata_params)))
+        || !TEST_true(EVP_PKEY_fromdata(ctx, &pk, fromdata_params))
+        || !TEST_int_eq(EVP_PKEY_bits(pk), 32)
+        || !TEST_int_eq(EVP_PKEY_security_bits(pk), 0) /* Missing Q */
+        || !TEST_int_eq(EVP_PKEY_size(pk), 4))
         goto err;
 
     ret = test_print_key_using_pem(pk)
@@ -187,10 +194,13 @@ static int test_fromdata_dh(void)
 
     return ret;
 }
+#endif
 
 int setup_tests(void)
 {
     ADD_TEST(test_fromdata_rsa);
+#ifndef OPENSSL_NO_DH
     ADD_TEST(test_fromdata_dh);
+#endif
     return 1;
 }