summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/doc
diff options
context:
space:
mode:
authordjm <>2010-10-01 22:59:01 +0000
committerdjm <>2010-10-01 22:59:01 +0000
commitfe047d8b632246cb2db3234a0a4f32e5c318857b (patch)
tree939b752540947d33507b3acc48d76a8bfb7c3dc3 /src/lib/libcrypto/doc
parent2ea67f4aa254b09ded62e6e14fc893bbe6381579 (diff)
downloadopenbsd-fe047d8b632246cb2db3234a0a4f32e5c318857b.tar.gz
openbsd-fe047d8b632246cb2db3234a0a4f32e5c318857b.tar.bz2
openbsd-fe047d8b632246cb2db3234a0a4f32e5c318857b.zip
resolve conflicts, fix local changes
Diffstat (limited to 'src/lib/libcrypto/doc')
-rw-r--r--src/lib/libcrypto/doc/DSA_get_ex_new_index.pod2
-rw-r--r--src/lib/libcrypto/doc/EVP_DigestInit.pod23
-rw-r--r--src/lib/libcrypto/doc/EVP_SignInit.pod9
-rw-r--r--src/lib/libcrypto/doc/EVP_VerifyInit.pod9
-rw-r--r--src/lib/libcrypto/doc/d2i_RSAPublicKey.pod8
-rw-r--r--src/lib/libcrypto/doc/evp.pod22
6 files changed, 52 insertions, 21 deletions
diff --git a/src/lib/libcrypto/doc/DSA_get_ex_new_index.pod b/src/lib/libcrypto/doc/DSA_get_ex_new_index.pod
index 4612e708ec..fb6efc1182 100644
--- a/src/lib/libcrypto/doc/DSA_get_ex_new_index.pod
+++ b/src/lib/libcrypto/doc/DSA_get_ex_new_index.pod
@@ -6,7 +6,7 @@ DSA_get_ex_new_index, DSA_set_ex_data, DSA_get_ex_data - add application specifi
6 6
7=head1 SYNOPSIS 7=head1 SYNOPSIS
8 8
9 #include <openssl/DSA.h> 9 #include <openssl/dsa.h>
10 10
11 int DSA_get_ex_new_index(long argl, void *argp, 11 int DSA_get_ex_new_index(long argl, void *argp,
12 CRYPTO_EX_new *new_func, 12 CRYPTO_EX_new *new_func,
diff --git a/src/lib/libcrypto/doc/EVP_DigestInit.pod b/src/lib/libcrypto/doc/EVP_DigestInit.pod
index 236e2fa8d1..37a751b1c5 100644
--- a/src/lib/libcrypto/doc/EVP_DigestInit.pod
+++ b/src/lib/libcrypto/doc/EVP_DigestInit.pod
@@ -64,9 +64,9 @@ EVP digest routines
64 64
65The EVP digest routines are a high level interface to message digests. 65The EVP digest routines are a high level interface to message digests.
66 66
67EVP_MD_CTX_init() initializes digest contet B<ctx>. 67EVP_MD_CTX_init() initializes digest context B<ctx>.
68 68
69EVP_MD_CTX_create() allocates, initializes and returns a digest contet. 69EVP_MD_CTX_create() allocates, initializes and returns a digest context.
70 70
71EVP_DigestInit_ex() sets up digest context B<ctx> to use a digest 71EVP_DigestInit_ex() sets up digest context B<ctx> to use a digest
72B<type> from ENGINE B<impl>. B<ctx> must be initialized before calling this 72B<type> from ENGINE B<impl>. B<ctx> must be initialized before calling this
@@ -102,7 +102,7 @@ the passed context B<ctx> does not have to be initialized, and it always
102uses the default digest implementation. 102uses the default digest implementation.
103 103
104EVP_DigestFinal() is similar to EVP_DigestFinal_ex() except the digest 104EVP_DigestFinal() is similar to EVP_DigestFinal_ex() except the digest
105contet B<ctx> is automatically cleaned up. 105context B<ctx> is automatically cleaned up.
106 106
107EVP_MD_CTX_copy() is similar to EVP_MD_CTX_copy_ex() except the destination 107EVP_MD_CTX_copy() is similar to EVP_MD_CTX_copy_ex() except the destination
108B<out> does not have to be initialized. 108B<out> does not have to be initialized.
@@ -132,7 +132,9 @@ return B<EVP_MD> structures for the MD2, MD5, SHA, SHA1, MDC2 and RIPEMD160 dige
132algorithms respectively. The associated signature algorithm is RSA in each case. 132algorithms respectively. The associated signature algorithm is RSA in each case.
133 133
134EVP_dss() and EVP_dss1() return B<EVP_MD> structures for SHA and SHA1 digest 134EVP_dss() and EVP_dss1() return B<EVP_MD> structures for SHA and SHA1 digest
135algorithms but using DSS (DSA) for the signature algorithm. 135algorithms but using DSS (DSA) for the signature algorithm. Note: there is
136no need to use these pseudo-digests in OpenSSL 1.0.0 and later, they are
137however retained for compatibility.
136 138
137EVP_md_null() is a "null" message digest that does nothing: i.e. the hash it 139EVP_md_null() is a "null" message digest that does nothing: i.e. the hash it
138returns is of zero length. 140returns is of zero length.
@@ -228,12 +230,6 @@ digest name passed on the command line.
228 printf("\n"); 230 printf("\n");
229 } 231 }
230 232
231=head1 BUGS
232
233The link between digests and signing algorithms results in a situation where
234EVP_sha1() must be used with RSA and EVP_dss1() must be used with DSS
235even though they are identical digests.
236
237=head1 SEE ALSO 233=head1 SEE ALSO
238 234
239L<evp(3)|evp(3)>, L<HMAC(3)|HMAC(3)>, L<MD2(3)|MD2(3)>, 235L<evp(3)|evp(3)>, L<HMAC(3)|HMAC(3)>, L<MD2(3)|MD2(3)>,
@@ -253,4 +249,11 @@ EVP_md_null(), EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(),
253EVP_dss(), EVP_dss1(), EVP_mdc2() and EVP_ripemd160() were 249EVP_dss(), EVP_dss1(), EVP_mdc2() and EVP_ripemd160() were
254changed to return truely const EVP_MD * in OpenSSL 0.9.7. 250changed to return truely const EVP_MD * in OpenSSL 0.9.7.
255 251
252The link between digests and signing algorithms was fixed in OpenSSL 1.0 and
253later, so now EVP_sha1() can be used with RSA and DSA, there is no need to
254use EVP_dss1() any more.
255
256OpenSSL 1.0 and later does not include the MD2 digest algorithm in the
257default configuration due to its security weaknesses.
258
256=cut 259=cut
diff --git a/src/lib/libcrypto/doc/EVP_SignInit.pod b/src/lib/libcrypto/doc/EVP_SignInit.pod
index 0bace24938..781d43e401 100644
--- a/src/lib/libcrypto/doc/EVP_SignInit.pod
+++ b/src/lib/libcrypto/doc/EVP_SignInit.pod
@@ -77,6 +77,15 @@ will occur.
77Older versions of this documentation wrongly stated that calls to 77Older versions of this documentation wrongly stated that calls to
78EVP_SignUpdate() could not be made after calling EVP_SignFinal(). 78EVP_SignUpdate() could not be made after calling EVP_SignFinal().
79 79
80Since the private key is passed in the call to EVP_SignFinal() any error
81relating to the private key (for example an unsuitable key and digest
82combination) will not be indicated until after potentially large amounts of
83data have been passed through EVP_SignUpdate().
84
85It is not possible to change the signing parameters using these function.
86
87The previous two bugs are fixed in the newer EVP_SignDigest*() function.
88
80=head1 SEE ALSO 89=head1 SEE ALSO
81 90
82L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>, 91L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>,
diff --git a/src/lib/libcrypto/doc/EVP_VerifyInit.pod b/src/lib/libcrypto/doc/EVP_VerifyInit.pod
index b6afaedee5..9097f09410 100644
--- a/src/lib/libcrypto/doc/EVP_VerifyInit.pod
+++ b/src/lib/libcrypto/doc/EVP_VerifyInit.pod
@@ -67,6 +67,15 @@ will occur.
67Older versions of this documentation wrongly stated that calls to 67Older versions of this documentation wrongly stated that calls to
68EVP_VerifyUpdate() could not be made after calling EVP_VerifyFinal(). 68EVP_VerifyUpdate() could not be made after calling EVP_VerifyFinal().
69 69
70Since the public key is passed in the call to EVP_SignFinal() any error
71relating to the private key (for example an unsuitable key and digest
72combination) will not be indicated until after potentially large amounts of
73data have been passed through EVP_SignUpdate().
74
75It is not possible to change the signing parameters using these function.
76
77The previous two bugs are fixed in the newer EVP_VerifyDigest*() function.
78
70=head1 SEE ALSO 79=head1 SEE ALSO
71 80
72L<evp(3)|evp(3)>, 81L<evp(3)|evp(3)>,
diff --git a/src/lib/libcrypto/doc/d2i_RSAPublicKey.pod b/src/lib/libcrypto/doc/d2i_RSAPublicKey.pod
index 279b29c873..aa6078bcf6 100644
--- a/src/lib/libcrypto/doc/d2i_RSAPublicKey.pod
+++ b/src/lib/libcrypto/doc/d2i_RSAPublicKey.pod
@@ -11,21 +11,21 @@ d2i_Netscape_RSA - RSA public and private key encoding functions.
11 #include <openssl/rsa.h> 11 #include <openssl/rsa.h>
12 #include <openssl/x509.h> 12 #include <openssl/x509.h>
13 13
14 RSA * d2i_RSAPublicKey(RSA **a, unsigned char **pp, long length); 14 RSA * d2i_RSAPublicKey(RSA **a, const unsigned char **pp, long length);
15 15
16 int i2d_RSAPublicKey(RSA *a, unsigned char **pp); 16 int i2d_RSAPublicKey(RSA *a, unsigned char **pp);
17 17
18 RSA * d2i_RSA_PUBKEY(RSA **a, unsigned char **pp, long length); 18 RSA * d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length);
19 19
20 int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp); 20 int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp);
21 21
22 RSA * d2i_RSAPrivateKey(RSA **a, unsigned char **pp, long length); 22 RSA * d2i_RSAPrivateKey(RSA **a, const unsigned char **pp, long length);
23 23
24 int i2d_RSAPrivateKey(RSA *a, unsigned char **pp); 24 int i2d_RSAPrivateKey(RSA *a, unsigned char **pp);
25 25
26 int i2d_Netscape_RSA(RSA *a, unsigned char **pp, int (*cb)()); 26 int i2d_Netscape_RSA(RSA *a, unsigned char **pp, int (*cb)());
27 27
28 RSA * d2i_Netscape_RSA(RSA **a, unsigned char **pp, long length, int (*cb)()); 28 RSA * d2i_Netscape_RSA(RSA **a, const unsigned char **pp, long length, int (*cb)());
29 29
30=head1 DESCRIPTION 30=head1 DESCRIPTION
31 31
diff --git a/src/lib/libcrypto/doc/evp.pod b/src/lib/libcrypto/doc/evp.pod
index b3ca14314f..9faa349243 100644
--- a/src/lib/libcrypto/doc/evp.pod
+++ b/src/lib/libcrypto/doc/evp.pod
@@ -22,14 +22,24 @@ digital signatures.
22Symmetric encryption is available with the B<EVP_Encrypt>I<...> 22Symmetric encryption is available with the B<EVP_Encrypt>I<...>
23functions. The B<EVP_Digest>I<...> functions provide message digests. 23functions. The B<EVP_Digest>I<...> functions provide message digests.
24 24
25The B<EVP_PKEY>I<...> functions provide a high level interface to
26asymmetric algorithms.
27
25Algorithms are loaded with OpenSSL_add_all_algorithms(3). 28Algorithms are loaded with OpenSSL_add_all_algorithms(3).
26 29
27All the symmetric algorithms (ciphers) and digests can be replaced by ENGINE 30All the symmetric algorithms (ciphers), digests and asymmetric algorithms
28modules providing alternative implementations. If ENGINE implementations of 31(public key algorithms) can be replaced by ENGINE modules providing alternative
29ciphers or digests are registered as defaults, then the various EVP functions 32implementations. If ENGINE implementations of ciphers or digests are registered
30will automatically use those implementations automatically in preference to 33as defaults, then the various EVP functions will automatically use those
31built in software implementations. For more information, consult the engine(3) 34implementations automatically in preference to built in software
32man page. 35implementations. For more information, consult the engine(3) man page.
36
37Although low level algorithm specific functions exist for many algorithms
38their use is discouraged. They cannot be used with an ENGINE and ENGINE
39versions of new algorithms cannot be accessed using the low level functions.
40Also makes code harder to adapt to new algorithms and some options are not
41cleanly supported at the low level and some operations are more efficient
42using the high level interface.
33 43
34=head1 SEE ALSO 44=head1 SEE ALSO
35 45