PackageTrack
Sign in Get early access

openssl

OpenSSL bindings

0.10.81 377M downloads/mo #302 most downloaded on crates.io rust-openssl/rust-openssl

What this package is like to depend on

Last release 2 months ago

12 Jun 2026

Release timing varies

gaps range from 2 weeks to 5 months

Some releases are documented

notes for 79 of 171 stable releases

3 versions withdrawn

withdrawn after publishing

12 years old

174 releases · first in 2014

8 releases in the last 12 months

see the full history below

Release timeline

174 releases · Nov 2014 to Jun 2026
2015 2017 2019 2021 2023 2025
Release Pre-release Withdrawn

Releases

latest 60 of 174
  1. 0.10.81 12 Jun 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: openssl-v0.10.80...openssl-v0.10.81

    Open source →
    Release notes

    Fixed

    • SslContextRef::verify_mode and SslRef::verify_mode no longer panic when the verify mode contains bits not modeled by SslVerifyMode.

    Added

    • Added SslVerifyMode::CLIENT_ONCE and SslVerifyMode::POST_HANDSHAKE.
    • Added X509CrlBuilder and X509RevokedBuilder, for building and signing CRLs, along with the CrlNumber extension builder.
    • Added Nid::BRAINPOOL_P224R1 and Nid::BRAINPOOL_P224T1.
    • Added Asn1StringRef::to_string, which converts the string to UTF-8 without truncating at interior NUL bytes.

    Changed

    • Deprecated Asn1StringRef::as_utf8, which truncates at the first interior NUL byte, in favor of Asn1StringRef::to_string.
    Open source →
  2. 0.10.80 16 May 2026
    Release notes

    What's Changed

    • Prefer Homebrew openssl@4 and stop looking for [email protected] by @alex in #2633
    • Fix output buffer overflow in cipher_update_inplace for AES key-wrap-with-padding by @alex in #2638
    • Release openssl 0.10.80 and openssl-sys 0.9.116 by @alex in #2639

    Full Changelog: openssl-v0.10.79...openssl-v0.10.80

    Open source →
    Release notes

    Fixed

    • Fixed a buffer overflow in CipherCtxRef::cipher_update_inplace when used with AES key-wrap-with-padding ciphers.
    Open source →
  3. 0.10.79 04 May 2026
    Release notes

    What's Changed

    • Bump actions/cache from 5.0.4 to 5.0.5 by @dependabot[bot] in #2610
    • Try to fix OpenSSL 1.1.0l download by @botovq in #2614
    • Require &mut BigNumContextRef for EcPointRef mul/invert by @alex in #2615
    • Fix UB in EcGroupRef::generator on groups without a generator by @alex in #2617
    • Replace use libc::*; with targeted imports in openssl-sys by @alex in #2618
    • Add PKeyRef::is_a and KeyType for name-based key identification by @reaperhulk in #2619
    • Add PKey::{public,private}_key_from_raw_bytes_ex by @reaperhulk in #2620
    • Bump MSRV to 1.80 by @reaperhulk in #2622
    • Drop once_cell in favor of std::sync::{LazyLock, OnceLock} by @reaperhulk in #2623
    • Add PKey::private_key_from_seed for ML-DSA/ML-KEM key import by @reaperhulk in #2621
    • parallelize more builds in CI for cold caches by @reaperhulk in #2625
    • Add PKeyRef::seed_into for ML-DSA/ML-KEM seed extraction by @reaperhulk in #2626
    • Fix process abort when verify/PSK callbacks fire after SSL_CTX swap by @alex in #2624
    • Bind OSSL_PARAM_modified and use it for seed_into by @reaperhulk in #2628
    • Add PkeyCtxRef::set_context_string for ML-DSA by @reaperhulk in #2629
    • Reject non-UTF-8 OCSP responder URLs in X509Ref::ocsp_responders by @alex in #2631
    • Fix output buffer overflow for AES key-wrap-with-padding ciphers by @alex in #2630
    • Release openssl 0.10.79 and openssl-sys 0.9.115 by @reaperhulk in #2632

    Full Changelog: openssl-v0.10.78...openssl-v0.10.79

    Open source →
    Release notes

    Changed

    • Bumped MSRV to 1.80.
    • Removed the once_cell dependency in favor of std::sync::{LazyLock, OnceLock}.
    • Deprecated EcPointRef::mul, EcPointRef::mul_generator, and EcPointRef::invert in favor of mul2, mul_generator2, and invert2, which take &mut BigNumContextRef. The deprecated methods accepted a shared reference despite mutating the BN_CTX, which was unsound under Send + Sync.

    Added

    • Added EcGroupRef::generator_opt, which returns Option<&EcPointRef>.
    • Added PKeyRef::seed_into, which writes the algorithm-defined seed of an ML-DSA or ML-KEM private key into a caller-supplied buffer. The inverse of PKey::private_key_from_seed.
    • Added PKey::private_key_from_seed, which constructs ML-DSA and ML-KEM private keypairs from a seed OSSL_PARAM via EVP_PKEY_fromdata. Requires OpenSSL 3.5 or newer at runtime.
    • Added PKeyRef::is_a and the KeyType algorithm-name newtype, for identifying provider-supplied keys (such as ML-DSA) where EVP_PKEY_id returns -1.
    • Added PKey::public_key_from_raw_bytes_ex and PKey::private_key_from_raw_bytes_ex, which take a KeyType and accept an optional library context and property query string. Required for provider-supplied algorithms with no associated Id, such as ML-DSA.
    • Added PkeyCtxRef::set_context_string, which binds a context string to an ML-DSA signing or verification operation. Requires OpenSSL 3.5 or newer.
    • Added EcPointRef::mul2, EcPointRef::mul_generator2, and EcPointRef::invert2, which take &mut BigNumContextRef.

    Fixed

    • EcGroupRef::generator no longer constructs a reference from a NULL pointer when the group has no generator set (e.g. a group built with EcGroup::from_components before set_generator is called), which was immediate undefined behavior. It now panics in that case and has been deprecated in favor of EcGroupRef::generator_opt.
    • X509Ref::ocsp_responders now validates each accessLocation as UTF-8 and returns an ErrorStack if any entry is not, rather than constructing a &str containing invalid UTF-8 (language-level UB triggerable by a malicious certificate).
    • Fixed a process abort that could occur when the SSL verify, PSK client, or PSK server callback fired after the underlying SSL_CTX had been swapped.
    • Fixed an output-buffer overflow in CipherCtxRef::cipher_update and cipher_update_vec when used with AES key-wrap-with-padding ciphers, which emit up to input.len() + 15 bytes during the update call rather than the previously assumed input.len() + block_size.
    Open source →
  4. 0.10.78 19 Apr 2026
    Release notes

    What's Changed

    • Fix Suite B flag assignments in verify.rs by @alex in #2592
    • Use cvt_p for OPENSSL_malloc error handling by @alex in #2593
    • Mark BIO_get_mem_data on AWS-LC to be unsafe by @alex in #2594
    • Set timeout for package installation step by @alex in #2595
    • Panic in Crypter::new when IV is required but not provided by @alex in #2596
    • openssl 4 support by @reaperhulk in #2591
    • Avoid panic for overlong OIDs by @botovq in #2598
    • Fix dangling stack pointer in custom extension add callback by @alex in #2599
    • Add support for LibreSSL 4.3.x by @botovq in #2603
    • fix inverted bounds assertion in AES key unwrap by @reaperhulk in #2604
    • Reject oversized length returns from password callback trampoline by @alex in #2605
    • Validate callback-returned lengths in PSK and cookie trampolines by @alex in #2607
    • Error for short out in MdCtxRef::digest_final() by @botovq in #2608
    • Check derive output buffer length on OpenSSL 1.1.x by @alex in #2606
    • Release openssl v0.10.78 and openssl-sys v0.9.114 by @alex in #2609

    Full Changelog: openssl-v0.10.77...openssl-v0.10.78

    Open source →
    Release notes

    Added

    • Added support for OpenSSL 4.x.
    • Added support for LibreSSL 4.3.x.

    Fixed

    • Fixed several soundness issues where safe Rust callers could trigger out-of-bounds reads or writes:
      • MdCtxRef::digest_final now returns an error when the output buffer is shorter than the digest size.
      • PkeyCtxRef::derive now checks the output buffer length on OpenSSL 1.1.x and LibreSSL, where some key types (X25519, X448, HKDF-extract) ignore the caller-supplied length.
      • Callbacks for key-loading passwords and SSL PSK and cookie generation now reject values longer than the length of the slice.
      • Fixed a dangling stack pointer in the SSL custom extension callback when using a fixed-length array.
      • Fixed an inverted bounds assertion in AES key unwrap.
    • Crypter::new now panics, as documented, when an IV is required by the cipher but not provided (previously it silently used an all-zero IV).
    • Avoided a panic when formatting overlong OIDs; the value is now truncated with trailing dots.
    • Fixed Suite B flag assignments in X509VerifyParam.
    • Handle errors on OPENSSL_malloc in PkeyCtxRef::set_rsa_oaep_label.
    Open source →
  5. 0.10.77 12 Apr 2026
    Release notes

    What's Changed

    • CI: Hash-pin all action usage, avoid credential persistence in actions/checkout by @woodruffw in #2587
    • Bump aws-lc-sys to 0.39 by @goffrie in #2588
    • md_ctx: enable sign/verify/reset on BoringSSL, LibreSSL, and AWS-LC by @alex in #2589
    • Release openssl v0.10.77 and openssl-sys v0.9.113 by @alex in #2590

    New Contributors

    Full Changelog: openssl-v0.10.76...openssl-v0.10.77

    Open source →
    Release notes

    Added

    • Enabled MdCtxRef::digest_sign, MdCtxRef::digest_sign_to_vec, MdCtxRef::digest_verify, and MdCtxRef::reset on BoringSSL, LibreSSL, and AWS-LC.
    Open source →
  6. 0.10.76 12 Mar 2026
    Release notes

    Added

    • Added brainpool curve NID constants.
    • Added SubjectAlternativeName::dir_name2 for constructing directoryName SAN entries.
    • Added HKDF and generic KDF support.
    • Added UpperHex implementation for BigNum and BigNumRef.
    • Added add_utf8_string and add_int to OsslParamBuilder.
    • Added Debug implementation for EcGroup, EcGroupRef, EcdsaSig and EcdsaSigRef.
    • Enhanced Debug implementation for Nid.
    • Constified PKey::from_raw.
    • Exposed from_str_x509() for LibreSSL >= 3.6.0.

    Fixed

    • Fixed use-after-free of error strings on BoringSSL/aws-lc.
    • Fixed cipher comparison (is_ccm, is_ocb) to use NID instead of unreliable pointer comparison. Added NID constants for AES_*_OCB.
    • Fixed invalid value parsing of OCSP revocation reason.
    • Fixed BIO_METHOD path for AWS-LC to use BoringSSL codepath.
    Open source →
  7. 0.10.75 07 Nov 2025
    Release notes

    Added

    • Added support for set_rsa_oaep_label on AWS-LC/BoringSSL.
    • Added Asn1GeneralizedTime::from_str.
    • Added OcspStatus::next_update method.

    Fixed

    • Fixed unsound OCSP find_status handling of optional next_update field. If an OCSP response does not have a nextUpdate, OcspStatus::next_update will store a sentinel value. Use OcspStatus::next_update() instead.

    Deprecated

    • Deprecated OcspStatus::next_update field in favor of the next_update() method.
    Open source →
  8. 0.10.74 15 Oct 2025
    Release notes

    Added

    • Added parameter generation support (PkeyCtx::paramgen and PkeyCtx::paramgen_init).
    • Added key generation methods for RSA, DSA, DH, and EC via PkeyCtx.
    • Added Cipher::get_protocol_id.
    • Added EcPointRef::set_affine_coordinates.
    • Added EcGroup::order_bits on BoringSSL, LibreSSL, and AWS-LC.
    • Added X509::append_entry on BoringSSL and AWS-LC.
    • Added XOF squeeze support on AWS-LC.
    • Added argon2d and argon2i KDF variants.

    Changed

    • Bumped MSRV to 1.70.
    • The repository has moved to the rust-openssl github organization.

    Fixed

    • Disabled AES-CFB128 ciphers for BoringSSL.

    Removed

    • Removed support for OpenSSL <1.0.2.
    • Removed support for LibreSSL <3.5.
    Open source →
  9. 0.10.73 29 May 2025
    Release notes

    Fixed

    • Fixed building on the latest BoringSSL.

    Changed

    • Replaced ctest2 with ctest in systest.
    Open source →
  10. 0.10.72 04 Apr 2025
    Release notes

    Fixed

    • Fixed use-after-free in Md::fetch and Cipher::fetch when properties is Some(...). In practice this use-after-free most likely resulted in OpenSSL treating the properties as b"".

    Added

    • Support for building with AWS-LC.
    Open source →
  11. 0.10.71 15 Feb 2025
    Release notes

    Added

    • Added Cipher::rc2_cbc and Cipher::rc2_40_cbc.
    Open source →
  12. 0.10.70 02 Feb 2025
    Release notes

    Fixed

    • Fixed improper lifetime constraints in ssl::select_next_proto that allowed a use after free.

    Added

    • Added SslMethod::dtls_client and SslMethod::dtls_server.
    Open source →
  13. 0.10.69 25 Jan 2025
    Release notes

    Fixed

    • Fixed the version constraint on openssl-macros.

    Added

    • Added SslContextBuilder::load_verify_locations.
    • Added Hasher::squeeze_xof.
    • Added SslContextBuilder::set_alpn_select_callback support for boringssl.
    Open source →
  14. 0.10.68 16 Oct 2024
    Release notes

    Fixed

    • Fixed building on Rust 1.63.0 (our MSRV) with OpenSSL 3.2 or newer.
    Open source →
  15. 0.10.67 16 Oct 2024
    Release notes

    Added

    • Added support for LibreSSL 4.0.x.
    • Added argon2id

    Fixed

    • Fixed a case where MdCtxRef::digest_verify_final could leave an error on the stack.
    • Fixed a case where RsaRef::check_key could leave an error on the stack.

    Changed

    • openssl is now a 2021 edition crate
    • Explicitly specify the MSRV in Cargo.toml
    Open source →
  16. 0.10.66 21 Jul 2024
    Release notes

    Fixed

    • Fixed undefined behavior in MemBio::get_buf when the resulting buffer had a length of 0.
    Open source →
  17. 0.10.65 20 Jul 2024
    Release notes

    Fixed

    • Ensure we are initialized in MessageDigest::from_nid, Md::from_nid, Md::fetch

    Changed

    • Expose SslContextBuilder::set_keylog_callback on BoringSSL
    Open source →
  18. 0.10.64 19 Feb 2024
    Release notes

    Added

    • Added PkeyCtxRef::{nonce_type, set_nonce_type}.
    • Added X509Ref::alias.
    Open source →
  19. 0.10.63 20 Jan 2024
    Release notes

    Added

    • Added Pkcs7Ref::{type_,signed}.
    • Added Pkcs7SignedRef::certificates.
    • Added Cipher::{aes_256_xts,des_ede3_ecb,des_ede3_cfb8,des_ede3_ofb,camellia128_ofb,camellia192_ofb,camellia256_ofb,cast5_ofb,idea_ofb}
    • Added PKey::from_dhx
    • Added PKey::{public_key_from_pem_passphrase,public_key_from_pem_callback}.

    Changed

    • Cipher::aes_128_ofb is now available on BoringSSL
    • Nid::{BRAINPOOL_P256R1,BRAINPOOL_P320R1,BRAINPOOL_P384R1,BRAINPOOL_P512R1} are now available on LibreSSL.
    Open source →
  20. 0.10.62 22 Dec 2023
    Release notes

    Added

    • Added Nid::BRAINPOOL_P320R1
    • Added rand_priv_bytes

    Fixed

    • Fixed building on the latest version of BoringSSL
    Open source →
  21. 0.10.61 05 Dec 2023
    Release notes

    Changed

    • SslStream now uses SSL_read_ex, SSL_write_ex, and SSL_peek_ex when available

    Added

    • Added SslStream::{read_uninit, ssl_read_uninit}.
    Open source →
  22. 0.10.60 23 Nov 2023
    Release notes

    Deprecated

    • Deprecated X509StoreRef::objects. It is unsound. All callers should migrate to using X509StoreRef::all_certificates instead.

    Fixed

    • Fixed a memory leak when calling SslContextBuilder::set_ex_data and SslRef::set_ex_data multiple times with the same index.

    Added

    • Added X509StoreRef::all_certificates
    • Added cipher::Cipher::{camellia128_cbc,camellia192_cbc,camellia256_cbc,cast5_cbc,idea_cbc}
    • Added symm::Cipher::{des_ede3_ecb,des_ede3_cfb8,des_ede3_ofb,camellia_128_ecb,camellia_128_ofb,camellia_128_cfb128,camellia_192_ecb,camellia_192_ofb,camellia_192_cfb128,camellia_256_ecb,camellia_256_ofb,camellia_256_cfb128,cast5_ecb,cast5_ofb,cast5_cfb64,idea_ecb,idea_ofb,idea_cfb64}
    • Added Crypter::update_unchecked
    • Added SslRef::{peer_tmp_key,tmp_key}

    Changed

    • cipher::Cipher::chacha20 is now available on LibreSSL
    • symm::Cipher::chacha20 is now available on LibreSSL
    Open source →
  23. 0.10.59 03 Nov 2023
    Release notes

    Added

    • Added Nid::CHACHA20_POLY1305

    Changed

    • Fixed the availability of Id::RSA_PSS on OpenSSL
    Open source →
  24. 0.10.58 01 Nov 2023
    Release notes

    Added

    • Added Id::{RSA_PSS,DHX} constants
    • Added SslContextBuilder::set_security_level
    • Added SslContextRef::security_level
    • Added SslRef::set_security_level, SslRef::security_level
    • Added Cipher::{camellia_128_cbc, camellia_192_cbc, camellia_256_cbc, cast5_cbc, idea_cbc}
    • Added X509CrlRef::extension
    • Added X509PurposeId::CODE_SIGN

    Changed

    • Pkey HKDF functionality now works on LibreSSL
    • BigNum::mod_sqrt is now available on all OpenSSLs
    • MessageDigest::sha3* are now available on LibreSSL
    Open source →
  25. 0.10.57 27 Aug 2023
    Release notes

    Added

    • Added X509VerifyParam::set_email
    • Cipher::chacha20_poly1305 is now available on LibreSSL
    • Added CipherCtx::copy

    Changed

    • Updated bitflags dependency to the 2.x series
    Open source →
  26. 0.10.56 06 Aug 2023

    Nothing published for this version

  27. 0.10.55 20 Jun 2023
    Release notes

    Fixed

    • Fixed compilation with the latest version of BoringSSL.
    • Fixed compilation when OpenSSL is compiled with OPENSSL_NO_OCB.
    • Fixed a segfault in X509VerifyParamRef::set_host when called with an empty string.

    Added

    • Added Deriver::set_peer_ex.
    • Added EcGroupRef::asn1_flag.
    • Exposed EcPointRef::affine_coordinates on BoringSSL and LibreSSL.
    • Added Nid::SM2 and Id::SM2
    Open source →
  28. 0.10.54 01 Jun 2023
    Release notes

    Fixed

    • PKey::private_key_to_pkcs8_passphrase no longer panics if a passphrase contains a NUL byte.
    Open source →
  29. 0.10.53 30 May 2023
    Release notes

    Added

    • Added Dsa::from_pqg, Dsa::generate_key, and Dsa::generate_params.
    • Added SslRef::bytes_to_cipher_list.
    • Added SubjectAlternativeName::other_name2
    Open source →
  30. 0.10.52 24 Apr 2023
    Release notes

    Added

    • Added DhRef::check_key.
    • Added Id::POLY1305.
    • Added X509Ref::subject_key_id, X509Ref::authority_key_id, X509Ref::authority_issuer, and X509Ref::authority_serial.
    Open source →
  31. 0.10.51 20 Apr 2023
    Release notes

    Added

    • Added X509RevokedRef::issuer_name and X509RevokedRef::reason_code.
    • Added Dh::set_key and Dh::set_public_key
    • Added Asn1OctetString and Asn1OctetStringRef1
    • Added X509Extension::new_from_der

    Deprecated

    • Deprecated X509Extension::new and X509Extension::new_nid in favor of X509Extension::new_from_der and the extensions module.
    • Deprecated X509Extension::add_alias, it is not required with new_from_der or the extensions module.
    Open source →
  32. 0.10.50 10 Apr 2023
    Release notes

    Added

    • Added CipherCtxRef::cipher_update_inplace.
    Open source →
  33. 0.10.49 01 Apr 2023
    Release notes

    Fixed

    • SslConnector no longer sets the SNI extension when connecting to an IP address.

    Added

    • Implemented Ord, PartialOrd, Eq, and PartialEq for Asn1Integer and Asn1IntegerRef.
    • Added X509Ref::crl_distribution_points, and DistPoint.
    Open source →
  34. 0.10.48 24 Mar 2023
    Release notes

    Fixed

    • Fixed injection vulnerabilities where OpenSSL's configuration mini-language could be used via x509::extension::SubjectAlternativeName and x509::extension::ExtendedKeyUsage. The mini-language can read arbitrary files amongst other things.
      • As part of fixing this SubjectAlternativeName::dir_name and SubjectAlternativeName::other_name are deprecated and their implementations always panic!. If you have a use case for these, please file an issue.
    • Fixed several NULL pointer dereferences in OpenSSL that could be triggered via x509::X509Extension::new and x509::X509Extension::new_nid. Note that these methods still accept OpenSSL's configuration mini-language, and therefore should not be used with untrusted data.
    • Fixed a data-race with x509::X509Name that are created with x509::X509NameBuilder and then used concurrently.
    • Fixed LibreSSL version checking. More functions should now be correctly available on LibreSSL.
    Open source →
  35. 0.10.47 19 Mar 2023
    Release notes

    Added

    • Added support for X25519 and Ed25519 on LibreSSL and BoringSSL.
    • Added Error::library_code and Error::reason_code.
    Open source →
  36. 0.10.46 15 Mar 2023
    Release notes

    Fixed

    • Fixed a potential null-pointer deref when parsing a PKCS#12 archive with no identity.
    • Fixed builds against OpenSSL built with no-cast.
    • Fixed debug formatting of GeneralName.

    Deprecated

    • Deprecated PKcs12Ref::parse in favor of Pkcs12Ref::parse2.
    • Deprecated ParsedPkcs12 in favor of ParsedPkcs12_2.
    • Deprecated Pkcs12Builder::build in favor of Pkcs12Builder::build2.

    Added

    • Added X509VerifyParamRef::set_auth_level, X509VerifyParamRef::auth_level, and X509VerifyParamRef::set_purpose.
    • Added X509PurposeId and X509Purpose.
    • Added X509NameBuilder::append_entry.
    • Added PKeyRef::private_key_to_pkcs8.
    • Added X509LookupRef::load_crl_file.
    • Added Pkcs12Builder::name, Pkcs12Builder::pkey, and Pkcs12Builder::cert.
    • Added SslRef::set_method, SslRef::set_private_key_file, SslRef::set_private_key, SslRef::set_certificate, SslRef::set_certificate_chain_file, SslRef::add_client_ca, SslRef::set_client_ca_list, SslRef::set_min_proto_version, SslREf::set_max_proto_version, SslRef::set_ciphersuites, SslRef::set_cipher_list, SslRef::set_verify_cert_store.
    • Added X509NameRef::to_owned.
    • Added SslContextBuilder::set_num_tickets, SslContextRef::num_tickets, SslRef::set_num_tickets, and SslRef::num_tickets.
    • Added CmsContentInfo::verify.
    Open source →
  37. 0.10.45 20 Dec 2022
    Release notes

    Fixed

    • Removed the newly added CipherCtxRef::minimal_output_size method, which did not work properly.
    • Added NO_DEPRECATED_3_0 cfg checks for more APIs.

    Added

    • Added SslRef::add_chain_cert.
    • Added PKeyRef::security_bits.
    • Added Provider::set_default_search_path.
    • Added CipherCtxRef::cipher_final_unchecked.
    Open source →
  38. 0.10.44 06 Dec 2022 withdrawn
    Release notes

    Added

    • Added CipherCtxRef::num, CipherCtxRef::minimal_output_size, and CipherCtxRef::cipher_update_unchecked.
    • Improved output buffer size checks in CipherCtxRef::cipher_update.
    • Added X509Lookup::file and X509LookupRef::load_cert_file.
    Open source →
  39. 0.10.43 24 Nov 2022
    Release notes

    Added

    • Added Nid::BRAINPOOL_P256R1, Nid::BRAINPOOL_P384R1, Nid::BRAINPOOL_P512R1.
    • Added BigNumRef::copy_from_slice.
    • Added Cipher constructors for Camellia, CAST5, and IDEA ciphers.
    • Added DsaSig.
    • Added X509StoreBuilderRef::set_param.
    • Added X509VerifyParam::new, X509VerifyParamRef::set_time, and X509VerifyParamRef::set_depth.
    Open source →
  40. 0.10.42 26 Sep 2022
    Release notes

    Added

    • Added SslRef::psk_identity_hint and SslRef::psk_identity.
    • Added SHA-3 constants to Nid.
    • Added SslOptions::PRIORITIZE_CHACHA.
    • Added X509ReqRef::to_text.
    • Added MdCtxRef::size.
    • Added X509NameRef::try_cmp.
    • Added MdCtxRef::reset.
    • Added experimental, unstable support for BoringSSL.

    Fixed

    • Fixed MdCtxRef::digest_verify_init to support PKeys with only public components.
    Open source →
  41. 0.10.41 09 Jul 2022
    Release notes

    Fixed

    • Fixed a use-after-free in Error::function and Error::file with OpenSSL 3.x.

    Added

    • Added MessageDigest::block_size and MdRef::block_size.
    • Implemented Ord and Eq for X509 and X509Ref.
    • Added X509Extension::add_alias.
    • Added SM4 support.
    • Added EcGroup::from_components EcGropuRef::set_generator, and EcPointRef::set_affine_coordinates_gfp.
    Open source →
  42. 0.10.40 04 May 2022
    Release notes

    Fixed

    • Fixed the openssl-sys dependency version.
    Open source →
  43. 0.10.39 03 May 2022
    Release notes

    Deprecated

    • Deprecated SslContextBuilder::set_tmp_ecdh_callback and SslRef::set_tmp_ecdh_callback.

    Added

    • Added SslRef::extms_support.
    • Added Nid::create.
    • Added CipherCtx, which exposes a more direct interface to EVP_CIPHER_CTX.
    • Added PkeyCtx, which exposes a more direct interface to EVP_PKEY_CTX.
    • Added MdCtx, which exposes a more direct interface to EVP_MD_CTX.
    • Added Pkcs12Builder::mac_md.
    • Added Provider.
    • Added X509Ref::issuer_name_hash.
    • Added Decrypter::set_rsa_oaep_label.
    • Added X509Ref::to_text.
    Open source →
  44. 0.10.38 31 Oct 2021
    Release notes

    Added

    • Added Pkey::ec_gen.
    Open source →
  45. 0.10.37 27 Oct 2021
    Release notes

    Fixed

    • Fixed linkage against OpenSSL distributions built with no-chacha.

    Added

    • Added BigNumRef::to_vec_padded.
    • Added X509Name::from_der and X509NameRef::to_der.
    • Added BigNum::new_secure, BigNumReef::set_const_time, BigNumref::is_const_time, and BigNumRef::is_secure.
    Open source →
  46. 0.10.36 17 Aug 2021
    Release notes

    Added

    • Added Asn1Object::as_slice.
    • Added PKeyRef::{raw_public_key, raw_private_key, private_key_to_pkcs8_passphrase} and PKey::{private_key_from_raw_bytes, public_key_from_raw_bytes}.
    • Added Cipher::{seed_cbc, seed_cfb128, seed_ecb, seed_ofb}.
    Open source →
  47. 0.10.35 19 Jun 2021
    Release notes

    Fixed

    • Fixed a memory leak in Deriver.

    Added

    • Added support for OpenSSL 3.x.x.
    • Added SslStream::peek.
    Open source →
  48. 0.10.34 28 Apr 2021
    Release notes

    Added

    • Added Dh::set_private_key and DhRef::private_key.
    • Added EcPointRef::affine_coordinates.
    • Added TryFrom implementations to convert between PKey and specific key types.
    • Added X509StoreBuilderRef::set_flags.
    Open source →
  49. 0.10.33 13 Mar 2021
    Release notes

    Fixed

    • Dh::generate_params now uses DH_generate_params_ex rather than the deprecated DH_generated_params function.

    Added

    • Added Asn1Type.
    • Added CmsContentInfoRef::decrypt_without_cert_check.
    • Added EcPointRef::{is_infinity, is_on_curve}.
    • Added Encrypter::set_rsa_oaep_label.
    • Added MessageDigest::sm3.
    • Added Pkcs7Ref::signers.
    • Added Cipher::nid.
    • Added X509Ref::authority_info and AccessDescription::{method, location}.
    • Added X509NameBuilder::{append_entry_by_text_with_type, append_entry_by_nid_with_type}.
    Open source →
  50. 0.10.32 24 Dec 2020
    Release notes

    Fixed

    • Fixed Ssl::new to take a &SslContextRef rather than &SslContext.

    Added

    • Added the encrypt module to support asymmetric encryption and decryption with PKeys.
    • Added MessageDigest::from_name.
    • Added ConnectConfiguration::into_ssl.
    • Added the ability to create unconnected SslStreams directly from an Ssl and transport stream without performing any part of the handshake with SslStream::new.
    • Added SslStream::{read_early_data, write_early_data, connect, accept, do_handshake, stateless}.
    • Implemented ToOwned for SslContextRef.
    • Added SslRef::{set_connect_state, set_accept_state}.

    Deprecated

    • Deprecated SslStream::from_raw_parts in favor of Ssl::from_ptr and SslStream::new.
    • Deprecated SslStreamBuilder in favor of methods on Ssl and SslStream.
    Open source →
  51. 0.10.31 09 Dec 2020
    Release notes

    Added

    • Added Asn1Object::from_str.
    • Added Dh::from_pgq, DhRef::prime_p, DhRef::prime_q, DhRef::generator, DhRef::generate_params, DhRef::generate_key, DhRef::public_key, and DhRef::compute_key.
    • Added Pkcs7::from_der and Pkcs7Ref::to_der.
    • Added Id::X25519, Id::X448, PKey::generate_x25519, and PKey::generate_x448.
    • Added SrtpProfileId::SRTP_AEAD_AES_128_GCM and SrtpProfileId::SRTP_AEAD_AES_256_GCM.
    • Added SslContextBuilder::verify_param and SslContextBuilder::verify_param_mut.
    • Added X509Ref::subject_name_hash and X509Ref::version.
    • Added X509StoreBuilderRef::add_lookup, and the X509Lookup type.
    • Added X509VerifyFlags, X509VerifyParamRef::set_flags, X509VerifyParamRef::clear_flags X509VerifyParamRef::get_flags.
    Open source →
  52. 0.10.30 26 Jun 2020
    Release notes

    Fixed

    • DsaRef::private_key_to_pem can no longer be called without a private key.

    Changed

    • Improved the Debug implementations of many types.

    Added

    • Added is_empty implementations for Asn1StringRef and Asn1BitStringRef.
    • Added EcPointRef::{to_pem, to_dir} and EcKeyRef::{public_key_from_pem, public_key_from_der}.
    • Added Default implementations for many types.
    • Added Debug implementations for many types.
    • Added SslStream::from_raw_parts.
    • Added SslRef::set_mtu.
    • Added Cipher::{aes_128_ocb, aes_192_ocb, aes_256_ocb}.

    Deprecated

    • Deprecated SslStreamBuilder::set_dtls_mtu_size in favor of SslRef::set_mtu.
    Open source →
  53. 0.10.29 08 Apr 2020
    Release notes

    Fixed

    • Fixed a memory leak in X509Builder::append_extension.

    Added

    • Added SslConnector::into_context and SslConnector::context.
    • Added SslAcceptor::into_context and SslAcceptor::context.
    • Added SslMethod::tls_client and SslMethod::tls_server.
    • Added SslContextBuilder::set_cert_store.
    • Added SslContextRef::verify_mode and SslRef::verify_mode.
    • Added SslRef::is_init_finished.
    • Added X509Object.
    • Added X509StoreRef::objects.
    Open source →
  54. 0.10.28 04 Feb 2020
    Release notes

    Fixed

    • Fixed the mutability of Signer::sign_oneshot and Verifier::verify_oneshot. This is unfortunately a breaking change, but a necessary soundness fix.
    Open source →
  55. 0.10.27 29 Jan 2020
    Release notes

    Added

    • Added MessageDigest::null.
    • Added PKey::private_key_from_pkcs8.
    • Added SslOptions::NO_RENEGOTIATION.
    • Added SslStreamBuilder::set_dtls_mtu_size.
    Open source →
  56. 0.10.26 22 Nov 2019
    Release notes

    Fixed

    • Fixed improper handling of the IV buffer in envelope::{Seal, Unseal}.

    Added

    • Added Asn1TimeRef::{diff, compare}.
    • Added Asn1Time::from_unix.
    • Added PartialEq and PartialOrd implementations for Asn1Time and Asn1TimeRef.
    • Added base64::{encode_block, decode_block}.
    • Added EcGroupRef::order_bits.
    • Added Clone implementations for Sha1, Sha224, Sha256, Sha384, and Sha512.
    • Added SslContextBuilder::{set_sigalgs_list, set_groups_list}.
    Open source →
  57. 0.10.25 03 Oct 2019
    Release notes

    Fixed

    • Fixed a memory leak in EcdsaSig::from_private_components when using OpenSSL 1.0.x.

    Added

    • Added support for Ed25519 and Ed448 keys.
    • Implemented ToOwned for PKeyRef and Clone for PKey.
    Open source →
  58. 0.10.24 19 Jul 2019
    Release notes

    Fixed

    • Worked around an OpenSSL 1.0.x bug triggered by code calling SSL_set_app_data.

    Added

    • Added aes::{wrap_key, unwrap_key}.
    • Added CmsContentInfoRef::to_pem and CmsContentInfo::from_pem.
    • Added DsaRef::private_key_to_pem.
    • Added EcGroupRef::{cofactor, generator}.
    • Added EcPointRef::to_owned.
    • Added a Debug implementation for EcKey.
    • Added SslAcceptor::{mozilla_intermediate_v5, mozilla_modern_v5}.
    • Added Cipher::{aes_128_ofb, aes_192_ecb, aes_192_cbc, aes_192_ctr, aes_192_cfb1, aes_192_cfb128, aes_192_cfb8, aes_192_gcm, aes_192_ccm, aes_192_ofb, aes_256_ofb}.
    Open source →
  59. 0.10.23 18 May 2019
    Release notes

    Fixed

    • Fixed session callbacks when an Ssl's context is replaced.

    Added

    • Added SslContextBuilder::add_client_ca.
    Open source →
  60. 0.10.22 09 May 2019
    Release notes

    Added

    • Added support for the LibreSSL 2.9.x series.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive