diff options
Diffstat (limited to 'src/lib/libcrypto/doc')
| -rw-r--r-- | src/lib/libcrypto/doc/DH_get_ex_new_index.pod | 2 | ||||
| -rw-r--r-- | src/lib/libcrypto/doc/EVP_DigestInit.pod | 11 | ||||
| -rw-r--r-- | src/lib/libcrypto/doc/EVP_EncryptInit.pod | 5 | ||||
| -rw-r--r-- | src/lib/libcrypto/doc/EVP_SignInit.pod | 4 | ||||
| -rw-r--r-- | src/lib/libcrypto/doc/EVP_VerifyInit.pod | 2 | ||||
| -rw-r--r-- | src/lib/libcrypto/doc/RSA_check_key.pod | 32 | ||||
| -rw-r--r-- | src/lib/libcrypto/doc/rsa.pod | 2 |
7 files changed, 48 insertions, 10 deletions
diff --git a/src/lib/libcrypto/doc/DH_get_ex_new_index.pod b/src/lib/libcrypto/doc/DH_get_ex_new_index.pod index 82e2548bcd..fa5eab2650 100644 --- a/src/lib/libcrypto/doc/DH_get_ex_new_index.pod +++ b/src/lib/libcrypto/doc/DH_get_ex_new_index.pod | |||
| @@ -26,7 +26,7 @@ as described in L<RSA_get_ex_new_index(3)>. | |||
| 26 | 26 | ||
| 27 | =head1 SEE ALSO | 27 | =head1 SEE ALSO |
| 28 | 28 | ||
| 29 | L<RSA_get_ex_new_index()|RSA_get_ex_new_index()>, L<dh(3)|dh(3)> | 29 | L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>, L<dh(3)|dh(3)> |
| 30 | 30 | ||
| 31 | =head1 HISTORY | 31 | =head1 HISTORY |
| 32 | 32 | ||
diff --git a/src/lib/libcrypto/doc/EVP_DigestInit.pod b/src/lib/libcrypto/doc/EVP_DigestInit.pod index b3a61f1c5d..5901c39526 100644 --- a/src/lib/libcrypto/doc/EVP_DigestInit.pod +++ b/src/lib/libcrypto/doc/EVP_DigestInit.pod | |||
| @@ -238,14 +238,19 @@ even though they are identical digests. | |||
| 238 | 238 | ||
| 239 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, | 239 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, |
| 240 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, | 240 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, |
| 241 | L<sha(3)|sha(3)>, L<digest(1)|digest(1)> | 241 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> |
| 242 | 242 | ||
| 243 | =head1 HISTORY | 243 | =head1 HISTORY |
| 244 | 244 | ||
| 245 | EVP_DigestInit(), EVP_DigestUpdate() and EVP_DigestFinal() are | 245 | EVP_DigestInit(), EVP_DigestUpdate() and EVP_DigestFinal() are |
| 246 | available in all versions of SSLeay and OpenSSL. | 246 | available in all versions of SSLeay and OpenSSL. |
| 247 | 247 | ||
| 248 | EVP_DigestInit_ex(), EVP_DigestFinal_ex() and EVP_MD_CTX_copy_ex() | 248 | EVP_MD_CTX_init(), EVP_MD_CTX_create(), EVP_MD_CTX_copy_ex(), |
| 249 | were added in OpenSSL 0.9.7. | 249 | EVP_MD_CTX_cleanup(), EVP_MD_CTX_destroy(), EVP_DigestInit_ex() |
| 250 | and EVP_DigestFinal_ex() were added in OpenSSL 0.9.7. | ||
| 251 | |||
| 252 | EVP_md_null(), EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), | ||
| 253 | EVP_dss(), EVP_dss1(), EVP_mdc2() and EVP_ripemd160() were | ||
| 254 | changed to return truely const EVP_MD * in OpenSSL 0.9.7. | ||
| 250 | 255 | ||
| 251 | =cut | 256 | =cut |
diff --git a/src/lib/libcrypto/doc/EVP_EncryptInit.pod b/src/lib/libcrypto/doc/EVP_EncryptInit.pod index 371b6a2287..75cceb1ca2 100644 --- a/src/lib/libcrypto/doc/EVP_EncryptInit.pod +++ b/src/lib/libcrypto/doc/EVP_EncryptInit.pod | |||
| @@ -501,4 +501,9 @@ L<evp(3)|evp(3)> | |||
| 501 | 501 | ||
| 502 | =head1 HISTORY | 502 | =head1 HISTORY |
| 503 | 503 | ||
| 504 | EVP_CIPHER_CTX_init(), EVP_EncryptInit_ex(), EVP_EncryptFinal_ex(), | ||
| 505 | EVP_DecryptInit_ex(), EVP_DecryptFinal_ex(), EVP_CipherInit_ex(), | ||
| 506 | EVP_CipherFinal_ex() and EVP_CIPHER_CTX_set_padding() appeared in | ||
| 507 | OpenSSL 0.9.7. | ||
| 508 | |||
| 504 | =cut | 509 | =cut |
diff --git a/src/lib/libcrypto/doc/EVP_SignInit.pod b/src/lib/libcrypto/doc/EVP_SignInit.pod index 32e9d54809..b203c3a1c5 100644 --- a/src/lib/libcrypto/doc/EVP_SignInit.pod +++ b/src/lib/libcrypto/doc/EVP_SignInit.pod | |||
| @@ -84,13 +84,13 @@ L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>, | |||
| 84 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, | 84 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, |
| 85 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, | 85 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, |
| 86 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, | 86 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, |
| 87 | L<sha(3)|sha(3)>, L<digest(1)|digest(1)> | 87 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> |
| 88 | 88 | ||
| 89 | =head1 HISTORY | 89 | =head1 HISTORY |
| 90 | 90 | ||
| 91 | EVP_SignInit(), EVP_SignUpdate() and EVP_SignFinal() are | 91 | EVP_SignInit(), EVP_SignUpdate() and EVP_SignFinal() are |
| 92 | available in all versions of SSLeay and OpenSSL. | 92 | available in all versions of SSLeay and OpenSSL. |
| 93 | 93 | ||
| 94 | EVP_SignInit_ex() was added in OpenSSL 0.9.7 | 94 | EVP_SignInit_ex() was added in OpenSSL 0.9.7. |
| 95 | 95 | ||
| 96 | =cut | 96 | =cut |
diff --git a/src/lib/libcrypto/doc/EVP_VerifyInit.pod b/src/lib/libcrypto/doc/EVP_VerifyInit.pod index 80c656fde8..b6afaedee5 100644 --- a/src/lib/libcrypto/doc/EVP_VerifyInit.pod +++ b/src/lib/libcrypto/doc/EVP_VerifyInit.pod | |||
| @@ -74,7 +74,7 @@ L<EVP_SignInit(3)|EVP_SignInit(3)>, | |||
| 74 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, | 74 | L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>, |
| 75 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, | 75 | L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, |
| 76 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, | 76 | L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, |
| 77 | L<sha(3)|sha(3)>, L<digest(1)|digest(1)> | 77 | L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)> |
| 78 | 78 | ||
| 79 | =head1 HISTORY | 79 | =head1 HISTORY |
| 80 | 80 | ||
diff --git a/src/lib/libcrypto/doc/RSA_check_key.pod b/src/lib/libcrypto/doc/RSA_check_key.pod index 79fed753ad..3d824a07f5 100644 --- a/src/lib/libcrypto/doc/RSA_check_key.pod +++ b/src/lib/libcrypto/doc/RSA_check_key.pod | |||
| @@ -18,7 +18,9 @@ in fact prime, and that B<n = p*q>. | |||
| 18 | It also checks that B<d*e = 1 mod (p-1*q-1)>, | 18 | It also checks that B<d*e = 1 mod (p-1*q-1)>, |
| 19 | and that B<dmp1>, B<dmq1> and B<iqmp> are set correctly or are B<NULL>. | 19 | and that B<dmp1>, B<dmq1> and B<iqmp> are set correctly or are B<NULL>. |
| 20 | 20 | ||
| 21 | The key's public components may not be B<NULL>. | 21 | As such, this function can not be used with any arbitrary RSA key object, |
| 22 | even if it is otherwise fit for regular RSA operation. See B<NOTES> for more | ||
| 23 | information. | ||
| 22 | 24 | ||
| 23 | =head1 RETURN VALUE | 25 | =head1 RETURN VALUE |
| 24 | 26 | ||
| @@ -28,12 +30,38 @@ RSA_check_key() returns 1 if B<rsa> is a valid RSA key, and 0 otherwise. | |||
| 28 | If the key is invalid or an error occurred, the reason code can be | 30 | If the key is invalid or an error occurred, the reason code can be |
| 29 | obtained using L<ERR_get_error(3)|ERR_get_error(3)>. | 31 | obtained using L<ERR_get_error(3)|ERR_get_error(3)>. |
| 30 | 32 | ||
| 33 | =head1 NOTES | ||
| 34 | |||
| 35 | This function does not work on RSA public keys that have only the modulus | ||
| 36 | and public exponent elements populated. It performs integrity checks on all | ||
| 37 | the RSA key material, so the RSA key structure must contain all the private | ||
| 38 | key data too. | ||
| 39 | |||
| 40 | Unlike most other RSA functions, this function does B<not> work | ||
| 41 | transparently with any underlying ENGINE implementation because it uses the | ||
| 42 | key data in the RSA structure directly. An ENGINE implementation can | ||
| 43 | override the way key data is stored and handled, and can even provide | ||
| 44 | support for HSM keys - in which case the RSA structure may contain B<no> | ||
| 45 | key data at all! If the ENGINE in question is only being used for | ||
| 46 | acceleration or analysis purposes, then in all likelihood the RSA key data | ||
| 47 | is complete and untouched, but this can't be assumed in the general case. | ||
| 48 | |||
| 49 | =head1 BUGS | ||
| 50 | |||
| 51 | A method of verifying the RSA key using opaque RSA API functions might need | ||
| 52 | to be considered. Right now RSA_check_key() simply uses the RSA structure | ||
| 53 | elements directly, bypassing the RSA_METHOD table altogether (and | ||
| 54 | completely violating encapsulation and object-orientation in the process). | ||
| 55 | The best fix will probably be to introduce a "check_key()" handler to the | ||
| 56 | RSA_METHOD function table so that alternative implementations can also | ||
| 57 | provide their own verifiers. | ||
| 58 | |||
| 31 | =head1 SEE ALSO | 59 | =head1 SEE ALSO |
| 32 | 60 | ||
| 33 | L<rsa(3)|rsa(3)>, L<err(3)|err(3)> | 61 | L<rsa(3)|rsa(3)>, L<err(3)|err(3)> |
| 34 | 62 | ||
| 35 | =head1 HISTORY | 63 | =head1 HISTORY |
| 36 | 64 | ||
| 37 | RSA_check() appeared in OpenSSL 0.9.4. | 65 | RSA_check_key() appeared in OpenSSL 0.9.4. |
| 38 | 66 | ||
| 39 | =cut | 67 | =cut |
diff --git a/src/lib/libcrypto/doc/rsa.pod b/src/lib/libcrypto/doc/rsa.pod index 09ad30cab1..2b93a12b65 100644 --- a/src/lib/libcrypto/doc/rsa.pod +++ b/src/lib/libcrypto/doc/rsa.pod | |||
| @@ -110,7 +110,7 @@ L<RSA_blinding_on(3)|RSA_blinding_on(3)>, | |||
| 110 | L<RSA_set_method(3)|RSA_set_method(3)>, L<RSA_print(3)|RSA_print(3)>, | 110 | L<RSA_set_method(3)|RSA_set_method(3)>, L<RSA_print(3)|RSA_print(3)>, |
| 111 | L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>, | 111 | L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>, |
| 112 | L<RSA_private_encrypt(3)|RSA_private_encrypt(3)>, | 112 | L<RSA_private_encrypt(3)|RSA_private_encrypt(3)>, |
| 113 | L<RSA_sign_ASN_OCTET_STRING(3)|RSA_sign_ASN_OCTET_STRING(3)>, | 113 | L<RSA_sign_ASN1_OCTET_STRING(3)|RSA_sign_ASN1_OCTET_STRING(3)>, |
| 114 | L<RSA_padding_add_PKCS1_type_1(3)|RSA_padding_add_PKCS1_type_1(3)> | 114 | L<RSA_padding_add_PKCS1_type_1(3)|RSA_padding_add_PKCS1_type_1(3)> |
| 115 | 115 | ||
| 116 | =cut | 116 | =cut |
