Latest update.
This commit is contained in:
@@ -33,7 +33,9 @@ ossl_method_store_cache_get, ossl_method_store_cache_set
|
||||
int ossl_method_store_cache_get(OSSL_METHOD_STORE *store, int nid,
|
||||
const char *prop_query, void **method);
|
||||
int ossl_method_store_cache_set(OSSL_METHOD_STORE *store, int nid,
|
||||
const char *prop_query, void *method);
|
||||
const char *prop_query, void *method,
|
||||
int (*method_up_ref)(void *),
|
||||
void (*method_destruct)(void *));
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
@@ -95,6 +97,9 @@ The result, if any, is returned in I<method>.
|
||||
ossl_method_store_cache_set() sets a cache entry identified by I<nid> with the
|
||||
property query I<prop_query> in the I<store>.
|
||||
Future calls to ossl_method_store_cache_get() will return the specified I<method>.
|
||||
The I<method_up_ref> function is called to increment the
|
||||
reference count of the method and the I<method_destruct> function is called
|
||||
to decrement it.
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ which updates Section 5.4 of RFC 2634.
|
||||
|
||||
This attribute is mandatory to make a CMS compliant with CAdES-BES
|
||||
(European Standard ETSI EN 319 122-1 V1.1.1).
|
||||
For a fuller description see L<cms(1)>).
|
||||
For a fuller description see L<openssl-cms(1)>).
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
|
||||
@@ -252,7 +252,7 @@ And finally, the library functions:
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<ossl_method_construct>
|
||||
L<ossl_method_construct(3)>
|
||||
|
||||
=head1 HISTORY
|
||||
|
||||
|
||||
@@ -41,11 +41,11 @@ The function described here are mainly useful for discovery, and
|
||||
possibly display of what has been discovered, for example an
|
||||
application that wants to display the loaded providers and what they
|
||||
may offer, but also for constructors, such as
|
||||
L<ossl_construct_method(3)>.
|
||||
L<ossl_method_construct(3)>.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<ossl_construct_method(3)>, L<EVP_MAC_do_all(3)>
|
||||
L<ossl_method_construct(3)>, L<EVP_MAC_do_all_provided(3)>
|
||||
|
||||
=head1 HISTORY
|
||||
|
||||
|
||||
@@ -0,0 +1,127 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ossl_cmp_hdr_set_pvno,
|
||||
ossl_cmp_hdr_get_pvno,
|
||||
ossl_cmp_hdr_get0_sendernonce,
|
||||
ossl_cmp_hdr_set1_sender,
|
||||
ossl_cmp_hdr_set1_recipient,
|
||||
ossl_cmp_hdr_update_messagetime,
|
||||
ossl_cmp_hdr_set1_senderKID,
|
||||
ossl_cmp_hdr_push0_freeText,
|
||||
ossl_cmp_hdr_push1_freeText,
|
||||
ossl_cmp_hdr_generalinfo_item_push0,
|
||||
ossl_cmp_hdr_generalinfo_items_push1,
|
||||
ossl_cmp_hdr_set_implicitConfirm,
|
||||
ossl_cmp_hdr_check_implicitConfirm,
|
||||
ossl_cmp_hdr_init
|
||||
- functions manipulating CMP message headers
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
#include "cmp_int.h"
|
||||
|
||||
int ossl_cmp_hdr_set_pvno(OSSL_CMP_PKIHEADER *hdr, int pvno);
|
||||
int ossl_cmp_hdr_get_pvno(const OSSL_CMP_PKIHEADER *hdr);
|
||||
ASN1_OCTET_STRING
|
||||
*ossl_cmp_hdr_get0_sendernonce(const OSSL_CMP_PKIHEADER *hdr);
|
||||
|
||||
int ossl_cmp_hdr_set1_sender(OSSL_CMP_PKIHEADER *hdr, const X509_NAME *nm);
|
||||
int ossl_cmp_hdr_set1_recipient(OSSL_CMP_PKIHEADER *hdr, const X509_NAME *nm);
|
||||
int ossl_cmp_hdr_update_messagetime(OSSL_CMP_PKIHEADER *hdr);
|
||||
int ossl_cmp_hdr_set1_senderKID(OSSL_CMP_PKIHEADER *hdr,
|
||||
const ASN1_OCTET_STRING *senderKID);
|
||||
int ossl_cmp_hdr_generalinfo_item_push0(OSSL_CMP_PKIHEADER *hdr,
|
||||
OSSL_CMP_ITAV *itav);
|
||||
int ossl_cmp_hdr_generalinfo_items_push1(OSSL_CMP_PKIHEADER *hdr,
|
||||
STACK_OF(OSSL_CMP_ITAV) *itavs);
|
||||
int ossl_cmp_hdr_push0_freeText(OSSL_CMP_PKIHEADER *hdr,
|
||||
ASN1_UTF8STRING *text);
|
||||
int ossl_cmp_hdr_push1_freeText(OSSL_CMP_PKIHEADER *hdr,
|
||||
ASN1_UTF8STRING *text);
|
||||
int ossl_cmp_hdr_set_implicitConfirm(OSSL_CMP_PKIHEADER *hdr);
|
||||
int ossl_cmp_hdr_check_implicitConfirm(OSSL_CMP_PKIHEADER *hdr);
|
||||
int ossl_cmp_hdr_init(OSSL_CMP_CTX *ctx, OSSL_CMP_PKIHEADER *hdr);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
ossl_cmp_hdr_set_pvno() sets hdr->pvno to the given B<pvno>.
|
||||
|
||||
ossl_cmp_hdr_get_pvno() returns the pvno of the given B<hdr> or -1 on error.
|
||||
|
||||
ossl_cmp_hdr_get0_sendernonce() returns the sender nonce of the given PKIHeader.
|
||||
|
||||
ossl_cmp_hdr_set1_sender() sets the sender field in the given PKIHeader
|
||||
to the given X509 Name value, without consuming the pointer.
|
||||
|
||||
ossl_cmp_hdr_set1_recipient() sets the recipient field in the given
|
||||
PKIHeader to the given X509 Name value, without consuming the pointer.
|
||||
If B<nm> is NULL, recipient is set to the NULL DN (the empty list of strings).
|
||||
|
||||
ossl_cmp_hdr_update_messagetime() (re-)sets the messageTime to the current
|
||||
system time. As written in RFC 4210, section 5.1.1:
|
||||
The messageTime field contains the time at which the sender created the message.
|
||||
This may be useful to allow end entities to correct/check their local time for
|
||||
consistency with the time on a central system.
|
||||
|
||||
ossl_cmp_hdr_set1_senderKID() Sets hdr->senderKID to the given string.
|
||||
In an PBMAC-protected IR this usually is a reference number issued by the CA,
|
||||
else the subject key ID of the sender's protecting certificate.
|
||||
|
||||
ossl_cmp_hdr_push0_freeText() pushes an ASN1_UTF8STRING to
|
||||
hdr->freeText and consumes the given pointer.
|
||||
|
||||
ossl_cmp_hdr_push1_freeText() pushes an ASN1_UTF8STRING to
|
||||
hdr->freeText and does not consume the pointer.
|
||||
|
||||
ossl_cmp_hdr_generalinfo_item_push0() adds the given InfoTypeAndValue
|
||||
item to the hdr->generalInfo stack. Consumes the B<itav> pointer.
|
||||
|
||||
ossl_cmp_hdr_generalinfo_items_push1() adds a copy of the B<itavs> stack to
|
||||
the generalInfo field of PKIheader of the B<hdr>. Does not consume the B<itavs>
|
||||
pointer.
|
||||
|
||||
ossl_cmp_hdr_set_implicitConfirm() sets implicitConfirm in the generalInfo field
|
||||
of the PKIMessage header.
|
||||
|
||||
ossl_cmp_hdr_check_implicitConfirm() returns 1 if implicitConfirm is
|
||||
set int generalInfo field of the given PKIMessage header, 0 if not.
|
||||
|
||||
ossl_cmp_hdr_init() initializes a PKIHeader structure based on the
|
||||
values in the given OSSL_CMP_CTX structure.
|
||||
This starts a new transaction in case ctx->transactionID is NULL.
|
||||
The sender name is copied from the subject of the client cert, if any,
|
||||
or else from the subject name provided for certification requests.
|
||||
As required by RFC 4210 section 5.1.1., if the sender name is not known
|
||||
to the client it set to the NULL-DN. In this case for identification at least
|
||||
the senderKID must be set, which we take from any referenceValue provided.
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
CMP is defined in RFC 4210 (and CRMF in RFC 4211).
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
ossl_cmp_hdr_get_pvno() returns the pvno of the given B<hdr> or -1 on error.
|
||||
|
||||
ossl_cmp_hdr_get0_sendernonce() returns the respective nonce.
|
||||
|
||||
All other functions return 1 on success, 0 on error.
|
||||
|
||||
See the individual functions above.
|
||||
|
||||
=head1 HISTORY
|
||||
|
||||
The OpenSSL CMP support was added in OpenSSL 3.0.
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2007-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
|
||||
in the file LICENSE in the source distribution or at
|
||||
L<https://www.openssl.org/source/license.html>.
|
||||
|
||||
=cut
|
||||
@@ -0,0 +1,107 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ossl_cmp_statusinfo_new,
|
||||
ossl_cmp_pkisi_pkistatus_get,
|
||||
ossl_cmp_pkisi_pkifailureinfo_get,
|
||||
ossl_cmp_pkisi_pkifailureinfo_check,
|
||||
ossl_cmp_pkisi_failinfo_get0,
|
||||
ossl_cmp_pkisi_statusstring_get0,
|
||||
ossl_pkisi_snprint
|
||||
- functions for managing PKI status information
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
#include "cmp.h"
|
||||
|
||||
# define OSSL_CMP_PKIFAILUREINFO_badAlg 0
|
||||
# define OSSL_CMP_PKIFAILUREINFO_badMessageCheck 1
|
||||
# define OSSL_CMP_PKIFAILUREINFO_badRequest 2
|
||||
# define OSSL_CMP_PKIFAILUREINFO_badTime 3
|
||||
# define OSSL_CMP_PKIFAILUREINFO_badCertId 4
|
||||
# define OSSL_CMP_PKIFAILUREINFO_badDataFormat 5
|
||||
# define OSSL_CMP_PKIFAILUREINFO_wrongAuthority 6
|
||||
# define OSSL_CMP_PKIFAILUREINFO_incorrectData 7
|
||||
# define OSSL_CMP_PKIFAILUREINFO_missingTimeStamp 8
|
||||
# define OSSL_CMP_PKIFAILUREINFO_badPOP 9
|
||||
# define OSSL_CMP_PKIFAILUREINFO_certRevoked 10
|
||||
# define OSSL_CMP_PKIFAILUREINFO_certConfirmed 11
|
||||
# define OSSL_CMP_PKIFAILUREINFO_wrongIntegrity 12
|
||||
# define OSSL_CMP_PKIFAILUREINFO_badRecipientNonce 13
|
||||
# define OSSL_CMP_PKIFAILUREINFO_timeNotAvailable 14
|
||||
# define OSSL_CMP_PKIFAILUREINFO_unacceptedPolicy 15
|
||||
# define OSSL_CMP_PKIFAILUREINFO_unacceptedExtension 16
|
||||
# define OSSL_CMP_PKIFAILUREINFO_addInfoNotAvailable 17
|
||||
# define OSSL_CMP_PKIFAILUREINFO_badSenderNonce 18
|
||||
# define OSSL_CMP_PKIFAILUREINFO_badCertTemplate 19
|
||||
# define OSSL_CMP_PKIFAILUREINFO_signerNotTrusted 20
|
||||
# define OSSL_CMP_PKIFAILUREINFO_transactionIdInUse 21
|
||||
# define OSSL_CMP_PKIFAILUREINFO_unsupportedVersion 22
|
||||
# define OSSL_CMP_PKIFAILUREINFO_notAuthorized 23
|
||||
# define OSSL_CMP_PKIFAILUREINFO_systemUnavail 24
|
||||
# define OSSL_CMP_PKIFAILUREINFO_systemFailure 25
|
||||
# define OSSL_CMP_PKIFAILUREINFO_duplicateCertReq 26
|
||||
# define OSSL_CMP_PKIFAILUREINFO_MAX 26
|
||||
|
||||
OSSL_CMP_PKISI *ossl_cmp_statusinfo_new(int status, int fail_info,
|
||||
const char *text);
|
||||
int ossl_cmp_pkisi_pkistatus_get(OSSL_CMP_PKISI *si);
|
||||
int ossl_cmp_pkisi_pkifailureinfo_get(OSSL_CMP_PKISI *si);
|
||||
int ossl_cmp_pkisi_pkifailureinfo_check(OSSL_CMP_PKISI *si, int bit_index);
|
||||
OSSL_CMP_PKIFAILUREINFO *ossl_cmp_pkisi_failinfo_get0(const OSSL_CMP_PKISI *si);
|
||||
OSSL_CMP_PKIFREETEXT *ossl_cmp_pkisi_statusstring_get0(const OSSL_CMP_PKISI *si);
|
||||
char *ossl_pkisi_snprint(OSSL_CMP_PKISI *si, char *buf, int bufsize);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
ossl_cmp_statusinfo_new() creates a new PKIStatusInfo structure and fills it
|
||||
with the given values. It sets the status field to B<status>.
|
||||
If B<text> is not NULL, it is copied to statusString.
|
||||
B<fail_info> is is interpreted as bit pattern for the failInfo field.
|
||||
Returns a pointer to the structure on success, or NULL on error.
|
||||
|
||||
ossl_cmp_pkisi_pkistatus_get() returns the PKIStatus of B<si>, or -1 on error.
|
||||
|
||||
ossl_cmp_pkisi_pkifailureinfo_get() returns the PKIFailureInfo bits
|
||||
of B<si>, encoded as integer, or -1 on error.
|
||||
|
||||
ossl_cmp_pkisi_pkifailureinfo_check() returns the state of the bit (0 or 1)
|
||||
with index B<bit_index> in the PKIFailureInfo of the B<si>, or -1 on error.
|
||||
|
||||
ossl_cmp_pkisi_failinfo_get0() returns a direct pointer to the failInfo
|
||||
field contained in B<si>, or NULL on error.
|
||||
|
||||
ossl_cmp_pkisi_statusstring_get0() returns a direct pointer to the statusString
|
||||
field contained in B<si>.
|
||||
|
||||
ossl_pkisi_snprint() places at max B<bufsize> characters of human-readable
|
||||
error string of B<si> in pre-allocated B<buf>. Returns pointer to the same
|
||||
B<buf> containing the string, or NULL on error.
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
CMP is defined in RFC 4210 (and CRMF in RFC 4211).
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
See the individual functions above.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<OSSL_CMP_CTX_new(3)>, L<ossl_cmp_certreq_new(3)>
|
||||
|
||||
=head1 HISTORY
|
||||
|
||||
The OpenSSL CMP support was added in OpenSSL 3.0.
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2007-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
|
||||
in the file LICENSE in the source distribution or at
|
||||
L<https://www.openssl.org/source/license.html>.
|
||||
|
||||
=cut
|
||||
@@ -32,7 +32,7 @@ thread local variable and then register a stop handler. When the thread is
|
||||
stopping the stop handler is called (while on that thread) and the code can
|
||||
clean up the value stored in the thread local variable.
|
||||
|
||||
A new stop handler is registerd using the function ossl_init_thread_start().
|
||||
A new stop handler is registered using the function ossl_init_thread_start().
|
||||
The I<index> parameter should be a unique value that can be used to identify a
|
||||
set of common stop handlers and is passed in a later call to
|
||||
ossl_init_thread_deregister. If no later call to ossl_init_thread_deregister is
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ossl_namemap_new, ossl_namemap_free, ossl_namemap_stored,
|
||||
ossl_namemap_add, ossl_namemap_add_n,
|
||||
ossl_namemap_new, ossl_namemap_free, ossl_namemap_stored, ossl_namemap_empty,
|
||||
ossl_namemap_add_name, ossl_namemap_add_name_n, ossl_namemap_add_names,
|
||||
ossl_namemap_name2num, ossl_namemap_name2num_n,
|
||||
ossl_namemap_doall_names
|
||||
- internal number E<lt>-E<gt> name map
|
||||
@@ -16,10 +16,11 @@ ossl_namemap_doall_names
|
||||
|
||||
OSSL_NAMEMAP *ossl_namemap_new(void);
|
||||
void ossl_namemap_free(OSSL_NAMEMAP *namemap);
|
||||
int ossl_namemap_empty(OSSL_NAMEMAP *namemap);
|
||||
|
||||
int ossl_namemap_add(OSSL_NAMEMAP *namemap, int number, const char *name);
|
||||
int ossl_namemap_add_n(OSSL_NAMEMAP *namemap, int number,
|
||||
const char *name, size_t name_len);
|
||||
int ossl_namemap_add_name(OSSL_NAMEMAP *namemap, int number, const char *name);
|
||||
int ossl_namemap_add_name_n(OSSL_NAMEMAP *namemap, int number,
|
||||
const char *name, size_t name_len);
|
||||
|
||||
int ossl_namemap_name2num(const OSSL_NAMEMAP *namemap, const char *name);
|
||||
int ossl_namemap_name2num_n(const OSSL_NAMEMAP *namemap,
|
||||
@@ -28,6 +29,9 @@ ossl_namemap_doall_names
|
||||
void (*fn)(const char *name, void *data),
|
||||
void *data);
|
||||
|
||||
int ossl_namemap_add_names(OSSL_NAMEMAP *namemap, int number,
|
||||
const char *names, const char separator);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
A B<OSSL_NAMEMAP> is a one-to-many number E<lt>-E<gt> names map, which
|
||||
@@ -40,12 +44,15 @@ new B<OSSL_NAMEMAP>.
|
||||
This is suitable to use when the B<OSSL_NAMEMAP> is embedded in other
|
||||
structures, or should be independent for any reason.
|
||||
|
||||
ossl_namemap_empty() checks if the given B<OSSL_NAMEMAP> is empty or
|
||||
not.
|
||||
|
||||
ossl_namemap_stored() finds or auto-creates the default namemap in the
|
||||
given library context.
|
||||
The returned B<OSSL_NAMEMAP> can't be destructed using
|
||||
ossl_namemap_free().
|
||||
|
||||
ossl_namemap_add() adds a new name to the namemap if it's not already
|
||||
ossl_namemap_add_name() adds a new name to the namemap if it's not already
|
||||
present.
|
||||
If the given I<number> is zero, a new number will be allocated to
|
||||
identify this I<name>.
|
||||
@@ -55,25 +62,33 @@ names already associated with that number.
|
||||
ossl_namemap_name2num() finds the number corresponding to the given
|
||||
I<name>.
|
||||
|
||||
ossl_namemap_add_n() and ossl_namemap_name2num_n() do the same thing
|
||||
as ossl_namemap_add() and ossl_namemap_name2num(), but take a string
|
||||
ossl_namemap_add_name_n() and ossl_namemap_name2num_n() do the same thing
|
||||
as ossl_namemap_add_name() and ossl_namemap_name2num(), but take a string
|
||||
length I<name_len> as well, allowing the caller to use a fragment of
|
||||
a string as a name.
|
||||
|
||||
|
||||
ossl_namemap_doall_names() walks through all names associated with
|
||||
I<number> in the given I<namemap> and calls the function I<fn> for
|
||||
each of them.
|
||||
I<fn> is also passed the I<data> argument, which allows any caller to
|
||||
pass extra data for that function to use.
|
||||
|
||||
ossl_namemap_add_names() divides up a set of names given in I<names>,
|
||||
separated by I<separator>, and adds each to the I<namemap>, all with
|
||||
the same number. If some of them already exist in the I<namemap>,
|
||||
they must all have the same associated number, which will be adopted
|
||||
for any name that doesn't exist yet.
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
ossl_namemap_new() and ossl_namemap_stored() return the pointer to a
|
||||
B<OSSL_NAMEMAP>, or NULL on error.
|
||||
|
||||
ossl_namemap_add() and ossl_namemap_add_n() return the number associated
|
||||
with the added string, or zero on error.
|
||||
ossl_namemap_empty() returns 1 if the B<OSSL_NAMEMAP> is NULL or
|
||||
empty, or 0 if it's not empty.
|
||||
|
||||
ossl_namemap_add_name() and ossl_namemap_add_name_n() return the number
|
||||
associated with the added string, or zero on error.
|
||||
|
||||
ossl_namemap_num2names() returns a pointer to a NULL-terminated list of
|
||||
pointers to the names corresponding to the given number, or NULL if
|
||||
@@ -83,6 +98,9 @@ ossl_namemap_name2num() and ossl_namemap_name2num_n() return the number
|
||||
corresponding to the given name, or 0 if it's undefined in the given
|
||||
B<OSSL_NAMEMAP>.
|
||||
|
||||
ossl_namemap_add_names() returns the number associated with the added
|
||||
names, or zero on error.
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
The result from ossl_namemap_num2names() isn't thread safe, other threads
|
||||
|
||||
@@ -178,7 +178,7 @@ public key.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<OSSL_PARAM_int>, L<OSSL_PARAM>
|
||||
L<OSSL_PARAM_int(3)>, L<OSSL_PARAM(3)>
|
||||
|
||||
=head1 HISTORY
|
||||
|
||||
|
||||
@@ -261,7 +261,7 @@ ossl_provider_library_context() return a pointer to the library context.
|
||||
This may be NULL, and is perfectly valid, as it denotes the default
|
||||
global library context.
|
||||
|
||||
ossl_provider_teardown() doesnt't return any value.
|
||||
ossl_provider_teardown() doesn't return any value.
|
||||
|
||||
ossl_provider_gettable_params() returns a pointer to a constant
|
||||
I<OSSL_PARAM> array if this function is available in the provider,
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
rsa_set0_all_params, rsa_get0_all_params
|
||||
- Internal routines for getting and setting data in an RSA object
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
#include "crypto/rsa.h"
|
||||
|
||||
int rsa_get0_all_params(RSA *r, STACK_OF(BIGNUM_const) *primes,
|
||||
STACK_OF(BIGNUM_const) *exps,
|
||||
STACK_OF(BIGNUM_const) *coeffs);
|
||||
int rsa_set0_all_params(RSA *r, const STACK_OF(BIGNUM) *primes,
|
||||
const STACK_OF(BIGNUM) *exps,
|
||||
const STACK_OF(BIGNUM) *coeffs);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
rsa_set0_all_params() sets all primes, CRT exponents and CRT coefficients
|
||||
in the B<RSA> object I<r> to the contents of the stacks of BIGNUMs I<primes>,
|
||||
I<exps> and I<coeffs>. The B<RSA> object takes ownership of the BIGNUMs,
|
||||
but not of the stacks.
|
||||
|
||||
rsa_get0_all_params() gets all primes, CRT exponents and CRT coefficients
|
||||
in the B<RSA> object I<r> and pushes them on the stacks of constant BIGNUMs
|
||||
I<primes>, I<exps> and I<coeffs>. The B<RSA> object retains ownership of the
|
||||
BIGNUMs, but not of the stacks.
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
For RSA_set0_all_params() and RSA_get0_all_params():
|
||||
|
||||
=over 4
|
||||
|
||||
=item *
|
||||
|
||||
the I<primes> stack contains I<p>, I<q>, and then the rest of the primes
|
||||
if the B<RSA> object is a multi-prime RSA key.
|
||||
|
||||
=item *
|
||||
|
||||
the I<exps> stack contains I<dP>, I<dQ>, and then the rest of the exponents
|
||||
if the B<RSA> object is a multi-prime RSA key.
|
||||
|
||||
=item *
|
||||
|
||||
the I<coeffs> stack contains I<qInv>, and then the rest of the coefficients
|
||||
if the B<RSA> object is a multi-prime RSA key.
|
||||
|
||||
=back
|
||||
|
||||
The number of primes must always be equal to the number of exponents, and
|
||||
the number of coefficients must be one less than the number of primes.
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
rsa_get0_all_params() and rsa_set0_all_params() return 1 on success, or
|
||||
0 on failure.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<RSA_set0_multi_prime_params(3)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 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
|
||||
in the file LICENSE in the source distribution or at
|
||||
L<https://www.openssl.org/source/license.html>.
|
||||
|
||||
=cut
|
||||
@@ -0,0 +1,149 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
VERSION - OpenSSL version information
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
MAJOR=3
|
||||
MINOR=0
|
||||
PATCH=0
|
||||
PRE_RELEASE_TAG=dev
|
||||
BUILD_METADATA=
|
||||
RELEASE_DATE=
|
||||
SHLIB_VERSION=3
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This file is a set of keyed information looking like simple variable
|
||||
assignments. When given an empty value, they are seen as unassigned.
|
||||
The keys that are recognised are:
|
||||
|
||||
=over 4
|
||||
|
||||
=item B<MAJOR>, B<MINOR>, B<PATCH>
|
||||
|
||||
The three parts of OpenSSL's 3 numbered version number, MAJOR.MINOR.PATCH.
|
||||
These are used to compose the values for the C macros B<OPENSSL_VERSION_MAJOR>,
|
||||
B<OPENSSL_VERSION_MINOR>, B<OPENSSL_VERSION_PACTH>.
|
||||
|
||||
=item B<PRE_RELEASE_TAG>
|
||||
|
||||
This is the added pre-release tag, which is added to the version separated by
|
||||
a dash. For a value C<foo>, the C macro B<OPENSSL_VERSION_PRE_RELEASE> gets
|
||||
the string C<-foo> (dash added).
|
||||
|
||||
=item B<BUILD_METADATA>
|
||||
|
||||
Extra metadata to be used by anyone for their own purposes. This is added to
|
||||
the version and possible pre-release tag, separated by a plus sign. For a
|
||||
value C<bar>, the C macro B<OPENSSL_VERSION_BUILD_METADATA> gets the string
|
||||
C<+bar>.
|
||||
|
||||
=item B<RELEASE_DATE>
|
||||
|
||||
Defined in releases. When not set, it gets the value C<xx XXX xxxx>.
|
||||
|
||||
=item B<SHLIB_VERSION>
|
||||
|
||||
The shared library version, which is something other than the project version.
|
||||
|
||||
=back
|
||||
|
||||
It is a configuration error if B<MAJOR>, B<MINOR>, B<PATCH> and B<SHLIB_VERSION>
|
||||
don't have values. Configuration will stop in that case.
|
||||
|
||||
=head2 Affected configuration data
|
||||
|
||||
The following items in %config from F<configdata.pm> are affected:
|
||||
|
||||
=over 4
|
||||
|
||||
=item $config{major}, $config{minor}, $config{patch}, $config{shlib_version}
|
||||
|
||||
These items get their values from B<MAJOR>, B<MINOR>, B<PATCH>, and
|
||||
B<SHLIB_VERSION>, respectively.
|
||||
|
||||
=item $config{prerelease}
|
||||
|
||||
If B<PRERELEASE> is assigned a value, $config{prerelease} gets that same value,
|
||||
prefixed by a dash, otherwise the empty string.
|
||||
|
||||
=item $config{build_metadata}
|
||||
|
||||
If B<BUILD_METADATA> is assigned a value, $config{build_metadata} gets that same
|
||||
value, prefixed by a plus sign, otherwise the empty string.
|
||||
|
||||
=item $config{release_date}
|
||||
|
||||
If B<RELEASE_DATE> is assigned a value, $config{release_date} gets that same
|
||||
value, otherwise the string C<xx XXX yyyy>.
|
||||
|
||||
=item $config{version}
|
||||
|
||||
The minimal version number, a string composed from B<MAJOR>, B<MINOR> and
|
||||
B<PATCH>, separated by periods. For C<MAJOR=3>, C<MINOR=0> and C<PATCH=0>,
|
||||
the string will be C<3.0.0>.
|
||||
|
||||
=item $config{full_version}
|
||||
|
||||
The fully loaded version number, a string composed from $config{version},
|
||||
$config{prerelease} and $config{build_metadata}. See See L</EXAMPLES> for
|
||||
a few examples.
|
||||
|
||||
=back
|
||||
|
||||
=head1 EXAMPLES
|
||||
|
||||
=over 4
|
||||
|
||||
=item 1.
|
||||
|
||||
MAJOR=3
|
||||
MINOR=0
|
||||
PATCH=0
|
||||
PRE_RELEASE_TAG=dev
|
||||
BUILD_METADATA=
|
||||
|
||||
The fully loaded version number ($config{full_version}) will be
|
||||
C<3.0.0-dev>.
|
||||
|
||||
=item 2.
|
||||
|
||||
MAJOR=3
|
||||
MINOR=0
|
||||
PATCH=0
|
||||
PRE_RELEASE_TAG=
|
||||
BUILD_METADATA=something
|
||||
|
||||
The fully loaded version number ($config{full_version}) will be
|
||||
C<3.0.0+something>.
|
||||
|
||||
=item 3.
|
||||
|
||||
MAJOR=3
|
||||
MINOR=0
|
||||
PATCH=0
|
||||
PRE_RELEASE_TAG=alpha3
|
||||
BUILD_METADATA=something
|
||||
|
||||
The fully loaded version number ($config{full_version}) will be
|
||||
C<3.0.0-alpha3+something>.
|
||||
|
||||
=back
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<OpenSSL_version(3)>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 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
|
||||
in the file LICENSE in the source distribution or at
|
||||
L<https://www.openssl.org/source/license.html>.
|
||||
|
||||
=cut
|
||||
@@ -73,7 +73,7 @@ generators, and are used to specify exactly what end product files
|
||||
(programs, libraries, modules or scripts) are to be produced, and from
|
||||
what sources.
|
||||
|
||||
Intermediate files, such as object files, are seldom refered to at
|
||||
Intermediate files, such as object files, are seldom referred to at
|
||||
all. They sometimes can be, if there's a need, but this should happen
|
||||
very rarely, and support for that sort of thing is added on as-needed
|
||||
basis.
|
||||
@@ -534,7 +534,7 @@ dependency is maintained:
|
||||
|
||||
DEPEND[libfoo.a]{weak}=libfoo.a libcookie.a
|
||||
|
||||
This is useful in complex dependecy trees where two libraries can be
|
||||
This is useful in complex dependency trees where two libraries can be
|
||||
used as alternatives for each other. In this example, C<lib1.a> and
|
||||
C<lib2.a> have alternative implementations of the same thing, and
|
||||
C<libmandatory.a> has unresolved references to that same thing, and is
|
||||
|
||||
Reference in New Issue
Block a user