Latest update and remove TLSv1.3 draft
This commit is contained in:
+10
-7
@@ -87,9 +87,6 @@ through diverse controls.
|
||||
This should be called before calling EVP_MAC_update() and
|
||||
EVP_MAC_final().
|
||||
|
||||
EVP_MAC_reset() resets the computation for the given context.
|
||||
This may not be supported by the MAC implementation.
|
||||
|
||||
EVP_MAC_update() adds C<datalen> bytes from C<data> to the MAC input.
|
||||
|
||||
EVP_MAC_final() does the final computation and stores the result in
|
||||
@@ -171,18 +168,23 @@ Some MAC implementations require an IV, this control sets the IV.
|
||||
|
||||
=item B<EVP_MAC_CTRL_SET_CUSTOM>
|
||||
|
||||
This control expects two arguments: C<unsigned char *key>, C<size_t keylen>
|
||||
This control expects two arguments: C<unsigned char *custom>, C<size_t customlen>
|
||||
|
||||
Some MAC implementations (KMAC) require an Customization String,
|
||||
Some MAC implementations (KMAC, BLAKE2) accept a Customization String,
|
||||
this control sets the Customization String. The default value is "".
|
||||
|
||||
=item B<EVP_MAC_CTRL_SET_SALT>
|
||||
|
||||
This control expects two arguments: C<unsigned char *salt>, C<size_t saltlen>
|
||||
|
||||
This option is used by BLAKE2 MAC.
|
||||
|
||||
=item B<EVP_MAC_CTRL_SET_XOF>
|
||||
|
||||
This control expects one argument: C<int xof>
|
||||
|
||||
This option is used by KMAC.
|
||||
|
||||
|
||||
=item B<EVP_MAC_CTRL_SET_FLAGS>
|
||||
|
||||
This control expects one argument: C<unsigned long flags>
|
||||
@@ -231,7 +233,7 @@ created EVP_MAC_CTX, or NULL if allocation failed.
|
||||
|
||||
EVP_MAC_CTX_free() returns nothing at all.
|
||||
|
||||
EVP_MAC_CTX_copy(), EVP_MAC_reset(), EVP_MAC_init(), EVP_MAC_update(),
|
||||
EVP_MAC_CTX_copy(), EVP_MAC_init(), EVP_MAC_update(),
|
||||
and EVP_MAC_final() return 1 on success, 0 on error.
|
||||
|
||||
EVP_MAC_ctrl(), EVP_MAC_ctrl_str(), EVP_MAC_str2ctrl() and
|
||||
@@ -346,6 +348,7 @@ F<./foo>)
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<EVP_MAC_BLAKE2(7)>,
|
||||
L<EVP_MAC_CMAC(7)>,
|
||||
L<EVP_MAC_GMAC(7)>,
|
||||
L<EVP_MAC_HMAC(7)>,
|
||||
|
||||
@@ -23,6 +23,8 @@ EVP_PKEY_CTX_get_rsa_oaep_md,
|
||||
EVP_PKEY_CTX_set0_rsa_oaep_label,
|
||||
EVP_PKEY_CTX_get0_rsa_oaep_label,
|
||||
EVP_PKEY_CTX_set_dsa_paramgen_bits,
|
||||
EVP_PKEY_CTX_set_dsa_paramgen_q_bits,
|
||||
EVP_PKEY_CTX_set_dsa_paramgen_md,
|
||||
EVP_PKEY_CTX_set_dh_paramgen_prime_len,
|
||||
EVP_PKEY_CTX_set_dh_paramgen_subprime_len,
|
||||
EVP_PKEY_CTX_set_dh_paramgen_generator,
|
||||
@@ -93,6 +95,8 @@ EVP_PKEY_CTX_set1_id, EVP_PKEY_CTX_get1_id, EVP_PKEY_CTX_get1_id_len
|
||||
#include <openssl/dsa.h>
|
||||
|
||||
int EVP_PKEY_CTX_set_dsa_paramgen_bits(EVP_PKEY_CTX *ctx, int nbits);
|
||||
int EVP_PKEY_CTX_set_dsa_paramgen_q_bits(EVP_PKEY_CTX *ctx, int qbits);
|
||||
int EVP_PKEY_CTX_set_dsa_paramgen_md(EVP_PKEY_CTX *ctx, const EVP_MD *md);
|
||||
|
||||
#include <openssl/dh.h>
|
||||
|
||||
@@ -255,7 +259,17 @@ by the library and should not be freed by the caller.
|
||||
=head2 DSA parameters
|
||||
|
||||
The EVP_PKEY_CTX_set_dsa_paramgen_bits() macro sets the number of bits used
|
||||
for DSA parameter generation to B<bits>. If not specified 1024 is used.
|
||||
for DSA parameter generation to B<nbits>. If not specified, 1024 is used.
|
||||
|
||||
The EVP_PKEY_CTX_set_dsa_paramgen_q_bits() macro sets the number of bits in the
|
||||
subprime parameter B<q> for DSA parameter generation to B<qbits>. If not
|
||||
specified, 160 is used. If a digest function is specified below, this parameter
|
||||
is ignored and instead, the number of bits in B<q> matches the size of the
|
||||
digest.
|
||||
|
||||
The EVP_PKEY_CTX_set_dsa_paramgen_md() macro sets the digest function used for
|
||||
DSA parameter generation to B<md>. If not specified, one of SHA-1, SHA-224, or
|
||||
SHA-256 is selected to match the bit length of B<q> above.
|
||||
|
||||
=head2 DH parameters
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ engine that implements it.
|
||||
|
||||
EVP_PKEY_asn1_get0_info() returns the public key ID, base public key
|
||||
ID (both NIDs), any flags, the method description and PEM type string
|
||||
associated with the public key ASN.1 method B<*ameth>.
|
||||
associated with the public key ASN.1 method B<*ameth>.
|
||||
|
||||
EVP_PKEY_asn1_count(), EVP_PKEY_asn1_get0(), EVP_PKEY_asn1_find() and
|
||||
EVP_PKEY_asn1_find_str() are not thread safe, but as long as all
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ because reuse of an existing key with a different digest is not supported.
|
||||
|
||||
HMAC_Init() initializes a B<HMAC_CTX> structure to use the hash
|
||||
function B<evp_md> and the key B<key> which is B<key_len> bytes
|
||||
long.
|
||||
long.
|
||||
|
||||
HMAC_Update() can be called repeatedly with chunks of the message to
|
||||
be authenticated (B<len> bytes at B<data>).
|
||||
|
||||
@@ -90,10 +90,8 @@ generally macro's that add the standard C B<__FILE__> and B<__LINE__>
|
||||
parameters and call a lower-level B<CRYPTO_xxx> API.
|
||||
Some functions do not add those parameters, but exist for consistency.
|
||||
|
||||
OPENSSL_malloc_init() sets the lower-level memory allocation functions
|
||||
to their default implementation.
|
||||
It is generally not necessary to call this, except perhaps in certain
|
||||
shared-library situations.
|
||||
OPENSSL_malloc_init() does nothing and does not need to be called. It is
|
||||
included for compatibility with older versions of OpenSSL.
|
||||
|
||||
OPENSSL_malloc(), OPENSSL_realloc(), and OPENSSL_free() are like the
|
||||
C malloc(), realloc(), and free() functions.
|
||||
|
||||
@@ -101,7 +101,7 @@ set CA names using the "client CA list" functions and then get them using the
|
||||
used on the server side then the "client CA list" functions take precedence.
|
||||
Typically, on the server side, the "client CA list " functions should be used in
|
||||
preference. As noted above in most cases it is not necessary to set CA names on
|
||||
the client side.
|
||||
the client side.
|
||||
|
||||
SSL_CTX_set0_CA_list() sets the list of CAs to be sent to the peer to
|
||||
B<name_list>. Ownership of B<name_list> is transferred to B<ctx> and
|
||||
|
||||
@@ -24,7 +24,7 @@ See L<CTLOG_STORE_new(3)> for the file format.
|
||||
=head1 NOTES
|
||||
|
||||
These functions will not clear the existing CT log list - it will be appended
|
||||
to. To replace the existing list, use L<SSL_CTX_set0_ctlog_store> first.
|
||||
to. To replace the existing list, use L<SSL_CTX_set0_ctlog_store> first.
|
||||
|
||||
If an error occurs whilst parsing a particular log entry in the file, that log
|
||||
entry will be skipped.
|
||||
|
||||
@@ -121,6 +121,15 @@ Kernel TLS might not support all the features of OpenSSL. For instance,
|
||||
renegotiation, and setting the maximum fragment size is not possible as of
|
||||
Linux 4.20.
|
||||
|
||||
=item SSL_MODE_DTLS_SCTP_LABEL_LENGTH_BUG
|
||||
|
||||
Older versions of OpenSSL had a bug in the computation of the label length
|
||||
used for computing the endpoint-pair shared secret. The bug was that the
|
||||
terminating zero was included in the length of the label. Setting this option
|
||||
enables this behaviour to allow interoperability with such broken
|
||||
implementations. Please note that setting this option breaks interoperability
|
||||
with correct implementations. This option only applies to DTLS over SCTP.
|
||||
|
||||
=back
|
||||
|
||||
All modes are off by default except for SSL_MODE_AUTO_RETRY which is on by
|
||||
|
||||
@@ -19,10 +19,10 @@ SSL_set_block_padding - install callback to specify TLS 1.3 record padding
|
||||
void SSL_set_record_padding_callback(SSL *ssl, size_t (*cb)(SSL *s, int type, size_t len, void *arg));
|
||||
|
||||
void SSL_CTX_set_record_padding_callback_arg(SSL_CTX *ctx, void *arg);
|
||||
void *SSL_CTX_get_record_padding_callback_arg(SSL_CTX *ctx);
|
||||
void *SSL_CTX_get_record_padding_callback_arg(const SSL_CTX *ctx);
|
||||
|
||||
void SSL_set_record_padding_callback_arg(SSL *ssl, void *arg);
|
||||
void *SSL_get_record_padding_callback_arg(SSL *ssl);
|
||||
void *SSL_get_record_padding_callback_arg(const SSL *ssl);
|
||||
|
||||
int SSL_CTX_set_block_padding(SSL_CTX *ctx, size_t block_size);
|
||||
int SSL_set_block_padding(SSL *ssl, size_t block_size);
|
||||
|
||||
@@ -11,7 +11,7 @@ SSL_CTX_set_ssl_version, SSL_set_ssl_method, SSL_get_ssl_method
|
||||
|
||||
int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *method);
|
||||
int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method);
|
||||
const SSL_METHOD *SSL_get_ssl_method(SSL *ssl);
|
||||
const SSL_METHOD *SSL_get_ssl_method(const SSL *ssl);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
|
||||
@@ -14,11 +14,11 @@ SSL_renegotiate_pending
|
||||
#include <openssl/ssl.h>
|
||||
|
||||
int SSL_key_update(SSL *s, int updatetype);
|
||||
int SSL_get_key_update_type(SSL *s);
|
||||
int SSL_get_key_update_type(const SSL *s);
|
||||
|
||||
int SSL_renegotiate(SSL *s);
|
||||
int SSL_renegotiate_abbreviated(SSL *s);
|
||||
int SSL_renegotiate_pending(SSL *s);
|
||||
int SSL_renegotiate_pending(const SSL *s);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ the server.
|
||||
A client uses the function SSL_write_early_data() to send early data. This
|
||||
function is similar to the L<SSL_write_ex(3)> function, but with the following
|
||||
differences. See L<SSL_write_ex(3)> for information on how to write bytes to
|
||||
the underlying connection, and how to handle any errors that may arise. This
|
||||
the underlying connection, and how to handle any errors that may arise. This
|
||||
page describes the differences between SSL_write_early_data() and
|
||||
L<SSL_write_ex(3)>.
|
||||
|
||||
|
||||
@@ -50,15 +50,19 @@ If the B<*a> is not NULL when calling d2i_PrivateKey() or d2i_AutoPrivateKey()
|
||||
(i.e. an existing structure is being reused) and the key format is PKCS#8
|
||||
then B<*a> will be freed and replaced on a successful call.
|
||||
|
||||
To decode a key with type B<EVP_PKEY_EC>, d2i_PublicKey() requires B<*a> to be
|
||||
a non-NULL EVP_PKEY structure assigned an EC_KEY structure referencing the proper
|
||||
EC_GROUP.
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
d2i_PrivateKey() and d2i_AutoPrivateKey() return a valid B<EVP_KEY> structure
|
||||
or B<NULL> if an error occurs. The error code can be obtained by calling
|
||||
L<ERR_get_error(3)>.
|
||||
The d2i_PrivateKey(), d2i_AutoPrivateKey(), d2i_PrivateKey_bio(), d2i_PrivateKey_fp(),
|
||||
and d2i_PublicKey() functions return a valid B<EVP_KEY> structure or B<NULL> if an
|
||||
error occurs. The error code can be obtained by calling L<ERR_get_error(3)>.
|
||||
|
||||
i2d_PrivateKey() returns the number of bytes successfully encoded or a
|
||||
negative value if an error occurs. The error code can be obtained by calling
|
||||
L<ERR_get_error(3)>.
|
||||
i2d_PrivateKey() and i2d_PublicKey() return the number of bytes successfully
|
||||
encoded or a negative value if an error occurs. The error code can be obtained
|
||||
by calling L<ERR_get_error(3)>.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
@@ -67,7 +71,7 @@ L<d2i_PKCS8PrivateKey_bio(3)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.
|
||||
Copyright 2017-2019 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
||||
Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
this file except in compliance with the License. You can obtain a copy
|
||||
|
||||
Reference in New Issue
Block a user