Initial outline and old notes
(Rough merge of two precursor projects by Heiko, and outline notes by Paul)
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
.idea
|
||||||
|
book/build/
|
||||||
|
|
20
book/Makefile
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# Minimal makefile for Sphinx documentation
|
||||||
|
#
|
||||||
|
|
||||||
|
# You can set these variables from the command line, and also
|
||||||
|
# from the environment for the first two.
|
||||||
|
SPHINXOPTS ?=
|
||||||
|
SPHINXBUILD ?= sphinx-build
|
||||||
|
SOURCEDIR = source
|
||||||
|
BUILDDIR = build
|
||||||
|
|
||||||
|
# Put it first so that "make" without argument is like "make help".
|
||||||
|
help:
|
||||||
|
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||||
|
|
||||||
|
.PHONY: help Makefile
|
||||||
|
|
||||||
|
# Catch-all target: route all unknown targets to Sphinx using the new
|
||||||
|
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
||||||
|
%: Makefile
|
||||||
|
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
35
book/make.bat
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
@ECHO OFF
|
||||||
|
|
||||||
|
pushd %~dp0
|
||||||
|
|
||||||
|
REM Command file for Sphinx documentation
|
||||||
|
|
||||||
|
if "%SPHINXBUILD%" == "" (
|
||||||
|
set SPHINXBUILD=sphinx-build
|
||||||
|
)
|
||||||
|
set SOURCEDIR=source
|
||||||
|
set BUILDDIR=build
|
||||||
|
|
||||||
|
%SPHINXBUILD% >NUL 2>NUL
|
||||||
|
if errorlevel 9009 (
|
||||||
|
echo.
|
||||||
|
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
||||||
|
echo.installed, then set the SPHINXBUILD environment variable to point
|
||||||
|
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
||||||
|
echo.may add the Sphinx directory to PATH.
|
||||||
|
echo.
|
||||||
|
echo.If you don't have Sphinx installed, grab it from
|
||||||
|
echo.https://www.sphinx-doc.org/
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
if "%1" == "" goto help
|
||||||
|
|
||||||
|
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
||||||
|
goto end
|
||||||
|
|
||||||
|
:help
|
||||||
|
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
||||||
|
|
||||||
|
:end
|
||||||
|
popd
|
82
book/source/01-intro.md
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
# OpenPGP: what is it, history
|
||||||
|
|
||||||
|
This document is intended as an introduction to the inner workings of OpenPGP,
|
||||||
|
aimed mainly at technical readers.
|
||||||
|
|
||||||
|
It is *not* a guide for *use* of OpenPGP by end-users.
|
||||||
|
|
||||||
|
## What is OpenPGP?
|
||||||
|
|
||||||
|
OpenPGP is an open standard that was developed based on the
|
||||||
|
["Pretty Good Privacy (PGP)"](https://en.wikipedia.org/wiki/Pretty_Good_Privacy)
|
||||||
|
software.
|
||||||
|
|
||||||
|
The standard has evolved over time, and there is ongoing work to improve it.
|
||||||
|
[RFC 4880](https://datatracker.ietf.org/doc/html/rfc4880) is the most recent
|
||||||
|
published version of the standard (describing OpenPGP version 4).
|
||||||
|
|
||||||
|
An IETF working group is currently finalizing a
|
||||||
|
[new revision](https://datatracker.ietf.org/doc/draft-ietf-openpgp-crypto-refresh/),
|
||||||
|
of the OpenPGP standard (which will describe OpenPGP version 6).
|
||||||
|
The current standardization work focuses on updating the cryptographic
|
||||||
|
mechanisms in OpenPGP.
|
||||||
|
|
||||||
|
There are multiple [interoperable](https://tests.sequoia-pgp.org/)
|
||||||
|
implementations with significant use.
|
||||||
|
|
||||||
|
## A very brief history (dramatis personae)
|
||||||
|
|
||||||
|
### PGP
|
||||||
|
|
||||||
|
*"Pretty Good Privacy (PGP)"* is a software program, initially by Phil
|
||||||
|
Zimmermann, first released in 1991.
|
||||||
|
|
||||||
|
The PGP software has played a role in the political struggles sometimes
|
||||||
|
referred to as the ["Crypto Wars"](https://en.wikipedia.org/wiki/Crypto_Wars)
|
||||||
|
(also see https://en.wikipedia.org/wiki/Crypto_(book) for some of that history,
|
||||||
|
including about the history of PGP).
|
||||||
|
|
||||||
|
The "PGP" software was never under a Free Software license,
|
||||||
|
even though its source code has at one point been widely published.
|
||||||
|
|
||||||
|
The ownership and branding of the product has
|
||||||
|
[changed over the years](https://en.wikipedia.org/wiki/Pretty_Good_Privacy#PGP_Corporation_and_Symantec),
|
||||||
|
The software enjoys a continued existence, albeit with
|
||||||
|
[changing name and scope](https://en.wikipedia.org/wiki/Pretty_Good_Privacy#PGP_Corporation_encryption_applications).
|
||||||
|
|
||||||
|
|
||||||
|
### OpenPGP
|
||||||
|
|
||||||
|
While the PGP software was developed as a commercial product, the owner at the time,
|
||||||
|
"PGP Inc." started a standardization effort with the IETF in July 1997.
|
||||||
|
The resulting open standard was named
|
||||||
|
[OpenPGP](https://en.wikipedia.org/wiki/Pretty_Good_Privacy#OpenPGP).
|
||||||
|
|
||||||
|
The result of this first round of standardization work under the "OpenPGP"
|
||||||
|
name is [RFC 2440](https://datatracker.ietf.org/doc/html/rfc2440),
|
||||||
|
published November 1998.
|
||||||
|
|
||||||
|
The name "OpenPGP" can be used freely by implementations (unlike the name
|
||||||
|
"PGP", which is a [registered trademark](https://uspto.report/TM/74685229)).
|
||||||
|
|
||||||
|
### GnuPG
|
||||||
|
|
||||||
|
[First released 1997-12-20](https://gnupg.org/download/release_notes.html#sec-2-70),
|
||||||
|
GnuPG is an implementation of the OpenPGP standard.
|
||||||
|
|
||||||
|
GnuPG has been the major Free Software implementation of OpenPGP for a period
|
||||||
|
of time. It has played a role in the release of NSA documents by
|
||||||
|
[Edward Snowden](https://theintercept.com/2014/10/28/smuggling-snowden-secrets/)
|
||||||
|
|
||||||
|
## Multiple major implementations
|
||||||
|
|
||||||
|
Today, multiple implementations of OpenPGP play an important role:
|
||||||
|
|
||||||
|
- Protonmail, who serve a large number of users, use (and maintain)
|
||||||
|
[OpenPGP.js](https://openpgpjs.org/).
|
||||||
|
- The Thunderbird email software is using the [RNP](https://www.rnpgp.org/)
|
||||||
|
implementation for their built-in OpenPGP support since version 78 (released in mid-2020).
|
||||||
|
- The RPM Package Manager software includes an OpenPGP backend based on
|
||||||
|
[Sequoia PGP](https://sequoia-pgp.org/), a modern OpenPGP implementation in Rust.
|
||||||
|
Fedora [uses Sequoia PGP in rpm](https://sequoia-pgp.org/blog/2023/04/27/rpm-sequoia/)
|
||||||
|
since version 38.
|
40
book/source/02-goals.md
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
# Goals of this document
|
||||||
|
|
||||||
|
```
|
||||||
|
Target audience: developers (not end users)
|
||||||
|
|
||||||
|
Prior knowledge of the reader?
|
||||||
|
- Software development
|
||||||
|
- Basics of encryption
|
||||||
|
|
||||||
|
Entry point to writing software that uses OpenPGP
|
||||||
|
|
||||||
|
Help to getting started as a user of any implementation (OpenPGP JS, Sequoia PGP, ...)
|
||||||
|
|
||||||
|
The RFC explains lots of details (which bit goes where) that are crucial
|
||||||
|
for implementers, but unimportant for software developers who use OpenPGP
|
||||||
|
through a library.
|
||||||
|
This text aims to describe OpenPGP at the "library-level."
|
||||||
|
```
|
||||||
|
|
||||||
|
## A companion for the OpenPGP RFC
|
||||||
|
|
||||||
|
The [OpenPGP Standard](https://www.rfc-editor.org/rfc/rfc4880.html) defines
|
||||||
|
*"format and methods"* to *"provide services including confidentiality, key
|
||||||
|
management, authentication, and digital signatures"*.
|
||||||
|
|
||||||
|
This chapter is intended as a companion to the RFC. It does not aim to teach
|
||||||
|
cryptographic concepts.
|
||||||
|
|
||||||
|
The idea is to go over various common OpenPGP artifacts, as they are
|
||||||
|
currently used, to get an overview.
|
||||||
|
There are lots of details that these notes will not cover.
|
||||||
|
|
||||||
|
Among these omitted details are differences between current v4 artifacts and
|
||||||
|
older variants, which were used in previous incarnations of (Open)PGP.
|
||||||
|
(Note: OpenPGP v3 artifacts are still in use as of this writing, the RFC
|
||||||
|
requires implementations to accept them. v3 artifacts are still very
|
||||||
|
much relevant for real world OpenPGP usage and implementations)
|
||||||
|
|
||||||
|
We will also ignore most details about how OpenPGP artifacts are encoded, as
|
||||||
|
well as how OpenPGP data is arranged to allow for streaming operation.
|
6
book/source/03-highlevel.md
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# A high-level view
|
||||||
|
|
||||||
|
```
|
||||||
|
- ?
|
||||||
|
- Introduce Packet/Subpacket concepts (?)
|
||||||
|
```
|
759
book/source/04-certs.md
Normal file
|
@ -0,0 +1,759 @@
|
||||||
|
# Certificates / Keys
|
||||||
|
|
||||||
|
```
|
||||||
|
## What is in a certificate (Structure)
|
||||||
|
|
||||||
|
### Subkeys
|
||||||
|
|
||||||
|
### User IDs / attributes
|
||||||
|
- Primary UserID and its implications
|
||||||
|
|
||||||
|
### Third party signatures
|
||||||
|
- Metadata Leak of Social Graph
|
||||||
|
- How to generate "minimized" certificate?
|
||||||
|
|
||||||
|
### Bindings
|
||||||
|
|
||||||
|
### Signature Subpackets
|
||||||
|
|
||||||
|
- (key-) expiration
|
||||||
|
- flags
|
||||||
|
|
||||||
|
## Certificate Management
|
||||||
|
|
||||||
|
### Merging
|
||||||
|
- How to merge two copies of the same certificate?
|
||||||
|
- Canonicalization
|
||||||
|
|
||||||
|
### Best Practices regarding Key Freshness
|
||||||
|
- Expiry
|
||||||
|
- Subkey rotation
|
||||||
|
```
|
||||||
|
|
||||||
|
One central (and non-trivial) element of OpenPGP are certificates/keys.
|
||||||
|
OpenPGP keys are relatively complex data structures, so it's good to have
|
||||||
|
a clear mental model of them.
|
||||||
|
|
||||||
|
## Terminology: on the various meanings of "key"
|
||||||
|
|
||||||
|
In the OpenPGP space, the term "key" has historically been used for three
|
||||||
|
distinct concepts, at three layers, all related to each other:
|
||||||
|
|
||||||
|
- (Bare) "cryptographic keys" (without additional metadata).
|
||||||
|
- OpenPGP *component keys*: "OpenPGP primary keys" and "OpenPGP subkeys".
|
||||||
|
Those are building blocks of OpenPGP certificates,
|
||||||
|
they consist of a (bare) cryptographic keypair, plus metadata.
|
||||||
|
- "OpenPGP key" (or "OpenPGP certificate"):
|
||||||
|
These consist of a number of component keys plus additional elements,
|
||||||
|
such as identity information.
|
||||||
|
(OpenPGP key servers serve this type of object).
|
||||||
|
|
||||||
|
In the following section we'll look more closely at these three layers.
|
||||||
|
|
||||||
|
## "OpenPGP keys/certificates": collections of cryptographic keys, identity information and other metadata
|
||||||
|
|
||||||
|
A complete "OpenPGP certificate" or "OpenPGP key" is composed of an
|
||||||
|
arbitrary number of elements.
|
||||||
|
|
||||||
|
All elements of an OpenPGP certificate are structured around one central
|
||||||
|
cryptographic key: the *primary key*.
|
||||||
|
The primary key acts like a personal CA for the key's owner:
|
||||||
|
It can make cryptographic statements about subkeys, identities,
|
||||||
|
expiration times, revocation, ...
|
||||||
|
|
||||||
|
OpenPGP keys are often long-lived and may be changed (typically by their
|
||||||
|
owner), over time.
|
||||||
|
|
||||||
|
### OpenPGP component keys
|
||||||
|
|
||||||
|
An OpenPGP component key (either the "primary key", or a "subkey")
|
||||||
|
consists mainly of a cryptographic keypair:
|
||||||
|
|
||||||
|
![Image](diag/cryptographic_keys.png "A cryptographic keypair")
|
||||||
|
|
||||||
|
A cryptographic keypair consists of a private and a public part.
|
||||||
|
In this document we'll show the public part of a cryptographic key in green,
|
||||||
|
and the private part in red.
|
||||||
|
|
||||||
|
We'll visualize cryptographic keypairs in a more compact form:
|
||||||
|
|
||||||
|
![Image](diag/keypair.png "A cryptographic keypair")
|
||||||
|
|
||||||
|
(In some contexts, instead of the full cryptographic keypair, only the
|
||||||
|
public part is present. More on that later.)
|
||||||
|
|
||||||
|
An OpenPGP component key consists of
|
||||||
|
|
||||||
|
- a cryptographic keypair, and
|
||||||
|
- additional metadata (including a creation timestamp).
|
||||||
|
|
||||||
|
![Image](diag/primary_key.png "An OpenPGP component key")
|
||||||
|
|
||||||
|
For each OpenPGP component key, an *OpenPGP fingerprint* can be derived
|
||||||
|
from the combination of key material and metadata:
|
||||||
|
|
||||||
|
![Image](diag/fingerprint.png "Each OpenPGP component key has a fingerprint")
|
||||||
|
|
||||||
|
The fingerprint of our example component OpenPGP key is
|
||||||
|
`B3D2 7B09 FBA4 1235 2B41 8972 C8B8 6AC4 2455 4239` [^keyid].
|
||||||
|
|
||||||
|
The fingerprint of the primary key has a central role.
|
||||||
|
It is used as the unique identifier for the full OpenPGP certificate.
|
||||||
|
|
||||||
|
|
||||||
|
## Components of an OpenPGP key/certificate
|
||||||
|
|
||||||
|
In addition to the primary key, OpenPGP keys/certificates can contain a
|
||||||
|
number of other components:
|
||||||
|
|
||||||
|
### Subkeys
|
||||||
|
|
||||||
|
Modern OpenPGP keys/certificates contain "subkeys" in addition to the primary key.
|
||||||
|
|
||||||
|
![Image](diag/with_subkeys.png "OpenPGP certificates can contain any number of subkeys")
|
||||||
|
|
||||||
|
A component key consists of a cryptographic keypair, plus some additional metadata.
|
||||||
|
|
||||||
|
Each component key (this includes the primary key, and all subkeys) has a
|
||||||
|
marker that specifies which operations the component key can perform.
|
||||||
|
|
||||||
|
#### Excursion, "Key Flags": defining what operations a component key can perform
|
||||||
|
|
||||||
|
Each component key has
|
||||||
|
["Key Flags"](https://datatracker.ietf.org/doc/html/rfc4880#section-5.2.3.21)
|
||||||
|
that specify which types of operation the key can perform.
|
||||||
|
|
||||||
|
The commonly used flags are:
|
||||||
|
|
||||||
|
- **C**ertification
|
||||||
|
- **S**igning
|
||||||
|
- **E**ncryption
|
||||||
|
- **A**uthentication
|
||||||
|
|
||||||
|
Only the primary key can perform "certification" operations.
|
||||||
|
All other operations can technically be performed by either the primary
|
||||||
|
key or subkeys.
|
||||||
|
|
||||||
|
It is considered good practice to have separate component keys for each
|
||||||
|
type of operation (specifically: to allow only *Certification* operations
|
||||||
|
for the primary key, and to have separate *Signing*, *Encryption* and
|
||||||
|
*Authentication* subkeys).
|
||||||
|
|
||||||
|
|
||||||
|
### User IDs
|
||||||
|
|
||||||
|
An OpenPGP certificate can contain any number of User IDs.
|
||||||
|
Each user ID associates the certificate with an identity.
|
||||||
|
|
||||||
|
Typically, these identities are composed of a name and an email address.
|
||||||
|
|
||||||
|
![Image](diag/user_id.png "OpenPGP certificates can contain any number of User IDs")
|
||||||
|
|
||||||
|
### User attributes
|
||||||
|
|
||||||
|
User attributes are similar to User IDs, but less commonly used.
|
||||||
|
|
||||||
|
|
||||||
|
## Linking the components of an OpenPGP certificate together
|
||||||
|
|
||||||
|
Technically, an OpenPGP certificate consists of a sequence of OpenPGP packets.
|
||||||
|
These packets are just stringed together, one after the other.
|
||||||
|
When you have a file that contains a copy of someone's certificate,
|
||||||
|
it's easy to remove some of these packets, or add new ones.
|
||||||
|
|
||||||
|
However, as the owner of a certificate, I don't want a third party to
|
||||||
|
add additional subkeys (or identity claims) to my certificate. I don't want
|
||||||
|
third parties to pretend that those components were put there by me.
|
||||||
|
|
||||||
|
To prevent such malicious addition of components, OpenPGP uses cryptographic
|
||||||
|
signatures. These signatures show the cryptographic identity that has linked
|
||||||
|
a component to an OpenPGP certificate (in many cases, the linking is done
|
||||||
|
by the primary key of the certificate in question).
|
||||||
|
|
||||||
|
So while anyone can still unilaterally put subkeys and identity claims
|
||||||
|
into a file with my OpenPGP certificate, OpenPGP implementations that
|
||||||
|
read the file are expected to discard components that aren't
|
||||||
|
cryptographically linked to my certificate.
|
||||||
|
|
||||||
|
### "Binding" subkeys to an OpenPGP certificate
|
||||||
|
|
||||||
|
Linking a subkey to an OpenPGP certificate is done with a
|
||||||
|
["Subkey Binding Signature"](https://datatracker.ietf.org/doc/html/rfc4880#section-5.2.1).
|
||||||
|
Such a signature signals that the "primary key wants to be associated with the subkey".
|
||||||
|
|
||||||
|
The subkey binding signature also adds metadata.
|
||||||
|
|
||||||
|
![Image](diag/subkey_binding.png "Linking an OpenPGP subkey to the primary key with a binding signature")
|
||||||
|
|
||||||
|
#### Binding signing subkeys
|
||||||
|
|
||||||
|
When binding a signing subkey to a primary key, it is not sufficient that the "primary
|
||||||
|
key wants to be associated with the subkey". In addition, the subkey must signal that
|
||||||
|
it wants to be associated with that primary key.
|
||||||
|
|
||||||
|
Otherwise, Alice could "adopt" Bob's signing subkey and convincingly claim
|
||||||
|
that she made signatures that were in fact issued by Bob.
|
||||||
|
|
||||||
|
This additional "Primary Key Binding Signature" is informally called
|
||||||
|
a "back signature" (because the subkey uses the signature to point "back"
|
||||||
|
to the primary key).
|
||||||
|
|
||||||
|
|
||||||
|
### Certifying identity claims
|
||||||
|
|
||||||
|
OpenPGP certificate often contain identity markers. Typically in the form
|
||||||
|
of "User ID"s (however, User Attributes are analogous for the purpose of
|
||||||
|
this section).
|
||||||
|
|
||||||
|
For example, above, we saw the User ID "Alice Adams <alice@example.org>"
|
||||||
|
associated with Alice's key `B3D2 7B09 FBA4 1235 2B41 8972 C8B8 6AC4 2455 4239`.
|
||||||
|
|
||||||
|
Alice can link a User ID to her OpenPGP certificate with a cryptographic
|
||||||
|
signature. To link a User ID, a signature of the type `PositiveCertification`
|
||||||
|
is created. The signature is issued using the primary (secret) key.
|
||||||
|
|
||||||
|
![Image](diag/user_id_certification.png "Linking a User ID to an OpenPGP certificate")
|
||||||
|
|
||||||
|
|
||||||
|
## Evolution of a certificate over time
|
||||||
|
|
||||||
|
Minimized versions, merging, effective "append only" semantics, ...
|
||||||
|
|
||||||
|
## Third party (identity) certifications
|
||||||
|
|
||||||
|
## Revocations
|
||||||
|
|
||||||
|
[^keyid]: Sometimes, a shortened (64 bit) version of the fingerprint is used instead
|
||||||
|
of the full fingerprint, like this: `C8B8 6AC4 2455 4239` (the rightmost
|
||||||
|
64 bit of the fingerprint). This type of identifier is called a "Key ID".
|
||||||
|
Historically, 32 bit shorthand identifiers have been used with PGP,
|
||||||
|
like this: `2455 4239`. You may still see such identifiers in very old
|
||||||
|
documents about PGP, but 32 bit identifiers have
|
||||||
|
[been unfit for purpose for a long time](https://evil32.com/).
|
||||||
|
At some point, 32 bit identifiers were called "short Key ID", while
|
||||||
|
64 bit identifiers were called "long Key ID".
|
||||||
|
|
||||||
|
## Looking at the internal details
|
||||||
|
|
||||||
|
To use OpenPGP, we need "(OpenPGP) keys".
|
||||||
|
|
||||||
|
There is an ongoing effort to establish new terminology around "keys". In
|
||||||
|
particular to use the term "certificate" instead of "(OpenPGP) public key".
|
||||||
|
|
||||||
|
Note: there is also the related, but distinct, concept of
|
||||||
|
[cryptographic "keys"](https://en.wikipedia.org/wiki/Key_(cryptography)).
|
||||||
|
OpenPGP certificates/keys contain one or more cryptographic key(s), among
|
||||||
|
many other components.
|
||||||
|
|
||||||
|
An OpenPGP certificate/key consists of a number of elements, many of them
|
||||||
|
optional. OpenPGP certificates/keys always make use of
|
||||||
|
[Public-key cryptography (asymmetric cryptography)](https://en.wikipedia.org/wiki/Public-key_cryptography).
|
||||||
|
|
||||||
|
As a consequence, some elements of OpenPGP certificates/keys represent
|
||||||
|
"private" (sometimes referred to as "secret") key material, while other
|
||||||
|
elements represent "public" key material.
|
||||||
|
Yet other elements contain metadata, and finally there are elements that
|
||||||
|
serve as glue ("binding") between the various other elements of a
|
||||||
|
certificate.
|
||||||
|
|
||||||
|
To hand out copies of one's OpenPGP key to third parties,
|
||||||
|
implementations can generate a "certificate" / "public key" representation
|
||||||
|
([Transferable Public Keys](https://tools.ietf.org/html/rfc4880#section-11.1)
|
||||||
|
in the RFC),
|
||||||
|
which consists of all the elements of the certificate, except for
|
||||||
|
the private key material (and the optional
|
||||||
|
[S2K configuration](https://tools.ietf.org/html/rfc4880#section-3.7.2.1)).
|
||||||
|
|
||||||
|
The counterpart is called
|
||||||
|
[Transferable Secret Keys](https://tools.ietf.org/html/rfc4880#section-11.2)
|
||||||
|
in the RFC. That is, an OpenPGP key that includes private key
|
||||||
|
material.
|
||||||
|
|
||||||
|
|
||||||
|
### A minimal OpenPGP key
|
||||||
|
|
||||||
|
A minimal key can be made with Sequoia-PGP like this:
|
||||||
|
|
||||||
|
`let (cert, _) = CertBuilder::new().generate()?;`
|
||||||
|
|
||||||
|
#### Seen as a private OpenPGP key
|
||||||
|
|
||||||
|
Viewed as a private key (in ASCII-armored representation), such a minimal key
|
||||||
|
looks like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
||||||
|
Comment: 6D10 0EB0 444D 1648 DAD9 A0EE DE83 CCF4 A204 F957
|
||||||
|
|
||||||
|
xVgEX7Kj9hYJKwYBBAHaRw8BAQdAztZjmUk3IUgnKwR9rfukVUt7UaVsvk+AoBtO
|
||||||
|
ZNbVqDcAAP4nrycHrmWHT8g454H/tr/19rT0nuPkYxMCUH9z5Atx/xLYwoMEHxYK
|
||||||
|
ADUFgl+yo/YDCwkHCRDeg8z0ogT5VwMVCggCmwECHgEWIQRtEA6wRE0WSNrZoO7e
|
||||||
|
g8z0ogT5VwAAbFgBAO1OYraoaDmFMZ7JWbLoTKW7xpDUNKB+kh+bdC6HjYpcAP9q
|
||||||
|
HhhgNE7noeQEsJmR0yW7tTYT8RyrJF6o2xZENlXdCw==
|
||||||
|
=/8Os
|
||||||
|
-----END PGP PRIVATE KEY BLOCK-----
|
||||||
|
```
|
||||||
|
|
||||||
|
Looking into the internals of this key with `sq packet dump --hex`,
|
||||||
|
or https://dump.sequoia-pgp.org/, we see that it is made up of a sequence
|
||||||
|
of "Packets":
|
||||||
|
|
||||||
|
```
|
||||||
|
Secret-Key Packet, new CTB, 2 header bytes + 88 bytes
|
||||||
|
Version: 4
|
||||||
|
Creation time: 2020-11-16 16:08:22 UTC
|
||||||
|
Pk algo: EdDSA Edwards-curve Digital Signature Algorithm
|
||||||
|
Pk size: 256 bits
|
||||||
|
Fingerprint: 6D10 0EB0 444D 1648 DAD9 A0EE DE83 CCF4 A204 F957
|
||||||
|
KeyID: DE83 CCF4 A204 F957
|
||||||
|
|
||||||
|
Secret Key:
|
||||||
|
|
||||||
|
Unencrypted
|
||||||
|
|
||||||
|
00000000 c5 CTB
|
||||||
|
00000001 58 length
|
||||||
|
00000002 04 version
|
||||||
|
00000003 5f b2 a3 f6 creation_time
|
||||||
|
00000007 16 pk_algo
|
||||||
|
00000008 09 curve_len
|
||||||
|
00000009 2b 06 01 04 01 da 47 curve
|
||||||
|
00000010 0f 01
|
||||||
|
00000012 01 07 eddsa_public_len
|
||||||
|
00000014 40 ce d6 63 99 49 37 21 48 27 2b 04 eddsa_public
|
||||||
|
00000020 7d ad fb a4 55 4b 7b 51 a5 6c be 4f 80 a0 1b 4e
|
||||||
|
00000030 64 d6 d5 a8 37
|
||||||
|
00000035 00 s2k_usage
|
||||||
|
00000036 00 fe eddsa_secret_len
|
||||||
|
00000038 27 af 27 07 ae 65 87 4f eddsa_secret
|
||||||
|
00000040 c8 38 e7 81 ff b6 bf f5 f6 b4 f4 9e e3 e4 63 13
|
||||||
|
00000050 02 50 7f 73 e4 0b 71 ff
|
||||||
|
00000058 12 d8 checksum
|
||||||
|
|
||||||
|
Signature Packet, new CTB, 2 header bytes + 131 bytes
|
||||||
|
Version: 4
|
||||||
|
Type: DirectKey
|
||||||
|
Pk algo: EdDSA Edwards-curve Digital Signature Algorithm
|
||||||
|
Hash algo: SHA512
|
||||||
|
Hashed area:
|
||||||
|
Signature creation time: 2020-11-16 16:08:22 UTC (critical)
|
||||||
|
Symmetric algo preferences: AES256, AES128
|
||||||
|
Issuer: DE83 CCF4 A204 F957
|
||||||
|
Hash preferences: SHA512, SHA256
|
||||||
|
Key flags: C (critical)
|
||||||
|
Features: MDC
|
||||||
|
Issuer Fingerprint: 6D10 0EB0 444D 1648 DAD9 A0EE DE83 CCF4 A204 F957
|
||||||
|
Digest prefix: 6C58
|
||||||
|
Level: 0 (signature over data)
|
||||||
|
|
||||||
|
00000000 c2 CTB
|
||||||
|
00000001 83 length
|
||||||
|
00000002 04 version
|
||||||
|
00000003 1f type
|
||||||
|
00000004 16 pk_algo
|
||||||
|
00000005 0a hash_algo
|
||||||
|
00000006 00 35 hashed_area_len
|
||||||
|
00000008 05 subpacket length
|
||||||
|
00000009 82 subpacket tag
|
||||||
|
0000000a 5f b2 a3 f6 sig creation time
|
||||||
|
0000000e 03 subpacket length
|
||||||
|
0000000f 0b subpacket tag
|
||||||
|
00000010 09 07 pref sym algos
|
||||||
|
00000012 09 subpacket length
|
||||||
|
00000013 10 subpacket tag
|
||||||
|
00000014 de 83 cc f4 a2 04 f9 57 issuer
|
||||||
|
0000001c 03 subpacket length
|
||||||
|
0000001d 15 subpacket tag
|
||||||
|
0000001e 0a 08 pref hash algos
|
||||||
|
00000020 02 subpacket length
|
||||||
|
00000021 9b subpacket tag
|
||||||
|
00000022 01 key flags
|
||||||
|
00000023 02 subpacket length
|
||||||
|
00000024 1e subpacket tag
|
||||||
|
00000025 01 features
|
||||||
|
00000026 16 subpacket length
|
||||||
|
00000027 21 subpacket tag
|
||||||
|
00000028 04 version
|
||||||
|
00000029 6d 10 0e b0 44 4d 16 issuer fp
|
||||||
|
00000030 48 da d9 a0 ee de 83 cc f4 a2 04 f9 57
|
||||||
|
0000003d 00 00 unhashed_area_len
|
||||||
|
0000003f 6c digest_prefix1
|
||||||
|
00000040 58 digest_prefix2
|
||||||
|
00000041 01 00 eddsa_sig_r_len
|
||||||
|
00000043 ed 4e 62 b6 a8 68 39 85 31 9e c9 59 b2 eddsa_sig_r
|
||||||
|
00000050 e8 4c a5 bb c6 90 d4 34 a0 7e 92 1f 9b 74 2e 87
|
||||||
|
00000060 8d 8a 5c
|
||||||
|
00000063 00 ff eddsa_sig_s_len
|
||||||
|
00000065 6a 1e 18 60 34 4e e7 a1 e4 04 b0 eddsa_sig_s
|
||||||
|
00000070 99 91 d3 25 bb b5 36 13 f1 1c ab 24 5e a8 db 16
|
||||||
|
00000080 44 36 55 dd 0b
|
||||||
|
```
|
||||||
|
|
||||||
|
We see that the key consists of two packets:
|
||||||
|
|
||||||
|
* First a
|
||||||
|
[*"Secret-Key Packet"*](https://tools.ietf.org/html/rfc4880#section-5.5.1.3),
|
||||||
|
which contains the actual cryptographic key data. Note: the "Secret-Key"
|
||||||
|
Packet contains both the private and the public part of the key.
|
||||||
|
We also see in the output that this packet is "Unencrypted" (i.e. not
|
||||||
|
password-protected).
|
||||||
|
* Second a
|
||||||
|
[*"Signature Packet"*](https://tools.ietf.org/html/rfc4880#section-5.2)
|
||||||
|
of type 0x1F, *"Signature directly on a key"*.
|
||||||
|
This packet *"binds the information in the Signature subpackets to the key"*.
|
||||||
|
Each entry under "Signature Packet -> Hashed area" is one Signature
|
||||||
|
subpacket,
|
||||||
|
including for example information about algorithm preferences (*"Symmetric
|
||||||
|
algo preferences"* and *"Hash preferences"*).
|
||||||
|
|
||||||
|
![Image](diag/key-minimal.png "A minimal OpenPGP key, visualized")
|
||||||
|
|
||||||
|
|
||||||
|
#### Seen as a public certificate
|
||||||
|
|
||||||
|
Let's compare this with the same certificate seen as an armored "public"
|
||||||
|
certificate (that is, a variant of the key above, but without the private key
|
||||||
|
material. An OpenPGP user might give such a certificate to a
|
||||||
|
communication partner, so that the remote party could send encrypted
|
||||||
|
messages to the user):
|
||||||
|
|
||||||
|
```
|
||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Comment: 6D10 0EB0 444D 1648 DAD9 A0EE DE83 CCF4 A204 F957
|
||||||
|
|
||||||
|
xjMEX7Kj9hYJKwYBBAHaRw8BAQdAztZjmUk3IUgnKwR9rfukVUt7UaVsvk+AoBtO
|
||||||
|
ZNbVqDfCgwQfFgoANQWCX7Kj9gMLCQcJEN6DzPSiBPlXAxUKCAKbAQIeARYhBG0Q
|
||||||
|
DrBETRZI2tmg7t6DzPSiBPlXAABsWAEA7U5itqhoOYUxnslZsuhMpbvGkNQ0oH6S
|
||||||
|
H5t0LoeNilwA/2oeGGA0Tueh5ASwmZHTJbu1NhPxHKskXqjbFkQ2Vd0L
|
||||||
|
=ZN14
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
Public-Key Packet, new CTB, 2 header bytes + 51 bytes
|
||||||
|
Version: 4
|
||||||
|
Creation time: 2020-11-16 16:08:22 UTC
|
||||||
|
Pk algo: EdDSA Edwards-curve Digital Signature Algorithm
|
||||||
|
Pk size: 256 bits
|
||||||
|
Fingerprint: 6D10 0EB0 444D 1648 DAD9 A0EE DE83 CCF4 A204 F957
|
||||||
|
KeyID: DE83 CCF4 A204 F957
|
||||||
|
|
||||||
|
00000000 c6 CTB
|
||||||
|
00000001 33 length
|
||||||
|
00000002 04 version
|
||||||
|
00000003 5f b2 a3 f6 creation_time
|
||||||
|
00000007 16 pk_algo
|
||||||
|
00000008 09 curve_len
|
||||||
|
00000009 2b 06 01 04 01 da 47 curve
|
||||||
|
00000010 0f 01
|
||||||
|
00000012 01 07 eddsa_public_len
|
||||||
|
00000014 40 ce d6 63 99 49 37 21 48 27 2b 04 eddsa_public
|
||||||
|
00000020 7d ad fb a4 55 4b 7b 51 a5 6c be 4f 80 a0 1b 4e
|
||||||
|
00000030 64 d6 d5 a8 37
|
||||||
|
00000035 s2k_usage
|
||||||
|
|
||||||
|
Signature Packet, new CTB, 2 header bytes + 131 bytes
|
||||||
|
Version: 4
|
||||||
|
Type: DirectKey
|
||||||
|
Pk algo: EdDSA Edwards-curve Digital Signature Algorithm
|
||||||
|
Hash algo: SHA512
|
||||||
|
Hashed area:
|
||||||
|
Signature creation time: 2020-11-16 16:08:22 UTC (critical)
|
||||||
|
Symmetric algo preferences: AES256, AES128
|
||||||
|
Issuer: DE83 CCF4 A204 F957
|
||||||
|
Hash preferences: SHA512, SHA256
|
||||||
|
Key flags: C (critical)
|
||||||
|
Features: MDC
|
||||||
|
Issuer Fingerprint: 6D10 0EB0 444D 1648 DAD9 A0EE DE83 CCF4 A204 F957
|
||||||
|
Digest prefix: 6C58
|
||||||
|
Level: 0 (signature over data)
|
||||||
|
|
||||||
|
00000000 c2 CTB
|
||||||
|
00000001 83 length
|
||||||
|
00000002 04 version
|
||||||
|
00000003 1f type
|
||||||
|
00000004 16 pk_algo
|
||||||
|
00000005 0a hash_algo
|
||||||
|
00000006 00 35 hashed_area_len
|
||||||
|
00000008 05 subpacket length
|
||||||
|
00000009 82 subpacket tag
|
||||||
|
0000000a 5f b2 a3 f6 sig creation time
|
||||||
|
0000000e 03 subpacket length
|
||||||
|
0000000f 0b subpacket tag
|
||||||
|
00000010 09 07 pref sym algos
|
||||||
|
00000012 09 subpacket length
|
||||||
|
00000013 10 subpacket tag
|
||||||
|
00000014 de 83 cc f4 a2 04 f9 57 issuer
|
||||||
|
0000001c 03 subpacket length
|
||||||
|
0000001d 15 subpacket tag
|
||||||
|
0000001e 0a 08 pref hash algos
|
||||||
|
00000020 02 subpacket length
|
||||||
|
00000021 9b subpacket tag
|
||||||
|
00000022 01 key flags
|
||||||
|
00000023 02 subpacket length
|
||||||
|
00000024 1e subpacket tag
|
||||||
|
00000025 01 features
|
||||||
|
00000026 16 subpacket length
|
||||||
|
00000027 21 subpacket tag
|
||||||
|
00000028 04 version
|
||||||
|
00000029 6d 10 0e b0 44 4d 16 issuer fp
|
||||||
|
00000030 48 da d9 a0 ee de 83 cc f4 a2 04 f9 57
|
||||||
|
0000003d 00 00 unhashed_area_len
|
||||||
|
0000003f 6c digest_prefix1
|
||||||
|
00000040 58 digest_prefix2
|
||||||
|
00000041 01 00 eddsa_sig_r_len
|
||||||
|
00000043 ed 4e 62 b6 a8 68 39 85 31 9e c9 59 b2 eddsa_sig_r
|
||||||
|
00000050 e8 4c a5 bb c6 90 d4 34 a0 7e 92 1f 9b 74 2e 87
|
||||||
|
00000060 8d 8a 5c
|
||||||
|
00000063 00 ff eddsa_sig_s_len
|
||||||
|
00000065 6a 1e 18 60 34 4e e7 a1 e4 04 b0 eddsa_sig_s
|
||||||
|
00000070 99 91 d3 25 bb b5 36 13 f1 1c ab 24 5e a8 db 16
|
||||||
|
00000080 44 36 55 dd 0b
|
||||||
|
```
|
||||||
|
|
||||||
|
Note that the two OpenPGP artifacts (public certificate and private key)
|
||||||
|
are almost identical.
|
||||||
|
|
||||||
|
The public certificate uses the packet type "Public-Key Packet"
|
||||||
|
instead of "Secret-Key Packet". The two packet types are very similar.
|
||||||
|
The "Public-Key Packet" leaves out two types of data
|
||||||
|
|
||||||
|
* the private key material (visualized in red), and
|
||||||
|
* s2k configuration data, if any (this example doesn't have any).
|
||||||
|
s2k is used when the secret key material is password-protected.
|
||||||
|
|
||||||
|
![Image](diag/pubcert-minimal.png "A minimal OpenPGP public certificate, visualized")
|
||||||
|
|
||||||
|
In following examples we will look at OpenPGP private keys only. The
|
||||||
|
corresponding public certificates are easy to imagine (just leave out the
|
||||||
|
private key material).
|
||||||
|
|
||||||
|
|
||||||
|
### User IDs
|
||||||
|
|
||||||
|
User IDs are a mechanism for attaching *identities* to an OpenPGP
|
||||||
|
certificate. Typically, a User ID will contain a name and an email address.
|
||||||
|
|
||||||
|
To look into these, we'll make a certificate that has one
|
||||||
|
[User ID](https://tools.ietf.org/html/rfc4880#section-5.11).
|
||||||
|
User IDs are *"intended to represent the name and email address of the key
|
||||||
|
holder"*. A certificate can have multiple User IDs associated with it.
|
||||||
|
|
||||||
|
```
|
||||||
|
let (cert, _) = CertBuilder::new()
|
||||||
|
.add_userid("Alice Adams <alice@example.org>")
|
||||||
|
.generate()?;
|
||||||
|
```
|
||||||
|
|
||||||
|
Let's look into the details of this key:
|
||||||
|
|
||||||
|
```
|
||||||
|
-----BEGIN PGP PRIVATE KEY BLOCK-----
|
||||||
|
Comment: A3F3 1A57 E400 A77C 2239 24C0 783B 4E35 B4E5 F1BA
|
||||||
|
Comment: Alice Adams <alice@example.org>
|
||||||
|
|
||||||
|
xVgEX7LO1RYJKwYBBAHaRw8BAQdAiDI09+r0a4BVBUZCIqdSF9yuC706fRNC6tvZ
|
||||||
|
zReMlI4AAP0VhUQxbMmXjJgXfiH2p0Zo/1G9WgC2h5HwfluLGONYJQ/+woMEHxYK
|
||||||
|
ADUFgl+yztUDCwkHCRB4O041tOXxugMVCggCmwECHgEWIQSj8xpX5ACnfCI5JMB4
|
||||||
|
O041tOXxugAAfXwBAPkjwkSO5aI3lQUNi/h4OiwPUF/u6AO9rHsg45WURZOwAQDy
|
||||||
|
8TQHQyFR52QjldVYbevffMaWfBiB4LfmrMeNvoHNC80fQWxpY2UgQWRhbXMgPGFs
|
||||||
|
aWNlQGV4YW1wbGUub3JnPsKGBBMWCgA4BYJfss7VAwsJBwkQeDtONbTl8boDFQoI
|
||||||
|
ApkBApsBAh4BFiEEo/MaV+QAp3wiOSTAeDtONbTl8boAALLzAP4oGNBkrnpv7TBi
|
||||||
|
cucUcQZbAURxRDZLioWmwu/VVqWRQwEAk/3oG5sP327lu73CE7LUjBt5ChtAlDlP
|
||||||
|
szWqa9TiCw4=
|
||||||
|
=tnJI
|
||||||
|
-----END PGP PRIVATE KEY BLOCK-----
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
Secret-Key Packet, new CTB, 2 header bytes + 88 bytes
|
||||||
|
Version: 4
|
||||||
|
Creation time: 2020-11-16 19:11:17 UTC
|
||||||
|
Pk algo: EdDSA Edwards-curve Digital Signature Algorithm
|
||||||
|
Pk size: 256 bits
|
||||||
|
Fingerprint: A3F3 1A57 E400 A77C 2239 24C0 783B 4E35 B4E5 F1BA
|
||||||
|
KeyID: 783B 4E35 B4E5 F1BA
|
||||||
|
|
||||||
|
Secret Key:
|
||||||
|
|
||||||
|
Unencrypted
|
||||||
|
|
||||||
|
00000000 c5 CTB
|
||||||
|
00000001 58 length
|
||||||
|
00000002 04 version
|
||||||
|
00000003 5f b2 ce d5 creation_time
|
||||||
|
00000007 16 pk_algo
|
||||||
|
00000008 09 curve_len
|
||||||
|
00000009 2b 06 01 04 01 da 47 curve
|
||||||
|
00000010 0f 01
|
||||||
|
00000012 01 07 eddsa_public_len
|
||||||
|
00000014 40 88 32 34 f7 ea f4 6b 80 55 05 46 eddsa_public
|
||||||
|
00000020 42 22 a7 52 17 dc ae 0b bd 3a 7d 13 42 ea db d9
|
||||||
|
00000030 cd 17 8c 94 8e
|
||||||
|
00000035 00 s2k_usage
|
||||||
|
00000036 00 fd eddsa_secret_len
|
||||||
|
00000038 15 85 44 31 6c c9 97 8c eddsa_secret
|
||||||
|
00000040 98 17 7e 21 f6 a7 46 68 ff 51 bd 5a 00 b6 87 91
|
||||||
|
00000050 f0 7e 5b 8b 18 e3 58 25
|
||||||
|
00000058 0f fe checksum
|
||||||
|
|
||||||
|
Signature Packet, new CTB, 2 header bytes + 131 bytes
|
||||||
|
Version: 4
|
||||||
|
Type: DirectKey
|
||||||
|
Pk algo: EdDSA Edwards-curve Digital Signature Algorithm
|
||||||
|
Hash algo: SHA512
|
||||||
|
Hashed area:
|
||||||
|
Signature creation time: 2020-11-16 19:11:17 UTC (critical)
|
||||||
|
Symmetric algo preferences: AES256, AES128
|
||||||
|
Issuer: 783B 4E35 B4E5 F1BA
|
||||||
|
Hash preferences: SHA512, SHA256
|
||||||
|
Key flags: C (critical)
|
||||||
|
Features: MDC
|
||||||
|
Issuer Fingerprint: A3F3 1A57 E400 A77C 2239 24C0 783B 4E35 B4E5 F1BA
|
||||||
|
Digest prefix: 7D7C
|
||||||
|
Level: 0 (signature over data)
|
||||||
|
|
||||||
|
00000000 c2 CTB
|
||||||
|
00000001 83 length
|
||||||
|
00000002 04 version
|
||||||
|
00000003 1f type
|
||||||
|
00000004 16 pk_algo
|
||||||
|
00000005 0a hash_algo
|
||||||
|
00000006 00 35 hashed_area_len
|
||||||
|
00000008 05 subpacket length
|
||||||
|
00000009 82 subpacket tag
|
||||||
|
0000000a 5f b2 ce d5 sig creation time
|
||||||
|
0000000e 03 subpacket length
|
||||||
|
0000000f 0b subpacket tag
|
||||||
|
00000010 09 07 pref sym algos
|
||||||
|
00000012 09 subpacket length
|
||||||
|
00000013 10 subpacket tag
|
||||||
|
00000014 78 3b 4e 35 b4 e5 f1 ba issuer
|
||||||
|
0000001c 03 subpacket length
|
||||||
|
0000001d 15 subpacket tag
|
||||||
|
0000001e 0a 08 pref hash algos
|
||||||
|
00000020 02 subpacket length
|
||||||
|
00000021 9b subpacket tag
|
||||||
|
00000022 01 key flags
|
||||||
|
00000023 02 subpacket length
|
||||||
|
00000024 1e subpacket tag
|
||||||
|
00000025 01 features
|
||||||
|
00000026 16 subpacket length
|
||||||
|
00000027 21 subpacket tag
|
||||||
|
00000028 04 version
|
||||||
|
00000029 a3 f3 1a 57 e4 00 a7 issuer fp
|
||||||
|
00000030 7c 22 39 24 c0 78 3b 4e 35 b4 e5 f1 ba
|
||||||
|
0000003d 00 00 unhashed_area_len
|
||||||
|
0000003f 7d digest_prefix1
|
||||||
|
00000040 7c digest_prefix2
|
||||||
|
00000041 01 00 eddsa_sig_r_len
|
||||||
|
00000043 f9 23 c2 44 8e e5 a2 37 95 05 0d 8b f8 eddsa_sig_r
|
||||||
|
00000050 78 3a 2c 0f 50 5f ee e8 03 bd ac 7b 20 e3 95 94
|
||||||
|
00000060 45 93 b0
|
||||||
|
00000063 01 00 eddsa_sig_s_len
|
||||||
|
00000065 f2 f1 34 07 43 21 51 e7 64 23 95 eddsa_sig_s
|
||||||
|
00000070 d5 58 6d eb df 7c c6 96 7c 18 81 e0 b7 e6 ac c7
|
||||||
|
00000080 8d be 81 cd 0b
|
||||||
|
|
||||||
|
User ID Packet, new CTB, 2 header bytes + 31 bytes
|
||||||
|
Value: Alice Adams <alice@example.org>
|
||||||
|
|
||||||
|
00000000 cd CTB
|
||||||
|
00000001 1f length
|
||||||
|
00000002 41 6c 69 63 65 20 41 64 61 6d 73 20 3c 61 value
|
||||||
|
00000010 6c 69 63 65 40 65 78 61 6d 70 6c 65 2e 6f 72 67
|
||||||
|
00000020 3e
|
||||||
|
|
||||||
|
Signature Packet, new CTB, 2 header bytes + 134 bytes
|
||||||
|
Version: 4
|
||||||
|
Type: PositiveCertification
|
||||||
|
Pk algo: EdDSA Edwards-curve Digital Signature Algorithm
|
||||||
|
Hash algo: SHA512
|
||||||
|
Hashed area:
|
||||||
|
Signature creation time: 2020-11-16 19:11:17 UTC (critical)
|
||||||
|
Symmetric algo preferences: AES256, AES128
|
||||||
|
Issuer: 783B 4E35 B4E5 F1BA
|
||||||
|
Hash preferences: SHA512, SHA256
|
||||||
|
Primary User ID: true (critical)
|
||||||
|
Key flags: C (critical)
|
||||||
|
Features: MDC
|
||||||
|
Issuer Fingerprint: A3F3 1A57 E400 A77C 2239 24C0 783B 4E35 B4E5 F1BA
|
||||||
|
Digest prefix: B2F3
|
||||||
|
Level: 0 (signature over data)
|
||||||
|
|
||||||
|
00000000 c2 CTB
|
||||||
|
00000001 86 length
|
||||||
|
00000002 04 version
|
||||||
|
00000003 13 type
|
||||||
|
00000004 16 pk_algo
|
||||||
|
00000005 0a hash_algo
|
||||||
|
00000006 00 38 hashed_area_len
|
||||||
|
00000008 05 subpacket length
|
||||||
|
00000009 82 subpacket tag
|
||||||
|
0000000a 5f b2 ce d5 sig creation time
|
||||||
|
0000000e 03 subpacket length
|
||||||
|
0000000f 0b subpacket tag
|
||||||
|
00000010 09 07 pref sym algos
|
||||||
|
00000012 09 subpacket length
|
||||||
|
00000013 10 subpacket tag
|
||||||
|
00000014 78 3b 4e 35 b4 e5 f1 ba issuer
|
||||||
|
0000001c 03 subpacket length
|
||||||
|
0000001d 15 subpacket tag
|
||||||
|
0000001e 0a 08 pref hash algos
|
||||||
|
00000020 02 subpacket length
|
||||||
|
00000021 99 subpacket tag
|
||||||
|
00000022 01 primary user id
|
||||||
|
00000023 02 subpacket length
|
||||||
|
00000024 9b subpacket tag
|
||||||
|
00000025 01 key flags
|
||||||
|
00000026 02 subpacket length
|
||||||
|
00000027 1e subpacket tag
|
||||||
|
00000028 01 features
|
||||||
|
00000029 16 subpacket length
|
||||||
|
0000002a 21 subpacket tag
|
||||||
|
0000002b 04 version
|
||||||
|
0000002c a3 f3 1a 57 issuer fp
|
||||||
|
00000030 e4 00 a7 7c 22 39 24 c0 78 3b 4e 35 b4 e5 f1 ba
|
||||||
|
00000040 00 00 unhashed_area_len
|
||||||
|
00000042 b2 digest_prefix1
|
||||||
|
00000043 f3 digest_prefix2
|
||||||
|
00000044 00 fe eddsa_sig_r_len
|
||||||
|
00000046 28 18 d0 64 ae 7a 6f ed 30 62 eddsa_sig_r
|
||||||
|
00000050 72 e7 14 71 06 5b 01 44 71 44 36 4b 8a 85 a6 c2
|
||||||
|
00000060 ef d5 56 a5 91 43
|
||||||
|
00000066 01 00 eddsa_sig_s_len
|
||||||
|
00000068 93 fd e8 1b 9b 0f df 6e eddsa_sig_s
|
||||||
|
00000070 e5 bb bd c2 13 b2 d4 8c 1b 79 0a 1b 40 94 39 4f
|
||||||
|
00000080 b3 35 aa 6b d4 e2 0b 0e
|
||||||
|
```
|
||||||
|
|
||||||
|
Instead of two sections, as before, we see four sections in this certificate:
|
||||||
|
|
||||||
|
* First a "Secret-Key Packet",
|
||||||
|
* then a "Signature Packet" (these two packets are the same as above).
|
||||||
|
* Third, a
|
||||||
|
[*"User ID Packet"*](https://tools.ietf.org/html/rfc4880#section-5.11),
|
||||||
|
which contains the name and email address we used
|
||||||
|
* Finally a
|
||||||
|
[*"Signature Packet"*](https://tools.ietf.org/html/rfc4880#section-5.2)
|
||||||
|
of type 0x13, *"Positive certification of a User ID and Public-Key packet"*.
|
||||||
|
This is a cryptographic artifact that "binds the User ID packet and the
|
||||||
|
Key packet together", i.e. it certifies that the owner of the key wants
|
||||||
|
this User ID associated with their key.
|
||||||
|
(Only the person who controls the private part of this key can create this
|
||||||
|
signature packet. The signature serves as proof that the owner of the key
|
||||||
|
has added this User ID to the certificate)
|
||||||
|
|
||||||
|
|
||||||
|
### Subkeys
|
||||||
|
|
||||||
|
|
||||||
|
From here on, we'll look at the dumps in shorter format (you can see more
|
||||||
|
detail by copying the certificates into the web-dumper at
|
||||||
|
https://dump.sequoia-pgp.org/ and checking the "HexDump" checkbox).
|
||||||
|
|
||||||
|
### Certifications (Signatures)
|
||||||
|
|
||||||
|
|
||||||
|
### Revocations
|
||||||
|
|
7
book/source/05-private.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# Private key material
|
||||||
|
|
||||||
|
```
|
||||||
|
- Consistently consider private key material as a separate thing from Certificates? (like in pkcs#11?)
|
||||||
|
- consider KOpenPGP attack
|
||||||
|
- For TSKs: Best practices S2K + S2K migration?
|
||||||
|
```
|
59
book/source/06-signatures.md
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
# Signatures as "statments"
|
||||||
|
|
||||||
|
```
|
||||||
|
- Purpose of a signature
|
||||||
|
- Meaning of different signature types, nuances of subpackets
|
||||||
|
- Can we have a "catalogue" of statements a user might want to make, mapping these to archetypical signatures?
|
||||||
|
- Revocation; Hard vs. Soft
|
||||||
|
```
|
||||||
|
|
||||||
|
## Certifications (third party signatures on keys)
|
||||||
|
|
||||||
|
A certification is a machine-readable statement about a (public) key, made by a third party.
|
||||||
|
In OpenPGP, certifications are implemented as
|
||||||
|
[Signature Packets](https://datatracker.ietf.org/doc/html/rfc4880#section-5.2).
|
||||||
|
|
||||||
|
More specifically, certifications in OpenPGP are usually modelled as "third party binding signatures".
|
||||||
|
|
||||||
|
Typically, certifications in OpenPGP work like this: Alice checks that a key `0x1234...` belongs to Bob, who uses the
|
||||||
|
email address `bob@example.org`. After making sure that the key `0x1234...` and the digital identity `bob@example.org`
|
||||||
|
are meaningfully linked, she creates a certification stating that the key and the identity are linked.
|
||||||
|
|
||||||
|
Such a certification can serve two purposes:
|
||||||
|
|
||||||
|
1) Alice's OpenPGP software can now reason about Bob's key, and thus show that `0x1234...` is a good key to use for
|
||||||
|
interacting with `bob@example.org`.
|
||||||
|
2) Other parties can observe Alice's certification and derive some amount of confidence in Bob's key from it.
|
||||||
|
For example, Carol might not easily be able to check if `0x1234...` is Bob's key, but she might consider Alice's
|
||||||
|
certification for Bob's key sufficient evidence.
|
||||||
|
|
||||||
|
Carol may decide to systematically rely on Alice's certifications. Then we say that Carol uses Alice as a
|
||||||
|
"trusted introducer". That is, Carol *delegates* part of her authentication decisions to Alice.
|
||||||
|
|
||||||
|
|
||||||
|
### Regular certifications
|
||||||
|
|
||||||
|
Are a cryptographic statement that binds a User ID and a Key (via its fingerprint) together.
|
||||||
|
|
||||||
|
Have a SignatureType in `GenericCertification, PersonaCertification, CasualCertification, PositiveCertification`.
|
||||||
|
|
||||||
|
### Trust signatures (using a key as "trusted introducer")
|
||||||
|
|
||||||
|
A "trust signature" has two additional parameters: a `depth` and a `level`.
|
||||||
|
|
||||||
|
#### Alternative model: direct key signatures for pure delegation
|
||||||
|
|
||||||
|
This is useful for using 0xB as a trusted introducer without asserting that 0xB is Bob
|
||||||
|
(when a tsig is on a User ID, it is necessarily *also* a vouch about the binding).
|
||||||
|
|
||||||
|
The logical place to store a tsig that is not also a vouch about a binding is a direct key signature
|
||||||
|
(however, GnuPG does probably not respect such tsigs).
|
||||||
|
|
||||||
|
The [OpenPGP Web of Trust](https://sequoia-pgp.gitlab.io/sequoia-wot/) spec allows such direct key signatures.
|
||||||
|
|
||||||
|
SignatureType is `DirectKey`
|
||||||
|
|
||||||
|
In Sequoia, roughly:
|
||||||
|
```
|
||||||
|
SignatureBuilder::new(SignatureType::GenericCertification).set_trust_signature(..).sign_direct_key(&mut your_signer, &signee_cert.primary_key())
|
||||||
|
```
|
7
book/source/07-signature_internals.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# Signature "internals"
|
||||||
|
|
||||||
|
```
|
||||||
|
- Subpackets and how to make sense of them
|
||||||
|
- "Negotiating" signature hash algorithm based on recipients preference subpackets
|
||||||
|
- Explore viability of having multiple signatures, e.g. v4+v6?
|
||||||
|
```
|
13
book/source/08-verification.md
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# Verification
|
||||||
|
|
||||||
|
```
|
||||||
|
- Self-authenticating data (unhashed subpackets)
|
||||||
|
|
||||||
|
## When are signatures valid?
|
||||||
|
- Validity as a tree of signatures
|
||||||
|
|
||||||
|
## When are certificates valid?
|
||||||
|
|
||||||
|
Primary revoked, User ID revoked, ...
|
||||||
|
Which signatures take precendence?
|
||||||
|
```
|
10
book/source/09-encryption.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Encryption
|
||||||
|
|
||||||
|
```
|
||||||
|
- High Level overview of the message encryption process
|
||||||
|
- SED vs. SEIPD (v1) vs. SEIPD w/ AEAD (v2)
|
||||||
|
- Encrypt for multiple/single subkey per certificate?
|
||||||
|
- "Negotiating" algorithms based on recipients preference subpackets
|
||||||
|
- Prevent "downgrade" -> Policy
|
||||||
|
- Implications of how a recipient cert is "addressed" (fingerprint/key-ID vs. user-ID) (preferences, expiration, revocation)
|
||||||
|
```
|
8
book/source/10-decryption.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# Decryption
|
||||||
|
|
||||||
|
```
|
||||||
|
- using expired certificate?
|
||||||
|
- using revoked certificate?
|
||||||
|
- using expired subkey?
|
||||||
|
- using revoked subkey?
|
||||||
|
```
|
6
book/source/11-armor.md
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# ASCII Armor
|
||||||
|
|
||||||
|
```
|
||||||
|
- Why?
|
||||||
|
- CRC and [its deprecation in crypto-refresh](https://www.ietf.org/archive/id/draft-ietf-openpgp-crypto-refresh-10.html#name-optional-checksum)
|
||||||
|
```
|
12
book/source/12-pitfalls.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# Pitfalls / Things to keep in mind
|
||||||
|
|
||||||
|
```
|
||||||
|
## Key IDs are really not guaranteed to be unique
|
||||||
|
|
||||||
|
Use fingerprints, or expect duplicates
|
||||||
|
|
||||||
|
## Signature Subpackets can have duplicates
|
||||||
|
|
||||||
|
## Packet Nesting can be unreasonable
|
||||||
|
- EBNF of allowed packet sequences is complex -> Recommend [stricter](https://mailarchive.ietf.org/arch/msg/openpgp/uepOF6XpSegMO4c59tt9e5H1i4g/) best-practices?
|
||||||
|
```
|
7
book/source/13-policy.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# Algorithms and Policy
|
||||||
|
|
||||||
|
```
|
||||||
|
- What algorithms are trustworthy? -> Depend on regulatory bodies like the BSI?
|
||||||
|
- How to decide, when to deprecate / reject algorithms (how to be competent)
|
||||||
|
- Transitioning from one set of algorithms to another (Interoperability)
|
||||||
|
```
|
14
book/source/14-resources.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# External resources
|
||||||
|
|
||||||
|
[RFC4880](https://www.rfc-editor.org/rfc/rfc4880.html) OpenPGP Message Format [2007]
|
||||||
|
|
||||||
|
[An Advanced Introduction to GnuPG](https://gnupg.org/ftp/people/neal/an-advanced-introduction-to-gnupg/openpgp/openpgp.pdf) [Neal Walfield, 2017]
|
||||||
|
|
||||||
|
|
||||||
|
## Web of Trust
|
||||||
|
|
||||||
|
[PGP Web of Trust: Core Concepts Behind Trusted Communication](https://www.linux.com/training-tutorials/pgp-web-trust-core-concepts-behind-trusted-communication/),
|
||||||
|
[PGP Web of Trust: Delegated Trust and Keyservers](https://web.archive.org/web/20210417113254/https://www.linuxfoundation.org/blog/pgp-web-of-trust-delegated-trust-and-keyservers/) [Konstantin Ryabitsev, 2014]
|
||||||
|
|
||||||
|
[OpenPGP Web of Trust](https://sequoia-pgp.gitlab.io/sequoia-wot/) [Neal Walfield, 2022];
|
||||||
|
implementation: <https://gitlab.com/sequoia-pgp/sequoia-wot/>.
|
19
book/source/15-glossary.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# Glossary
|
||||||
|
|
||||||
|
This document aims to enumerate and clarify alternative terms that have been
|
||||||
|
used for the same concept in the OpenPGP space, as well as to document
|
||||||
|
terminology specific to OpenPGP CA.
|
||||||
|
|
||||||
|
- Authentication
|
||||||
|
- Bridge: Two instances of OpenPGP CA mark each other as (scoped) trusted
|
||||||
|
introducers, which means that users in both organizations see each other
|
||||||
|
as authenticated
|
||||||
|
- Certification ("Signature" on a certificate)
|
||||||
|
- Key / OpenPGP Key (Certificate)
|
||||||
|
- Key creation workflow: centralized/decentralized
|
||||||
|
- OpenPGP
|
||||||
|
- Revocation certificate
|
||||||
|
- Trust signature ("tsig"), a speficic type of certification for a
|
||||||
|
certificate, which marks that key as a "trusted introducer" (i.e. the
|
||||||
|
party that creates the trust signature signals that they will trust
|
||||||
|
certifications that the "trusted introducer" makes on certificates)
|
1
book/source/16-acknowledgements.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
# Acknowledgements
|
30
book/source/conf.py
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# Configuration file for the Sphinx documentation builder.
|
||||||
|
#
|
||||||
|
# For the full list of built-in configuration values, see the documentation:
|
||||||
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
||||||
|
|
||||||
|
# -- Project information -----------------------------------------------------
|
||||||
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
||||||
|
|
||||||
|
project = 'Notes on OpenPGP'
|
||||||
|
copyright = '2023, Foo'
|
||||||
|
author = 'Foo'
|
||||||
|
|
||||||
|
# -- General configuration ---------------------------------------------------
|
||||||
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
||||||
|
|
||||||
|
extensions = [
|
||||||
|
'myst_parser',
|
||||||
|
]
|
||||||
|
source_suffix = ['.md', '.rst']
|
||||||
|
|
||||||
|
templates_path = ['_templates']
|
||||||
|
exclude_patterns = []
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# -- Options for HTML output -------------------------------------------------
|
||||||
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
|
||||||
|
|
||||||
|
html_theme = 'alabaster'
|
||||||
|
html_static_path = ['_static']
|
BIN
book/source/diag/cryptographic_keys.png
Normal file
After Width: | Height: | Size: 12 KiB |
79
book/source/diag/cryptographic_keys.svg
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="67.863998mm"
|
||||||
|
height="25.438mm"
|
||||||
|
viewBox="0 0 67.863998 25.438"
|
||||||
|
version="1.1"
|
||||||
|
id="svg895"
|
||||||
|
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||||
|
sodipodi:docname="cryptographic_keys.svg"
|
||||||
|
inkscape:export-filename="cryptographic_keys.png"
|
||||||
|
inkscape:export-xdpi="128"
|
||||||
|
inkscape:export-ydpi="128"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview897"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="3.1390218"
|
||||||
|
inkscape:cx="76.297654"
|
||||||
|
inkscape:cy="27.078499"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1001"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1" />
|
||||||
|
<defs
|
||||||
|
id="defs892" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-68.346923,-67.685135)">
|
||||||
|
<path
|
||||||
|
style="fill:#ff0000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 116.07104,89.173019 c 0.0754,0.06411 0.17341,0.100291 0.27457,0.09921 h 8.83806 c 0.23572,0.583443 0.5875,1.118749 1.04589,1.577143 0.89582,0.895822 2.08811,1.389303 3.35449,1.390882 1.26604,-6.02e-4 2.45738,-0.493834 3.35373,-1.390184 0.89676,-0.896767 1.38843,-2.086771 1.38964,-3.354222 7.2e-4,-2.616875 -2.12662,-4.744757 -4.74345,-4.743848 -1.26874,-1.44e-4 -2.45926,0.491543 -3.35556,1.38785 -0.4585,0.458495 -0.80845,0.993473 -1.0449,1.578121 l -2.90456,-0.0011 c -0.11995,6.86e-4 -0.23138,0.04871 -0.3145,0.137487 l -0.76334,0.818953 -0.76716,-0.819066 c -0.0816,-0.0858 -0.19287,-0.137296 -0.31303,-0.136259 -0.11786,-0.0012 -0.23243,0.04858 -0.31232,0.1353 l -0.76695,0.821163 -0.76375,-0.820739 c -0.0815,-0.0858 -0.19502,-0.135624 -0.31293,-0.13686 -0.11983,7.99e-4 -0.22232,0.03918 -0.31462,0.137367 l -0.76509,0.819077 -0.76585,-0.818876 c -0.083,-0.09287 -0.20472,-0.140091 -0.32762,-0.137177 -0.11067,0.0053 -0.21137,0.0492 -0.28758,0.125416 -0.0106,0.01061 -0.0217,0.02257 -0.031,0.03571 l -1.07973,1.349484 c -0.14622,0.182044 -0.11927,0.448035 0.0593,0.598427 z m 14.32248,-1.677542 c 4e-4,-0.745739 0.60354,-1.348887 1.34851,-1.348509 0.74563,-3.8e-5 1.34867,0.603006 1.34827,1.348276 1.5e-4,0.744736 -0.60246,1.348054 -1.34839,1.348626 -0.74473,-7e-5 -1.34792,-0.603737 -1.34839,-1.348393 z m -13.38686,0.539546 c 3e-5,-0.08865 0.0372,-0.170172 0.095,-0.227922 0.0578,-0.05777 0.1393,-0.09499 0.22793,-0.09499 l 7.52089,0.0011 c 0.008,0.217554 0.0318,0.431578 0.0703,0.642947 l -7.59212,7.63e-4 c -0.17725,5e-6 -0.32194,-0.144681 -0.32197,-0.321898 z"
|
||||||
|
id="path4600-8-0-6-5-1" />
|
||||||
|
<path
|
||||||
|
style="fill:#008000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 88.719971,72.869038 c -0.07545,-0.06413 -0.173403,-0.100289 -0.274569,-0.09921 h -8.838057 c -0.235714,-0.583441 -0.5875,-1.118749 -1.045896,-1.577145 -0.895819,-0.89582 -2.0881,-1.389296 -3.354486,-1.39088 -1.26604,6.02e-4 -2.457373,0.493837 -3.353723,1.390187 -0.896767,0.896767 -1.388432,2.086771 -1.389649,3.354217 -7.14e-4,2.616882 2.126624,4.744757 4.743457,4.743852 1.268733,1.42e-4 2.459253,-0.491545 3.355561,-1.387852 0.458495,-0.458495 0.808449,-0.993471 1.044891,-1.578121 l 2.904569,0.0011 c 0.119925,-7.07e-4 0.231372,-0.04871 0.314493,-0.13749 l 0.763357,-0.818936 0.767168,0.81907 c 0.08155,0.08579 0.192871,0.137292 0.313036,0.13626 0.117875,0.0012 0.232426,-0.04858 0.312307,-0.135304 l 0.766978,-0.821142 0.763746,0.820739 c 0.08156,0.0858 0.19502,0.135623 0.31293,0.13686 0.119855,-7.78e-4 0.222322,-0.03918 0.31462,-0.137362 l 0.765076,-0.819099 0.765839,0.818872 c 0.08297,0.09287 0.204721,0.140092 0.32763,0.137179 0.110663,-0.0053 0.21137,-0.0492 0.287581,-0.125412 0.01061,-0.01061 0.02169,-0.02257 0.03125,-0.0355 l 1.079724,-1.349485 c 0.146244,-0.182024 0.119274,-0.448037 -0.05931,-0.598432 z m -14.322469,1.677547 c -4.03e-4,0.745736 -0.603551,1.348884 -1.348509,1.348509 -0.745637,3.5e-5 -1.348686,-0.603013 -1.348283,-1.348283 -1.48e-4,-0.744732 0.602462,-1.348049 1.348396,-1.348622 0.744725,7.1e-5 1.347923,0.603735 1.348396,1.348396 z m 13.386848,-0.53955 c 0,0.08867 -0.03724,0.170172 -0.09499,0.227922 -0.05777,0.05777 -0.139279,0.09501 -0.227922,0.09498 l -7.520894,-0.0011 c -0.0083,-0.217556 -0.03183,-0.431575 -0.07029,-0.642944 l 7.59212,-7.63e-4 c 0.17725,-7e-6 0.321939,0.144681 0.321968,0.321896 z"
|
||||||
|
id="path4600-8-0-6-5-1-3" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="91.828957"
|
||||||
|
y="75.402527"
|
||||||
|
id="text4813"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4811"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="91.828957"
|
||||||
|
y="75.402527">public cryptographic key</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="70.708557"
|
||||||
|
y="88.899147"
|
||||||
|
id="text4813-9"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4811-1"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="70.708557"
|
||||||
|
y="88.899147">private cryptographic key</tspan></text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 6.9 KiB |
BIN
book/source/diag/fingerprint.png
Normal file
After Width: | Height: | Size: 18 KiB |
133
book/source/diag/fingerprint.svg
Normal file
|
@ -0,0 +1,133 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="43.803001mm"
|
||||||
|
height="47.769001mm"
|
||||||
|
viewBox="0 0 43.803001 47.769001"
|
||||||
|
version="1.1"
|
||||||
|
id="svg895"
|
||||||
|
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||||
|
sodipodi:docname="fingerprint.svg"
|
||||||
|
inkscape:export-filename="fingerprint.png"
|
||||||
|
inkscape:export-xdpi="128"
|
||||||
|
inkscape:export-ydpi="128"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview897"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="2.7684424"
|
||||||
|
inkscape:cx="-37.024429"
|
||||||
|
inkscape:cy="113.78239"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1055"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1" />
|
||||||
|
<defs
|
||||||
|
id="defs892" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-64.804822,-64.571863)">
|
||||||
|
<rect
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:none;stroke-width:0.146211;stroke-opacity:0.3512"
|
||||||
|
id="rect2546"
|
||||||
|
width="30.386009"
|
||||||
|
height="9.6204433"
|
||||||
|
x="69.048409"
|
||||||
|
y="86.455757" />
|
||||||
|
<g
|
||||||
|
id="g7046"
|
||||||
|
transform="translate(3.3656517,0.20845846)">
|
||||||
|
<path
|
||||||
|
style="fill:#ff0000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 75.253469,81.470864 c 0.0754,0.06411 0.17341,0.100291 0.27457,0.09921 h 8.83806 c 0.23572,0.583443 0.5875,1.118749 1.04589,1.577143 0.89582,0.895822 2.08811,1.389303 3.35449,1.390882 1.26604,-6.02e-4 2.45738,-0.493834 3.35373,-1.390184 0.89676,-0.896767 1.38843,-2.086771 1.38964,-3.354222 7.2e-4,-2.616875 -2.12662,-4.744757 -4.74345,-4.743848 -1.26874,-1.44e-4 -2.45926,0.491543 -3.35556,1.38785 -0.4585,0.458495 -0.80845,0.993473 -1.0449,1.578121 l -2.90456,-0.0011 c -0.11995,6.86e-4 -0.23138,0.04871 -0.3145,0.137487 l -0.76334,0.818953 -0.76716,-0.819066 c -0.0816,-0.0858 -0.19287,-0.137296 -0.31303,-0.136259 -0.11786,-0.0012 -0.23243,0.04858 -0.31232,0.1353 l -0.76695,0.821163 -0.76375,-0.820739 c -0.0815,-0.0858 -0.19502,-0.135624 -0.31293,-0.13686 -0.11983,7.99e-4 -0.22232,0.03918 -0.31462,0.137367 l -0.76509,0.819077 -0.76585,-0.818876 c -0.083,-0.09287 -0.20472,-0.140091 -0.32762,-0.137177 -0.11067,0.0053 -0.21137,0.0492 -0.28758,0.125416 -0.0106,0.01061 -0.0217,0.02257 -0.031,0.03571 l -1.07973,1.349484 c -0.14622,0.182044 -0.11927,0.448035 0.0593,0.598427 z m 14.32248,-1.677542 c 4e-4,-0.745739 0.60354,-1.348887 1.34851,-1.348509 0.74563,-3.8e-5 1.34867,0.603006 1.34827,1.348276 1.5e-4,0.744736 -0.60246,1.348054 -1.34839,1.348626 -0.74473,-7e-5 -1.34792,-0.603737 -1.34839,-1.348393 z m -13.38686,0.539546 c 3e-5,-0.08865 0.0372,-0.170172 0.095,-0.227922 0.0578,-0.05777 0.1393,-0.09499 0.22793,-0.09499 l 7.52089,0.0011 c 0.008,0.217554 0.0318,0.431578 0.0703,0.642947 l -7.59212,7.63e-4 c -0.17725,5e-6 -0.32194,-0.144681 -0.32197,-0.321898 z"
|
||||||
|
id="path4600-8-0-6-5-1" />
|
||||||
|
<path
|
||||||
|
style="fill:#008000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="M 86.603303,70.75237 C 86.527853,70.68824 86.4299,70.652081 86.328734,70.65316 h -8.838057 c -0.235714,-0.583441 -0.5875,-1.118749 -1.045896,-1.577145 -0.895819,-0.89582 -2.0881,-1.389296 -3.354486,-1.39088 -1.26604,6.02e-4 -2.457373,0.493837 -3.353723,1.390187 -0.896767,0.896767 -1.388432,2.086771 -1.389649,3.354217 -7.14e-4,2.616882 2.126624,4.744757 4.743457,4.743852 1.268733,1.42e-4 2.459253,-0.491545 3.355561,-1.387852 0.458495,-0.458495 0.808449,-0.993471 1.044891,-1.578121 l 2.904569,0.0011 c 0.119925,-7.07e-4 0.231372,-0.04871 0.314493,-0.13749 l 0.763357,-0.818936 0.767168,0.81907 c 0.08155,0.08579 0.192871,0.137292 0.313036,0.13626 0.117875,0.0012 0.232426,-0.04858 0.312307,-0.135304 l 0.766978,-0.821142 0.763746,0.820739 c 0.08156,0.0858 0.19502,0.135623 0.31293,0.13686 0.119855,-7.78e-4 0.222322,-0.03918 0.31462,-0.137362 l 0.765076,-0.819099 0.765839,0.818872 c 0.08297,0.09287 0.204721,0.140092 0.32763,0.137179 0.110663,-0.0053 0.21137,-0.0492 0.287581,-0.125412 0.01061,-0.01061 0.02169,-0.02257 0.03125,-0.0355 l 1.079724,-1.349485 c 0.146244,-0.182024 0.119274,-0.448037 -0.05931,-0.598432 z m -14.322469,1.677547 c -4.03e-4,0.745736 -0.603551,1.348884 -1.348509,1.348509 -0.745637,3.5e-5 -1.348686,-0.603013 -1.348283,-1.348283 -1.48e-4,-0.744732 0.602462,-1.348049 1.348396,-1.348622 0.744725,7.1e-5 1.347923,0.603735 1.348396,1.348396 z m 13.386848,-0.53955 c 0,0.08867 -0.03724,0.170172 -0.09499,0.227922 -0.05777,0.05777 -0.139279,0.09501 -0.227922,0.09498 l -7.520894,-0.0011 c -0.0083,-0.217556 -0.03183,-0.431575 -0.07029,-0.642944 l 7.59212,-7.63e-4 c 0.17725,-7e-6 0.321939,0.144681 0.321968,0.321896 z"
|
||||||
|
id="path4600-8-0-6-5-1-3" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="72.548302"
|
||||||
|
y="89.906342"
|
||||||
|
id="text4813"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="72.548302"
|
||||||
|
y="89.906342"
|
||||||
|
id="tspan2111">OpenPGP Key</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="72.548302"
|
||||||
|
y="94.316063"
|
||||||
|
id="tspan1029">metadata</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="72.548302"
|
||||||
|
y="98.725792"
|
||||||
|
id="tspan2137" /><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="72.548302"
|
||||||
|
y="103.13551"
|
||||||
|
id="tspan2143" /></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="65.910881"
|
||||||
|
y="101.80662"
|
||||||
|
id="text4813-0"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Droid Sans';-inkscape-font-specification:'Droid Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="65.910881"
|
||||||
|
y="101.80662"
|
||||||
|
id="tspan2143-9">Fingerprint:</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="65.910881"
|
||||||
|
y="106.3004"
|
||||||
|
id="tspan2447">B3D2 7B09 FBA4 1235 2B41</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="65.910881"
|
||||||
|
y="110.71012"
|
||||||
|
id="tspan2449">8972 C8B8 6AC4 2455 4239</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.21658;stroke-dasharray:none;stroke-opacity:0.3512"
|
||||||
|
id="rect6679-4"
|
||||||
|
width="33.123699"
|
||||||
|
height="31.306799"
|
||||||
|
x="67.741264"
|
||||||
|
y="65.857109" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82223px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;stroke:#000000;stroke-width:0.176389;stroke-opacity:0.3512"
|
||||||
|
x="66.635132"
|
||||||
|
y="110.99274"
|
||||||
|
id="text2347"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan2345"
|
||||||
|
style="stroke-width:0.176389"
|
||||||
|
x="66.635132"
|
||||||
|
y="110.99274" /></text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 11 KiB |
108
book/source/diag/id_card.svg
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="137.65607mm"
|
||||||
|
height="68.157036mm"
|
||||||
|
viewBox="0 0 137.65607 68.157036"
|
||||||
|
version="1.1"
|
||||||
|
id="svg9634"
|
||||||
|
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||||
|
sodipodi:docname="id_card.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview9636"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showgrid="false"
|
||||||
|
showguides="true"
|
||||||
|
inkscape:zoom="1.0666314"
|
||||||
|
inkscape:cx="273.29029"
|
||||||
|
inkscape:cy="143.91101"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="974"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<sodipodi:guide
|
||||||
|
position="41.561047,-20.163827"
|
||||||
|
orientation="1,0"
|
||||||
|
id="guide10269"
|
||||||
|
inkscape:locked="false" />
|
||||||
|
<sodipodi:guide
|
||||||
|
position="29.216248,44.375702"
|
||||||
|
orientation="0,-1"
|
||||||
|
id="guide10997"
|
||||||
|
inkscape:locked="false" />
|
||||||
|
<sodipodi:guide
|
||||||
|
position="30.208468,29.368372"
|
||||||
|
orientation="0,-1"
|
||||||
|
id="guide10999"
|
||||||
|
inkscape:locked="false" />
|
||||||
|
<sodipodi:guide
|
||||||
|
position="34.301376,14.237013"
|
||||||
|
orientation="0,-1"
|
||||||
|
id="guide11001"
|
||||||
|
inkscape:locked="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs9631" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-62.440102,-96.153297)">
|
||||||
|
<g
|
||||||
|
id="g11871">
|
||||||
|
<ellipse
|
||||||
|
style="fill:#000000;fill-opacity:0.432801;stroke-width:0.243201;stroke-opacity:0.3512"
|
||||||
|
id="path9757"
|
||||||
|
cx="84.206947"
|
||||||
|
cy="117.79834"
|
||||||
|
rx="10.803358"
|
||||||
|
ry="11.21476" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0.432801;stroke-width:0.139965;stroke-opacity:0.3512"
|
||||||
|
id="path9759"
|
||||||
|
sodipodi:type="arc"
|
||||||
|
sodipodi:cx="84.169518"
|
||||||
|
sodipodi:cy="-157.47643"
|
||||||
|
sodipodi:rx="17.407534"
|
||||||
|
sodipodi:ry="26.700191"
|
||||||
|
sodipodi:start="0.01016064"
|
||||||
|
sodipodi:end="3.1394051"
|
||||||
|
sodipodi:arc-type="slice"
|
||||||
|
d="m 101.57615,-157.20514 a 17.407534,26.700191 0 0 1 -17.476028,26.42869 17.407534,26.700191 0 0 1 -17.338096,-26.64157 l 17.407492,-0.0584 z"
|
||||||
|
transform="scale(1,-1)" />
|
||||||
|
<path
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:#000000;stroke-width:1.22006;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 104.01106,119.93492 h 87.07965"
|
||||||
|
id="path10178" />
|
||||||
|
<path
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:#000000;stroke-width:1.22006;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 103.90737,134.8412 h 87.07966"
|
||||||
|
id="path10178-0" />
|
||||||
|
<path
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:#000000;stroke-width:1.22006;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 103.96034,150.02655 h 87.07965"
|
||||||
|
id="path10178-6" />
|
||||||
|
<rect
|
||||||
|
style="fill:none;fill-opacity:0.432801;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect11055"
|
||||||
|
width="136.65607"
|
||||||
|
height="67.157036"
|
||||||
|
x="62.940102"
|
||||||
|
y="96.653297" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.6 KiB |
BIN
book/source/diag/key-minimal.png
Normal file
After Width: | Height: | Size: 135 KiB |
BIN
book/source/diag/keypair.png
Normal file
After Width: | Height: | Size: 8.5 KiB |
79
book/source/diag/keypair.svg
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="38.803001mm"
|
||||||
|
height="30.768999mm"
|
||||||
|
viewBox="0 0 38.803001 30.768999"
|
||||||
|
version="1.1"
|
||||||
|
id="svg895"
|
||||||
|
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||||
|
sodipodi:docname="keypair.svg"
|
||||||
|
inkscape:export-filename="keypair.png"
|
||||||
|
inkscape:export-xdpi="128"
|
||||||
|
inkscape:export-ydpi="128"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview897"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="3.1390218"
|
||||||
|
inkscape:cx="-108.15471"
|
||||||
|
inkscape:cy="39.662037"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="974"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1" />
|
||||||
|
<defs
|
||||||
|
id="defs892" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-64.804822,-64.571863)">
|
||||||
|
<g
|
||||||
|
id="g7046"
|
||||||
|
transform="translate(3.3656517,1.7959585)">
|
||||||
|
<path
|
||||||
|
style="fill:#ff0000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 75.253469,81.470864 c 0.0754,0.06411 0.17341,0.100291 0.27457,0.09921 h 8.83806 c 0.23572,0.583443 0.5875,1.118749 1.04589,1.577143 0.89582,0.895822 2.08811,1.389303 3.35449,1.390882 1.26604,-6.02e-4 2.45738,-0.493834 3.35373,-1.390184 0.89676,-0.896767 1.38843,-2.086771 1.38964,-3.354222 7.2e-4,-2.616875 -2.12662,-4.744757 -4.74345,-4.743848 -1.26874,-1.44e-4 -2.45926,0.491543 -3.35556,1.38785 -0.4585,0.458495 -0.80845,0.993473 -1.0449,1.578121 l -2.90456,-0.0011 c -0.11995,6.86e-4 -0.23138,0.04871 -0.3145,0.137487 l -0.76334,0.818953 -0.76716,-0.819066 c -0.0816,-0.0858 -0.19287,-0.137296 -0.31303,-0.136259 -0.11786,-0.0012 -0.23243,0.04858 -0.31232,0.1353 l -0.76695,0.821163 -0.76375,-0.820739 c -0.0815,-0.0858 -0.19502,-0.135624 -0.31293,-0.13686 -0.11983,7.99e-4 -0.22232,0.03918 -0.31462,0.137367 l -0.76509,0.819077 -0.76585,-0.818876 c -0.083,-0.09287 -0.20472,-0.140091 -0.32762,-0.137177 -0.11067,0.0053 -0.21137,0.0492 -0.28758,0.125416 -0.0106,0.01061 -0.0217,0.02257 -0.031,0.03571 l -1.07973,1.349484 c -0.14622,0.182044 -0.11927,0.448035 0.0593,0.598427 z m 14.32248,-1.677542 c 4e-4,-0.745739 0.60354,-1.348887 1.34851,-1.348509 0.74563,-3.8e-5 1.34867,0.603006 1.34827,1.348276 1.5e-4,0.744736 -0.60246,1.348054 -1.34839,1.348626 -0.74473,-7e-5 -1.34792,-0.603737 -1.34839,-1.348393 z m -13.38686,0.539546 c 3e-5,-0.08865 0.0372,-0.170172 0.095,-0.227922 0.0578,-0.05777 0.1393,-0.09499 0.22793,-0.09499 l 7.52089,0.0011 c 0.008,0.217554 0.0318,0.431578 0.0703,0.642947 l -7.59212,7.63e-4 c -0.17725,5e-6 -0.32194,-0.144681 -0.32197,-0.321898 z"
|
||||||
|
id="path4600-8-0-6-5-1" />
|
||||||
|
<path
|
||||||
|
style="fill:#008000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="M 86.603303,70.75237 C 86.527853,70.68824 86.4299,70.652081 86.328734,70.65316 h -8.838057 c -0.235714,-0.583441 -0.5875,-1.118749 -1.045896,-1.577145 -0.895819,-0.89582 -2.0881,-1.389296 -3.354486,-1.39088 -1.26604,6.02e-4 -2.457373,0.493837 -3.353723,1.390187 -0.896767,0.896767 -1.388432,2.086771 -1.389649,3.354217 -7.14e-4,2.616882 2.126624,4.744757 4.743457,4.743852 1.268733,1.42e-4 2.459253,-0.491545 3.355561,-1.387852 0.458495,-0.458495 0.808449,-0.993471 1.044891,-1.578121 l 2.904569,0.0011 c 0.119925,-7.07e-4 0.231372,-0.04871 0.314493,-0.13749 l 0.763357,-0.818936 0.767168,0.81907 c 0.08155,0.08579 0.192871,0.137292 0.313036,0.13626 0.117875,0.0012 0.232426,-0.04858 0.312307,-0.135304 l 0.766978,-0.821142 0.763746,0.820739 c 0.08156,0.0858 0.19502,0.135623 0.31293,0.13686 0.119855,-7.78e-4 0.222322,-0.03918 0.31462,-0.137362 l 0.765076,-0.819099 0.765839,0.818872 c 0.08297,0.09287 0.204721,0.140092 0.32763,0.137179 0.110663,-0.0053 0.21137,-0.0492 0.287581,-0.125412 0.01061,-0.01061 0.02169,-0.02257 0.03125,-0.0355 l 1.079724,-1.349485 c 0.146244,-0.182024 0.119274,-0.448037 -0.05931,-0.598432 z m -14.322469,1.677547 c -4.03e-4,0.745736 -0.603551,1.348884 -1.348509,1.348509 -0.745637,3.5e-5 -1.348686,-0.603013 -1.348283,-1.348283 -1.48e-4,-0.744732 0.602462,-1.348049 1.348396,-1.348622 0.744725,7.1e-5 1.347923,0.603735 1.348396,1.348396 z m 13.386848,-0.53955 c 0,0.08867 -0.03724,0.170172 -0.09499,0.227922 -0.05777,0.05777 -0.139279,0.09501 -0.227922,0.09498 l -7.520894,-0.0011 c -0.0083,-0.217556 -0.03183,-0.431575 -0.07029,-0.642944 l 7.59212,-7.63e-4 c 0.17725,-7e-6 0.321939,0.144681 0.321968,0.321896 z"
|
||||||
|
id="path4600-8-0-6-5-1-3" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="66.198296"
|
||||||
|
y="93.610512"
|
||||||
|
id="text4813"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4811"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="66.198296"
|
||||||
|
y="93.610512">cryptographic keypair</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.176389;stroke-dasharray:none;stroke-opacity:0.3512"
|
||||||
|
id="rect6679"
|
||||||
|
width="30.897322"
|
||||||
|
height="22.261703"
|
||||||
|
x="68.845375"
|
||||||
|
y="66.776726" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 6.2 KiB |
BIN
book/source/diag/primary_key.png
Normal file
After Width: | Height: | Size: 14 KiB |
138
book/source/diag/primary_key.svg
Normal file
|
@ -0,0 +1,138 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="43.803001mm"
|
||||||
|
height="43.769001mm"
|
||||||
|
viewBox="0 0 43.803001 43.769001"
|
||||||
|
version="1.1"
|
||||||
|
id="svg895"
|
||||||
|
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||||
|
sodipodi:docname="primary_key.svg"
|
||||||
|
inkscape:export-filename="primary_key.png"
|
||||||
|
inkscape:export-xdpi="128"
|
||||||
|
inkscape:export-ydpi="128"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview897"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="2.7684424"
|
||||||
|
inkscape:cx="-37.024429"
|
||||||
|
inkscape:cy="113.78239"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1055"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1" />
|
||||||
|
<defs
|
||||||
|
id="defs892" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-64.804822,-64.571863)">
|
||||||
|
<rect
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:none;stroke-width:0.172657;stroke-opacity:0.3512"
|
||||||
|
id="rect2546"
|
||||||
|
width="30.925091"
|
||||||
|
height="13.18159"
|
||||||
|
x="70.936729"
|
||||||
|
y="88.572426" />
|
||||||
|
<g
|
||||||
|
id="g7046"
|
||||||
|
transform="translate(5.4823185,1.7959585)">
|
||||||
|
<path
|
||||||
|
style="fill:#ff0000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 75.253469,81.470864 c 0.0754,0.06411 0.17341,0.100291 0.27457,0.09921 h 8.83806 c 0.23572,0.583443 0.5875,1.118749 1.04589,1.577143 0.89582,0.895822 2.08811,1.389303 3.35449,1.390882 1.26604,-6.02e-4 2.45738,-0.493834 3.35373,-1.390184 0.89676,-0.896767 1.38843,-2.086771 1.38964,-3.354222 7.2e-4,-2.616875 -2.12662,-4.744757 -4.74345,-4.743848 -1.26874,-1.44e-4 -2.45926,0.491543 -3.35556,1.38785 -0.4585,0.458495 -0.80845,0.993473 -1.0449,1.578121 l -2.90456,-0.0011 c -0.11995,6.86e-4 -0.23138,0.04871 -0.3145,0.137487 l -0.76334,0.818953 -0.76716,-0.819066 c -0.0816,-0.0858 -0.19287,-0.137296 -0.31303,-0.136259 -0.11786,-0.0012 -0.23243,0.04858 -0.31232,0.1353 l -0.76695,0.821163 -0.76375,-0.820739 c -0.0815,-0.0858 -0.19502,-0.135624 -0.31293,-0.13686 -0.11983,7.99e-4 -0.22232,0.03918 -0.31462,0.137367 l -0.76509,0.819077 -0.76585,-0.818876 c -0.083,-0.09287 -0.20472,-0.140091 -0.32762,-0.137177 -0.11067,0.0053 -0.21137,0.0492 -0.28758,0.125416 -0.0106,0.01061 -0.0217,0.02257 -0.031,0.03571 l -1.07973,1.349484 c -0.14622,0.182044 -0.11927,0.448035 0.0593,0.598427 z m 14.32248,-1.677542 c 4e-4,-0.745739 0.60354,-1.348887 1.34851,-1.348509 0.74563,-3.8e-5 1.34867,0.603006 1.34827,1.348276 1.5e-4,0.744736 -0.60246,1.348054 -1.34839,1.348626 -0.74473,-7e-5 -1.34792,-0.603737 -1.34839,-1.348393 z m -13.38686,0.539546 c 3e-5,-0.08865 0.0372,-0.170172 0.095,-0.227922 0.0578,-0.05777 0.1393,-0.09499 0.22793,-0.09499 l 7.52089,0.0011 c 0.008,0.217554 0.0318,0.431578 0.0703,0.642947 l -7.59212,7.63e-4 c -0.17725,5e-6 -0.32194,-0.144681 -0.32197,-0.321898 z"
|
||||||
|
id="path4600-8-0-6-5-1" />
|
||||||
|
<path
|
||||||
|
style="fill:#008000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="M 86.603303,70.75237 C 86.527853,70.68824 86.4299,70.652081 86.328734,70.65316 h -8.838057 c -0.235714,-0.583441 -0.5875,-1.118749 -1.045896,-1.577145 -0.895819,-0.89582 -2.0881,-1.389296 -3.354486,-1.39088 -1.26604,6.02e-4 -2.457373,0.493837 -3.353723,1.390187 -0.896767,0.896767 -1.388432,2.086771 -1.389649,3.354217 -7.14e-4,2.616882 2.126624,4.744757 4.743457,4.743852 1.268733,1.42e-4 2.459253,-0.491545 3.355561,-1.387852 0.458495,-0.458495 0.808449,-0.993471 1.044891,-1.578121 l 2.904569,0.0011 c 0.119925,-7.07e-4 0.231372,-0.04871 0.314493,-0.13749 l 0.763357,-0.818936 0.767168,0.81907 c 0.08155,0.08579 0.192871,0.137292 0.313036,0.13626 0.117875,0.0012 0.232426,-0.04858 0.312307,-0.135304 l 0.766978,-0.821142 0.763746,0.820739 c 0.08156,0.0858 0.19502,0.135623 0.31293,0.13686 0.119855,-7.78e-4 0.222322,-0.03918 0.31462,-0.137362 l 0.765076,-0.819099 0.765839,0.818872 c 0.08297,0.09287 0.204721,0.140092 0.32763,0.137179 0.110663,-0.0053 0.21137,-0.0492 0.287581,-0.125412 0.01061,-0.01061 0.02169,-0.02257 0.03125,-0.0355 l 1.079724,-1.349485 c 0.146244,-0.182024 0.119274,-0.448037 -0.05931,-0.598432 z m -14.322469,1.677547 c -4.03e-4,0.745736 -0.603551,1.348884 -1.348509,1.348509 -0.745637,3.5e-5 -1.348686,-0.603013 -1.348283,-1.348283 -1.48e-4,-0.744732 0.602462,-1.348049 1.348396,-1.348622 0.744725,7.1e-5 1.347923,0.603735 1.348396,1.348396 z m 13.386848,-0.53955 c 0,0.08867 -0.03724,0.170172 -0.09499,0.227922 -0.05777,0.05777 -0.139279,0.09501 -0.227922,0.09498 l -7.520894,-0.0011 c -0.0083,-0.217556 -0.03183,-0.431575 -0.07029,-0.642944 l 7.59212,-7.63e-4 c 0.17725,-7e-6 0.321939,0.144681 0.321968,0.321896 z"
|
||||||
|
id="path4600-8-0-6-5-1-3" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="92.02301"
|
||||||
|
id="text4813"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4811"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="92.02301">Key metadata:</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="96.432732"
|
||||||
|
id="tspan2109">- creation time,</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="100.84246"
|
||||||
|
id="tspan2111">- ...</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="105.25218"
|
||||||
|
id="tspan2137" /><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="109.66191"
|
||||||
|
id="tspan2143" /></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="66.176842"
|
||||||
|
y="106.50566"
|
||||||
|
id="text4813-3"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="66.176842"
|
||||||
|
y="106.50566"
|
||||||
|
id="tspan2111-5">OpenPGP primary (or sub-) key</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="66.176842"
|
||||||
|
y="110.03344"
|
||||||
|
id="tspan2137-3" /><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="66.176842"
|
||||||
|
y="113.56121"
|
||||||
|
id="tspan2143-5" /></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.235175;stroke-dasharray:none;stroke-opacity:0.3512"
|
||||||
|
id="rect6679-4"
|
||||||
|
width="33.105106"
|
||||||
|
height="36.933998"
|
||||||
|
x="69.867233"
|
||||||
|
y="65.866409" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82223px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;stroke:#000000;stroke-width:0.176389;stroke-opacity:0.3512"
|
||||||
|
x="66.635132"
|
||||||
|
y="110.99274"
|
||||||
|
id="text2347"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan2345"
|
||||||
|
style="stroke-width:0.176389"
|
||||||
|
x="66.635132"
|
||||||
|
y="110.99274" /></text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 11 KiB |
BIN
book/source/diag/pubcert-minimal.png
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
book/source/diag/subkey_binding.png
Normal file
After Width: | Height: | Size: 69 KiB |
423
book/source/diag/subkey_binding.svg
Normal file
|
@ -0,0 +1,423 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="102.121mm"
|
||||||
|
height="101.69mm"
|
||||||
|
viewBox="-18 -2 102.121 101.69"
|
||||||
|
version="1.1"
|
||||||
|
id="svg895"
|
||||||
|
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||||
|
sodipodi:docname="subkey_binding.svg"
|
||||||
|
inkscape:export-filename="subkey_binding.png"
|
||||||
|
inkscape:export-xdpi="128"
|
||||||
|
inkscape:export-ydpi="128"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview897"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="2.7929873"
|
||||||
|
inkscape:cx="209.99021"
|
||||||
|
inkscape:cy="152.52486"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1055"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showguides="true" />
|
||||||
|
<defs
|
||||||
|
id="defs892">
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Lend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Lend-0"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<path
|
||||||
|
id="path1061-4"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Lend-0-59422"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true"
|
||||||
|
inkscape:collect="always"
|
||||||
|
viewBox="0 0 17.773854 10.156488"
|
||||||
|
markerWidth="17.773853"
|
||||||
|
markerHeight="10.156487"
|
||||||
|
preserveAspectRatio="xMidYMid"
|
||||||
|
id="Arrow1Lend-0-59422">
|
||||||
|
<path
|
||||||
|
id="path12022"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||||
|
style="fill:#fe0700;fill-opacity:1;fill-rule:evenodd;stroke:#fe0700;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Lend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Lend-0-0"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<path
|
||||||
|
id="path1061-4-9"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-45.108357,-65.748822)">
|
||||||
|
<rect
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:none;stroke-width:0.172657;stroke-opacity:0.3512"
|
||||||
|
id="rect2546"
|
||||||
|
width="30.925091"
|
||||||
|
height="13.18159"
|
||||||
|
x="70.936729"
|
||||||
|
y="88.572426" />
|
||||||
|
<g
|
||||||
|
id="g7046"
|
||||||
|
transform="translate(5.4823185,1.7959585)">
|
||||||
|
<path
|
||||||
|
style="fill:#ff0000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 75.253469,81.470864 c 0.0754,0.06411 0.17341,0.100291 0.27457,0.09921 h 8.83806 c 0.23572,0.583443 0.5875,1.118749 1.04589,1.577143 0.89582,0.895822 2.08811,1.389303 3.35449,1.390882 1.26604,-6.02e-4 2.45738,-0.493834 3.35373,-1.390184 0.89676,-0.896767 1.38843,-2.086771 1.38964,-3.354222 7.2e-4,-2.616875 -2.12662,-4.744757 -4.74345,-4.743848 -1.26874,-1.44e-4 -2.45926,0.491543 -3.35556,1.38785 -0.4585,0.458495 -0.80845,0.993473 -1.0449,1.578121 l -2.90456,-0.0011 c -0.11995,6.86e-4 -0.23138,0.04871 -0.3145,0.137487 l -0.76334,0.818953 -0.76716,-0.819066 c -0.0816,-0.0858 -0.19287,-0.137296 -0.31303,-0.136259 -0.11786,-0.0012 -0.23243,0.04858 -0.31232,0.1353 l -0.76695,0.821163 -0.76375,-0.820739 c -0.0815,-0.0858 -0.19502,-0.135624 -0.31293,-0.13686 -0.11983,7.99e-4 -0.22232,0.03918 -0.31462,0.137367 l -0.76509,0.819077 -0.76585,-0.818876 c -0.083,-0.09287 -0.20472,-0.140091 -0.32762,-0.137177 -0.11067,0.0053 -0.21137,0.0492 -0.28758,0.125416 -0.0106,0.01061 -0.0217,0.02257 -0.031,0.03571 l -1.07973,1.349484 c -0.14622,0.182044 -0.11927,0.448035 0.0593,0.598427 z m 14.32248,-1.677542 c 4e-4,-0.745739 0.60354,-1.348887 1.34851,-1.348509 0.74563,-3.8e-5 1.34867,0.603006 1.34827,1.348276 1.5e-4,0.744736 -0.60246,1.348054 -1.34839,1.348626 -0.74473,-7e-5 -1.34792,-0.603737 -1.34839,-1.348393 z m -13.38686,0.539546 c 3e-5,-0.08865 0.0372,-0.170172 0.095,-0.227922 0.0578,-0.05777 0.1393,-0.09499 0.22793,-0.09499 l 7.52089,0.0011 c 0.008,0.217554 0.0318,0.431578 0.0703,0.642947 l -7.59212,7.63e-4 c -0.17725,5e-6 -0.32194,-0.144681 -0.32197,-0.321898 z"
|
||||||
|
id="path4600-8-0-6-5-1" />
|
||||||
|
<path
|
||||||
|
style="fill:#008000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="M 86.603303,70.75237 C 86.527853,70.68824 86.4299,70.652081 86.328734,70.65316 h -8.838057 c -0.235714,-0.583441 -0.5875,-1.118749 -1.045896,-1.577145 -0.895819,-0.89582 -2.0881,-1.389296 -3.354486,-1.39088 -1.26604,6.02e-4 -2.457373,0.493837 -3.353723,1.390187 -0.896767,0.896767 -1.388432,2.086771 -1.389649,3.354217 -7.14e-4,2.616882 2.126624,4.744757 4.743457,4.743852 1.268733,1.42e-4 2.459253,-0.491545 3.355561,-1.387852 0.458495,-0.458495 0.808449,-0.993471 1.044891,-1.578121 l 2.904569,0.0011 c 0.119925,-7.07e-4 0.231372,-0.04871 0.314493,-0.13749 l 0.763357,-0.818936 0.767168,0.81907 c 0.08155,0.08579 0.192871,0.137292 0.313036,0.13626 0.117875,0.0012 0.232426,-0.04858 0.312307,-0.135304 l 0.766978,-0.821142 0.763746,0.820739 c 0.08156,0.0858 0.19502,0.135623 0.31293,0.13686 0.119855,-7.78e-4 0.222322,-0.03918 0.31462,-0.137362 l 0.765076,-0.819099 0.765839,0.818872 c 0.08297,0.09287 0.204721,0.140092 0.32763,0.137179 0.110663,-0.0053 0.21137,-0.0492 0.287581,-0.125412 0.01061,-0.01061 0.02169,-0.02257 0.03125,-0.0355 l 1.079724,-1.349485 c 0.146244,-0.182024 0.119274,-0.448037 -0.05931,-0.598432 z m -14.322469,1.677547 c -4.03e-4,0.745736 -0.603551,1.348884 -1.348509,1.348509 -0.745637,3.5e-5 -1.348686,-0.603013 -1.348283,-1.348283 -1.48e-4,-0.744732 0.602462,-1.348049 1.348396,-1.348622 0.744725,7.1e-5 1.347923,0.603735 1.348396,1.348396 z m 13.386848,-0.53955 c 0,0.08867 -0.03724,0.170172 -0.09499,0.227922 -0.05777,0.05777 -0.139279,0.09501 -0.227922,0.09498 l -7.520894,-0.0011 c -0.0083,-0.217556 -0.03183,-0.431575 -0.07029,-0.642944 l 7.59212,-7.63e-4 c 0.17725,-7e-6 0.321939,0.144681 0.321968,0.321896 z"
|
||||||
|
id="path4600-8-0-6-5-1-3" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="92.02301"
|
||||||
|
id="text4813"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4811"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="92.02301">Key metadata:</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="96.432732"
|
||||||
|
id="tspan2109">- creation time,</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="100.84246"
|
||||||
|
id="tspan2111">- ...</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="105.25218"
|
||||||
|
id="tspan2137" /><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="109.66191"
|
||||||
|
id="tspan2143" /></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.997681"
|
||||||
|
y="105.97649"
|
||||||
|
id="text4813-3"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.997681"
|
||||||
|
y="105.97649"
|
||||||
|
id="tspan2143-5">OpenPGP primary key</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.997681"
|
||||||
|
y="109.50426"
|
||||||
|
id="tspan5177">(for certification)</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="28.770376"
|
||||||
|
y="112.95801"
|
||||||
|
id="text4813-3-2"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222003px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="28.770376"
|
||||||
|
y="112.95801"
|
||||||
|
id="tspan17563">This arrow is actually a shorthand</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222003px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="28.770376"
|
||||||
|
y="116.48579"
|
||||||
|
id="tspan17565">for the subkey binding signature</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="108.47076"
|
||||||
|
y="88.223038"
|
||||||
|
id="text4813-3-6"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="108.47076"
|
||||||
|
y="88.223038"
|
||||||
|
id="tspan2143-5-0"> Primary key</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="108.47076"
|
||||||
|
y="91.750816"
|
||||||
|
id="tspan13837"> creates a</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="108.47076"
|
||||||
|
y="95.278587"
|
||||||
|
id="tspan13839"> signature</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="108.47076"
|
||||||
|
y="98.806366"
|
||||||
|
id="tspan13841"> to associate</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="108.47076"
|
||||||
|
y="102.33414"
|
||||||
|
id="tspan18684"> the subkey</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="108.47076"
|
||||||
|
y="105.86192"
|
||||||
|
id="tspan18686"> with itself</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.235175;stroke-dasharray:none;stroke-opacity:0.3512"
|
||||||
|
id="rect6679-4"
|
||||||
|
width="33.105106"
|
||||||
|
height="36.933998"
|
||||||
|
x="69.867233"
|
||||||
|
y="65.866409" />
|
||||||
|
<rect
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:none;stroke-width:0.172657;stroke-opacity:0.3512"
|
||||||
|
id="rect2546-3"
|
||||||
|
width="30.925091"
|
||||||
|
height="13.18159"
|
||||||
|
x="46.295441"
|
||||||
|
y="142.07599" />
|
||||||
|
<g
|
||||||
|
id="g7046-6"
|
||||||
|
transform="translate(-19.158942,55.299763)">
|
||||||
|
<path
|
||||||
|
style="fill:#ff0000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 75.253469,81.470864 c 0.0754,0.06411 0.17341,0.100291 0.27457,0.09921 h 8.83806 c 0.23572,0.583443 0.5875,1.118749 1.04589,1.577143 0.89582,0.895822 2.08811,1.389303 3.35449,1.390882 1.26604,-6.02e-4 2.45738,-0.493834 3.35373,-1.390184 0.89676,-0.896767 1.38843,-2.086771 1.38964,-3.354222 7.2e-4,-2.616875 -2.12662,-4.744757 -4.74345,-4.743848 -1.26874,-1.44e-4 -2.45926,0.491543 -3.35556,1.38785 -0.4585,0.458495 -0.80845,0.993473 -1.0449,1.578121 l -2.90456,-0.0011 c -0.11995,6.86e-4 -0.23138,0.04871 -0.3145,0.137487 l -0.76334,0.818953 -0.76716,-0.819066 c -0.0816,-0.0858 -0.19287,-0.137296 -0.31303,-0.136259 -0.11786,-0.0012 -0.23243,0.04858 -0.31232,0.1353 l -0.76695,0.821163 -0.76375,-0.820739 c -0.0815,-0.0858 -0.19502,-0.135624 -0.31293,-0.13686 -0.11983,7.99e-4 -0.22232,0.03918 -0.31462,0.137367 l -0.76509,0.819077 -0.76585,-0.818876 c -0.083,-0.09287 -0.20472,-0.140091 -0.32762,-0.137177 -0.11067,0.0053 -0.21137,0.0492 -0.28758,0.125416 -0.0106,0.01061 -0.0217,0.02257 -0.031,0.03571 l -1.07973,1.349484 c -0.14622,0.182044 -0.11927,0.448035 0.0593,0.598427 z m 14.32248,-1.677542 c 4e-4,-0.745739 0.60354,-1.348887 1.34851,-1.348509 0.74563,-3.8e-5 1.34867,0.603006 1.34827,1.348276 1.5e-4,0.744736 -0.60246,1.348054 -1.34839,1.348626 -0.74473,-7e-5 -1.34792,-0.603737 -1.34839,-1.348393 z m -13.38686,0.539546 c 3e-5,-0.08865 0.0372,-0.170172 0.095,-0.227922 0.0578,-0.05777 0.1393,-0.09499 0.22793,-0.09499 l 7.52089,0.0011 c 0.008,0.217554 0.0318,0.431578 0.0703,0.642947 l -7.59212,7.63e-4 c -0.17725,5e-6 -0.32194,-0.144681 -0.32197,-0.321898 z"
|
||||||
|
id="path4600-8-0-6-5-1-7" />
|
||||||
|
<path
|
||||||
|
style="fill:#008000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="M 86.603303,70.75237 C 86.527853,70.68824 86.4299,70.652081 86.328734,70.65316 h -8.838057 c -0.235714,-0.583441 -0.5875,-1.118749 -1.045896,-1.577145 -0.895819,-0.89582 -2.0881,-1.389296 -3.354486,-1.39088 -1.26604,6.02e-4 -2.457373,0.493837 -3.353723,1.390187 -0.896767,0.896767 -1.388432,2.086771 -1.389649,3.354217 -7.14e-4,2.616882 2.126624,4.744757 4.743457,4.743852 1.268733,1.42e-4 2.459253,-0.491545 3.355561,-1.387852 0.458495,-0.458495 0.808449,-0.993471 1.044891,-1.578121 l 2.904569,0.0011 c 0.119925,-7.07e-4 0.231372,-0.04871 0.314493,-0.13749 l 0.763357,-0.818936 0.767168,0.81907 c 0.08155,0.08579 0.192871,0.137292 0.313036,0.13626 0.117875,0.0012 0.232426,-0.04858 0.312307,-0.135304 l 0.766978,-0.821142 0.763746,0.820739 c 0.08156,0.0858 0.19502,0.135623 0.31293,0.13686 0.119855,-7.78e-4 0.222322,-0.03918 0.31462,-0.137362 l 0.765076,-0.819099 0.765839,0.818872 c 0.08297,0.09287 0.204721,0.140092 0.32763,0.137179 0.110663,-0.0053 0.21137,-0.0492 0.287581,-0.125412 0.01061,-0.01061 0.02169,-0.02257 0.03125,-0.0355 l 1.079724,-1.349485 c 0.146244,-0.182024 0.119274,-0.448037 -0.05931,-0.598432 z m -14.322469,1.677547 c -4.03e-4,0.745736 -0.603551,1.348884 -1.348509,1.348509 -0.745637,3.5e-5 -1.348686,-0.603013 -1.348283,-1.348283 -1.48e-4,-0.744732 0.602462,-1.348049 1.348396,-1.348622 0.744725,7.1e-5 1.347923,0.603735 1.348396,1.348396 z m 13.386848,-0.53955 c 0,0.08867 -0.03724,0.170172 -0.09499,0.227922 -0.05777,0.05777 -0.139279,0.09501 -0.227922,0.09498 l -7.520894,-0.0011 c -0.0083,-0.217556 -0.03183,-0.431575 -0.07029,-0.642944 l 7.59212,-7.63e-4 c 0.17725,-7e-6 0.321939,0.144681 0.321968,0.321896 z"
|
||||||
|
id="path4600-8-0-6-5-1-3-5" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.848679"
|
||||||
|
y="145.52655"
|
||||||
|
id="text4813-35"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4811-6"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.848679"
|
||||||
|
y="145.52655">Key metadata:</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.848679"
|
||||||
|
y="149.93628"
|
||||||
|
id="tspan2109-2">- creation time,</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.848679"
|
||||||
|
y="154.34599"
|
||||||
|
id="tspan2111-9">- ...</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.848679"
|
||||||
|
y="158.75572"
|
||||||
|
id="tspan2137-1" /><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.848679"
|
||||||
|
y="163.16545"
|
||||||
|
id="tspan2143-2" /></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="49.445145"
|
||||||
|
y="159.2339"
|
||||||
|
id="text4813-3-7"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="49.445145"
|
||||||
|
y="159.2339"
|
||||||
|
id="tspan2143-5-3">OpenPGP subkey</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="49.445145"
|
||||||
|
y="162.76167"
|
||||||
|
id="tspan602">(for encryption)</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="90.882607"
|
||||||
|
y="152.2755"
|
||||||
|
id="text4813-3-7-3"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="90.882607"
|
||||||
|
y="152.2755"
|
||||||
|
id="tspan602-7">Subkey binding signature</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.235175;stroke-dasharray:none;stroke-opacity:0.3512"
|
||||||
|
id="rect6679-4-6"
|
||||||
|
width="33.105106"
|
||||||
|
height="36.933998"
|
||||||
|
x="45.225945"
|
||||||
|
y="119.37022" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82223px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;stroke:#000000;stroke-width:0.176389;stroke-opacity:0.3512"
|
||||||
|
x="66.635132"
|
||||||
|
y="110.99274"
|
||||||
|
id="text2347"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan2345"
|
||||||
|
style="stroke-width:0.176389"
|
||||||
|
x="66.635132"
|
||||||
|
y="110.99274" /></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-0)"
|
||||||
|
d="m 77.53299,110.66576 c -5.208608,8.22393 -0.03208,0.0461 -5.247912,8.19478"
|
||||||
|
id="path3976-5"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-0-0)"
|
||||||
|
d="m 88.255522,127.34433 c -8.633737,3.32714 -0.183058,0.0128 -9.043455,3.61437"
|
||||||
|
id="path3976-5-3"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#fe0700;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-0-59422)"
|
||||||
|
d="M 99.650194,81.553139 C 106.72414,81.8134 112.03413,88.9318 111.68622,115.31163"
|
||||||
|
id="path3976-5-5"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="99.450737"
|
||||||
|
y="69.89624"
|
||||||
|
id="text4813-36"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="99.450737"
|
||||||
|
y="69.89624"
|
||||||
|
id="tspan2143-6">P</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="font-variation-settings:'wght' 700;fill:#fdfec4;fill-opacity:1;stroke:#000000;stroke-width:0.2;stroke-dasharray:none"
|
||||||
|
id="rect481"
|
||||||
|
width="37.568142"
|
||||||
|
height="32.938725"
|
||||||
|
x="88.826698"
|
||||||
|
y="116.43056" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="90.007591"
|
||||||
|
y="120.06777"
|
||||||
|
id="text4813-35-6"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4811-6-2"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="90.007591"
|
||||||
|
y="120.06777">Metadata associated</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="90.007591"
|
||||||
|
y="124.47749"
|
||||||
|
id="tspan14771">with this Signature:</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="90.007591"
|
||||||
|
y="128.88722"
|
||||||
|
id="tspan14773" /><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="90.007591"
|
||||||
|
y="133.29695"
|
||||||
|
id="tspan2109-2-9">- key flags</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="90.007591"
|
||||||
|
y="137.70667"
|
||||||
|
id="tspan14777">- creation time</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="90.007591"
|
||||||
|
y="142.11639"
|
||||||
|
id="tspan13456">- key expiration time</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="90.007591"
|
||||||
|
y="146.52612"
|
||||||
|
id="tspan2111-9-1">- ...</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="90.007591"
|
||||||
|
y="150.93585"
|
||||||
|
id="tspan2137-1-2" /><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="90.007591"
|
||||||
|
y="155.34557"
|
||||||
|
id="tspan2143-2-7" /></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:4.23333px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, @wght=700';font-variation-settings:'wght' 700;fill:#ff0000;fill-opacity:1;stroke:#fbfd95;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="53.87442"
|
||||||
|
y="110.60899"
|
||||||
|
id="text17475"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan17473"
|
||||||
|
style="stroke-width:0.2"
|
||||||
|
x="53.87442"
|
||||||
|
y="110.60899"></tspan></text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 36 KiB |
BIN
book/source/diag/user_id.png
Normal file
After Width: | Height: | Size: 23 KiB |
253
book/source/diag/user_id.svg
Normal file
|
@ -0,0 +1,253 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="60.887001mm"
|
||||||
|
height="72.249001mm"
|
||||||
|
viewBox="-6 -6 60.887 72.248999"
|
||||||
|
version="1.1"
|
||||||
|
id="svg895"
|
||||||
|
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||||
|
sodipodi:docname="user_id.svg"
|
||||||
|
inkscape:export-filename="user_id.png"
|
||||||
|
inkscape:export-xdpi="128"
|
||||||
|
inkscape:export-ydpi="128"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview897"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="2.2417025"
|
||||||
|
inkscape:cx="-12.713551"
|
||||||
|
inkscape:cy="139.62602"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1055"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showguides="true">
|
||||||
|
<sodipodi:guide
|
||||||
|
position="25.559503,23.998638"
|
||||||
|
orientation="1,0"
|
||||||
|
id="guide9208"
|
||||||
|
inkscape:locked="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs892">
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Lend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Lend-0"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<path
|
||||||
|
id="path1061-4"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-49.108358,-69.748822)">
|
||||||
|
<rect
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:none;stroke-width:0.172657;stroke-opacity:0.3512"
|
||||||
|
id="rect2546"
|
||||||
|
width="30.925091"
|
||||||
|
height="13.18159"
|
||||||
|
x="52.945045"
|
||||||
|
y="88.572426" />
|
||||||
|
<g
|
||||||
|
id="g7046"
|
||||||
|
transform="translate(-12.50935,1.7959585)">
|
||||||
|
<path
|
||||||
|
style="fill:#ff0000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 75.253469,81.470864 c 0.0754,0.06411 0.17341,0.100291 0.27457,0.09921 h 8.83806 c 0.23572,0.583443 0.5875,1.118749 1.04589,1.577143 0.89582,0.895822 2.08811,1.389303 3.35449,1.390882 1.26604,-6.02e-4 2.45738,-0.493834 3.35373,-1.390184 0.89676,-0.896767 1.38843,-2.086771 1.38964,-3.354222 7.2e-4,-2.616875 -2.12662,-4.744757 -4.74345,-4.743848 -1.26874,-1.44e-4 -2.45926,0.491543 -3.35556,1.38785 -0.4585,0.458495 -0.80845,0.993473 -1.0449,1.578121 l -2.90456,-0.0011 c -0.11995,6.86e-4 -0.23138,0.04871 -0.3145,0.137487 l -0.76334,0.818953 -0.76716,-0.819066 c -0.0816,-0.0858 -0.19287,-0.137296 -0.31303,-0.136259 -0.11786,-0.0012 -0.23243,0.04858 -0.31232,0.1353 l -0.76695,0.821163 -0.76375,-0.820739 c -0.0815,-0.0858 -0.19502,-0.135624 -0.31293,-0.13686 -0.11983,7.99e-4 -0.22232,0.03918 -0.31462,0.137367 l -0.76509,0.819077 -0.76585,-0.818876 c -0.083,-0.09287 -0.20472,-0.140091 -0.32762,-0.137177 -0.11067,0.0053 -0.21137,0.0492 -0.28758,0.125416 -0.0106,0.01061 -0.0217,0.02257 -0.031,0.03571 l -1.07973,1.349484 c -0.14622,0.182044 -0.11927,0.448035 0.0593,0.598427 z m 14.32248,-1.677542 c 4e-4,-0.745739 0.60354,-1.348887 1.34851,-1.348509 0.74563,-3.8e-5 1.34867,0.603006 1.34827,1.348276 1.5e-4,0.744736 -0.60246,1.348054 -1.34839,1.348626 -0.74473,-7e-5 -1.34792,-0.603737 -1.34839,-1.348393 z m -13.38686,0.539546 c 3e-5,-0.08865 0.0372,-0.170172 0.095,-0.227922 0.0578,-0.05777 0.1393,-0.09499 0.22793,-0.09499 l 7.52089,0.0011 c 0.008,0.217554 0.0318,0.431578 0.0703,0.642947 l -7.59212,7.63e-4 c -0.17725,5e-6 -0.32194,-0.144681 -0.32197,-0.321898 z"
|
||||||
|
id="path4600-8-0-6-5-1" />
|
||||||
|
<path
|
||||||
|
style="fill:#008000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="M 86.603303,70.75237 C 86.527853,70.68824 86.4299,70.652081 86.328734,70.65316 h -8.838057 c -0.235714,-0.583441 -0.5875,-1.118749 -1.045896,-1.577145 -0.895819,-0.89582 -2.0881,-1.389296 -3.354486,-1.39088 -1.26604,6.02e-4 -2.457373,0.493837 -3.353723,1.390187 -0.896767,0.896767 -1.388432,2.086771 -1.389649,3.354217 -7.14e-4,2.616882 2.126624,4.744757 4.743457,4.743852 1.268733,1.42e-4 2.459253,-0.491545 3.355561,-1.387852 0.458495,-0.458495 0.808449,-0.993471 1.044891,-1.578121 l 2.904569,0.0011 c 0.119925,-7.07e-4 0.231372,-0.04871 0.314493,-0.13749 l 0.763357,-0.818936 0.767168,0.81907 c 0.08155,0.08579 0.192871,0.137292 0.313036,0.13626 0.117875,0.0012 0.232426,-0.04858 0.312307,-0.135304 l 0.766978,-0.821142 0.763746,0.820739 c 0.08156,0.0858 0.19502,0.135623 0.31293,0.13686 0.119855,-7.78e-4 0.222322,-0.03918 0.31462,-0.137362 l 0.765076,-0.819099 0.765839,0.818872 c 0.08297,0.09287 0.204721,0.140092 0.32763,0.137179 0.110663,-0.0053 0.21137,-0.0492 0.287581,-0.125412 0.01061,-0.01061 0.02169,-0.02257 0.03125,-0.0355 l 1.079724,-1.349485 c 0.146244,-0.182024 0.119274,-0.448037 -0.05931,-0.598432 z m -14.322469,1.677547 c -4.03e-4,0.745736 -0.603551,1.348884 -1.348509,1.348509 -0.745637,3.5e-5 -1.348686,-0.603013 -1.348283,-1.348283 -1.48e-4,-0.744732 0.602462,-1.348049 1.348396,-1.348622 0.744725,7.1e-5 1.347923,0.603735 1.348396,1.348396 z m 13.386848,-0.53955 c 0,0.08867 -0.03724,0.170172 -0.09499,0.227922 -0.05777,0.05777 -0.139279,0.09501 -0.227922,0.09498 l -7.520894,-0.0011 c -0.0083,-0.217556 -0.03183,-0.431575 -0.07029,-0.642944 l 7.59212,-7.63e-4 c 0.17725,-7e-6 0.321939,0.144681 0.321968,0.321896 z"
|
||||||
|
id="path4600-8-0-6-5-1-3" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="53.498283"
|
||||||
|
y="92.02301"
|
||||||
|
id="text4813"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4811"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="53.498283"
|
||||||
|
y="92.02301">Key metadata:</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="53.498283"
|
||||||
|
y="96.432732"
|
||||||
|
id="tspan2109">- creation time,</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="53.498283"
|
||||||
|
y="100.84246"
|
||||||
|
id="tspan2111">- ...</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="53.498283"
|
||||||
|
y="105.25218"
|
||||||
|
id="tspan2137" /><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="53.498283"
|
||||||
|
y="109.66191"
|
||||||
|
id="tspan2143" /></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="81.350624"
|
||||||
|
y="70.000832"
|
||||||
|
id="text4813-36"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="81.350624"
|
||||||
|
y="70.000832"
|
||||||
|
id="tspan2143-6">P</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="54.005997"
|
||||||
|
y="105.97649"
|
||||||
|
id="text4813-3"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="54.005997"
|
||||||
|
y="105.97649"
|
||||||
|
id="tspan2143-5">OpenPGP primary key</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="54.005997"
|
||||||
|
y="109.50426"
|
||||||
|
id="tspan5177">(for certification)</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.235175;stroke-dasharray:none;stroke-opacity:0.3512"
|
||||||
|
id="rect6679-4"
|
||||||
|
width="33.105106"
|
||||||
|
height="36.933998"
|
||||||
|
x="51.875549"
|
||||||
|
y="65.866409" />
|
||||||
|
<rect
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:none;stroke-width:0.147417;stroke-opacity:0.3512"
|
||||||
|
id="rect2546-3"
|
||||||
|
width="54.054058"
|
||||||
|
height="5.4977317"
|
||||||
|
x="46.295441"
|
||||||
|
y="124.85612" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.848679"
|
||||||
|
y="128.59344"
|
||||||
|
id="text4813-35"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.848679"
|
||||||
|
y="128.59344"
|
||||||
|
id="tspan9025">Alice Adams <alice@example.org></tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.280373"
|
||||||
|
y="134.13794"
|
||||||
|
id="text4813-35-2"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.280373"
|
||||||
|
y="134.13794"
|
||||||
|
id="tspan9025-2">User ID</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.16934;stroke-dasharray:none;stroke-opacity:0.3512"
|
||||||
|
id="rect6679-4-6"
|
||||||
|
width="56.539513"
|
||||||
|
height="11.212705"
|
||||||
|
x="45.193027"
|
||||||
|
y="119.86647" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82223px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;stroke:#000000;stroke-width:0.176389;stroke-opacity:0.3512"
|
||||||
|
x="66.635132"
|
||||||
|
y="110.99274"
|
||||||
|
id="text2347"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan2345"
|
||||||
|
style="stroke-width:0.176389"
|
||||||
|
x="66.635132"
|
||||||
|
y="110.99274" /></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-0)"
|
||||||
|
d="m 68.553642,110.69434 c 0.121664,8.25932 -0.05156,0.0126 0.107487,8.28619"
|
||||||
|
id="path3976-5"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<g
|
||||||
|
id="g11871"
|
||||||
|
transform="matrix(0.05392035,0,0,0.05392035,89.421238,115.36113)">
|
||||||
|
<ellipse
|
||||||
|
style="fill:#000000;fill-opacity:0.432801;stroke-width:0.243201;stroke-opacity:0.3512"
|
||||||
|
id="path9757"
|
||||||
|
cx="84.206947"
|
||||||
|
cy="117.79834"
|
||||||
|
rx="10.803358"
|
||||||
|
ry="11.21476" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0.432801;stroke-width:0.139965;stroke-opacity:0.3512"
|
||||||
|
id="path9759"
|
||||||
|
sodipodi:type="arc"
|
||||||
|
sodipodi:cx="84.169518"
|
||||||
|
sodipodi:cy="-157.47643"
|
||||||
|
sodipodi:rx="17.407534"
|
||||||
|
sodipodi:ry="26.700191"
|
||||||
|
sodipodi:start="0.01016064"
|
||||||
|
sodipodi:end="3.1394051"
|
||||||
|
sodipodi:arc-type="slice"
|
||||||
|
d="m 101.57615,-157.20514 a 17.407534,26.700191 0 0 1 -17.476028,26.42869 17.407534,26.700191 0 0 1 -17.338096,-26.64157 l 17.407492,-0.0584 z"
|
||||||
|
transform="scale(1,-1)" />
|
||||||
|
<path
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:#000000;stroke-width:1.22006;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 104.01106,119.93492 h 87.07965"
|
||||||
|
id="path10178" />
|
||||||
|
<path
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:#000000;stroke-width:1.22006;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 103.90737,134.8412 h 87.07966"
|
||||||
|
id="path10178-0" />
|
||||||
|
<path
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:#000000;stroke-width:1.22006;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 103.96034,150.02655 h 87.07965"
|
||||||
|
id="path10178-6" />
|
||||||
|
<rect
|
||||||
|
style="fill:none;fill-opacity:0.432801;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect11055"
|
||||||
|
width="136.65607"
|
||||||
|
height="67.157036"
|
||||||
|
x="62.940102"
|
||||||
|
y="96.653297" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 17 KiB |
BIN
book/source/diag/user_id_certification.png
Normal file
After Width: | Height: | Size: 76 KiB |
448
book/source/diag/user_id_certification.svg
Normal file
|
@ -0,0 +1,448 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="126.419mm"
|
||||||
|
height="102.162mm"
|
||||||
|
viewBox="-12 -8 126.419 102.162"
|
||||||
|
version="1.1"
|
||||||
|
id="svg895"
|
||||||
|
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||||
|
sodipodi:docname="user_id_certification.svg"
|
||||||
|
inkscape:export-filename="user_id_certification.png"
|
||||||
|
inkscape:export-xdpi="128"
|
||||||
|
inkscape:export-ydpi="128"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview897"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="2.2417025"
|
||||||
|
inkscape:cx="238.43485"
|
||||||
|
inkscape:cy="211.00034"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1001"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showguides="true">
|
||||||
|
<sodipodi:guide
|
||||||
|
position="53.301136,55.911635"
|
||||||
|
orientation="1,0"
|
||||||
|
id="guide9208"
|
||||||
|
inkscape:locked="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs892">
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Lend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Lend-0"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<path
|
||||||
|
id="path1061-4"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Lend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Lend-0-0"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<path
|
||||||
|
id="path1061-4-9"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Lend-0-59422"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true"
|
||||||
|
inkscape:collect="always"
|
||||||
|
viewBox="0 0 17.773854 10.156488"
|
||||||
|
markerWidth="17.773853"
|
||||||
|
markerHeight="10.156487"
|
||||||
|
preserveAspectRatio="xMidYMid"
|
||||||
|
id="Arrow1Lend-0-59422">
|
||||||
|
<path
|
||||||
|
id="path12022"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||||
|
style="fill:#fe0700;fill-opacity:1;fill-rule:evenodd;stroke:#fe0700;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-21.366721,-71.748822)">
|
||||||
|
<g
|
||||||
|
id="g19460">
|
||||||
|
<rect
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:none;stroke-width:0.172657;stroke-opacity:0.3512"
|
||||||
|
id="rect2546"
|
||||||
|
width="30.925091"
|
||||||
|
height="13.18159"
|
||||||
|
x="52.945045"
|
||||||
|
y="88.572426" />
|
||||||
|
<g
|
||||||
|
id="g7046"
|
||||||
|
transform="translate(-12.50935,1.7959585)">
|
||||||
|
<path
|
||||||
|
style="fill:#ff0000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 75.253469,81.470864 c 0.0754,0.06411 0.17341,0.100291 0.27457,0.09921 h 8.83806 c 0.23572,0.583443 0.5875,1.118749 1.04589,1.577143 0.89582,0.895822 2.08811,1.389303 3.35449,1.390882 1.26604,-6.02e-4 2.45738,-0.493834 3.35373,-1.390184 0.89676,-0.896767 1.38843,-2.086771 1.38964,-3.354222 7.2e-4,-2.616875 -2.12662,-4.744757 -4.74345,-4.743848 -1.26874,-1.44e-4 -2.45926,0.491543 -3.35556,1.38785 -0.4585,0.458495 -0.80845,0.993473 -1.0449,1.578121 l -2.90456,-0.0011 c -0.11995,6.86e-4 -0.23138,0.04871 -0.3145,0.137487 l -0.76334,0.818953 -0.76716,-0.819066 c -0.0816,-0.0858 -0.19287,-0.137296 -0.31303,-0.136259 -0.11786,-0.0012 -0.23243,0.04858 -0.31232,0.1353 l -0.76695,0.821163 -0.76375,-0.820739 c -0.0815,-0.0858 -0.19502,-0.135624 -0.31293,-0.13686 -0.11983,7.99e-4 -0.22232,0.03918 -0.31462,0.137367 l -0.76509,0.819077 -0.76585,-0.818876 c -0.083,-0.09287 -0.20472,-0.140091 -0.32762,-0.137177 -0.11067,0.0053 -0.21137,0.0492 -0.28758,0.125416 -0.0106,0.01061 -0.0217,0.02257 -0.031,0.03571 l -1.07973,1.349484 c -0.14622,0.182044 -0.11927,0.448035 0.0593,0.598427 z m 14.32248,-1.677542 c 4e-4,-0.745739 0.60354,-1.348887 1.34851,-1.348509 0.74563,-3.8e-5 1.34867,0.603006 1.34827,1.348276 1.5e-4,0.744736 -0.60246,1.348054 -1.34839,1.348626 -0.74473,-7e-5 -1.34792,-0.603737 -1.34839,-1.348393 z m -13.38686,0.539546 c 3e-5,-0.08865 0.0372,-0.170172 0.095,-0.227922 0.0578,-0.05777 0.1393,-0.09499 0.22793,-0.09499 l 7.52089,0.0011 c 0.008,0.217554 0.0318,0.431578 0.0703,0.642947 l -7.59212,7.63e-4 c -0.17725,5e-6 -0.32194,-0.144681 -0.32197,-0.321898 z"
|
||||||
|
id="path4600-8-0-6-5-1" />
|
||||||
|
<path
|
||||||
|
style="fill:#008000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="M 86.603303,70.75237 C 86.527853,70.68824 86.4299,70.652081 86.328734,70.65316 h -8.838057 c -0.235714,-0.583441 -0.5875,-1.118749 -1.045896,-1.577145 -0.895819,-0.89582 -2.0881,-1.389296 -3.354486,-1.39088 -1.26604,6.02e-4 -2.457373,0.493837 -3.353723,1.390187 -0.896767,0.896767 -1.388432,2.086771 -1.389649,3.354217 -7.14e-4,2.616882 2.126624,4.744757 4.743457,4.743852 1.268733,1.42e-4 2.459253,-0.491545 3.355561,-1.387852 0.458495,-0.458495 0.808449,-0.993471 1.044891,-1.578121 l 2.904569,0.0011 c 0.119925,-7.07e-4 0.231372,-0.04871 0.314493,-0.13749 l 0.763357,-0.818936 0.767168,0.81907 c 0.08155,0.08579 0.192871,0.137292 0.313036,0.13626 0.117875,0.0012 0.232426,-0.04858 0.312307,-0.135304 l 0.766978,-0.821142 0.763746,0.820739 c 0.08156,0.0858 0.19502,0.135623 0.31293,0.13686 0.119855,-7.78e-4 0.222322,-0.03918 0.31462,-0.137362 l 0.765076,-0.819099 0.765839,0.818872 c 0.08297,0.09287 0.204721,0.140092 0.32763,0.137179 0.110663,-0.0053 0.21137,-0.0492 0.287581,-0.125412 0.01061,-0.01061 0.02169,-0.02257 0.03125,-0.0355 l 1.079724,-1.349485 c 0.146244,-0.182024 0.119274,-0.448037 -0.05931,-0.598432 z m -14.322469,1.677547 c -4.03e-4,0.745736 -0.603551,1.348884 -1.348509,1.348509 -0.745637,3.5e-5 -1.348686,-0.603013 -1.348283,-1.348283 -1.48e-4,-0.744732 0.602462,-1.348049 1.348396,-1.348622 0.744725,7.1e-5 1.347923,0.603735 1.348396,1.348396 z m 13.386848,-0.53955 c 0,0.08867 -0.03724,0.170172 -0.09499,0.227922 -0.05777,0.05777 -0.139279,0.09501 -0.227922,0.09498 l -7.520894,-0.0011 c -0.0083,-0.217556 -0.03183,-0.431575 -0.07029,-0.642944 l 7.59212,-7.63e-4 c 0.17725,-7e-6 0.321939,0.144681 0.321968,0.321896 z"
|
||||||
|
id="path4600-8-0-6-5-1-3" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="53.498283"
|
||||||
|
y="92.02301"
|
||||||
|
id="text4813"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4811"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="53.498283"
|
||||||
|
y="92.02301">Key metadata:</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="53.498283"
|
||||||
|
y="96.432732"
|
||||||
|
id="tspan2109">- creation time,</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="53.498283"
|
||||||
|
y="100.84246"
|
||||||
|
id="tspan2111">- ...</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="53.498283"
|
||||||
|
y="105.25218"
|
||||||
|
id="tspan2137" /><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="53.498283"
|
||||||
|
y="109.66191"
|
||||||
|
id="tspan2143" /></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="81.350624"
|
||||||
|
y="70.000832"
|
||||||
|
id="text4813-36"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="81.350624"
|
||||||
|
y="70.000832"
|
||||||
|
id="tspan2143-6">P</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="54.005997"
|
||||||
|
y="105.97649"
|
||||||
|
id="text4813-3"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="54.005997"
|
||||||
|
y="105.97649"
|
||||||
|
id="tspan2143-5">OpenPGP primary key</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="54.005997"
|
||||||
|
y="109.50426"
|
||||||
|
id="tspan5177">(for certification)</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.235175;stroke-dasharray:none;stroke-opacity:0.3512"
|
||||||
|
id="rect6679-4"
|
||||||
|
width="33.105106"
|
||||||
|
height="36.933998"
|
||||||
|
x="51.875549"
|
||||||
|
y="65.866409" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82223px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;stroke:#000000;stroke-width:0.176389;stroke-opacity:0.3512"
|
||||||
|
x="66.635132"
|
||||||
|
y="110.99274"
|
||||||
|
id="text2347"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan2345"
|
||||||
|
style="stroke-width:0.176389"
|
||||||
|
x="66.635132"
|
||||||
|
y="110.99274" /></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-0)"
|
||||||
|
d="m 68.553642,110.69434 c 0.121664,8.25932 -0.05156,0.0126 0.107487,8.28619"
|
||||||
|
id="path3976-5"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<g
|
||||||
|
id="g19442">
|
||||||
|
<rect
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:none;stroke-width:0.147417;stroke-opacity:0.3512"
|
||||||
|
id="rect2546-3"
|
||||||
|
width="54.054058"
|
||||||
|
height="5.4977317"
|
||||||
|
x="16.553804"
|
||||||
|
y="125.24386" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="17.107042"
|
||||||
|
y="128.98119"
|
||||||
|
id="text4813-35"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="17.107042"
|
||||||
|
y="128.98119"
|
||||||
|
id="tspan9025">Alice Adams <alice@example.org></tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="16.538736"
|
||||||
|
y="134.52568"
|
||||||
|
id="text4813-35-2"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="16.538736"
|
||||||
|
y="134.52568"
|
||||||
|
id="tspan9025-2">User ID</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.16934;stroke-dasharray:none;stroke-opacity:0.3512"
|
||||||
|
id="rect6679-4-6"
|
||||||
|
width="56.539513"
|
||||||
|
height="11.212705"
|
||||||
|
x="15.451391"
|
||||||
|
y="120.25421" />
|
||||||
|
<g
|
||||||
|
id="g11871"
|
||||||
|
transform="matrix(0.05392035,0,0,0.05392035,59.679602,115.74887)">
|
||||||
|
<ellipse
|
||||||
|
style="fill:#000000;fill-opacity:0.432801;stroke-width:0.243201;stroke-opacity:0.3512"
|
||||||
|
id="path9757"
|
||||||
|
cx="84.206947"
|
||||||
|
cy="117.79834"
|
||||||
|
rx="10.803358"
|
||||||
|
ry="11.21476" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0.432801;stroke-width:0.139965;stroke-opacity:0.3512"
|
||||||
|
id="path9759"
|
||||||
|
sodipodi:type="arc"
|
||||||
|
sodipodi:cx="84.169518"
|
||||||
|
sodipodi:cy="-157.47643"
|
||||||
|
sodipodi:rx="17.407534"
|
||||||
|
sodipodi:ry="26.700191"
|
||||||
|
sodipodi:start="0.01016064"
|
||||||
|
sodipodi:end="3.1394051"
|
||||||
|
sodipodi:arc-type="slice"
|
||||||
|
d="m 101.57615,-157.20514 a 17.407534,26.700191 0 0 1 -17.476028,26.42869 17.407534,26.700191 0 0 1 -17.338096,-26.64157 l 17.407492,-0.0584 z"
|
||||||
|
transform="scale(1,-1)" />
|
||||||
|
<path
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:#000000;stroke-width:1.22006;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 104.01106,119.93492 h 87.07965"
|
||||||
|
id="path10178" />
|
||||||
|
<path
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:#000000;stroke-width:1.22006;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 103.90737,134.8412 h 87.07966"
|
||||||
|
id="path10178-0" />
|
||||||
|
<path
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:#000000;stroke-width:1.22006;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 103.96034,150.02655 h 87.07965"
|
||||||
|
id="path10178-6" />
|
||||||
|
<rect
|
||||||
|
style="fill:none;fill-opacity:0.432801;stroke:#000000;stroke-width:1;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect11055"
|
||||||
|
width="136.65607"
|
||||||
|
height="67.157036"
|
||||||
|
x="62.940102"
|
||||||
|
y="96.653297" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="94.823761"
|
||||||
|
y="82.180534"
|
||||||
|
id="text4813-3-6"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="94.823761"
|
||||||
|
y="82.180534"
|
||||||
|
id="tspan2143-5-0"> Primary key</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="94.823761"
|
||||||
|
y="85.708313"
|
||||||
|
id="tspan13837"> creates a</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="94.823761"
|
||||||
|
y="89.236084"
|
||||||
|
id="tspan13839"> signature</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="94.823761"
|
||||||
|
y="92.763863"
|
||||||
|
id="tspan13841"> to associate</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="94.823761"
|
||||||
|
y="96.291634"
|
||||||
|
id="tspan18684"> the User ID</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="94.823761"
|
||||||
|
y="99.819412"
|
||||||
|
id="tspan18686"> with itself</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="85.173096"
|
||||||
|
y="163.16611"
|
||||||
|
id="text4813-3-7-3"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="85.173096"
|
||||||
|
y="163.16611"
|
||||||
|
id="tspan602-7">Certification for User ID</tspan></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-0-0)"
|
||||||
|
d="m 82.546006,121.30183 c -8.633736,3.32714 -0.18306,0.0128 -9.043454,3.61437"
|
||||||
|
id="path3976-5-3"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#fe0700;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-0-59422)"
|
||||||
|
d="M 86.003171,75.510639 C 93.077122,75.7709 98.387082,82.8893 98.039172,109.26913"
|
||||||
|
id="path3976-5-5"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<rect
|
||||||
|
style="font-variation-settings:'wght' 700;fill:#fdfec4;fill-opacity:1;stroke:#000000;stroke-width:0.284444;stroke-dasharray:none"
|
||||||
|
id="rect481"
|
||||||
|
width="50.312313"
|
||||||
|
height="49.749325"
|
||||||
|
x="83.159416"
|
||||||
|
y="110.43027" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="11.694376"
|
||||||
|
y="114.16642"
|
||||||
|
id="text4813-3-2"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="11.694376"
|
||||||
|
y="114.16642"
|
||||||
|
id="tspan17565">This arrow is actually a shorthand for the</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="11.694376"
|
||||||
|
y="117.6942"
|
||||||
|
id="tspan20866">certification signature shown on the right</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="84.29808"
|
||||||
|
y="114.02528"
|
||||||
|
id="text4813-35-6"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4811-6-2"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="84.29808"
|
||||||
|
y="114.02528">Metadata associated</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="84.29808"
|
||||||
|
y="118.43501"
|
||||||
|
id="tspan14771">with this Signature:</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="84.29808"
|
||||||
|
y="122.84473"
|
||||||
|
id="tspan14773" /><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="84.29808"
|
||||||
|
y="127.25446"
|
||||||
|
id="tspan14777">- creation time</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="84.29808"
|
||||||
|
y="131.66418"
|
||||||
|
id="tspan19941">- algorithm preferences</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="84.29808"
|
||||||
|
y="136.07391"
|
||||||
|
id="tspan13456">- key expiration time</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="84.29808"
|
||||||
|
y="140.48363"
|
||||||
|
id="tspan2111-9-1">- "Primary User ID" flag</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="84.29808"
|
||||||
|
y="144.89336"
|
||||||
|
id="tspan19939" /><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="84.29808"
|
||||||
|
y="149.30309"
|
||||||
|
id="tspan19937">- primary key flags</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="84.29808"
|
||||||
|
y="153.71281"
|
||||||
|
id="tspan19943">- primary key expiration time</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="84.29808"
|
||||||
|
y="158.12253"
|
||||||
|
id="tspan19935">- ...</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="84.29808"
|
||||||
|
y="162.53226"
|
||||||
|
id="tspan2137-1-2" /><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="84.29808"
|
||||||
|
y="166.94199"
|
||||||
|
id="tspan2143-2-7" /></text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 33 KiB |
BIN
book/source/diag/with_subkeys.png
Normal file
After Width: | Height: | Size: 45 KiB |
340
book/source/diag/with_subkeys.svg
Normal file
|
@ -0,0 +1,340 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="86.121002mm"
|
||||||
|
height="101.69mm"
|
||||||
|
viewBox="-2 -2 86.121001 101.69"
|
||||||
|
version="1.1"
|
||||||
|
id="svg895"
|
||||||
|
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||||
|
sodipodi:docname="with_subkeys.svg"
|
||||||
|
inkscape:export-filename="primary_key.png"
|
||||||
|
inkscape:export-xdpi="128"
|
||||||
|
inkscape:export-ydpi="128"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview897"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="1"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="1.8505398"
|
||||||
|
inkscape:cx="10.537466"
|
||||||
|
inkscape:cy="156.71103"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1055"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showguides="true" />
|
||||||
|
<defs
|
||||||
|
id="defs892">
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Lend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Lend-0"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<path
|
||||||
|
id="path1061-4"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
<marker
|
||||||
|
inkscape:stockid="Arrow1Lend"
|
||||||
|
orient="auto"
|
||||||
|
refY="0"
|
||||||
|
refX="0"
|
||||||
|
id="Arrow1Lend-0-6"
|
||||||
|
style="overflow:visible"
|
||||||
|
inkscape:isstock="true"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<path
|
||||||
|
id="path1061-4-8"
|
||||||
|
d="M 0,0 5,-5 -12.5,0 5,5 Z"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
|
||||||
|
transform="matrix(-0.8,0,0,-0.8,-10,0)"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</marker>
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-45.108357,-65.748822)">
|
||||||
|
<rect
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:none;stroke-width:0.172657;stroke-opacity:0.3512"
|
||||||
|
id="rect2546"
|
||||||
|
width="30.925091"
|
||||||
|
height="13.18159"
|
||||||
|
x="70.936729"
|
||||||
|
y="88.572426" />
|
||||||
|
<g
|
||||||
|
id="g7046"
|
||||||
|
transform="translate(5.4823185,1.7959585)">
|
||||||
|
<path
|
||||||
|
style="fill:#ff0000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 75.253469,81.470864 c 0.0754,0.06411 0.17341,0.100291 0.27457,0.09921 h 8.83806 c 0.23572,0.583443 0.5875,1.118749 1.04589,1.577143 0.89582,0.895822 2.08811,1.389303 3.35449,1.390882 1.26604,-6.02e-4 2.45738,-0.493834 3.35373,-1.390184 0.89676,-0.896767 1.38843,-2.086771 1.38964,-3.354222 7.2e-4,-2.616875 -2.12662,-4.744757 -4.74345,-4.743848 -1.26874,-1.44e-4 -2.45926,0.491543 -3.35556,1.38785 -0.4585,0.458495 -0.80845,0.993473 -1.0449,1.578121 l -2.90456,-0.0011 c -0.11995,6.86e-4 -0.23138,0.04871 -0.3145,0.137487 l -0.76334,0.818953 -0.76716,-0.819066 c -0.0816,-0.0858 -0.19287,-0.137296 -0.31303,-0.136259 -0.11786,-0.0012 -0.23243,0.04858 -0.31232,0.1353 l -0.76695,0.821163 -0.76375,-0.820739 c -0.0815,-0.0858 -0.19502,-0.135624 -0.31293,-0.13686 -0.11983,7.99e-4 -0.22232,0.03918 -0.31462,0.137367 l -0.76509,0.819077 -0.76585,-0.818876 c -0.083,-0.09287 -0.20472,-0.140091 -0.32762,-0.137177 -0.11067,0.0053 -0.21137,0.0492 -0.28758,0.125416 -0.0106,0.01061 -0.0217,0.02257 -0.031,0.03571 l -1.07973,1.349484 c -0.14622,0.182044 -0.11927,0.448035 0.0593,0.598427 z m 14.32248,-1.677542 c 4e-4,-0.745739 0.60354,-1.348887 1.34851,-1.348509 0.74563,-3.8e-5 1.34867,0.603006 1.34827,1.348276 1.5e-4,0.744736 -0.60246,1.348054 -1.34839,1.348626 -0.74473,-7e-5 -1.34792,-0.603737 -1.34839,-1.348393 z m -13.38686,0.539546 c 3e-5,-0.08865 0.0372,-0.170172 0.095,-0.227922 0.0578,-0.05777 0.1393,-0.09499 0.22793,-0.09499 l 7.52089,0.0011 c 0.008,0.217554 0.0318,0.431578 0.0703,0.642947 l -7.59212,7.63e-4 c -0.17725,5e-6 -0.32194,-0.144681 -0.32197,-0.321898 z"
|
||||||
|
id="path4600-8-0-6-5-1" />
|
||||||
|
<path
|
||||||
|
style="fill:#008000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="M 86.603303,70.75237 C 86.527853,70.68824 86.4299,70.652081 86.328734,70.65316 h -8.838057 c -0.235714,-0.583441 -0.5875,-1.118749 -1.045896,-1.577145 -0.895819,-0.89582 -2.0881,-1.389296 -3.354486,-1.39088 -1.26604,6.02e-4 -2.457373,0.493837 -3.353723,1.390187 -0.896767,0.896767 -1.388432,2.086771 -1.389649,3.354217 -7.14e-4,2.616882 2.126624,4.744757 4.743457,4.743852 1.268733,1.42e-4 2.459253,-0.491545 3.355561,-1.387852 0.458495,-0.458495 0.808449,-0.993471 1.044891,-1.578121 l 2.904569,0.0011 c 0.119925,-7.07e-4 0.231372,-0.04871 0.314493,-0.13749 l 0.763357,-0.818936 0.767168,0.81907 c 0.08155,0.08579 0.192871,0.137292 0.313036,0.13626 0.117875,0.0012 0.232426,-0.04858 0.312307,-0.135304 l 0.766978,-0.821142 0.763746,0.820739 c 0.08156,0.0858 0.19502,0.135623 0.31293,0.13686 0.119855,-7.78e-4 0.222322,-0.03918 0.31462,-0.137362 l 0.765076,-0.819099 0.765839,0.818872 c 0.08297,0.09287 0.204721,0.140092 0.32763,0.137179 0.110663,-0.0053 0.21137,-0.0492 0.287581,-0.125412 0.01061,-0.01061 0.02169,-0.02257 0.03125,-0.0355 l 1.079724,-1.349485 c 0.146244,-0.182024 0.119274,-0.448037 -0.05931,-0.598432 z m -14.322469,1.677547 c -4.03e-4,0.745736 -0.603551,1.348884 -1.348509,1.348509 -0.745637,3.5e-5 -1.348686,-0.603013 -1.348283,-1.348283 -1.48e-4,-0.744732 0.602462,-1.348049 1.348396,-1.348622 0.744725,7.1e-5 1.347923,0.603735 1.348396,1.348396 z m 13.386848,-0.53955 c 0,0.08867 -0.03724,0.170172 -0.09499,0.227922 -0.05777,0.05777 -0.139279,0.09501 -0.227922,0.09498 l -7.520894,-0.0011 c -0.0083,-0.217556 -0.03183,-0.431575 -0.07029,-0.642944 l 7.59212,-7.63e-4 c 0.17725,-7e-6 0.321939,0.144681 0.321968,0.321896 z"
|
||||||
|
id="path4600-8-0-6-5-1-3" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="92.02301"
|
||||||
|
id="text4813"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4811"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="92.02301">Key metadata:</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="96.432732"
|
||||||
|
id="tspan2109">- creation time,</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="100.84246"
|
||||||
|
id="tspan2111">- ...</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="105.25218"
|
||||||
|
id="tspan2137" /><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.489967"
|
||||||
|
y="109.66191"
|
||||||
|
id="tspan2143" /></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.997681"
|
||||||
|
y="105.97649"
|
||||||
|
id="text4813-3"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.997681"
|
||||||
|
y="105.97649"
|
||||||
|
id="tspan2143-5">OpenPGP primary key</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="71.997681"
|
||||||
|
y="109.50426"
|
||||||
|
id="tspan5177">(for certification)</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.235175;stroke-dasharray:none;stroke-opacity:0.3512"
|
||||||
|
id="rect6679-4"
|
||||||
|
width="33.105106"
|
||||||
|
height="36.933998"
|
||||||
|
x="69.867233"
|
||||||
|
y="65.866409" />
|
||||||
|
<rect
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:none;stroke-width:0.172657;stroke-opacity:0.3512"
|
||||||
|
id="rect2546-3"
|
||||||
|
width="30.925091"
|
||||||
|
height="13.18159"
|
||||||
|
x="46.295441"
|
||||||
|
y="142.07599" />
|
||||||
|
<g
|
||||||
|
id="g7046-6"
|
||||||
|
transform="translate(-19.158942,55.299763)">
|
||||||
|
<path
|
||||||
|
style="fill:#ff0000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 75.253469,81.470864 c 0.0754,0.06411 0.17341,0.100291 0.27457,0.09921 h 8.83806 c 0.23572,0.583443 0.5875,1.118749 1.04589,1.577143 0.89582,0.895822 2.08811,1.389303 3.35449,1.390882 1.26604,-6.02e-4 2.45738,-0.493834 3.35373,-1.390184 0.89676,-0.896767 1.38843,-2.086771 1.38964,-3.354222 7.2e-4,-2.616875 -2.12662,-4.744757 -4.74345,-4.743848 -1.26874,-1.44e-4 -2.45926,0.491543 -3.35556,1.38785 -0.4585,0.458495 -0.80845,0.993473 -1.0449,1.578121 l -2.90456,-0.0011 c -0.11995,6.86e-4 -0.23138,0.04871 -0.3145,0.137487 l -0.76334,0.818953 -0.76716,-0.819066 c -0.0816,-0.0858 -0.19287,-0.137296 -0.31303,-0.136259 -0.11786,-0.0012 -0.23243,0.04858 -0.31232,0.1353 l -0.76695,0.821163 -0.76375,-0.820739 c -0.0815,-0.0858 -0.19502,-0.135624 -0.31293,-0.13686 -0.11983,7.99e-4 -0.22232,0.03918 -0.31462,0.137367 l -0.76509,0.819077 -0.76585,-0.818876 c -0.083,-0.09287 -0.20472,-0.140091 -0.32762,-0.137177 -0.11067,0.0053 -0.21137,0.0492 -0.28758,0.125416 -0.0106,0.01061 -0.0217,0.02257 -0.031,0.03571 l -1.07973,1.349484 c -0.14622,0.182044 -0.11927,0.448035 0.0593,0.598427 z m 14.32248,-1.677542 c 4e-4,-0.745739 0.60354,-1.348887 1.34851,-1.348509 0.74563,-3.8e-5 1.34867,0.603006 1.34827,1.348276 1.5e-4,0.744736 -0.60246,1.348054 -1.34839,1.348626 -0.74473,-7e-5 -1.34792,-0.603737 -1.34839,-1.348393 z m -13.38686,0.539546 c 3e-5,-0.08865 0.0372,-0.170172 0.095,-0.227922 0.0578,-0.05777 0.1393,-0.09499 0.22793,-0.09499 l 7.52089,0.0011 c 0.008,0.217554 0.0318,0.431578 0.0703,0.642947 l -7.59212,7.63e-4 c -0.17725,5e-6 -0.32194,-0.144681 -0.32197,-0.321898 z"
|
||||||
|
id="path4600-8-0-6-5-1-7" />
|
||||||
|
<path
|
||||||
|
style="fill:#008000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="M 86.603303,70.75237 C 86.527853,70.68824 86.4299,70.652081 86.328734,70.65316 h -8.838057 c -0.235714,-0.583441 -0.5875,-1.118749 -1.045896,-1.577145 -0.895819,-0.89582 -2.0881,-1.389296 -3.354486,-1.39088 -1.26604,6.02e-4 -2.457373,0.493837 -3.353723,1.390187 -0.896767,0.896767 -1.388432,2.086771 -1.389649,3.354217 -7.14e-4,2.616882 2.126624,4.744757 4.743457,4.743852 1.268733,1.42e-4 2.459253,-0.491545 3.355561,-1.387852 0.458495,-0.458495 0.808449,-0.993471 1.044891,-1.578121 l 2.904569,0.0011 c 0.119925,-7.07e-4 0.231372,-0.04871 0.314493,-0.13749 l 0.763357,-0.818936 0.767168,0.81907 c 0.08155,0.08579 0.192871,0.137292 0.313036,0.13626 0.117875,0.0012 0.232426,-0.04858 0.312307,-0.135304 l 0.766978,-0.821142 0.763746,0.820739 c 0.08156,0.0858 0.19502,0.135623 0.31293,0.13686 0.119855,-7.78e-4 0.222322,-0.03918 0.31462,-0.137362 l 0.765076,-0.819099 0.765839,0.818872 c 0.08297,0.09287 0.204721,0.140092 0.32763,0.137179 0.110663,-0.0053 0.21137,-0.0492 0.287581,-0.125412 0.01061,-0.01061 0.02169,-0.02257 0.03125,-0.0355 l 1.079724,-1.349485 c 0.146244,-0.182024 0.119274,-0.448037 -0.05931,-0.598432 z m -14.322469,1.677547 c -4.03e-4,0.745736 -0.603551,1.348884 -1.348509,1.348509 -0.745637,3.5e-5 -1.348686,-0.603013 -1.348283,-1.348283 -1.48e-4,-0.744732 0.602462,-1.348049 1.348396,-1.348622 0.744725,7.1e-5 1.347923,0.603735 1.348396,1.348396 z m 13.386848,-0.53955 c 0,0.08867 -0.03724,0.170172 -0.09499,0.227922 -0.05777,0.05777 -0.139279,0.09501 -0.227922,0.09498 l -7.520894,-0.0011 c -0.0083,-0.217556 -0.03183,-0.431575 -0.07029,-0.642944 l 7.59212,-7.63e-4 c 0.17725,-7e-6 0.321939,0.144681 0.321968,0.321896 z"
|
||||||
|
id="path4600-8-0-6-5-1-3-5" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.848679"
|
||||||
|
y="145.52655"
|
||||||
|
id="text4813-35"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4811-6"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.848679"
|
||||||
|
y="145.52655">Key metadata:</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.848679"
|
||||||
|
y="149.93628"
|
||||||
|
id="tspan2109-2">- creation time,</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.848679"
|
||||||
|
y="154.34599"
|
||||||
|
id="tspan2111-9">- ...</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.848679"
|
||||||
|
y="158.75572"
|
||||||
|
id="tspan2137-1" /><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="46.848679"
|
||||||
|
y="163.16545"
|
||||||
|
id="tspan2143-2" /></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="49.445145"
|
||||||
|
y="159.2339"
|
||||||
|
id="text4813-3-7"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="49.445145"
|
||||||
|
y="159.2339"
|
||||||
|
id="tspan2143-5-3">OpenPGP subkey</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="49.445145"
|
||||||
|
y="162.76167"
|
||||||
|
id="tspan602">(for encryption)</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.235175;stroke-dasharray:none;stroke-opacity:0.3512"
|
||||||
|
id="rect6679-4-6"
|
||||||
|
width="33.105106"
|
||||||
|
height="36.933998"
|
||||||
|
x="45.225945"
|
||||||
|
y="119.37022" />
|
||||||
|
<rect
|
||||||
|
style="fill:#0f6cdb;fill-opacity:0.432801;stroke:none;stroke-width:0.172657;stroke-opacity:0.3512"
|
||||||
|
id="rect2546-3-0"
|
||||||
|
width="30.925091"
|
||||||
|
height="13.18159"
|
||||||
|
x="95.076401"
|
||||||
|
y="142.03979" />
|
||||||
|
<g
|
||||||
|
id="g7046-6-6"
|
||||||
|
transform="translate(29.621986,55.263456)">
|
||||||
|
<path
|
||||||
|
style="fill:#ff0000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 75.253469,81.470864 c 0.0754,0.06411 0.17341,0.100291 0.27457,0.09921 h 8.83806 c 0.23572,0.583443 0.5875,1.118749 1.04589,1.577143 0.89582,0.895822 2.08811,1.389303 3.35449,1.390882 1.26604,-6.02e-4 2.45738,-0.493834 3.35373,-1.390184 0.89676,-0.896767 1.38843,-2.086771 1.38964,-3.354222 7.2e-4,-2.616875 -2.12662,-4.744757 -4.74345,-4.743848 -1.26874,-1.44e-4 -2.45926,0.491543 -3.35556,1.38785 -0.4585,0.458495 -0.80845,0.993473 -1.0449,1.578121 l -2.90456,-0.0011 c -0.11995,6.86e-4 -0.23138,0.04871 -0.3145,0.137487 l -0.76334,0.818953 -0.76716,-0.819066 c -0.0816,-0.0858 -0.19287,-0.137296 -0.31303,-0.136259 -0.11786,-0.0012 -0.23243,0.04858 -0.31232,0.1353 l -0.76695,0.821163 -0.76375,-0.820739 c -0.0815,-0.0858 -0.19502,-0.135624 -0.31293,-0.13686 -0.11983,7.99e-4 -0.22232,0.03918 -0.31462,0.137367 l -0.76509,0.819077 -0.76585,-0.818876 c -0.083,-0.09287 -0.20472,-0.140091 -0.32762,-0.137177 -0.11067,0.0053 -0.21137,0.0492 -0.28758,0.125416 -0.0106,0.01061 -0.0217,0.02257 -0.031,0.03571 l -1.07973,1.349484 c -0.14622,0.182044 -0.11927,0.448035 0.0593,0.598427 z m 14.32248,-1.677542 c 4e-4,-0.745739 0.60354,-1.348887 1.34851,-1.348509 0.74563,-3.8e-5 1.34867,0.603006 1.34827,1.348276 1.5e-4,0.744736 -0.60246,1.348054 -1.34839,1.348626 -0.74473,-7e-5 -1.34792,-0.603737 -1.34839,-1.348393 z m -13.38686,0.539546 c 3e-5,-0.08865 0.0372,-0.170172 0.095,-0.227922 0.0578,-0.05777 0.1393,-0.09499 0.22793,-0.09499 l 7.52089,0.0011 c 0.008,0.217554 0.0318,0.431578 0.0703,0.642947 l -7.59212,7.63e-4 c -0.17725,5e-6 -0.32194,-0.144681 -0.32197,-0.321898 z"
|
||||||
|
id="path4600-8-0-6-5-1-7-2" />
|
||||||
|
<path
|
||||||
|
style="fill:#008000;stroke-width:0.055678"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="M 86.603303,70.75237 C 86.527853,70.68824 86.4299,70.652081 86.328734,70.65316 h -8.838057 c -0.235714,-0.583441 -0.5875,-1.118749 -1.045896,-1.577145 -0.895819,-0.89582 -2.0881,-1.389296 -3.354486,-1.39088 -1.26604,6.02e-4 -2.457373,0.493837 -3.353723,1.390187 -0.896767,0.896767 -1.388432,2.086771 -1.389649,3.354217 -7.14e-4,2.616882 2.126624,4.744757 4.743457,4.743852 1.268733,1.42e-4 2.459253,-0.491545 3.355561,-1.387852 0.458495,-0.458495 0.808449,-0.993471 1.044891,-1.578121 l 2.904569,0.0011 c 0.119925,-7.07e-4 0.231372,-0.04871 0.314493,-0.13749 l 0.763357,-0.818936 0.767168,0.81907 c 0.08155,0.08579 0.192871,0.137292 0.313036,0.13626 0.117875,0.0012 0.232426,-0.04858 0.312307,-0.135304 l 0.766978,-0.821142 0.763746,0.820739 c 0.08156,0.0858 0.19502,0.135623 0.31293,0.13686 0.119855,-7.78e-4 0.222322,-0.03918 0.31462,-0.137362 l 0.765076,-0.819099 0.765839,0.818872 c 0.08297,0.09287 0.204721,0.140092 0.32763,0.137179 0.110663,-0.0053 0.21137,-0.0492 0.287581,-0.125412 0.01061,-0.01061 0.02169,-0.02257 0.03125,-0.0355 l 1.079724,-1.349485 c 0.146244,-0.182024 0.119274,-0.448037 -0.05931,-0.598432 z m -14.322469,1.677547 c -4.03e-4,0.745736 -0.603551,1.348884 -1.348509,1.348509 -0.745637,3.5e-5 -1.348686,-0.603013 -1.348283,-1.348283 -1.48e-4,-0.744732 0.602462,-1.348049 1.348396,-1.348622 0.744725,7.1e-5 1.347923,0.603735 1.348396,1.348396 z m 13.386848,-0.53955 c 0,0.08867 -0.03724,0.170172 -0.09499,0.227922 -0.05777,0.05777 -0.139279,0.09501 -0.227922,0.09498 l -7.520894,-0.0011 c -0.0083,-0.217556 -0.03183,-0.431575 -0.07029,-0.642944 l 7.59212,-7.63e-4 c 0.17725,-7e-6 0.321939,0.144681 0.321968,0.321896 z"
|
||||||
|
id="path4600-8-0-6-5-1-3-5-6" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="95.629639"
|
||||||
|
y="145.49036"
|
||||||
|
id="text4813-35-1"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan4811-6-8"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="95.629639"
|
||||||
|
y="145.49036">Key metadata:</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="95.629639"
|
||||||
|
y="149.90009"
|
||||||
|
id="tspan2109-2-7">- creation time,</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="95.629639"
|
||||||
|
y="154.3098"
|
||||||
|
id="tspan2111-9-9">- ...</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.52778px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="95.629639"
|
||||||
|
y="158.71953"
|
||||||
|
id="tspan2137-1-2" /><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="95.629639"
|
||||||
|
y="163.12926"
|
||||||
|
id="tspan2143-2-0" /></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="98.213715"
|
||||||
|
y="159.16896"
|
||||||
|
id="text4813-3-7-2"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="98.213715"
|
||||||
|
y="159.16896"
|
||||||
|
id="tspan2143-5-3-5">OpenPGP subkey</tspan><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82222px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="98.213715"
|
||||||
|
y="162.69673"
|
||||||
|
id="tspan604">(for signing)</tspan></text>
|
||||||
|
<rect
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.235175;stroke-dasharray:none;stroke-opacity:0.3512"
|
||||||
|
id="rect6679-4-6-9"
|
||||||
|
width="33.105106"
|
||||||
|
height="36.933998"
|
||||||
|
x="94.006905"
|
||||||
|
y="119.33395" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.82223px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#ffffff;stroke:#000000;stroke-width:0.176389;stroke-opacity:0.3512"
|
||||||
|
x="66.635132"
|
||||||
|
y="110.99274"
|
||||||
|
id="text2347"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan2345"
|
||||||
|
style="stroke-width:0.176389"
|
||||||
|
x="66.635132"
|
||||||
|
y="110.99274" /></text>
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-0)"
|
||||||
|
d="m 74.887155,110.66576 c -5.208608,8.22393 -0.03208,0.0461 -5.247912,8.19478"
|
||||||
|
id="path3976-5"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend-0-6)"
|
||||||
|
d="m 94.579553,110.65736 c 5.2086,8.22393 0.0321,0.0461 5.24791,8.19478"
|
||||||
|
id="path3976-5-9"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="99.450737"
|
||||||
|
y="69.89624"
|
||||||
|
id="text4813-36"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Courier 10 Pitch';-inkscape-font-specification:'Courier 10 Pitch, @wght=700';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;font-variation-settings:'wght' 700;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
x="99.450737"
|
||||||
|
y="69.89624"
|
||||||
|
id="tspan2143-6">P</tspan></text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 31 KiB |
31
book/source/index.rst
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
Notes on OpenPGP
|
||||||
|
================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:numbered:
|
||||||
|
:maxdepth: 3
|
||||||
|
|
||||||
|
01-intro.md
|
||||||
|
02-goals.md
|
||||||
|
03-highlevel.md
|
||||||
|
04-certs.md
|
||||||
|
05-private.md
|
||||||
|
06-signatures.md
|
||||||
|
07-signature_internals.md
|
||||||
|
08-verification.md
|
||||||
|
09-encryption.md
|
||||||
|
10-decryption.md
|
||||||
|
11-armor.md
|
||||||
|
12-pitfalls.md
|
||||||
|
13-policy.md
|
||||||
|
14-resources.md
|
||||||
|
15-glossary.md
|
||||||
|
16-acknowledgements.md
|
||||||
|
|
||||||
|
|
||||||
|
Indices and tables
|
||||||
|
==================
|
||||||
|
|
||||||
|
* :ref:`genindex`
|
||||||
|
* :ref:`modindex`
|
||||||
|
* :ref:`search`
|