Provide better documentation for SSL_get_servername()
[openssl.git] / test / evp_pkey_provided_test.c
index c38f79ce79fc60ccf7a5b449b7bdaf3f70d67385..a39fa0a724b0ce5b30de8a32cfbc0697a8e2bc61 100644 (file)
@@ -92,7 +92,7 @@ err:
 static int test_fromdata_rsa(void)
 {
     int ret = 0;
-    EVP_PKEY_CTX *ctx = NULL;
+    EVP_PKEY_CTX *ctx = NULL, *key_ctx = NULL;
     EVP_PKEY *pk = NULL;
     /*
      * 32-bit RSA key, extracted from this command,
@@ -122,11 +122,23 @@ 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;
+
+    if (!TEST_ptr(key_ctx = EVP_PKEY_CTX_new_from_pkey(NULL, pk, "")))
+        goto err;
+
+    if (!TEST_true(EVP_PKEY_check(key_ctx))
+        || !TEST_true(EVP_PKEY_public_check(key_ctx))
+        || !TEST_true(EVP_PKEY_private_check(key_ctx))
+        || !TEST_true(EVP_PKEY_pairwise_check(key_ctx)))
         goto err;
 
     ret = test_print_key_using_pem(pk)
@@ -134,6 +146,7 @@ static int test_fromdata_rsa(void)
 
  err:
     EVP_PKEY_free(pk);
+    EVP_PKEY_CTX_free(key_ctx);
     EVP_PKEY_CTX_free(ctx);
 
     return ret;
@@ -172,11 +185,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)