ProtonMail/go-crypto

Test compatibility with GnuPG

zugzwang opened this issue · 1 comments

Compatibility with gpg

GnuPG is a well-known [...] complete and free implementation of the OpenPGP standard defined in RFC4880. As such, consistency betweengpg and golang/crypto/openpgp (and also OpenPGPjs) should be tested, in order to detect deviations from the specification or bugs.

Precedent issues

See #39 (how gpg assumes ECDH keys come already masked), and #38 (example of file encryption tests between both libraries).

Cross-library testing

Use the new integrationtests package at the openpgp level, introduced in #37, in order to randomize and automate the testing (as done in #39 test files by @izouxv).

These should include

  • import/export keys from/to gpg,
  • encrypt/decrypt messages, files,
  • signing and signature verification,

and may test both the correct and malicious/incorrect scenarios.

We will test against GnuPG, OpenPGPjs and other implementations using the OpenPGP interoperability test suite.