Latest update.

This commit is contained in:
2020-03-08 13:10:50 +09:00
parent b412d79e8b
commit be29e7bcc6
274 changed files with 2778 additions and 763 deletions
@@ -14,6 +14,7 @@ s2i_ASN1_UTF8STRING,
ASN1_UTF8STRING *utf8);
ASN1_UTF8STRING *s2i_ASN1_UTF8STRING(X509V3_EXT_METHOD *method,
X509V3_CTX *ctx, const char *str);
=head1 DESCRIPTION
These functions convert OpenSSL objects to and from their ASN.1/string
+8 -1
View File
@@ -174,11 +174,18 @@ Sign the request:
CA.pl -signreq
=head1 ENVIRONMENT
The environment variable B<OPENSSL_CONFIG> may be used to specify a
configuration option and value to the B<req> and B<ca> commands invoked by
this script. It's value should be the option and pathname, as in
C<-config /path/to/conf-file>.
=head1 NOTES
Most of the filenames mentioned can be modified by editing the B<CA.pl> script.
If the demoCA directory already exists then the B<-newca> command will not
If the F<demoCA> directory already exists then the B<-newca> command will not
overwrite it and will do nothing. This can happen if a previous call using
the B<-newca> option terminated abnormally. To get the correct behaviour
delete the demoCA directory if it already exists.
+66 -16
View File
@@ -1,113 +1,163 @@
# Keep this in sync with .gitignore!
DEPEND[]= \
openssl-asn1parse.pod \
openssl-ca.pod \
openssl-ciphers.pod \
openssl-cmds.pod \
openssl-cms.pod \
openssl-crl2pkcs7.pod \
openssl-crl.pod \
openssl-dgst.pod \
openssl-dhparam.pod \
openssl-dsa.pod \
openssl-dsaparam.pod \
openssl-ec.pod \
openssl-dsa.pod \
openssl-ecparam.pod \
openssl-ec.pod \
openssl-enc.pod \
openssl-engine.pod \
openssl-errstr.pod \
openssl-fipsinstall.pod \
openssl-gendsa.pod \
openssl-genpkey.pod \
openssl-genrsa.pod \
openssl-info.pod \
openssl-kdf.pod \
openssl-list.pod \
openssl-mac.pod \
openssl-nseq.pod \
openssl-ocsp.pod \
openssl-passwd.pod \
openssl-pkcs12.pod \
openssl-pkcs7.pod \
openssl-pkcs8.pod \
openssl-pkey.pod \
openssl-pkeyparam.pod \
openssl-pkey.pod \
openssl-pkeyutl.pod \
openssl-prime.pod \
openssl-provider.pod \
openssl-rand.pod \
openssl-rehash.pod \
openssl-req.pod \
openssl-rsa.pod \
openssl-rsautl.pod \
openssl-s_client.pod \
openssl-s_server.pod \
openssl-s_time.pod \
openssl-sess_id.pod \
openssl-smime.pod \
openssl-speed.pod \
openssl-spkac.pod \
openssl-srp.pod \
openssl-s_server.pod \
openssl-s_time.pod \
openssl-storeutl.pod \
openssl-ts.pod \
openssl-verify.pod \
openssl-version.pod \
openssl-x509.pod
DEPEND[openssl-asn1parse.pod]=../perlvars.pm
DEPEND[openssl-ca.pod]=../perlvars.pm
DEPEND[openssl-ciphers.pod]=../perlvars.pm
DEPEND[openssl-cmds.pod]=../perlvars.pm
DEPEND[openssl-cms.pod]=../perlvars.pm
DEPEND[openssl-crl2pkcs7.pod]=../perlvars.pm
DEPEND[openssl-crl.pod]=../perlvars.pm
DEPEND[openssl-dgst.pod]=../perlvars.pm
DEPEND[openssl-dhparam.pod]=../perlvars.pm
DEPEND[openssl-dsa.pod]=../perlvars.pm
DEPEND[openssl-dsaparam.pod]=../perlvars.pm
DEPEND[openssl-ec.pod]=../perlvars.pm
DEPEND[openssl-dsa.pod]=../perlvars.pm
DEPEND[openssl-ecparam.pod]=../perlvars.pm
DEPEND[openssl-ec.pod]=../perlvars.pm
DEPEND[openssl-enc.pod]=../perlvars.pm
DEPEND[openssl-engine.pod]=../perlvars.pm
DEPEND[openssl-errstr.pod]=../perlvars.pm
DEPEND[openssl-fipsinstall.pod]=../perlvars.pm
DEPEND[openssl-gendsa.pod]=../perlvars.pm
DEPEND[openssl-genpkey.pod]=../perlvars.pm
DEPEND[openssl-genrsa.pod]=../perlvars.pm
DEPEND[openssl-info.pod]=../perlvars.pm
DEPEND[openssl-kdf.pod]=../perlvars.pm
DEPEND[openssl-list.pod]=../perlvars.pm
DEPEND[openssl-mac.pod]=../perlvars.pm
DEPEND[openssl-nseq.pod]=../perlvars.pm
DEPEND[openssl-ocsp.pod]=../perlvars.pm
DEPEND[openssl-passwd.pod]=../perlvars.pm
DEPEND[openssl-pkcs12.pod]=../perlvars.pm
DEPEND[openssl-pkcs7.pod]=../perlvars.pm
DEPEND[openssl-pkcs8.pod]=../perlvars.pm
DEPEND[openssl-pkey.pod]=../perlvars.pm
DEPEND[openssl-pkeyparam.pod]=../perlvars.pm
DEPEND[openssl-pkey.pod]=../perlvars.pm
DEPEND[openssl-pkeyutl.pod]=../perlvars.pm
DEPEND[openssl-prime.pod]=../perlvars.pm
DEPEND[openssl-provider.pod]=../perlvars.pm
DEPEND[openssl-rand.pod]=../perlvars.pm
DEPEND[openssl-rehash.pod]=../perlvars.pm
DEPEND[openssl-req.pod]=../perlvars.pm
DEPEND[openssl-rsa.pod]=../perlvars.pm
DEPEND[openssl-rsautl.pod]=../perlvars.pm
DEPEND[openssl-s_client.pod]=../perlvars.pm
DEPEND[openssl-s_server.pod]=../perlvars.pm
DEPEND[openssl-s_time.pod]=../perlvars.pm
DEPEND[openssl-sess_id.pod]=../perlvars.pm
DEPEND[openssl-smime.pod]=../perlvars.pm
DEPEND[openssl-speed.pod]=../perlvars.pm
DEPEND[openssl-spkac.pod]=../perlvars.pm
DEPEND[openssl-srp.pod]=../perlvars.pm
DEPEND[openssl-s_server.pod]=../perlvars.pm
DEPEND[openssl-s_time.pod]=../perlvars.pm
DEPEND[openssl-storeutl.pod]=../perlvars.pm
DEPEND[openssl-ts.pod]=../perlvars.pm
DEPEND[openssl-verify.pod]=../perlvars.pm
DEPEND[openssl-version.pod]=../perlvars.pm
DEPEND[openssl-x509.pod]=../perlvars.pm
GENERATE[openssl-asn1parse.pod]=openssl-asn1parse.pod.in
GENERATE[openssl-ca.pod]=openssl-ca.pod.in
GENERATE[openssl-ciphers.pod]=openssl-ciphers.pod.in
GENERATE[openssl-cmds.pod]=openssl-cmds.pod.in
GENERATE[openssl-cms.pod]=openssl-cms.pod.in
GENERATE[openssl-crl2pkcs7.pod]=openssl-crl2pkcs7.pod.in
GENERATE[openssl-crl.pod]=openssl-crl.pod.in
GENERATE[openssl-dgst.pod]=openssl-dgst.pod.in
GENERATE[openssl-dhparam.pod]=openssl-dhparam.pod.in
GENERATE[openssl-dsa.pod]=openssl-dsa.pod.in
GENERATE[openssl-dsaparam.pod]=openssl-dsaparam.pod.in
GENERATE[openssl-ec.pod]=openssl-ec.pod.in
GENERATE[openssl-dsa.pod]=openssl-dsa.pod.in
GENERATE[openssl-ecparam.pod]=openssl-ecparam.pod.in
GENERATE[openssl-ec.pod]=openssl-ec.pod.in
GENERATE[openssl-enc.pod]=openssl-enc.pod.in
GENERATE[openssl-engine.pod]=openssl-engine.pod.in
GENERATE[openssl-errstr.pod]=openssl-errstr.pod.in
GENERATE[openssl-fipsinstall.pod]=openssl-fipsinstall.pod.in
GENERATE[openssl-gendsa.pod]=openssl-gendsa.pod.in
GENERATE[openssl-genpkey.pod]=openssl-genpkey.pod.in
GENERATE[openssl-genrsa.pod]=openssl-genrsa.pod.in
GENERATE[openssl-info.pod]=openssl-info.pod.in
GENERATE[openssl-kdf.pod]=openssl-kdf.pod.in
GENERATE[openssl-list.pod]=openssl-list.pod.in
GENERATE[openssl-mac.pod]=openssl-mac.pod.in
GENERATE[openssl-nseq.pod]=openssl-nseq.pod.in
GENERATE[openssl-ocsp.pod]=openssl-ocsp.pod.in
GENERATE[openssl-passwd.pod]=openssl-passwd.pod.in
GENERATE[openssl-pkcs12.pod]=openssl-pkcs12.pod.in
GENERATE[openssl-pkcs7.pod]=openssl-pkcs7.pod.in
GENERATE[openssl-pkcs8.pod]=openssl-pkcs8.pod.in
GENERATE[openssl-pkey.pod]=openssl-pkey.pod.in
GENERATE[openssl-pkeyparam.pod]=openssl-pkeyparam.pod.in
GENERATE[openssl-pkey.pod]=openssl-pkey.pod.in
GENERATE[openssl-pkeyutl.pod]=openssl-pkeyutl.pod.in
GENERATE[openssl-prime.pod]=openssl-prime.pod.in
GENERATE[openssl-provider.pod]=openssl-provider.pod.in
GENERATE[openssl-rand.pod]=openssl-rand.pod.in
GENERATE[openssl-rehash.pod]=openssl-rehash.pod.in
GENERATE[openssl-req.pod]=openssl-req.pod.in
GENERATE[openssl-rsa.pod]=openssl-rsa.pod.in
GENERATE[openssl-rsautl.pod]=openssl-rsautl.pod.in
GENERATE[openssl-s_client.pod]=openssl-s_client.pod.in
GENERATE[openssl-s_server.pod]=openssl-s_server.pod.in
GENERATE[openssl-s_time.pod]=openssl-s_time.pod.in
GENERATE[openssl-sess_id.pod]=openssl-sess_id.pod.in
GENERATE[openssl-smime.pod]=openssl-smime.pod.in
GENERATE[openssl-speed.pod]=openssl-speed.pod.in
GENERATE[openssl-spkac.pod]=openssl-spkac.pod.in
GENERATE[openssl-srp.pod]=openssl-srp.pod.in
GENERATE[openssl-s_server.pod]=openssl-s_server.pod.in
GENERATE[openssl-s_time.pod]=openssl-s_time.pod.in
GENERATE[openssl-storeutl.pod]=openssl-storeutl.pod.in
GENERATE[openssl-ts.pod]=openssl-ts.pod.in
GENERATE[openssl-verify.pod]=openssl-verify.pod.in
GENERATE[openssl-version.pod]=openssl-version.pod.in
GENERATE[openssl-x509.pod]=openssl-x509.pod.in
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
+7 -1
View File
@@ -12,6 +12,7 @@ B<openssl> B<ca>
[B<-verbose>]
[B<-config> I<filename>]
[B<-name> I<section>]
[B<-section> I<section>]
[B<-gencrl>]
[B<-revoke> I<file>]
[B<-valid> I<file>]
@@ -59,6 +60,7 @@ B<openssl> B<ca>
[B<-sm2-hex-id> I<hex-string>]
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
[I<certreq>...]
=for openssl ifdef engine sm2-id sm2-hex-id
@@ -93,7 +95,7 @@ Specifies the configuration file to use.
Optional; for a description of the default value,
see L<openssl(1)/COMMAND SUMMARY>.
=item B<-name> I<section>
=item B<-name> I<section>, B<-section> I<section>
Specifies the configuration file section to use (overrides
B<default_ca> in the B<ca> section).
@@ -308,6 +310,8 @@ certificate. The argument for this option is string of hexadecimal digits.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 CRL OPTIONS
@@ -769,6 +773,8 @@ seeding mechanism. The new seeding mechanism makes it unnecessary to
define a RANDFILE for saving and restoring randomness. This option is
retained mainly for compatibility reasons.
The B<-section> option was added in OpenSSL 3.0.0.
=head1 SEE ALSO
L<openssl(1)>,
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
@@ -22,6 +23,7 @@ B<openssl> B<ciphers>
[B<-stdname>]
[B<-convert> I<name>]
[B<-ciphersuites> I<val>]
{- $OpenSSL::safe::opt_provider_synopsis -}
[I<cipherlist>]
=for openssl ifdef ssl3 tls1 tls1_1 tls1_2 tls1_3 psk srp
@@ -40,6 +42,8 @@ determine the appropriate cipherlist.
Print a usage message.
{- $OpenSSL::safe::opt_provider_item -}
=item B<-s>
Only list supported ciphers: those consistent with the security level, and
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
+16
View File
@@ -46,6 +46,7 @@ B<openssl> B<cms>
[B<-print>]
[B<-md> I<digest>]
[B<-I<cipher>>]
[B<-wrap> I<cipher>]
[B<-nointern>]
[B<-noverify>]
[B<-nocerts>]
@@ -58,6 +59,7 @@ B<openssl> B<cms>
[B<-certfile> I<file>]
[B<-certsout> I<file>]
[B<-signer> I<file>]
[B<-originator> I<file>]
[B<-recip> I<file>]
[B<-keyid>]
[B<-receipt_request_all>]
@@ -79,6 +81,7 @@ B<openssl> B<cms>
{- $OpenSSL::safe::opt_trust_synopsis -}
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
[I<cert.pem> ...]
=for openssl ifdef des-wrap engine
@@ -300,6 +303,12 @@ supported by your version of OpenSSL.
If not specified triple DES is used. Only used with B<-encrypt> and
B<-EncryptedData_create> commands.
=item B<-wrap> I<cipher>
Cipher algorithm to use for key wrap when encrypting the message using Key
Agreement for key transport. The algorithm specified should be suitable for key
wrap.
=item B<-nointern>
When verifying a message normally certificates (if any) included in
@@ -374,6 +383,11 @@ used multiple times if more than one signer is required. If a message is being
verified then the signers certificates will be written to this file if the
verification was successful.
=item B<-originator> I<file>
A certificate of the originator of the encrypted message. Necessary for
decryption when Key Agreement is in use for a shared key.
=item B<-recip> I<file>
When decrypting a message this specifies the recipients certificate. The
@@ -477,6 +491,8 @@ Any verification errors cause the command to exit.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=item I<cert.pem> ...
One or more certificates of message recipients: used when encrypting
+3
View File
@@ -29,6 +29,7 @@ B<openssl> B<crl>
[B<-nextupdate>]
{- $OpenSSL::safe::opt_name_synopsis -}
{- $OpenSSL::safe::opt_trust_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef hash_old
@@ -123,6 +124,8 @@ Output the nextUpdate field.
{- $OpenSSL::safe::opt_trust_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 EXAMPLES
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
@@ -14,6 +15,7 @@ B<openssl> B<crl2pkcs7>
[B<-out> I<filename>]
[B<-certfile> I<filename>]
[B<-nocrl>]
{- $OpenSSL::safe::opt_provider_synopsis -}
=head1 DESCRIPTION
@@ -61,6 +63,8 @@ files.
Normally a CRL is included in the output file. With this option no CRL is
included in the output file and a CRL is not read from the input file.
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 EXAMPLES
+3
View File
@@ -32,6 +32,7 @@ B<openssl> B<dgst>|I<digest>
{- $OpenSSL::safe::opt_engine_synopsis -}
[B<-engine_impl> I<id>]
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
[I<file> ...]
=head1 DESCRIPTION
@@ -184,6 +185,8 @@ used or it is configured to do so, see L<config(5)/Engine Configuration Module>.
When used with the B<-engine> option, it specifies to also use
engine I<id> for digest operations.
{- $OpenSSL::safe::opt_provider_item -}
=item I<file> ...
File or files to digest. If no files are specified then standard input is
+3
View File
@@ -23,6 +23,7 @@ B<openssl dhparam>
[B<-5>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
[I<numbits>]
=for openssl ifdef dsaparam engine
@@ -109,6 +110,8 @@ be loaded by calling the get_dhNNNN() function.
{- $OpenSSL::safe::opt_r_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 NOTES
+3
View File
@@ -37,6 +37,7 @@ B<openssl> B<dsa>
[B<-pubin>]
[B<-pubout>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef pvk-string pvk-weak pvk-none engine
@@ -123,6 +124,8 @@ a public key.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 EXAMPLES
+3
View File
@@ -20,6 +20,7 @@ B<openssl dsaparam>
[B<-verbose>]
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
[I<numbits>]
=head1 DESCRIPTION
@@ -93,6 +94,8 @@ This option specifies that a parameter set should be generated of size
I<numbits>. It must be the last option. If this option is included then
the input file (if any) is ignored.
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 SEE ALSO
+3
View File
@@ -32,6 +32,7 @@ B<openssl> B<ec>
[B<-no_public>]
[B<-check>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef engine
@@ -141,6 +142,8 @@ This option checks the consistency of an EC private or public key.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 EXAMPLES
+3
View File
@@ -26,6 +26,7 @@ B<openssl ecparam>
[B<-genkey>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef engine
@@ -130,6 +131,8 @@ This option will generate an EC private key using the specified parameters.
{- $OpenSSL::safe::opt_r_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 EXAMPLES
+3
View File
@@ -40,6 +40,7 @@ B<openssl> B<enc>|I<cipher>
[B<-none>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef z engine ciphers
@@ -197,6 +198,8 @@ Use NULL cipher (no encryption or decryption of input).
{- $OpenSSL::safe::opt_r_item -}
{- $OpenSSL::safe::opt_provider_item -}
{- $OpenSSL::safe::opt_engine_item -}
=back
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
@@ -128,21 +129,21 @@ values that can be used.
=head1 EXAMPLES
Calculate the mac of a FIPS module F<fips.so> and run a FIPS self test
for the module, and save the F<fips.conf> configuration file:
for the module, and save the F<fips.cnf> configuration file:
openssl fipsinstall -module ./fips.so -out fips.conf -provider_name fips \
openssl fipsinstall -module ./fips.so -out fips.cnf -provider_name fips \
-section_name fipsinstall -mac_name HMAC -macopt digest:SHA256 \
-macopt hexkey:000102030405060708090A0B0C0D0E0F10111213
Verify that the configuration file F<fips.conf> contains the correct info:
Verify that the configuration file F<fips.cnf> contains the correct info:
openssl fipsinstall -module ./fips.so -in fips.conf -provider_name fips \
openssl fipsinstall -module ./fips.so -in fips.cnf -provider_name fips \
-section_name fips_install -mac_name HMAC -macopt digest:SHA256 \
-macopt hexkey:000102030405060708090A0B0C0D0E0F10111213 -verify
Corrupt any self tests which have the description 'SHA1':
openssl fipsinstall -module ./fips.so -out fips.conf -provider_name fips \
openssl fipsinstall -module ./fips.so -out fips.cnf -provider_name fips \
-section_name fipsinstall -mac_name HMAC -macopt digest:SHA256 \
-macopt hexkey:000102030405060708090A0B0C0D0E0F10111213 \
-corrupt_desc', 'SHA1'
+3
View File
@@ -26,6 +26,7 @@ B<openssl> B<gendsa>
[B<-verbose>]
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
[I<paramfile>]
=for openssl ifdef engine
@@ -76,6 +77,8 @@ The DSA parameter file to use. The parameters in this file determine
the size of the private key. DSA parameters can be generated and
examined using the L<openssl-dsaparam(1)> command.
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 NOTES
+3
View File
@@ -23,6 +23,7 @@ B<openssl> B<genpkey>
[B<-genparam>]
[B<-text>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef engine
@@ -104,6 +105,8 @@ parameters along with the PEM or DER structure.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 KEY GENERATION OPTIONS
+3
View File
@@ -30,6 +30,7 @@ B<openssl> B<genrsa>
[B<-verbose>]
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
[B<numbits>]
=for openssl ifdef engine
@@ -85,6 +86,8 @@ Print extra details about the operations being performed.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=item B<numbits>
The size of the private key to generate in bits. This must be the last option
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
@@ -12,6 +13,7 @@ B<openssl kdf>
[B<-keylen> I<num>]
[B<-out> I<filename>]
[B<-binary>]
{- $OpenSSL::safe::opt_provider_synopsis -}
I<kdf_name>
=head1 DESCRIPTION
@@ -79,6 +81,8 @@ To see the list of supported digests, use the command I<list -digest-commands>.
=back
{- $OpenSSL::safe::opt_provider_item -}
=item I<kdf_name>
Specifies the name of a supported KDF algorithm which will be used.
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
@@ -23,6 +24,7 @@ B<openssl list>
[B<-disabled>]
[B<-objects>]
[B<-options> I<command>]
{- $OpenSSL::safe::opt_provider_synopsis -}
=head1 DESCRIPTION
@@ -102,6 +104,8 @@ of what type of parameter it takes, if any.
This is an internal option, used for checking that the documentation
is complete.
{- $OpenSSL::safe::opt_provider_item -}
=back
=head2 Display of algorithm names
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
@@ -12,6 +13,7 @@ B<openssl mac>
[B<-in> I<filename>]
[B<-out> I<filename>]
[B<-binary>]
{- $OpenSSL::safe::opt_provider_synopsis -}
I<mac_name>
=head1 DESCRIPTION
@@ -99,6 +101,8 @@ The default is the empty string "".
=back
{- $OpenSSL::safe::opt_provider_item -}
=item I<mac_name>
Specifies the name of a supported MAC algorithm which will be used.
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
@@ -11,6 +12,7 @@ B<openssl> B<nseq>
[B<-in> I<filename>]
[B<-out> I<filename>]
[B<-toseq>]
{- $OpenSSL::safe::opt_provider_synopsis -}
=head1 DESCRIPTION
@@ -48,6 +50,8 @@ is the certificates contained in it. With the B<-toseq> option the
situation is reversed: a Netscape certificate sequence is created from
a file of certificates.
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 EXAMPLES
+3
View File
@@ -70,6 +70,7 @@ B<openssl> B<ocsp>
[B<-I<digest>>]
{- $OpenSSL::safe::opt_trust_synopsis -}
{- $OpenSSL::safe::opt_v_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef multi
@@ -269,6 +270,8 @@ digest used by subsequent certificate identifiers.
{- $OpenSSL::safe::opt_v_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head2 OCSP Server Options
+3
View File
@@ -23,6 +23,7 @@ B<openssl passwd>
[B<-table>]
[B<-reverse>]
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
[I<password>]
=for openssl ifdef crypt
@@ -100,6 +101,8 @@ When the B<-table> option is used, reverse the order of cleartext and hash.
{- $OpenSSL::safe::opt_r_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 EXAMPLES
+3
View File
@@ -57,6 +57,7 @@ B<openssl> B<pkcs12>
{- $OpenSSL::safe::opt_trust_synopsis -}
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef engine
@@ -293,6 +294,8 @@ Write I<name> as a Microsoft CSP name.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 NOTES
+3
View File
@@ -22,6 +22,7 @@ B<openssl> B<pkcs7>
[B<-text>]
[B<-noout>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef engine
@@ -77,6 +78,8 @@ if B<-print_certs> is set).
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 EXAMPLES
+3
View File
@@ -29,6 +29,7 @@ B<openssl> B<pkcs8>
[B<-scrypt_p> I<p>]
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef engine scrypt scrypt_N scrypt_r scrypt_p
@@ -150,6 +151,8 @@ Sets the scrypt I<N>, I<r> or I<p> parameters.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 NOTES
+3
View File
@@ -31,6 +31,7 @@ B<openssl> B<pkey>
[B<-ec_conv_form> I<arg>]
[B<-ec_param_enc> I<arg>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef engine
@@ -142,6 +143,8 @@ is currently not implemented in OpenSSL.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 EXAMPLES
+3
View File
@@ -19,6 +19,7 @@ B<openssl> B<pkeyparam>
[B<-noout>]
[B<-check>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef engine
@@ -59,6 +60,8 @@ This option checks the correctness of parameters.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 EXAMPLES
+3
View File
@@ -37,6 +37,7 @@ B<openssl> B<pkeyutl>
{- $OpenSSL::safe::opt_engine_synopsis -}
[B<-engine_impl>]
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef engine engine_impl
@@ -188,6 +189,8 @@ engine I<id> for crypto operations.
{- $OpenSSL::safe::opt_r_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 NOTES
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
@@ -12,6 +13,7 @@ B<openssl prime>
[B<-generate>]
[B<-bits> I<num>]
[B<-safe>]
{- $OpenSSL::safe::opt_provider_synopsis -}
[B<-checks> I<num>]
[I<number> ...]
@@ -48,6 +50,8 @@ Generate a prime with I<num> bits.
When used with B<-generate>, generates a "safe" prime. If the number
generated is I<n>, then check that C<(I<n>-1)/2> is also prime.
{- $OpenSSL::safe::opt_provider_item -}
=item B<-checks> I<num>
This parameter is ignored.
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
+4 -1
View File
@@ -14,6 +14,7 @@ B<openssl rand>
[B<-hex>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
I<num>
=for openssl ifdef engine
@@ -26,7 +27,7 @@ secure pseudo random number generator (CSPRNG).
The random bytes are generated using the L<RAND_bytes(3)> function,
which provides a security level of 256 bits, provided it managed to
seed itself successfully from a trusted operating system entropy source.
Otherwise, the command will fail with a non-zero error code.
Otherwise, the command will fail with a nonzero error code.
For more details, see L<RAND_bytes(3)>, L<RAND(7)>, and L<RAND_DRBG(7)>.
=head1 OPTIONS
@@ -53,6 +54,8 @@ Show the output as a hex string.
{- $OpenSSL::safe::opt_r_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 SEE ALSO
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=for comment
Original text by James Westby, contributed under the OpenSSL license.
@@ -18,6 +19,7 @@ B<rehash>
[B<-compat>]
[B<-n>]
[B<-v>]
{- $OpenSSL::safe::opt_provider_synopsis -}
[I<directory>] ...
B<c_rehash>
@@ -26,6 +28,7 @@ B<c_rehash>
[B<-old>]
[B<-n>]
[B<-v>]
{- $OpenSSL::safe::opt_provider_synopsis -}
[I<directory>] ...
=head1 DESCRIPTION
@@ -116,6 +119,8 @@ releases.
Print messages about old links removed and new links created.
By default, this command only lists each directory as it is processed.
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 ENVIRONMENT
+16 -2
View File
@@ -30,6 +30,7 @@ B<openssl> B<req>
[B<-keygen_engine> I<id>]
[B<-I<digest>>]
[B<-config> I<filename>]
[B<-section> I<name>]
[B<-multivalue-rdn>]
[B<-x509>]
[B<-days> I<n>]
@@ -51,6 +52,7 @@ B<openssl> B<req>
{- $OpenSSL::safe::opt_name_synopsis -}
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef engine keygen_engine sm2-id sm2-hex-id
@@ -205,6 +207,10 @@ This allows an alternative configuration file to be specified.
Optional; for a description of the default value,
see L<openssl(1)/COMMAND SUMMARY>.
=item B<-section> I<name>
Specifies the name of the section to use; the default is B<req>.
=item B<-subj> I<arg>
Sets subject name for new request or supersedes the subject name
@@ -323,13 +329,17 @@ argument for this option is string of hexadecimal digits.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 CONFIGURATION FILE FORMAT
The configuration options are specified in the B<req> section of
the configuration file. As with all configuration files if no
value is specified in the specific section (i.e. B<req>) then
the configuration file. An alternate name be specified by using the
B<-section> option.
As with all configuration files, if no
value is specified in the specific section then
the initial unnamed or B<default> section is searched too.
The options available are described in detail below.
@@ -675,6 +685,10 @@ L<openssl-gendsa(1)>,
L<config(5)>,
L<x509v3_config(5)>
=head1 HISTORY
The B<-section> option was added in OpenSSL 3.0.0.
=head1 COPYRIGHT
Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved.
+3
View File
@@ -40,6 +40,7 @@ B<openssl> B<rsa>
[B<-RSAPublicKey_in>]
[B<-RSAPublicKey_out>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef pvk-strong pvk-weak pvk-none engine
@@ -136,6 +137,8 @@ Like B<-pubin> and B<-pubout> except B<RSAPublicKey> format is used instead.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 EXAMPLES
+3
View File
@@ -33,6 +33,7 @@ B<openssl> B<rsautl>
[B<-asn1parse>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef engine
@@ -126,6 +127,8 @@ B<-verify> option.
{- $OpenSSL::safe::opt_r_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 NOTES
+3
View File
@@ -120,6 +120,7 @@ B<openssl> B<s_client>
{- $OpenSSL::safe::opt_trust_synopsis -}
{- $OpenSSL::safe::opt_s_synopsis -}
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
{- $OpenSSL::safe::opt_engine_synopsis -}
[B<-ssl_client_engine> I<id>]
{- $OpenSSL::safe::opt_v_synopsis -}
@@ -758,6 +759,8 @@ Set the minimal acceptable length, in bits, for B<N>.
{- $OpenSSL::safe::opt_r_item -}
{- $OpenSSL::safe::opt_provider_item -}
{- $OpenSSL::safe::opt_engine_item -}
=item B<-ssl_client_engine> I<id>
+3
View File
@@ -140,6 +140,7 @@ B<openssl> B<s_server>
{- $OpenSSL::safe::opt_trust_synopsis -}
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef unix 4 6 unlink no_dhe nextprotoneg use_srtp engine
@@ -661,6 +662,8 @@ data that was sent will be rejected.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
{- $OpenSSL::safe::opt_v_item -}
If the server requests a client certificate, then
+3
View File
@@ -28,6 +28,7 @@ B<openssl> B<s_time>
{- $OpenSSL::safe::opt_name_synopsis -}
[B<-cafile> I<file>]
{- $OpenSSL::safe::opt_trust_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef ssl3 tls1 tls1_1 tls1_2 tls1_3
@@ -122,6 +123,8 @@ can establish.
{- $OpenSSL::safe::opt_trust_item -}
{- $OpenSSL::safe::opt_provider_item -}
=item B<-cafile> I<file>
This is an obsolete synonym for B<-CAfile>.
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
+3
View File
@@ -49,6 +49,7 @@ B<openssl> B<smime>
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_v_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
I<cert.pem> ...
=for openssl ifdef engine
@@ -288,6 +289,8 @@ Any verification errors cause the command to exit.
{- $OpenSSL::safe::opt_r_item -}
{- $OpenSSL::safe::opt_provider_item -}
=item I<cert.pem> ...
One or more certificates of message recipients, used when encrypting
+3
View File
@@ -25,6 +25,7 @@ B<openssl speed>
[B<-mr>]
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
[I<algorithm> ...]
=for openssl ifdef hmac cmac multi async_jobs engine
@@ -103,6 +104,8 @@ Produce the summary in a mechanical, machine-readable, format.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=item I<algorithm> ...
If any I<algorithm> is given, then those algorithms are tested, otherwise a
+3
View File
@@ -25,6 +25,7 @@ B<openssl> B<spkac>
[B<-noout>]
[B<-verify>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef engine
@@ -99,6 +100,8 @@ Verifies the digital signature on the supplied SPKAC.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 EXAMPLES
+3
View File
@@ -23,6 +23,7 @@ B<openssl srp>
[B<-passout> I<arg>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
[I<user> ...]
=for openssl ifdef engine
@@ -74,6 +75,8 @@ see L<openssl(1)/Pass Phrase Options>.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
{- $OpenSSL::safe::opt_r_synopsis -}
=back
+3
View File
@@ -28,6 +28,7 @@ B<openssl> B<storeutl>
[B<-fingerprint> I<arg>]
[B<-I<digest>>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
I<uri> ...
=head1 DESCRIPTION
@@ -110,6 +111,8 @@ The digest that was used to compute the fingerprint given with B<-fingerprint>.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head1 SEE ALSO
+5
View File
@@ -23,6 +23,7 @@ B<-query>
[B<-out> I<request.tsq>]
[B<-text>]
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
B<openssl> B<ts>
B<-reply>
@@ -42,6 +43,7 @@ B<-reply>
[B<-token_out>]
[B<-text>]
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
B<openssl> B<ts>
B<-verify>
@@ -54,6 +56,7 @@ B<-verify>
[B<-CApath> I<dir>]
[B<-CAstore> I<uri>]
{- $OpenSSL::safe::opt_v_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef engine
@@ -285,6 +288,8 @@ instead of DER. (Optional)
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head2 Timestamp Response verification
+3
View File
@@ -21,6 +21,7 @@ B<openssl> B<verify>
{- $OpenSSL::safe::opt_trust_synopsis -}
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_v_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
[B<-->]
[I<certificate> ...]
@@ -91,6 +92,8 @@ B<-trusted>, B<-untrusted> or B<-CRLfile> options.
{- $OpenSSL::safe::opt_v_item -}
{- $OpenSSL::safe::opt_provider_item -}
=item B<-->
Indicates the last option. All arguments following this are assumed to be
@@ -1,4 +1,5 @@
=pod
{- OpenSSL::safe::output_do_not_edit_headers(); -}
=head1 NAME
+3
View File
@@ -75,6 +75,7 @@ B<openssl> B<x509>
{- $OpenSSL::safe::opt_name_synopsis -}
{- $OpenSSL::safe::opt_r_synopsis -}
{- $OpenSSL::safe::opt_engine_synopsis -}
{- $OpenSSL::safe::opt_provider_synopsis -}
=for openssl ifdef engine subject_hash_old issuer_hash_old
@@ -135,6 +136,8 @@ Cannot be used with the B<-days> option.
{- $OpenSSL::safe::opt_engine_item -}
{- $OpenSSL::safe::opt_provider_item -}
=back
=head2 Display Options
+20
View File
@@ -755,6 +755,26 @@ This file can be used in a subsequent command invocation.
=back
=head2 Provider Options
With the move to provider based cryptographic operations in OpenSSL 3.0,
options were added to allow specific providers or sets of providers to be used.
=over 4
=item B<-provider> I<name>
Use the provider identified by I<name> and use all the methods it
implements (algorithms, key storage, etc.). This option can be specified
multiple time to load more than one provider.
=item B<-provider_path> I<path>
Specify the search I<path> that is used to locate provider modules. The format
of I<path> varies depending on the operating system being used.
=back
=head2 Extended Verification Options
Sometimes there may be more than one certificate chain leading to an
+16 -2
View File
@@ -2,12 +2,16 @@
=head1 NAME
CMS_add1_recipient_cert, CMS_add0_recipient_key - add recipients to a CMS enveloped data structure
CMS_add1_recipient, CMS_add1_recipient_cert, CMS_add0_recipient_key - add recipients to a CMS enveloped data structure
=head1 SYNOPSIS
#include <openssl/cms.h>
CMS_RecipientInfo *CMS_add1_recipient(CMS_ContentInfo *cms, X509 *recip,
EVP_PKEY *originatorPrivKey,
X509 *originator, unsigned int flags);
CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms,
X509 *recip, unsigned int flags);
@@ -20,6 +24,11 @@ CMS_add1_recipient_cert, CMS_add0_recipient_key - add recipients to a CMS envelo
=head1 DESCRIPTION
CMS_add1_recipient() adds recipient B<recip> and provides the originator pkey
B<originatorPrivKey> and originator certificate B<originator> to CMS_ContentInfo.
The originator-related fields are relevant only in case when the keyAgreement
method of providing of the shared key is in use.
CMS_add1_recipient_cert() adds recipient B<recip> to CMS_ContentInfo enveloped
data structure B<cms> as a KeyTransRecipientInfo structure.
@@ -60,9 +69,14 @@ occurs.
L<ERR_get_error(3)>, L<CMS_decrypt(3)>,
L<CMS_final(3)>,
=head1 HISTORY
B<CMS_add1_recipient_cert> and B<CMS_add0_recipient_key> were added in
OpenSSL 3.0.
=head1 COPYRIGHT
Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.
Copyright 2008-2020 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
+17 -2
View File
@@ -2,7 +2,8 @@
=head1 NAME
CMS_decrypt - decrypt content from a CMS envelopedData structure
CMS_decrypt, CMS_decrypt_set1_pkey_and_peer, CMS_decrypt_set1_pkey - decrypt
content from a CMS envelopedData structure
=head1 SYNOPSIS
@@ -10,6 +11,9 @@ CMS_decrypt - decrypt content from a CMS envelopedData structure
int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pkey, X509 *cert,
BIO *dcont, BIO *out, unsigned int flags);
int CMS_decrypt_set1_pkey_and_peer(CMS_ContentInfo *cms,
EVP_PKEY *pk, X509 *cert, X509 *peer);
int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert);
=head1 DESCRIPTION
@@ -21,6 +25,13 @@ B<flags> is an optional set of flags.
The B<dcont> parameter is used in the rare case where the encrypted content
is detached. It will normally be set to NULL.
CMS_decrypt_set1_pkey_and_peer() associates the private key B<pkey>, the
corresponding certificate B<cert> and the originator certificate B<peer> with
the CMS_ContentInfo structure B<cms>.
CMS_decrypt_set1_pkey() associates the private key B<pkey>, corresponding
certificate B<cert> with the CMS_ContentInfo structure B<cms>.
=head1 NOTES
Although the recipients certificate is not needed to decrypt the data it is
@@ -70,9 +81,13 @@ mentioned in CMS_verify() also applies to CMS_decrypt().
L<ERR_get_error(3)>, L<CMS_encrypt(3)>
=head1 HISTORY
B<CMS_decrypt_set1_pkey_and_peer> was added in OpenSSL 3.0.
=head1 COPYRIGHT
Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.
Copyright 2008-2020 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
+18 -2
View File
@@ -5,6 +5,8 @@
CMS_get0_RecipientInfos, CMS_RecipientInfo_type,
CMS_RecipientInfo_ktri_get0_signer_id, CMS_RecipientInfo_ktri_cert_cmp,
CMS_RecipientInfo_set0_pkey, CMS_RecipientInfo_kekri_get0_id,
CMS_RecipientInfo_kari_set0_pkey_and_peer,
CMS_RecipientInfo_kari_set0_pkey,
CMS_RecipientInfo_kekri_id_cmp, CMS_RecipientInfo_set0_key,
CMS_RecipientInfo_decrypt, CMS_RecipientInfo_encrypt
- CMS envelopedData RecipientInfo routines
@@ -22,7 +24,9 @@ CMS_RecipientInfo_decrypt, CMS_RecipientInfo_encrypt
ASN1_INTEGER **sno);
int CMS_RecipientInfo_ktri_cert_cmp(CMS_RecipientInfo *ri, X509 *cert);
int CMS_RecipientInfo_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pkey);
int CMS_RecipientInfo_kari_set0_pkey_and_peer(CMS_RecipientInfo *ri,
EVP_PKEY *pk, X509 *peer);
int CMS_RecipientInfo_kari_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pk);
int CMS_RecipientInfo_kekri_get0_id(CMS_RecipientInfo *ri, X509_ALGOR **palg,
ASN1_OCTET_STRING **pid,
ASN1_GENERALIZEDTIME **pdate,
@@ -58,6 +62,13 @@ CMS_RecipientInfo_set0_pkey() associates the private key B<pkey> with
the CMS_RecipientInfo structure B<ri>, which must be of type
CMS_RECIPINFO_TRANS.
CMS_RecipientInfo_kari_set0_pkey_and_peer() associates the private key B<pkey>
and peer certificate B<peer> with the CMS_RecipientInfo structure B<ri>, which
must be of type CMS_RECIPINFO_AGREE.
CMS_RecipientInfo_kari_set0_pkey() associates the private key B<pkey> with the
CMS_RecipientInfo structure B<ri>, which must be of type CMS_RECIPINFO_AGREE.
CMS_RecipientInfo_kekri_get0_id() retrieves the key information from the
CMS_RecipientInfo structure B<ri> which must be of type CMS_RECIPINFO_KEK. Any
of the remaining parameters can be NULL if the application is not interested in
@@ -127,9 +138,14 @@ Any error can be obtained from L<ERR_get_error(3)>.
L<ERR_get_error(3)>, L<CMS_decrypt(3)>
=head1 HISTORY
B<CMS_RecipientInfo_kari_set0_pkey_and_peer> and B<CMS_RecipientInfo_kari_set0_pkey>
were added in OpenSSL 3.0.
=head1 COPYRIGHT
Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.
Copyright 2008-2020 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
+23 -16
View File
@@ -37,31 +37,38 @@ L<openssl_user_macros(7)>:
=head1 DESCRIPTION
A DH object contains the parameters B<p>, B<q> and B<g>. Note that the B<q>
parameter is optional. It also contains a public key (B<pub_key>) and
(optionally) a private key (B<priv_key>).
A DH object contains the parameters I<p>, I<q> and I<g>. Note that the I<q>
parameter is optional. It also contains a public key (I<pub_key>) and
(optionally) a private key (I<priv_key>).
The B<p>, B<q> and B<g> parameters can be obtained by calling DH_get0_pqg().
If the parameters have not yet been set then B<*p>, B<*q> and B<*g> will be set
The I<p>, I<q> and I<g> parameters can be obtained by calling DH_get0_pqg().
If the parameters have not yet been set then I<*p>, I<*q> and I<*g> will be set
to NULL. Otherwise they are set to pointers to their respective values. These
point directly to the internal representations of the values and therefore
should not be freed directly.
Any of the out parameters B<p>, B<q>, and B<g> can be NULL, in which case no
Any of the out parameters I<p>, I<q>, and I<g> can be NULL, in which case no
value will be returned for that parameter.
The B<p>, B<q> and B<g> values can be set by calling DH_set0_pqg() and passing
the new values for B<p>, B<q> and B<g> as parameters to the function. Calling
The I<p>, I<q> and I<g> values can be set by calling DH_set0_pqg() and passing
the new values for I<p>, I<q> and I<g> as parameters to the function. Calling
this function transfers the memory management of the values to the DH object,
and therefore the values that have been passed in should not be freed directly
after this function has been called. The B<q> parameter may be NULL.
after this function has been called. The I<q> parameter may be NULL.
DH_set0_pqg() also checks if the parameters associated with I<p> and I<g> and
optionally I<q> are associated with known safe prime groups. If it is a safe
prime group then the value of I<q> will be set to q = (p - 1) / 2 if I<q> is NULL.
For safe prime groups the optional length parameter I<length> is set to twice
the value of the maximum_target_security_strength(BN_num_bits(I<p>)) as listed in
SP800-56Ar3 Table(s) 25 & 26. If it is not a safe prime group then the optional
length parameter will be set if I<q> is not NULL to BN_num_bits(I<q>).
To get the public and private key values use the DH_get0_key() function. A
pointer to the public key will be stored in B<*pub_key>, and a pointer to the
private key will be stored in B<*priv_key>. Either may be NULL if they have not
pointer to the public key will be stored in I<*pub_key>, and a pointer to the
private key will be stored in I<*priv_key>. Either may be NULL if they have not
been set yet, although if the private key has been set then the public key must
be. The values point to the internal representation of the public key and
private key values. This memory should not be freed directly.
Any of the out parameters B<pub_key> and B<priv_key> can be NULL, in which case
Any of the out parameters I<pub_key> and I<priv_key> can be NULL, in which case
no value will be returned for that parameter.
The public and private key values can be set using DH_set0_key(). Either
@@ -70,14 +77,14 @@ untouched. As with DH_set0_pqg() this function transfers the memory management
of the key values to the DH object, and therefore they should not be freed
directly after this function has been called.
Any of the values B<p>, B<q>, B<g>, B<priv_key>, and B<pub_key> can also be
Any of the values I<p>, I<q>, I<g>, I<priv_key>, and I<pub_key> can also be
retrieved separately by the corresponding function DH_get0_p(), DH_get0_q(),
DH_get0_g(), DH_get0_priv_key(), and DH_get0_pub_key(), respectively.
DH_set_flags() sets the flags in the B<flags> parameter on the DH object.
DH_set_flags() sets the flags in the I<flags> parameter on the DH object.
Multiple flags can be passed in one go (bitwise ORed together). Any flags that
are already set are left set. DH_test_flags() tests to see whether the flags
passed in the B<flags> parameter are currently set in the DH object. Multiple
passed in the I<flags> parameter are currently set in the DH object. Multiple
flags can be tested in one go. All flags that are currently set are returned, or
zero if none of the flags are set. DH_clear_flags() clears the specified flags
within the DH object.
@@ -87,7 +94,7 @@ object, or NULL if no such ENGINE has been set. This function is deprecated.
The DH_get_length() and DH_set_length() functions get and set the optional
length parameter associated with this DH object. If the length is nonzero then
it is used, otherwise it is ignored. The B<length> parameter indicates the
it is used, otherwise it is ignored. The I<length> parameter indicates the
length of the secret exponent (private key) in bits. These functions are
deprecated.
+11 -4
View File
@@ -24,15 +24,22 @@ B<NID_modp_1536>, B<NID_modp_2048>, B<NID_modp_3072>,
B<NID_modp_4096>, B<NID_modp_6144> or B<NID_modp_8192>.
DH_get_nid() determines if the parameters contained in B<dh> match
any named set. It returns the NID corresponding to the matching parameters or
B<NID_undef> if there is no match. This function is deprecated.
any named safe prime group. It returns the NID corresponding to the matching
parameters or B<NID_undef> if there is no match.
Internally it caches the nid, so that any subsequent calls can fetch the
cached value.
If a matching p and g are not found and the value of parameter q is not set,
then it is set to q = (p - 1) / 2.
If parameter q is already set then it must also match the expected q otherwise
no match will be found.
This function is deprecated.
=head1 RETURN VALUES
DH_new_by_nid() returns a set of DH parameters or B<NULL> if an error occurred.
DH_get_nid() returns the NID of the matching set of parameters or
B<NID_undef> if there is no match.
DH_get_nid() returns the NID of the matching set of parameters for p and g
and optionally q, otherwise it returns B<NID_undef> if there is no match.
=head1 HISTORY
+16 -13
View File
@@ -72,21 +72,24 @@ EVP_PKEY_new_mac_key() works in the same way as EVP_PKEY_new_raw_private_key().
New applications should use EVP_PKEY_new_raw_private_key() instead.
EVP_PKEY_get_raw_private_key() fills the buffer provided by B<priv> with raw
private key data. The number of bytes written is populated in B<*len>. If the
buffer B<priv> is NULL then B<*len> is populated with the number of bytes
required to hold the key. The calling application is responsible for ensuring
that the buffer is large enough to receive the private key data. This function
only works for algorithms that support raw private keys. Currently this is:
B<EVP_PKEY_HMAC>, B<EVP_PKEY_POLY1305>, B<EVP_PKEY_SIPHASH>, B<EVP_PKEY_X25519>,
B<EVP_PKEY_ED25519>, B<EVP_PKEY_X448> or B<EVP_PKEY_ED448>.
private key data. The size of the B<priv> buffer should be in B<*len> on entry
to the function, and on exit B<*len> is updated with the number of bytes
actually written. If the buffer B<priv> is NULL then B<*len> is populated with
the number of bytes required to hold the key. The calling application is
responsible for ensuring that the buffer is large enough to receive the private
key data. This function only works for algorithms that support raw private keys.
Currently this is: B<EVP_PKEY_HMAC>, B<EVP_PKEY_POLY1305>, B<EVP_PKEY_SIPHASH>,
B<EVP_PKEY_X25519>, B<EVP_PKEY_ED25519>, B<EVP_PKEY_X448> or B<EVP_PKEY_ED448>.
EVP_PKEY_get_raw_public_key() fills the buffer provided by B<pub> with raw
public key data. The number of bytes written is populated in B<*len>. If the
buffer B<pub> is NULL then B<*len> is populated with the number of bytes
required to hold the key. The calling application is responsible for ensuring
that the buffer is large enough to receive the public key data. This function
only works for algorithms that support raw public keys. Currently this is:
B<EVP_PKEY_X25519>, B<EVP_PKEY_ED25519>, B<EVP_PKEY_X448> or B<EVP_PKEY_ED448>.
public key data. The size of the B<pub> buffer should be in B<*len> on entry
to the function, and on exit B<*len> is updated with the number of bytes
actually written. If the buffer B<pub> is NULL then B<*len> is populated with
the number of bytes required to hold the key. The calling application is
responsible for ensuring that the buffer is large enough to receive the public
key data. This function only works for algorithms that support raw public keys.
Currently this is: B<EVP_PKEY_X25519>, B<EVP_PKEY_ED25519>, B<EVP_PKEY_X448> or
B<EVP_PKEY_ED448>.
=head1 NOTES
+9
View File
@@ -2,6 +2,7 @@
=head1 NAME
OSSL_PROVIDER_set_default_search_path,
OSSL_PROVIDER, OSSL_PROVIDER_load, OSSL_PROVIDER_unload,
OSSL_PROVIDER_available,
OSSL_PROVIDER_gettable_params, OSSL_PROVIDER_get_params,
@@ -13,6 +14,9 @@ OSSL_PROVIDER_add_builtin, OSSL_PROVIDER_name - provider routines
typedef struct ossl_provider_st OSSL_PROVIDER;
void OSSL_PROVIDER_set_default_search_path(OPENSSL_CTX *libctx,
const char *path);
OSSL_PROVIDER *OSSL_PROVIDER_load(OPENSSL_CTX *libctx, const char *name);
int OSSL_PROVIDER_unload(OSSL_PROVIDER *prov);
int OSSL_PROVIDER_available(OPENSSL_CTX *libctx, const char *name);
@@ -39,6 +43,11 @@ L<OPENSSL_CTX(3)> for further details.
=head2 Functions
OSSL_PROVIDER_set_default_search_path() specifies the default search B<path>
that is to be used for looking for providers in the specified B<libctx>.
If left unspecified, an environment variable and a fall back default value will
be used instead.
OSSL_PROVIDER_add_builtin() is used to add a built in provider to
B<OSSL_PROVIDER> store in the given library context, by associating a
provider name with a provider initialization function.
+12 -5
View File
@@ -20,15 +20,22 @@ See L<CTLOG_STORE_new(3)>.
=item B<OPENSSL>
Specifies the path to the B<openssl> executable. Only used by
the B<rehash> script.
See L<openssl-rehash(1)/Script Configuration>.
Specifies the path to the B<openssl> executable. Used by
the B<rehash> script (see L<openssl-rehash(1)/Script Configuration>)
and by the B<CA.pl> script (see L<CA.pl(1)/NOTES>
=item B<OPENSSL_CONF>
=item B<OPENSSL_CONF>, B<OPENSSL_CONF_INCLUDE>
Specifies the path to a configuration file.
Specifies the path to a configuration file and the directory for
included files.
See L<openssl(1)> and L<config(5)>.
=item B<OPENSSL_CONFIG>
Specifies a configuration option and filename for the B<req> and B<ca>
commands invoked by the B<CA.pl> script.
See L<CA.pl(1)>.
=item B<OPENSSL_ENGINES>
Specifies the directory from which dynamic engines are loaded.
+26
View File
@@ -354,6 +354,32 @@ The private key value.
=back
=head2 Built-in EC Import/Export Types
The following Import/Export types are available for the built-in EC algorithm:
=over 4
=item "curve-name" (B<OSSL_PKEY_PARAM_EC_NAME>) <utf8 string>
The EC curve name.
=item "use-cofactor-flag" (B<OSSL_PKEY_PARAM_USE_COFACTOR_ECDH>) <integer>
Enable Cofactor DH (ECC CDH) if this value is 1, otherwise it uses normal EC DH
if the value is zero. The cofactor variant multiplies the shared secret by the
EC curve's cofactor (note for some curves the cofactor is 1).
=item "pub" (B<OSSL_PKEY_PARAM_PUB_KEY>) <octet string>
The public key value in EC point format.
=item "priv" (B<OSSL_PKEY_PARAM_PRIV_KEY>) <integer>
The private key value.
=back
=head2 Information Parameters
See L<OSSL_PARAM(3)> for further details on the parameters structure.
+11
View File
@@ -88,6 +88,17 @@ $OpenSSL::safe::opt_r_item = ""
. "\n"
. "See L<openssl(1)/Random State Options> for details.";
# Provider options
$OpenSSL::safe::opt_provider_synopsis = ""
. "[B<-provider> I<name>]\n"
. "[B<-provider_path> I<path>]";
$OpenSSL::safe::opt_provider_item = ""
. "=item B<-provider> I<name>\n"
. "\n"
. "=item B<-provider_path> I<path>\n"
. "\n"
. "See L<openssl(1)/Provider Options>.";
# Engine option
$OpenSSL::safe::opt_engine_synopsis = ""
. "[B<-engine> I<id>]";