symbol Asset 1

RNP 0.13.0 released

Author’s picture Nickolay Olshevsky on 03 Jan 2020


Next version of the RNP library extends FFI and CLI interfaces, giving more flexibility and control to the user.

  • Fixed a double-free on invalid armor headers.

  • Fixed broken versioning when used as a git submodule.

  • Fixed an infinite loop on parsing truncated armored keys.

  • Fixed armored stream parsing to be more flexible and allow blank lines before trailer.

  • Fixed the armor header for detached signatures (previously MESSAGE, now SIGNATURE).

  • Improved setting of default qbits for DSA.

  • Fixed a crash when retrieving signature revocation reason.

  • Stop using expensive tests for key material validation.


  • rnpkeys: Removed a few redundant commands (--get-key, --print-sigs, --trusted-keys, …​).

  • rnpkeys: Added --secret option.

  • rnpkeys: Display 'ssb' for secret subkeys.

  • rnp: Added --list-packets parameters (--json, etc.).

  • rnp: Removed --show-keys.


  • Added rnp_version_commit_timestamp to retrieve the commit timestamp (for non-release builds).

  • Added a new (non-JSON) key generation API (rnp_op_generate_create etc.).

  • Added rnp_unload_keys function to unload all keys.

  • Added rnp_key_remove to unload a single key.

  • Expanded bit length support for JSON key generation.

  • Added rnp_key_get_subkey_count/rnp_key_get_subkey_at.

  • Added various key property accessors (rnp_key_get_bits, rnp_key_get_curve).

  • Added rnp_op_generate_set_protection_password.

  • Added rnp_key_packets_to_json/rnp_dump_packets_to_json.

  • Added rnp_key_get_creation, rnp_key_get_expiration.

  • Added rnp_key_get_uid_handle_at, rnp_uid_is_revoked, etc.

  • Added rnp_key_is_revoked and related functions to check for revocation.

  • Added rnp_output_to_path and rnp_output_finish.

  • Added rnp_import_keys.

  • Added rnp_calculate_iterations.

  • Added rnp_supports_feature/rnp_supported_features.

  • Added rnp_enable_debug/rnp_disable_debug.

  • Added rnp_key_get_primary_grip.

  • Added rnp_output_to_armor.

  • Added rnp_op_generate_set_request_password.

  • Added rnp_dump_packets_to_output.

  • Added rnp_output_write.

  • Added rnp_guess_contents.

  • Implemented rnp_op_set_file_name/rnp_op_set_file_mtime.

  • Added rnp_op_encrypt_set_aead_bits.

  • Added rnp_op_verify_signature_get_handle.

  • Added rnp_signature_packet_to_json.


  • RPM: Split packages into librnp0, librnp0-devel, and rnp0.