aboutsummaryrefslogtreecommitdiffstats
path: root/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/pyca-cryptography/docs/index.rst
diff options
context:
space:
mode:
Diffstat (limited to 'roms/edk2/CryptoPkg/Library/OpensslLib/openssl/pyca-cryptography/docs/index.rst')
-rw-r--r--roms/edk2/CryptoPkg/Library/OpensslLib/openssl/pyca-cryptography/docs/index.rst94
1 files changed, 94 insertions, 0 deletions
diff --git a/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/pyca-cryptography/docs/index.rst b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/pyca-cryptography/docs/index.rst
new file mode 100644
index 000000000..9ff8664e1
--- /dev/null
+++ b/roms/edk2/CryptoPkg/Library/OpensslLib/openssl/pyca-cryptography/docs/index.rst
@@ -0,0 +1,94 @@
+Welcome to ``pyca/cryptography``
+================================
+
+``cryptography`` includes both high level recipes and low level interfaces to
+common cryptographic algorithms such as symmetric ciphers, message digests, and
+key derivation functions. For example, to encrypt something with
+``cryptography``'s high level symmetric encryption recipe:
+
+.. code-block:: pycon
+
+ >>> from cryptography.fernet import Fernet
+ >>> # Put this somewhere safe!
+ >>> key = Fernet.generate_key()
+ >>> f = Fernet(key)
+ >>> token = f.encrypt(b"A really secret message. Not for prying eyes.")
+ >>> token
+ '...'
+ >>> f.decrypt(token)
+ 'A really secret message. Not for prying eyes.'
+
+If you are interested in learning more about the field of cryptography, we
+recommend `Crypto 101, by Laurens Van Houtven`_.
+
+Installation
+------------
+You can install ``cryptography`` with ``pip``:
+
+.. code-block:: console
+
+ $ pip install cryptography
+
+See :doc:`Installation <installation>` for more information.
+
+.. _cryptography-layout:
+
+
+Layout
+------
+
+``cryptography`` is broadly divided into two levels. One with safe
+cryptographic recipes that require little to no configuration choices. These
+are safe and easy to use and don't require developers to make many decisions.
+
+The other level is low-level cryptographic primitives. These are often
+dangerous and can be used incorrectly. They require making decisions and having
+an in-depth knowledge of the cryptographic concepts at work. Because of the
+potential danger in working at this level, this is referred to as the
+"hazardous materials" or "hazmat" layer. These live in the
+``cryptography.hazmat`` package, and their documentation will always contain an
+admonition at the top.
+
+We recommend using the recipes layer whenever possible, and falling back to the
+hazmat layer only when necessary.
+
+.. toctree::
+ :maxdepth: 2
+ :caption: The recipes layer
+
+ fernet
+ x509/index
+
+.. toctree::
+ :maxdepth: 2
+ :caption: The hazardous materials layer
+
+ hazmat/primitives/index
+ exceptions
+ random-numbers
+ hazmat/backends/index
+ hazmat/bindings/index
+
+.. toctree::
+ :maxdepth: 2
+ :caption: The cryptography open source project
+
+ installation
+ changelog
+ faq
+ development/index
+ security
+ limitations
+ api-stability
+ doing-a-release
+ community
+ glossary
+
+
+.. note::
+
+ ``cryptography`` has not been subjected to an external audit of its code or
+ documentation. If you're interested in discussing an audit please
+ :doc:`get in touch </community>`.
+
+.. _`Crypto 101, by Laurens Van Houtven`: https://www.crypto101.io/