Skip to content

Releases: kushaldas/johnnycanencrypt

v0.8.0

18 Aug 19:15
v0.8.0
9c6395d
Compare
Choose a tag to compare

Added

  • #96 create_key can now have signing capability for primary key.
  • #97 sync_smartcard can identify if the primary key is on card.
  • upload_primary_to_smartcard function in rjce.
  • Renamed internal function parse_and_move_a_subkey to parse_and_move_a_key

v0.7.0

17 Aug 08:43
v0.7.0
d12db07
Compare
Choose a tag to compare

Added

  • get_card_details now also tells Pin retries left in the card.
  • sign_file_on_card function in rjce.
  • sign_bytes_on_card function in rjce.
  • verify_file & verify_file_detached are two different functions in KeyStore (breaking change).
  • verify takes optional detached signature to verify the given bytes.
  • sign_detached will do detached signature, sign is for the other usecase.
  • renamed create_newkey to create_key (breaking change).
  • renamed import_cert to import_key (breaking change).
  • Updates all dependencies.

Fixed

  • Now can fail gracefully with CryptoError exception in Python
  • #80 also fails gracefully

You can verify the tarball via the OpenPGP signature & also via sigstore tool. Remember to download the .crt & .sig file in the same directory just like .asc for OpenPGP.

SIGSTORE_LOGLEVEL=debug python -m sigstore verify --cert-email [email protected] --cert-oidc-issuer https://github.com johnnycanencrypt-0.7.0.tar.gz

Release 0.6.0

27 Dec 11:04
v0.6.0
5468ffb
Compare
Choose a tag to compare

Added

  • update_expiry_in_subkeys method for the keystrore.
  • update_subkeys_expiry_in_cert function in rjce.
  • revoke_userid method for keystore.
  • add_userid method for keystore.
  • update_password method for keystore.
  • ECDH decryption on smartcard for Curve25519 only.
  • Adds decrypt_file_on_card function.
  • Adds decrypt_bytes_on_card function.
  • Upgrades dependencies, including pyo3 to 0.15.1 and sequoia-openpgp to 1.6.0.
  • Adds is_smartcard_connected function in rjce.

Fixed

  • get_key method will return None in case no fingerprint is provided.
  • Spelling mistake in API & docs about expiary -> expiry.

Release 0.5.0

02 Jan 19:03
v0.5.0
cf0fc37
Compare
Choose a tag to compare

Added

  • move_subkey_to_card function to move all 3 subkeys to the card.
  • We can also decrypt based on RSA keys on a smartcard.
  • sign_bytes_detached_on_card and sign_file_detached_on_card to sign using smartcard.
  • set_name to set the card holder's name in the card.
  • set_url to set the URL to the public key of the card.
  • get_card_details function in rjce to get smartcard details.
  • bytes_encrypted_for and file_encrypted_for functions were added (these are costly function calls).
  • get_keys_by_keyid to get keys for a given keyid
  • fetch_key_by_email can fetch key from keys.openpgp.org for a given email id.
  • fetch_key_by_fingerprint can fetch key from keys.openpgp.org for a given fingerprint.
  • encrypt_file and decrypt_file can take an opened binary file handler in Python as input.

Next release we will update the documents with all the major changes.

The Python3.7 Linux wheel has all debugging symbols, that is why it is much bigger than all other wheels in this release. We are using the same in Tumpa project.

Release 0.3.0

22 Oct 04:21
v0.3.0
9cde3d3
Compare
Choose a tag to compare

[0.3.0] 2020-10-22

Added

  • encrypt_bytes_to_file can encrypt data for multiple recipients and saves to a file.
  • Function signature to the create_newkey function.
  • Uses sequoia-pgp 0.20.0 as dependency #31
  • Can not use sha1 based keys with this library #29
  • SQLite3 based KeyStore jce.db
  • Python ENUMs key type and cipher type #33

Fixed

  • #14 decrypt when the data was encrypted for multiple recipients.
  • Fixes documentation for create_newkey function name.

0.2.0 release

16 Jul 12:27
v0.2.0
cf45d9f
Compare
Choose a tag to compare

[0.2.0] - 2020-07-15

Added

  • This changelog :)
  • If the public/secret key file is missing, while trying to create a Johnny object will raise FileNotFound error.
  • If one tries to decrypt using a public key file, it will throw AttributeError.
  • encrypt_bytes now returns bytes (instead of string).
  • encrypt_bytes takes a third argument, armor as boolean, to return ascii-armored bytes or not.
  • encrypt_file takes a third argument, armor as boolean, writes the output file ascii armored if true.

Initial release

10 Jul 18:26
v0.1.0
ff25714
Compare
Choose a tag to compare

The python3.7 wheel is build for Debian Buster, and the 3.8 wheel will work on Fedora 32.