diff options
author | Dr. Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> | 2019-06-27 10:12:08 +0200 |
---|---|---|
committer | Dr. Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> | 2019-06-27 14:39:07 +0200 |
commit | 262c00882a2fd7cf16672bf467a86f75b4098a7c (patch) | |
tree | 8145f67128e8db9c6a5d39f1da0017e8899231fb /doc/man3/EVP_SignInit.pod | |
parent | 0588be2e01c244c41b0215689f411a6223063fd7 (diff) |
man: clarify the 'random number generator must be seeded' requirement
The manual pages require for some API functions that the 'random number
generator must be seeded' before calling the function. Initially, this
was meant literally, i.e. the OpenSSL CSPRNG had to be seeded manually
before calling these functions.
Since version 1.1.1, the CSPRNG is seeded automatically on first use,
so it's not the responsibility of the programmer anymore. Still, he
needs to be aware that the seeding might fail.
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/9257)
Diffstat (limited to 'doc/man3/EVP_SignInit.pod')
-rw-r--r-- | doc/man3/EVP_SignInit.pod | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/doc/man3/EVP_SignInit.pod b/doc/man3/EVP_SignInit.pod index 02786d076e..8dbc644ae6 100644 --- a/doc/man3/EVP_SignInit.pod +++ b/doc/man3/EVP_SignInit.pod @@ -66,9 +66,10 @@ The B<EVP> interface to digital signatures should almost always be used in preference to the low level interfaces. This is because the code then becomes transparent to the algorithm used and much more flexible. -When signing with DSA private keys the random number generator must be seeded -or the operation will fail. The random number generator does not need to be -seeded for RSA signatures. +When signing with DSA private keys the random number generator must be seeded. +If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to +external circumstances (see L<RAND(7)>), the operation will fail. +This requirement does not hold for RSA signatures. The call to EVP_SignFinal() internally finalizes a copy of the digest context. This means that calls to EVP_SignUpdate() and EVP_SignFinal() can be called |