Age | Commit message (Collapse) | Author |
|
|
|
S2K is a seperate concept and is used in both secret key packets and
SymmetricallyEncryptedSessionKey packets. It should have its own parser
and thus its own type. This also cleans up the SecretKeyPacket record
considerably (the many Maybe fields were a smell).
SecretKeyPacket.s2k should be set to (Just $ SimpleS2K MD5) in fallback
cases. symmetric_algorithm should be set to Unencrypted when s2k_useage
is 0. s2k_useage itself is only needed for the different between 255
and 254 (different checksum).
Round trip encode/decode tests for S2K work.
|
|
Added some examples to HUnit tests.
Made Put work for v3 PublicKey
Store validity as v3_days_of_validity (Maybe Word16)
v4 Get learns some things from the v3 Get
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When you compile with make CEREAL=1
|
|
|
|
|
|
Should they be grouped in some way?
Should encrypted_data also be grouped with them in some way?
|
|
Instead of the Put instance emitting the actual packet header, it emits
the start of the trailer data (which is the same bytes as the packet
header).
SignaturePacket is opaque and there is a smart constructor,
signaturePacket, that takes all the data *except* the trailer and
auto-generates the trailer, making sure the trailer is always valid, so
that the above becomes possible.
WARNING: SignaturePacket is not *fully* opaque. You *may* still update
fields directly using record syntax (on an already constructed packet).
This may be useful, but if any of the values that make up the trailer
are changed this will MAKE THE PACKET INVALID. This trade-off is deemed
acceptable for now, but may change in the future. Any fields that do not
affect the trailer (unhashed subpackets, etc) may be safely updated in
this way. Other fields MUST be updated by constructing a new
SignaturePacket with the smart constructor.
This usage is exemplefied by Data.OpenPGP.Crypto
The major upside of this is that it is now possible to re-emit
unmodified (or even modified, if only fields not in the trailer are
modified) SignaturePackets without invalidating the signature.
Closes #11
|
|
|
|
|
|
|
|
|
|
Data and some code from hOpenPGP, © Clit Adams, MIT license
|