fix pep-email to compile incl updating asciiarts and .mkd to follow convention:

- no fence lines "~~~" in imported graphics file
- always use {::include ../shared/fence-line.mkd} instead of "~~~"
master
Bernie Hoeneisen 3 years ago
parent 6c29a6ec85
commit e1008c1b33

@ -12,7 +12,6 @@ all: $(OUTPUTS)
$(DRAFT).xml: $(NAME).mkd \
../shared/author_tags/hernani_marques.mkd \
../shared/author_tags/claudio_luck.mkd \
../shared/references/isoc-btn.mkd \
../shared/references/implementation-status.mkd \
../shared/ascii-arts/basic-msg-flow.mkd \
@ -23,8 +22,23 @@ $(DRAFT).xml: $(NAME).mkd \
../shared/text-blocks/tofu.mkd \
../shared/text-blocks/mitm.mkd \
../shared/text-blocks/implementation-status.mkd \
../shared/fence-line.mkd \
artwork/msg-diagram-1.mkd \
artwork/msg-diagram-2.mkd \
artwork/msg-diagram-3.mkd \
artwork/msg-rendering.mkd \
examples/msg-part-decrypted-compat.mkd \
examples/msg-part-decrypted-pef-2-0.mkd \
examples/msg-part-decrypted-pef-2-1_compat-2-0.mkd \
examples/msg-part-decrypted-pef-2-1.mkd \
examples/pef-0.mkd \
examples/pef-1_old.mkd \
examples/pef-1-text-payload.mkd \
examples/pef-2-1.mkd \
examples/pef-2.mkd \
# ../shared/author_tags/bernie_hoeneisen.mkd \
# ../shared/author_tags/volker_birk.mkd \
#../shared/author_tags/claudio_luck.mkd \
# ../shared/ascii-arts/pep_id_system.mkd \
# to match backslash at the end of the previous line
kramdown-rfc2629 $(NAME).mkd > $(DRAFT).xml

@ -1,4 +1,3 @@
~~~~
+--Transport-----------------+
| Hdrs T |
/- - - - - - - - - - - - - > To:, Cc: |
@ -39,4 +38,3 @@
| +======================+ |
| |
+----------------------------+
~~~~

@ -1,4 +1,4 @@
~~~~
+==Container===========+
& EntHdr K &
& &
@ -51,4 +51,4 @@
/ : /
| : |
+----------------+
~~~~

@ -1,4 +1,3 @@
~~~~
+-"Near" Transport----+
| To: "Bobs Corp" |
+-"Far" Transport--+ | Subject: pEp |
@ -16,4 +15,3 @@
+------------------+ | &\\\\\\\\\\\\\\\\\& |
| +=================+ |
+---------------------+
~~~~

@ -1,4 +1,3 @@
~~~~
+--------------+----------------+--------------------------+
| Message | Error State | Status Code |
| Format | | |
@ -15,4 +14,3 @@
| 2.0 | Signed, no key | MODIFICATION_DETECTED |
| | Bad signature | SIGNATURE_DOES_NOT_MATCH |
+--------------+----------------+--------------------------+
~~~~

@ -11,11 +11,11 @@ pi: [toc, sortrefs, symrefs, comments]
author:
{::include ../shared/author_tags/hernani_marques.mkd}
#::include ../shared/author_tags/claudio_luck.mkd}
#{::include ../shared/author_tags/claudio_luck.mkd}
#{::include ../shared/author_tags/bernie_hoeneisen.mkd}
normative:
MIMESEC: RFC1847
# MIMESEC: RFC1847
RFC2119:
PGPMIME: RFC3156
OpenPGP: RFC4880
@ -23,7 +23,8 @@ normative:
RFC5322:
RFC7435:
SMIME: RFC5751
RFC5652:
# RFC5652:
# I-D.melnikov-iana-reg-forwarded:
I-D.birk-pep:
I-D.marques-pep-handshake:
I-D.marques-pep-rating:
@ -35,20 +36,19 @@ informative:
# RFC7258:
# RFC7942:
# RFC8280:
RFC8551:
# RFC8551:
# I-D.marques-pep-email:
I-D.birk-pep-trustwords:
I-D.melnikov-iana-reg-forwarded:
I-D.pep-keysync:
usenix.defective-sgn-enc:
target: https://www.usenix.org/legacy/publications/library/proceedings/usenix01/full_papers/davis/davis_html/index.html
title: "Defective Sign Encrypt in S/MIME, PKCS7, MOSS, PEM, PGP, and XML. 65-78"
author:
-
ins: Don Davis
name: Don Davis
date: 2001
# usenix.defective-sgn-enc:
# target: https://www.usenix.org/legacy/publications/library/proceedings/usenix01/full_papers/davis/davis_html/index.html
# title: "Defective Sign Encrypt in S/MIME, PKCS7, MOSS, PEM, PGP, and XML. 65-78"
# author:
# -
# ins: Don Davis
# name: Don Davis
# date: 2001
{::include ../shared/references/isoc-btn.mkd}
@ -870,64 +870,21 @@ and the transport message. Note that the encrypted data in the
"Container" entity is hereby represented in cleartext for a better
overview.
{::include artwork/msg-diagram-1.mkd}
{::include ../shared/fence-line.mkd}
# {::include artwork/msg-diagram-1.mkd}
{::include ../shared/fence-line.mkd}
{: #pEp_F_1 title="Email Message Wrapping" artwork-align="center" }
{::include ../shared/fence-line.mkd}
# {::include artwork/msg-diagram-2.mkd}
{::include ../shared/fence-line.mkd}
{::include artwork/msg-diagram-2.mkd}
+==Container===========+
& EntHdr K &
& &
& +-Outer----------+ &
& | Hdrs O | &
& | To:, Cc: | &
& | Subject: S | &
& | | &
& | { EntHdr P } | &
& | +-Inner------+ | & +--Transport-----------------+
& | | Hdrs P | | & | Hdrs T |
& | | To:, Cc: | | & | To:, Cc: |
& | | Subject: S | | & | Subject: pEp |
& | | | | | |
& | | Original | | \ | { EntHdr C } |
& | | Msg | | \ | { } |
& | +------------+ | & \ | { Content-Type: } |
& | | & \ { multipart/encrypted } |
& | { EntHdr K } | & \ { } |
& | +------------+ | & \ +==Container===========+ |
& | | PubKeys | | & | \ //////////////////////& |
& | +------------+ | & | \ /////////////////////& |
& | | & | \ ////////////////////& |
& / : / & | & \ ///////////////////& |
& | : | & | &/ \ //////////////////& |
& +----------------+ & | &// \ /////////////////& |
& & | &/// \ ////////////////& |
+======================+ | &//// \ ///////////////& |
| &///// \ //////////////& |
| &////// \ /////////////& |
+-Outer----------+ | &/////// ////////////& |
| Hdrs O | | &//////////////////////& |
| | | &//////////////////////& |
| { EntHdr P } | | &//////////////////////& |
+-Inner------+ | +-Inner------+ | | &//////////////////////& |
| Hdrs P | | | Hdrs P | | | &//////////////////////& |
| To:, Cc: - - -/ | | To:, Cc: | | -----------------> //////////& |
| Subject: S | | | Subject: S | | | &//////////////////////& |
| | ---->| | | | | &//////////////////////& |
| Original | | | Original | | | &//////////////////////& |
| Msg | | | Msg | | | +======================+ |
+------------+ | +------------+ | | |
| | +----------------------------+
| { EntHdr K } |
| +------------+ |
| | PubKeys | |
| +------------+ |
| |
| |
/ : /
| : |
+----------------+
{: #pEp_F_3 title="Email Message Wrapping (Combined)" artwork-align="center" }
@ -939,7 +896,11 @@ Content-Disposition)
The "Container" Entity in the Transport message contains
{::include artwork/msg-diagram-3.mkd}
{::include ../shared/fence-line.mkd}
# {::include artwork/msg-diagram-3.mkd}
{::include ../shared/fence-line.mkd}
The application of {{SMIME}} results in a MIME entity of type
@ -1066,8 +1027,12 @@ as an attachment.
In its simplest form, such an email looks like the following:
{::include ../shared/fence-line.mkd}
{::include examples/pef-0.mkd}
{::include ../shared/fence-line.mkd}
Please note that also unencrypted pEp emails SHALL carry an
X-pEp-Version header.
@ -1173,23 +1138,39 @@ with pEp in message format 1 had the following structure:
An example of a pEp-Message-Format-1 in its old form, which is
NOT RECOMMENDED to be used anymore looks the following:
{::include ../shared/fence-line.mkd}
{::include examples/pef-1_old.mkd}
{::include ../shared/fence-line.mkd}
There, decrypting the PGP encrypted text/plain element yields a text
like the following; most obviously, the intended subject line
is now visible:
{::include ../shared/fence-line.mkd}
{::include examples/pef-1-text-payload.mkd}
{::include ../shared/fence-line.mkd}
The newer PEF_1 format, which is also considered pEp's compatibility format
towards non-pEp clients, looks the following:
{::include ../shared/fence-line.mkd}
{::include examples/pef-1_old.mkd}
{::include ../shared/fence-line.mkd}
Decrypting the enclosed "msg.msc" part yields the following:
{::include ../shared/fence-line.mkd}
{::include examples/msg-part-decrypted-compat.mkd}
{::include ../shared/fence-line.mkd}
Note that in either case, the actual subject's value is encrypted in
the very first text/plain MIME part under a multipart/mixed MIME node.
@ -1223,8 +1204,12 @@ an 7bit octet stream with a filename "msg.asc", to be disposed inline. The
subject is encrypted and in the "X-pEp-Version" header format version "2.0"
SHALL be announced:
{::include ../shared/fence-line.mkd}
{::include examples/pef-2.mkd}
{::include ../shared/fence-line.mkd}
Decrypting "msg.asc" SHALL yield a multipart/mixed structure, with three
elements: (1) a text part indicating this is the encapsulated message, (2)
the actual RFC/822 message (with varying complexity) and (3) the transferable
@ -1232,15 +1217,23 @@ sender's public key in ASCII-armored format.
An unwrapped example looks like this:
{::include ../shared/fence-line.mkd}
{::include examples/msg-part-decrypted-pef-2-0.mkd}
{::include ../shared/fence-line.mkd}
#### Example PEF-2: pEp to non-pEp {#pef-2-ex1-compat}
From the outside, the exactly same wire format is visible as in {{pef-2-ex1}},
that is:
{::include ../shared/fence-line.mkd}
{::include examples/pef-2.mkd}
{::include ../shared/fence-line.mkd}
The decrypted "msg.asc" octet stream also is a multipart/mixed Content-Type,
but immediately exposes the MIME content part(s), with the transferable
sender's public key at the very end. There's no full email encapsulation,
@ -1248,8 +1241,12 @@ such that only the Subject header field gets protected by default.
Concretly, that "msg.asc" element, when decrypted, looks like the following:
{::include ../shared/fence-line.mkd}
{::include examples/msg-part-decrypted-compat.mkd}
{::include ../shared/fence-line.mkd}
## pEp-Email-Format-2.1 {#pef-2-1}
\[\[ TBD: Explain guarantees and diff to PEF-2. \]\]
@ -1260,12 +1257,20 @@ Concretly, that "msg.asc" element, when decrypted, looks like the following:
\[\[ TBD: Add description. \]\]
{::include ../shared/fence-line.mkd}
{::include examples/pef-2-1.mkd}
{::include ../shared/fence-line.mkd}
Unwrapping the "msg.asc" multipart/encrypted MIME part, yields this:
{::include ../shared/fence-line.mkd}
{::include examples/msg-part-decrypted-pef-2-1.mkd}
{::include ../shared/fence-line.mkd}
#### Example PEF-2-1: pEp to pEp (support version 2.0) {#pef-2-1-ex2}
Please note that when the receiving peer was registered as being only
@ -1274,11 +1279,19 @@ essence is a PEF-2-0 format.
On the wire, no difference is visble to example {{pef-2-1-ex1}} above:
{::include ../shared/fence-line.mkd}
{::include examples/pef-2-1.mkd}
{::include ../shared/fence-line.mkd}
The "msg.asc" part, on the other hand, looks like this:
{::inlucde examples/msg-part-decrypted-pef-2-1_compat-2-0.mkd}
{::include ../shared/fence-line.mkd}
{::include examples/msg-part-decrypted-pef-2-1_compat-2-0.mkd}
{::include ../shared/fence-line.mkd}
Please note that this basically is a PEF-2-0 format, but with the additional
pEp-specific headers for the wrapped RFC 822 message.
@ -1291,13 +1304,21 @@ PEF-2-0.
On the wire, PEF-2-1 is identical to {{pef-2}} except X-pEp-Version being set
to version 2.1 instead of 2.0.
{::include ../shared/fence-line.mkd}
{::include examples/pef-2-1.mkd}
{::include ../shared/fence-line.mkd}
The "msg.asc", when decrypted, looks exactly the same as in
{{pef-2-ex1-compat}}:
{::include ../shared/fence-line.mkd}
{::include examples/msg-part-decrypted-compat.mkd}
{::include ../shared/fence-line.mkd}
<!-- TBD: Rework
@ -1487,7 +1508,11 @@ considered when rendering messages:
| | Signed, no key | No | MODIFICATION_DETECTED |
| | Bad signature | No | SIGNATURE_DOES_NOT_MATCH |
{::include artwork/msg-rendering.mkwd}
{::include ../shared/fence-line.mkd}
{:#:include artwork/msg-rendering.mkd}
{::include ../shared/fence-line.mkd}
For cases where Messages appear unsigned: e.g., signed with a private key
there's no public key for, or with a bad signature, pEp's Privacy Status SHALL
@ -1643,8 +1668,12 @@ trust management:
As color code changes for an identity, it is also applied to future
Messages to/from this identity.
{::include ../shared/fence-line.mkd}
{::include ../shared/ascii-arts/basic-msg-flow.mkd}
{::include ../shared/fence-line.mkd}
\[\[ TODO: Add more of what is specific to email \]\]
## Privacy Status
@ -1755,7 +1784,6 @@ This document has no actions for IANA.
{::include ../shared/text-blocks/implementation-status.mkd}
# Acknowledgements
Special thanks go to Krista Bennett and Volker Birk for the reference

@ -1,4 +1,3 @@
~~~~
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="boundary2"
--boundary2
@ -29,4 +28,4 @@ Content-Disposition: attachment; filename="pEpkey.asc"
-----END PGP PUBLIC KEY BLOCK-----
--boundary2--
~~~~

@ -1,4 +1,3 @@
~~~~
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="boundary2"
@ -48,4 +47,4 @@ Content-Disposition: attachment; filename="pEpkey.asc"
-----END PGP PUBLIC KEY BLOCK-----
--boundary2--
~~~~

@ -1,4 +1,3 @@
~~~~
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="boundary2"
@ -6,10 +5,10 @@ Content-Type: multipart/mixed; boundary="boundary2"
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline; filename="msg.txt"
This message was encrypted with pEp (https://pep.software/). If you are seeing
this message, your client does not support raising message attachments.
Please click on the message attachment to to view it, or better yet, consider
using pEp!
This message was encrypted with pEp (https://pep.software). If you
are seeing this message, your client does not support raising message
attachments. Please click on the message attachment to view it,
or better yet, consider using pEp!
--boundary2
Content-Type: message/rfc822; forwarded="no"
@ -51,4 +50,3 @@ Content-Disposition: attachment; filename="pEpkey.asc"
-----END PGP PUBLIC KEY BLOCK-----
--boundary2--
~~~~

@ -1,4 +1,3 @@
~~~~
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="boundary2"
@ -49,4 +48,4 @@ Content-Disposition: attachment; filename="pEpkey.asc"
-----END PGP PUBLIC KEY BLOCK-----
--boundary2--
~~~~

@ -5,9 +5,10 @@ Content-Type: multipart/mixed; boundary="34e67daa727efc7e55da136b2147f6f4"
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline; filename="msg.txt"
This message was encrypted with p≡p (https://pep.software). If you are seeing this message,
your client does not support raising message attachments. Please click on the message attachment to
to view it, or better yet, consider using p≡p!
This message was encrypted with p≡p (https://pep.software). If you
are seeing this message, your client does not support raising message
attachments. Please click on the message attachment to view it,
or better yet, consider using p≡p!
--34e67daa727efc7e55da136b2147f6f4
Content-Type: message/rfc822; forwarded="no"

@ -1,4 +1,3 @@
~~~~
From: Alice <alice@example.org>
To: Bob <bob@example.org>
Date: Tue, 31 Dec 2019 05:05:05 +0200
@ -32,4 +31,4 @@ Content-Disposition: attachment; filename="pEpkey.asc"; size=2639
[...]
--boundary--
~~~~

@ -1,4 +1,3 @@
~~~~
Subject: Credentials
Dear Bob
@ -10,4 +9,4 @@ correcthorsebatterystaple
Please reach out if there are any issues and have a good day!
Alice
~~~~

@ -1,4 +1,3 @@
~~~~
From: Alice <alice@example.org>
To: Bob <bob@example.org>
Date: Wed, 1 Jan 2020 23:23:23 +0200
@ -30,4 +29,4 @@ Content-Disposition: attachment; filename="pEpkey.asc"
-----END PGP PUBLIC KEY BLOCK-----
--boundary--
~~~~

@ -1,4 +1,3 @@
~~~~
From: Alice <alice@example.org>
To: Bob <bob@example.org>
Date: Wed, 1 Jan 2020 23:23:23 +0200
@ -25,4 +24,4 @@ Content-Disposition: inline; filename="msg.asc"
-----END PGP MESSAGE-----
--boundary1--
~~~~

@ -1,4 +1,3 @@
~~~~
From: Alice <alice@example.org>
To: Bob <bob@example.org>
Date: Wed, 1 Jan 2020 23:23:23 +0200
@ -25,4 +24,4 @@ Content-Disposition: inline; filename="msg.asc"
-----END PGP MESSAGE-----
--boundary--
~~~~

@ -443,13 +443,38 @@ for already-popular instant messaging services. \]\]
Possibly to be included:
{::include ../shared/fence-line.mkd}
../shared/ascii-arts/trustwords_schematic.mkd
{::include ../shared/fence-line.mkd}
{: #pEp_Fig_Trustwords_Schematic title="Trustwords (schematic)" artwork-align="center" }
{::include ../shared/fence-line.mkd}
../shared/ascii-arts/handshaking_dialog_insecure.mkd
{::include ../shared/fence-line.mkd}
{: #pEp_Fig_Handshaking_Dialog_Insecure title="Handshaking Dialog (Insecure)" artwork-align="center" }
{::include ../shared/fence-line.mkd}
../shared/ascii-arts/handshaking_dialog_secure.mkd
../shared/ascii-arts/sync/pep_sync_handhsaking_dialog.mkd
{::include ../shared/fence-line.mkd}
{: #pEp_Fig_Handshaking_Dialog_Secure title="Handshaking Dialog (Secure)" artwork-align="center" }
{::include ../shared/fence-line.mkd}
../shared/ascii-arts/sync/pep_sync_handshaking_dialog.mkd
{::include ../shared/fence-line.mkd}
-->
@ -502,8 +527,13 @@ when multiple identities are matched from To, Cc etc. \]\]
-->
<!--
{::include ../shared/fence-line.mkd}
{:: include ../shared/ascii-arts/pep_id_system.mkd}
{::include ../shared/fence-line.mkd}
\[\[ TODO: Verify figure \]\]
@ -812,7 +842,15 @@ The sequence diagram of the basic protocol is rather trivial.
Possibly to be included:
../shared/ascii-art/basic_pep_protocol_interchange.mkd -->
{::include ../shared/fence-line.mkd}
../shared/ascii-art/basic_pep_protocol_interchange.mkd
{::include ../shared/fence-line.mkd}
{: #pEp_Fig_Basic_pEp_protocol_interchange title="Basic pEp protocol interchange" artwork-align="center" }
-->
<!-- To be discussed
@ -1445,8 +1483,12 @@ keys and determining basic trust management for the first time:
"encrypted and authenticated", which is represented by a green color
(cf. {{trust-management}}.
{::include ../shared/fence-line.mkd}
{::include ../shared/ascii-arts/basic-msg-flow.mkd}
{::include ../shared/fence-line.mkd}
## Key Reset
\[\[ TODO: This section will explain how to deal with invalid keys, e.g.,

@ -1,4 +1,3 @@
~~~~
----- -----
| A | | B |
----- -----
@ -44,4 +43,3 @@
| |
~~~~

@ -1,4 +1,3 @@
~~~~
+-------+ +-------+
| Alice | | Bob |
+-------+ +-------+
@ -26,5 +25,3 @@
| |
|\___________________________________/|
Encrypted but NOT authenticated
~~~~
{: #pEp_Fig_Basic_pEp_protocol_interchange title="Basic pEp protocol interchange" artwork-align="center" }

@ -1,4 +1,3 @@
~~~~
+== Handshaking ====================================================+
| |
| << (?) >> << Insecure >> |
@ -24,5 +23,3 @@
| [ Close Dialog ] |
| |
+-------------------------------------------------------------------+
~~~~
{: #pEp_Fig_Handshaking_Dialog_Insecure title="Handshaking Dialog (Insecure)" artwork-align="center" }

@ -1,4 +1,3 @@
~~~~
+== Handshaking ====================================================+
| |
| << /!\ >> << Secure >> |
@ -24,5 +23,3 @@
| [ Close Dialog ] |
| |
+-------------------------------------------------------------------+
~~~~
{: #pEp_Fig_Handshaking_Dialog_Secure title="Handshaking Dialog (Secure)" artwork-align="center" }

@ -1,4 +1,3 @@
~~~~
Address
--------
@ -30,4 +29,3 @@
\__ id_n _/__________________\_ fpr_x
~~~~

@ -1,4 +1,3 @@
~~~~
+== Trustwords ===================================================+
| |
| A second device is detected. Please confirm the Trustwords |
@ -17,5 +16,3 @@
| [ Accept ] [ Cancel ] [ Reject ] |
| |
+-----------------------------------------------------------------+
~~~~
{: #pEp_Fig_pEp_Sync_Handshaking_Dialog title="pEp Sync Handshaking Dialog" artwork-align="center" }

@ -1,4 +1,3 @@
~~~~
+== Trustwords ================================+
| |
| OUTDISTANCE CORRINA ETHIOPIA OUTDRAW |
@ -10,5 +9,4 @@
| [ Cancel ] [ Accept ] [ Reject ] |
| |
+----------------------------------------------+
~~~~
{: #pEp_Fig_Trustwords_Schematic title="Trustwords (schematic)" artwork-align="center" }

Loading…
Cancel
Save