summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2021-03-25 16:54:56 +0100
committerMatt Caswell <matt@openssl.org>2021-04-08 13:20:21 +0200
commit7008df2ba5089ab39543c5b519ad3b8f6eed633f (patch)
treeb2a4aebd0aea6d64d4a91b4291886b04b5bece7d
parentExpand the libcrypto documentation (diff)
downloadopenssl-7008df2ba5089ab39543c5b519ad3b8f6eed633f.tar.xz
openssl-7008df2ba5089ab39543c5b519ad3b8f6eed633f.zip
Add additional glossary entries
Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1487)
-rw-r--r--doc/man7/openssl-glossary.pod131
1 files changed, 131 insertions, 0 deletions
diff --git a/doc/man7/openssl-glossary.pod b/doc/man7/openssl-glossary.pod
index 7aa71ea7a5..5f92a8403c 100644
--- a/doc/man7/openssl-glossary.pod
+++ b/doc/man7/openssl-glossary.pod
@@ -10,6 +10,14 @@ openssl-glossary - An OpenSSL Glossary
=over 4
+=item Algorithm
+
+Cryptograpic primitives such as the SHA256 digest, or AES encryption are
+referred to in OpenSSL as "algorithms". There can be more than one
+implementation for any given algorithm available for use.
+
+L<crypto(7)>
+
=item ASN.1, ASN1
ASN.1 ("Abstract Syntax Notation One") is a notation for describing abstract
@@ -20,6 +28,30 @@ L<https://www.itu.int/rec/T-REC-X.681>,
L<https://www.itu.int/rec/T-REC-X.682>,
L<https://www.itu.int/rec/T-REC-X.683>
+=item Base Provider
+
+An OpenSSL Provider that contains encoders and decoders for OpenSSL keys. All
+the algorithm implementations in the Base Provider are also available in the
+Default Provider.
+
+L<OSSL_PROVIDER-base(7)>
+
+=item Decoder
+
+A decoder is a type of algorithm used for decoding keys and parameters from some
+external format such as PEM or DER.
+
+L<OSSL_DECODER_CTX_new_for_pkey(3)>
+
+=item Default Provider
+
+An OpenSSL Provider that contains the most commmon OpenSSL algorithm
+implementations. It is loaded by default if no other provider is available. All
+the algorithm implementations in the Base Provider are also available in the
+Default Provider.
+
+L<OSSL_PROVIDER-default(7)>
+
=item DER ("Distinguished Encoding Rules")
DER is a binary encoding of data, structured according to an ASN.1
@@ -30,11 +62,81 @@ It is defined in ITU-T document X.690:
L<https://www.itu.int/rec/T-REC-X.690>
+=item Encoder
+
+An encoder is a type of algorithm used for encoding keys and parameters to some
+external format such as PEM or DER.
+
+L<OSSL_ENCODER_CTX_new_for_pkey(3)>
+
+=item Explicit Fetching
+
+Explicit Fetching is a type of Fetching (see Fetching). Explicit Fetching is
+where a function call is made to obtain an algorithm object representing an
+implementation such as L<EVP_MD_fetch(3)> or L<EVP_CIPHER_fetch(3)>
+
+=item Fetching
+
+Fetching is the process of looking through the available algorithm
+implementations, applying selection criteria (via a property query string), and
+finally choosing the implementation that will be used.
+
+Also see Explicit Fetching and Implict Fetching.
+
+L<crypto(7)>
+
+=item FIPS Provider
+
+An OpenSSL Provider that contains OpenSSL algorithm implementations that have
+been validated according to the FIPS 140-2 standard.
+
+L<OSSL_PROVIDER-FIPS(7)>
+
+=item Implicit Fetching
+
+Implicit Fetching is a type of Fetching (see Fetching). Implicit Fetching is
+where an algorithm object with no associated implementation is used such as the
+return value from L<EVP_sha256(3)> or L<EVP_aes_128_cbc(3)>. With implicit
+fetching an implementation is fetched automatically using default selection
+criteria the first time the algorithm is used.
+
+=item Legacy Provider
+
+An OpenSSL Provider that contains algorithm implementations that are considered
+insecure or are no longer in common use.
+
+L<OSSL_PROVIDER-legacy(7)>
+
+=item Library Context
+
+A Library Context in OpenSSL is represented by the type B<OSSL_LIB_CTX>. It can
+be thought of as a scope within which configuration options apply. If an
+application does not explicitly create a library context then the "default"
+one is used. Many OpenSSL functions can take a library context as an argument.
+A NULL value can always be passed to indicate the default library context.
+
+L<OSSL_LIB_CTX(3)>
+
=item MSBLOB
MSBLOB is a Microsoft specific binary format for RSA and DSA keys, both
private and public. This form is never passphrase protected.
+=item Null Provider
+
+An OpenSSL Provider that contains no algorithm implementations. This can be
+useful to prevent the default provider from being automatically loaded in a
+library context.
+
+L<OSSL_PROVIDER-null(7)>
+
+=item Operation
+
+An operation is a group of OpenSSL functions with a common purpose such as
+encryption, or digesting.
+
+L<crypto(7)>
+
=item PEM ("Privacy Enhanced Message")
PEM is a format used for encoding of binary content into a mail and ASCII
@@ -66,6 +168,35 @@ This is specified in RFC 5208:
L<https://tools.ietf.org/html/rfc5208>
+=item Property
+
+A property is a way of classifying and selecting algorithm implementations.
+A property is a key/value pair expressed as a string. For example all algorithm
+implementations in the default provider have the property "provider=default".
+An algorithm implementation can have multiple properties defined against it.
+
+Also see Property Query String.
+
+L<property(7)>
+
+=item Property Query String
+
+A property query string is a string containing a sequence of properties that
+can be used to select an algorithm implementation. For example the query string
+"provider=example,foo=bar" will select algorithms from the "example" provider
+that have a "foo" property defined for them with a value of "bar".
+
+Property Query Strings are used during fetching. See Fetching.
+
+L<property(7)>
+
+=item Provider
+
+A provider in OpenSSL is a component that groups together algorithm
+implementations. Providers can come from OpenSSL itself or from third parties.
+
+L<provider(7)>
+
=item PVK
PVK is a Microsoft specific binary format for RSA and DSA private keys.