Fix alignment errors in hashtable fuzzer
[openssl.git] / doc / man7 / EVP_PKEY-DSA.pod
index 5f922f46fc724a31714a92bebfbeaf08f5d64827..f51b43b2a613962356091c3a76e76ee68ff8d15b 100644 (file)
@@ -29,13 +29,29 @@ For "fips186_4" this must be either 2048 or 3072.
 For "fips186_2" this must be 1024.
 For "group" this can be any one of 2048, 3072, 4096, 6144 or 8192.
 
+=head2 DSA key validation
+
+For DSA keys, L<EVP_PKEY_param_check(3)> behaves in the following way:
+The OpenSSL FIPS provider conforms to the rules within the FIPS186-4
+standard for FFC parameter validation. For backwards compatibility the OpenSSL
+default provider uses a much simpler check (see below) for parameter validation,
+unless the seed parameter is set.
+
+For DSA keys, L<EVP_PKEY_param_check_quick(3)> behaves in the following way:
+A simple check of L and N and partial g is performed. The default provider
+also supports validation of legacy "fips186_2" keys.
+
+For DSA keys, L<EVP_PKEY_public_check(3)>, L<EVP_PKEY_private_check(3)> and
+L<EVP_PKEY_pairwise_check(3)> the OpenSSL default and FIPS providers conform to
+the rules within SP800-56Ar3 for public, private and pairwise tests respectively.
+
 =head1 EXAMPLES
 
 An B<EVP_PKEY> context can be obtained by calling:
 
     EVP_PKEY_CTX *pctx = EVP_PKEY_CTX_new_from_name(NULL, "DSA", NULL);
 
-A B<DSA> domain parameters can be generated by calling:
+The B<DSA> domain parameters can be generated by calling:
 
     unsigned int pbits = 2048;
     unsigned int qbits = 256;
@@ -54,7 +70,7 @@ A B<DSA> domain parameters can be generated by calling:
     params[4] = OSSL_PARAM_construct_end();
     EVP_PKEY_CTX_set_params(pctx, params);
 
-    EVP_PKEY_gen(pctx, &param_key);
+    EVP_PKEY_generate(pctx, &param_key);
     EVP_PKEY_CTX_free(pctx);
 
     EVP_PKEY_print_params(bio_out, param_key, 0, NULL);
@@ -66,14 +82,14 @@ A B<DSA> key can be generated using domain parameters by calling:
 
     gctx = EVP_PKEY_CTX_new_from_pkey(NULL, param_key, NULL);
     EVP_PKEY_keygen_init(gctx);
-    EVP_PKEY_gen(gctx, &key);
+    EVP_PKEY_generate(gctx, &key);
     EVP_PKEY_CTX_free(gctx);
     EVP_PKEY_print_private(bio_out, key, 0, NULL);
 
 
 =head1 CONFORMING TO
 
-The following sections of FIPS 186-4:
+The following sections of FIPS186-4:
 
 =over 4