В RFC 4880 , есть раздел 11.3 который определяет различные форматы, которые может иметь блок сообщения OpenPGP:
11.3. OpenPGP Messages
An OpenPGP message is a packet or sequence of packets that
corresponds to the following grammatical rules (comma represents
sequential composition, and vertical bar separates alternatives):
OpenPGP Message :- Encrypted Message | Signed Message |
Compressed Message | Literal Message.
Compressed Message :- Compressed Data Packet.
Literal Message :- Literal Data Packet.
ESK :- Public-Key Encrypted Session Key Packet |
Symmetric-Key Encrypted Session Key Packet.
ESK Sequence :- ESK | ESK Sequence, ESK.
Encrypted Data :- Symmetrically Encrypted Data Packet |
Symmetrically Encrypted Integrity Protected Data Packet
Encrypted Message :- Encrypted Data | ESK Sequence, Encrypted Data.
One-Pass Signed Message :- One-Pass Signature Packet,
OpenPGP Message, Corresponding Signature Packet.
Signed Message :- Signature Packet, OpenPGP Message |
One-Pass Signed Message.
In addition, decrypting a Symmetrically Encrypted Data packet or a
Symmetrically Encrypted Integrity Protected Data packet as well as
decompressing a Compressed Data packet must yield a valid OpenPGP
Message.
Есть ли способ через аргументы командной строки для генерации Signed Message
используя GPG? Обратите внимание, что Signed Message
является не тип показан на XKCD , Это Cleartext Signature
, описанный в раздел 7 RFC. Бронированный Signed Message
будет иметь заголовок -----BEGIN PGP MESSAGE-----
,
Самое близкое, что я могу получить, это с помощью gpg -s
, который генерирует сжатый пакет данных, который инкапсулирует однопроходный пакет подписи, буквенный пакет данных, пакет подписи. Однако я не верю, что он должен быть сжат, поэтому кажется, что либо GPG сжимает, когда не следует, либо GPG выводит сжатые сообщения.