https://github.com/iamcryptoki/lavaboom-pgp-manifest-go
Lavaboom - PGP Manifest written in Go
https://github.com/iamcryptoki/lavaboom-pgp-manifest-go
Last synced: 2 months ago
JSON representation
Lavaboom - PGP Manifest written in Go
- Host: GitHub
- URL: https://github.com/iamcryptoki/lavaboom-pgp-manifest-go
- Owner: iamcryptoki
- License: mit
- Created: 2016-11-06T13:32:45.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2015-05-13T19:41:00.000Z (almost 10 years ago)
- Last Synced: 2025-01-10T10:57:55.224Z (4 months ago)
- Language: Go
- Homepage: https://www.lavaboom.com/security
- Size: 238 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# PGP manifest
Implementation of the PGP manifest encrypted email structure based on
[Mailpile's](https://www.mailpile.is/blog/2014-11-21_To_PGP_MIME_Or_Not.html)
article. This project contains two CLI programs to generate and parse sample
emails, that act as areference implementation for the standard.## Manifest's structure
```js
{
"version": "v1.0.0", // Manifest's structure version
"headers": { // Headers to override
"from": "[email protected]",
"to": "[email protected]",
"subject": "Secret subject"
},
"parts": [
// Definition of the body
{
"id": "body",
"hash": "SHA256 hash of the unencrypted body",
"content-type": "text/plain"
},
// Attachment definitions
{
"id": "randomstring1",
"hash": "SHA256 hash of the unencrypted attachment",
"content-type": "text/html",
"filename": "test.html"
}
]
}
```## Email's structure
```
multipart/mixed
|- multipart/alternative
|- application/pgp-encrypted - Encrypted email body
|- text/html - HTML containg a link to a remote email reader
|- text/plain - Plaintext variant of the fallback message
|- application/pgp-encrypted; filename=randomstring1.pgp - PGP-encrypted attachment
|- application/x-pgp-manifest+json; filename=manifest.pgp - PGP-encrypted manifest
```