From a700dd5e3cf33c1b680d4026d5d6cd2090798251 Mon Sep 17 00:00:00 2001 From: Shinya Watanabe Date: Fri, 4 Sep 2026 07:57:16 +0900 Subject: [PATCH] fix(deps): Update MSRV to 1.87 and migrate to Edition 2024 --- .github/workflows/rustls-rustcrypto.yml | 8 +- Cargo.lock | 140 ++++++++++-------- Cargo.toml | 7 +- Makefile | 5 +- README.md | 2 +- src/aead/chacha20.rs | 2 +- src/lib.rs | 1 - src/quic.rs | 2 +- src/sign/rsa.rs | 8 +- src/verify.rs | 2 +- src/verify/ecdsa.rs | 2 +- src/verify/eddsa.rs | 2 +- src/verify/rsa.rs | 6 +- tests/fake_cert_client_verifier.rs | 2 +- tests/fake_cert_server_verifier.rs | 6 +- validation/local_ping_pong_openssl/Cargo.lock | 28 ++-- validation/local_ping_pong_openssl/Cargo.toml | 2 +- validation/local_ping_pong_openssl/Makefile | 5 +- 18 files changed, 127 insertions(+), 103 deletions(-) diff --git a/.github/workflows/rustls-rustcrypto.yml b/.github/workflows/rustls-rustcrypto.yml index 390ed49..ee23be1 100644 --- a/.github/workflows/rustls-rustcrypto.yml +++ b/.github/workflows/rustls-rustcrypto.yml @@ -23,7 +23,7 @@ jobs: - uses: actions/checkout@v6 - uses: dtolnay/rust-toolchain@master with: - toolchain: 1.85.0 + toolchain: 1.87.0 components: clippy - run: cargo clippy --all --all-features -- -D warnings @@ -51,7 +51,7 @@ jobs: strategy: matrix: rust: - - 1.85.0 # MSRV + - 1.87.0 # MSRV - stable target: - armv7a-none-eabi @@ -71,7 +71,7 @@ jobs: strategy: matrix: toolchain: - - 1.85.0 # MSRV + - 1.87.0 # MSRV - stable runs-on: ubuntu-latest steps: @@ -89,7 +89,7 @@ jobs: matrix: include: - target: powerpc-unknown-linux-gnu - rust: 1.85.0 # MSRV + rust: 1.87.0 # MSRV - target: powerpc-unknown-linux-gnu rust: stable runs-on: ubuntu-latest diff --git a/Cargo.lock b/Cargo.lock index 3199dc0..3adfb8c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "aead" @@ -14,9 +14,9 @@ dependencies = [ [[package]] name = "aes" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fc76eaeac4c9164506c466d4ffdd8ec9d0c5bf57ee97177c4d8eceb3a0e138" +checksum = "f8eb277bec05f56a0e0591f155a484cbd0f4f07ff2905051a48c72f004f7ed58" dependencies = [ "cipher", "cpubits", @@ -25,16 +25,16 @@ dependencies = [ [[package]] name = "aes-gcm" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdf011db2e21ce0d575593d749db5554b47fed37aff429e4dc50bc91ac93a028" +checksum = "7f2b8006a0c83f52b62ba44a97b58bf76fe2f70a329e588f67f89691d93d498f" dependencies = [ "aead", "aes", "cipher", "ctr", + "ctutils", "ghash", - "subtle", ] [[package]] @@ -62,13 +62,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa" dependencies = [ "hybrid-array", + "zeroize", ] [[package]] name = "cc" -version = "1.2.67" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17dd265a7d0f31ef544e1b20e03add05d3b45b491b633b10d67145d2acc1a38" +checksum = "4ff2a8126fff0f8c839080d619675a585e61720bb12d2baceae45769fd66f155" dependencies = [ "find-msvc-tools", "shlex", @@ -76,15 +77,15 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" +checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600" [[package]] name = "chacha20" -version = "0.10.1" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d524456ba66e72eb8b115ff89e01e497f8e6d11d78b70b1aa13c0fbd97540a81" +checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06" dependencies = [ "cfg-if", "cipher", @@ -134,18 +135,18 @@ checksum = "15b85f9c39137c3a891689859392b1bd49812121d0d61c9caf00d46ed5ce06ae" [[package]] name = "cpufeatures" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b2a41393f66f16b0823bb79094d54ac5fbd34ab292ddafb9a0456ac9f87d201" +checksum = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566" dependencies = [ "libc", ] [[package]] name = "crypto-bigint" -version = "0.7.5" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a52aa3fcda4e6302a9f48734f234d35d4721b96f8fe07d073f07ce9df4f0271" +checksum = "9c035cb64cba03dad2fb921f3e218785e8cf9a41790da5eb3a1400f62fa2be11" dependencies = [ "cpubits", "ctutils", @@ -188,9 +189,9 @@ dependencies = [ [[package]] name = "ctutils" -version = "0.4.2" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5515a3834141de9eafb9717ad39eea8247b5674e6066c404e8c4b365d2a29e" +checksum = "261af4dc7a06ea8a527a8717d8cbba3417530d6ea14e1edb3de6b67806be474f" dependencies = [ "cmov", "subtle", @@ -220,14 +221,14 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.119", ] [[package]] name = "der" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a69dedd701da44b0536442edf09c81a64b0ab97a7a4a5e3d1971f00027cbc63d" +checksum = "6a996a108feb8b427a6e12fcf6af4aa83409b79d72c15337d7741368131ee004" dependencies = [ "const-oid", "pem-rfc7468", @@ -244,6 +245,7 @@ dependencies = [ "const-oid", "crypto-common", "ctutils", + "zeroize", ] [[package]] @@ -288,9 +290,9 @@ dependencies = [ [[package]] name = "elliptic-curve" -version = "0.14.1" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d65aa39b3a5c1c9c1b745c9a019234bb7a21b77abcb4f4d266d706e2d577d65" +checksum = "900f37e7e18d74a2347389af6cd69e3a30d5cc9e697f40004865679aa75e9c7c" dependencies = [ "base16ct", "crypto-bigint", @@ -326,9 +328,9 @@ checksum = "64cd1e32ddd350061ae6edb1b082d7c54915b5c672c389143b9a63403a109f24" [[package]] name = "find-msvc-tools" -version = "0.1.9" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" +checksum = "1c66915cc5391097de7a2b0b972e8505aa33c0df401fd3a6811dbdb32881ba48" [[package]] name = "getrandom" @@ -393,9 +395,9 @@ dependencies = [ [[package]] name = "hybrid-array" -version = "0.4.13" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "818356c5132c1fede50f837ca96afbe78ff42413047f4abb886217845e1b6c8c" +checksum = "27f864f10dfb56725ce5ce5472bc52252c8f93a4ab86327122cebf62c5f59a17" dependencies = [ "subtle", "typenum", @@ -404,24 +406,24 @@ dependencies = [ [[package]] name = "inout" -version = "0.2.2" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7" +checksum = "3a580c13f0ffc335ef42dd3f6b1a41b726051c5e1656d9a3aa6fddb3c5dfbbf9" dependencies = [ "hybrid-array", ] [[package]] name = "libc" -version = "0.2.186" +version = "0.2.191" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" +checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a" [[package]] name = "log" -version = "0.4.33" +version = "0.4.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" +checksum = "5d15f86d12da44cd8d4ec3c73984537eb7f4cadcb9776a575a0a8a05ca11005c" [[package]] name = "num-traits" @@ -482,9 +484,9 @@ dependencies = [ [[package]] name = "pkcs1" -version = "0.8.0-rc.4" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "986d2e952779af96ea048f160fd9194e1751b4faea78bcf3ceb456efe008088e" +checksum = "6250dd7321adbe93d12b750aee0ced159fd13e77f625edcdf1cb6f83cd99f650" dependencies = [ "der", "spki", @@ -548,18 +550,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.106" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.46" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" dependencies = [ "proc-macro2", ] @@ -602,14 +604,16 @@ dependencies = [ [[package]] name = "rsa" -version = "0.10.0-rc.18" +version = "0.10.0-rc.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b2aa4ba0d89f73d1e332df05be0eeab8840351c36ca5654341dfdb57bb3caf" +checksum = "d4fb656eb8fa4b5fb89c86cbb9099dd28604edc8987d59401fde20c4ebc8466e" dependencies = [ "const-oid", "crypto-bigint", + "crypto-common", "crypto-primes", "digest", + "hmac", "pkcs1", "pkcs8", "rand_core", @@ -630,9 +634,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.42" +version = "0.23.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c54fcab019b409d04215d3a17cb438fd7fbf192ee61461f20f4fe18704bc138" +checksum = "48e13bd8c0e9365c43cfa5c9e8f9ad49d3c8444926c9aac819e0e4dc503c8fdf" dependencies = [ "log", "once_cell", @@ -644,9 +648,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.15.0" +version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "764899a24af3980067ee14bc143654f297b22eaebfe3c7b6b211920a5a59b046" +checksum = "2f4925028c7eb5d1fcdaf196971378ed9d2c1c4efc7dc5d011256f76c99c0a96" dependencies = [ "zeroize", ] @@ -680,9 +684,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.13" +version = "0.103.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61c429a8649f110dddef65e2a5ad240f747e85f7758a6bccc7e5777bd33f756e" +checksum = "4443b1b6d39d7c663139942cc4558262562d2c84123bb6282ef177009ca8b281" dependencies = [ "ring", "rustls-pki-types", @@ -711,31 +715,31 @@ checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd" [[package]] name = "serde" -version = "1.0.228" +version = "1.0.229" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" dependencies = [ "serde_core", ] [[package]] name = "serde_core" -version = "1.0.228" +version = "1.0.229" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.228" +version = "1.0.229" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 3.0.9", ] [[package]] @@ -777,9 +781,9 @@ dependencies = [ [[package]] name = "spki" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d9efca8738c78ee9484207732f728b1ef517bbb1833d6fc0879ca898a522f6f" +checksum = "7ef958a98b9d5da290cfc78946e9f3e61e1e62a18db0d92cac0b83cc161491a9" dependencies = [ "base64ct", "der", @@ -802,6 +806,17 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "syn" +version = "3.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "typenum" version = "1.20.1" @@ -810,9 +825,9 @@ checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20" [[package]] name = "unicode-ident" -version = "1.0.24" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" +checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563" [[package]] name = "universal-hash" @@ -911,13 +926,14 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "wnaf" -version = "0.14.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab12e7090f27e2ffd9322651492942d50c2926094af30601e1964337db39daf1" +checksum = "795ca18b3fdb5e62bf982199278341ddcf7ebf7d32e25e212ad05d496e95f6fa" dependencies = [ "ff", "group", "hybrid-array", + "primefield", ] [[package]] @@ -933,6 +949,6 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.9.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13c156562582aa81c60cb29407084cdb54c4164760106ab78e6c5b0858cf64e" +checksum = "e13084392c5e4bc371903e2935a5eaeed24905a7511356b883835e18a78f6879" diff --git a/Cargo.toml b/Cargo.toml index e8e5de0..e10e433 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,9 +11,8 @@ readme = "README.md" repository = "https://github.com/RustCrypto/rustls-rustcrypto" categories = ["cryptography", "no-std"] keywords = ["rustls", "tls"] -edition = "2021" -rust-version = "1.75" -resolver = "1" # Hack to enable the `custom` feature of `getrandom` +edition = "2024" +rust-version = "1.87" # Ensure all dependencies + feats are mapped to crate features for correct usage # default features often have std breaking no_std and potentially other unwanted @@ -33,7 +32,7 @@ p384 = { version = "0.14", default-features = false, features = ["pem", "ecdsa", paste = { version = "1", default-features = false } pkcs8 = { version = "0.11", default-features = false } pki-types = { package = "rustls-pki-types", version = "1", default-features = false } -rsa = { version = "0.10.0-rc.18", default-features = false, features = ["sha2", "encoding"] } +rsa = { version = "0.10.0-rc.22", default-features = false, features = ["encoding", "pkcs1v15"] } rustls = { version = "0.23", default-features = false } sec1 = { version = "0.8", default-features = false } sha2 = { version = "0.11", default-features = false } diff --git a/Makefile b/Makefile index ae5529d..bc093c0 100644 --- a/Makefile +++ b/Makefile @@ -12,4 +12,7 @@ fix: test: cargo test -.PHONY: check clean fix test +cargo-update: + rustup run 1.87.0 cargo update + +.PHONY: check clean fix test cargo-update diff --git a/README.md b/README.md index 39739a7..dd3ae30 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ dual licensed as above, without any additional terms or conditions. [build-image]: https://github.com/RustCrypto/rustls-rustcrypto/actions/workflows/rustls-rustcrypto.yml/badge.svg [build-link]: https://github.com/RustCrypto/rustls-rustcrypto/actions/workflows/rustls-rustcrypto.yml [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.75+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.87+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/434751-TLS diff --git a/src/aead/chacha20.rs b/src/aead/chacha20.rs index 3fce86b..b40e8d4 100644 --- a/src/aead/chacha20.rs +++ b/src/aead/chacha20.rs @@ -13,7 +13,7 @@ use rustls::crypto::cipher::{ use rustls::{ConnectionTrafficSecrets, ContentType, ProtocolVersion}; #[cfg(feature = "tls12")] -use rustls::crypto::cipher::{KeyBlockShape, Tls12AeadAlgorithm, NONCE_LEN}; +use rustls::crypto::cipher::{KeyBlockShape, NONCE_LEN, Tls12AeadAlgorithm}; pub struct Chacha20Poly1305; diff --git a/src/lib.rs b/src/lib.rs index 6332bca..ce6d8d9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -13,7 +13,6 @@ clippy::cast_precision_loss, clippy::cast_sign_loss, clippy::checked_conversions, - clippy::from_iter_instead_of_collect, clippy::missing_errors_doc, clippy::mod_module_files, clippy::implicit_saturating_sub, diff --git a/src/quic.rs b/src/quic.rs index 08dd10d..785ac06 100644 --- a/src/quic.rs +++ b/src/quic.rs @@ -7,7 +7,7 @@ use aead::{AeadCore, AeadInOut}; use chacha20poly1305::{KeyInit, KeySizeUser}; use crypto_common::typenum::Unsigned; use rustls::crypto::cipher::{self, AeadKey, Iv}; -use rustls::{quic, Error, Tls13CipherSuite}; +use rustls::{Error, Tls13CipherSuite, quic}; #[allow(dead_code)] // TODO pub struct HeaderProtectionKey(AeadKey); diff --git a/src/sign/rsa.rs b/src/sign/rsa.rs index c816c26..a634bf8 100644 --- a/src/sign/rsa.rs +++ b/src/sign/rsa.rs @@ -3,8 +3,8 @@ use alloc::{boxed::Box, format, string::ToString, sync::Arc}; use pkcs8::DecodePrivateKey; use pki_types::PrivateKeyDer; +use rsa::PrivateKey; use rsa::pkcs1::DecodeRsaPrivateKey; -use rsa::RsaPrivateKey; use rustls::sign::{Signer, SigningKey}; use rustls::{SignatureAlgorithm, SignatureScheme}; use sha2::{Sha256, Sha384, Sha512}; @@ -19,16 +19,16 @@ const ALL_RSA_SCHEMES: &[SignatureScheme] = &[ ]; #[derive(Debug)] -pub struct RsaSigningKey(RsaPrivateKey); +pub struct RsaSigningKey(PrivateKey); impl TryFrom<&PrivateKeyDer<'_>> for RsaSigningKey { type Error = rustls::Error; fn try_from(value: &PrivateKeyDer<'_>) -> Result { let pkey = match value { - PrivateKeyDer::Pkcs8(der) => RsaPrivateKey::from_pkcs8_der(der.secret_pkcs8_der()) + PrivateKeyDer::Pkcs8(der) => PrivateKey::from_pkcs8_der(der.secret_pkcs8_der()) .map_err(|e| format!("failed to decrypt private key: {e}")), - PrivateKeyDer::Pkcs1(der) => RsaPrivateKey::from_pkcs1_der(der.secret_pkcs1_der()) + PrivateKeyDer::Pkcs1(der) => PrivateKey::from_pkcs1_der(der.secret_pkcs1_der()) .map_err(|e| format!("failed to decrypt private key: {e}")), PrivateKeyDer::Sec1(_) => Err("RSA does not support SEC1 key".to_string()), _ => Err("not supported".into()), diff --git a/src/verify.rs b/src/verify.rs index 2043b64..7eae04a 100644 --- a/src/verify.rs +++ b/src/verify.rs @@ -1,5 +1,5 @@ -use rustls::crypto::WebPkiSupportedAlgorithms; use rustls::SignatureScheme; +use rustls::crypto::WebPkiSupportedAlgorithms; use self::ecdsa::{ECDSA_P256_SHA256, ECDSA_P256_SHA384, ECDSA_P384_SHA256, ECDSA_P384_SHA384}; use self::eddsa::ED25519; diff --git a/src/verify/ecdsa.rs b/src/verify/ecdsa.rs index 743a6c5..e98b6be 100644 --- a/src/verify/ecdsa.rs +++ b/src/verify/ecdsa.rs @@ -1,7 +1,7 @@ use der::Decode; use digest::Digest; use paste::paste; -use pki_types::{alg_id, AlgorithmIdentifier, InvalidSignature, SignatureVerificationAlgorithm}; +use pki_types::{AlgorithmIdentifier, InvalidSignature, SignatureVerificationAlgorithm, alg_id}; use signature::hazmat::PrehashVerifier; macro_rules! impl_generic_ecdsa_verifer { diff --git a/src/verify/eddsa.rs b/src/verify/eddsa.rs index 61009e1..10a7cb0 100644 --- a/src/verify/eddsa.rs +++ b/src/verify/eddsa.rs @@ -1,4 +1,4 @@ -use pki_types::{alg_id, AlgorithmIdentifier, InvalidSignature, SignatureVerificationAlgorithm}; +use pki_types::{AlgorithmIdentifier, InvalidSignature, SignatureVerificationAlgorithm, alg_id}; use signature::Verifier; #[derive(Debug)] diff --git a/src/verify/rsa.rs b/src/verify/rsa.rs index bd79a97..8b9b95f 100644 --- a/src/verify/rsa.rs +++ b/src/verify/rsa.rs @@ -1,7 +1,7 @@ use paste::paste; -use pki_types::{alg_id, AlgorithmIdentifier, InvalidSignature, SignatureVerificationAlgorithm}; +use pki_types::{AlgorithmIdentifier, InvalidSignature, SignatureVerificationAlgorithm, alg_id}; use rsa::pkcs1::DecodeRsaPublicKey; -use rsa::{pkcs1v15, pss, RsaPublicKey}; +use rsa::{PublicKey, pkcs1v15, pss}; use sha2::{Sha256, Sha384, Sha512}; use signature::Verifier; @@ -33,7 +33,7 @@ macro_rules! impl_generic_rsa_verifer { message: &[u8], signature: &[u8], ) -> Result<(), InvalidSignature> { - let public_key = RsaPublicKey::from_pkcs1_der(public_key).map_err(|_| InvalidSignature)?; + let public_key = PublicKey::from_pkcs1_der(public_key).map_err(|_| InvalidSignature)?; let signature = <$signature>::try_from(signature).map_err(|_| InvalidSignature)?; <$verifying_key>::new(public_key) .verify(message, &signature) diff --git a/tests/fake_cert_client_verifier.rs b/tests/fake_cert_client_verifier.rs index a8dc9cc..7c8e04f 100644 --- a/tests/fake_cert_client_verifier.rs +++ b/tests/fake_cert_client_verifier.rs @@ -3,9 +3,9 @@ use rustls::Error; use rustls::SignatureScheme; +use rustls::DigitallySignedStruct; use rustls::pki_types::CertificateDer; use rustls::pki_types::UnixTime; -use rustls::DigitallySignedStruct; use rustls::client::danger::HandshakeSignatureValid; use rustls::server::danger::ClientCertVerified; diff --git a/tests/fake_cert_server_verifier.rs b/tests/fake_cert_server_verifier.rs index 2786058..6650c34 100644 --- a/tests/fake_cert_server_verifier.rs +++ b/tests/fake_cert_server_verifier.rs @@ -1,12 +1,12 @@ +use rustls::DigitallySignedStruct; +use rustls::Error; +use rustls::SignatureScheme; use rustls::client::danger::HandshakeSignatureValid; use rustls::client::danger::ServerCertVerified; use rustls::client::danger::ServerCertVerifier; use rustls::pki_types::CertificateDer; use rustls::pki_types::ServerName; use rustls::pki_types::UnixTime; -use rustls::DigitallySignedStruct; -use rustls::Error; -use rustls::SignatureScheme; #[derive(Debug)] pub struct FakeServerCertVerifier; diff --git a/validation/local_ping_pong_openssl/Cargo.lock b/validation/local_ping_pong_openssl/Cargo.lock index f776442..bc22576 100644 --- a/validation/local_ping_pong_openssl/Cargo.lock +++ b/validation/local_ping_pong_openssl/Cargo.lock @@ -14,9 +14,9 @@ dependencies = [ [[package]] name = "aes" -version = "0.9.4" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0fc36d7440d015b45468ba08a21e80e056ebbd014c611c6298bb7503e04bd1" +checksum = "f8eb277bec05f56a0e0591f155a484cbd0f4f07ff2905051a48c72f004f7ed58" dependencies = [ "cipher", "cpubits", @@ -68,13 +68,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa" dependencies = [ "hybrid-array", + "zeroize", ] [[package]] name = "cc" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "375989decec1a0fa424442bed520fa12ede43a48475ce8c7417d2c69b32b5f6b" +checksum = "4ff2a8126fff0f8c839080d619675a585e61720bb12d2baceae45769fd66f155" dependencies = [ "find-msvc-tools", "shlex", @@ -250,6 +251,7 @@ dependencies = [ "const-oid", "crypto-common", "ctutils", + "zeroize", ] [[package]] @@ -425,9 +427,9 @@ dependencies = [ [[package]] name = "inout" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b5cf4372d022092674a83b8febf5865f7a573cc0c5baec5e49c879b6a20978f" +checksum = "3a580c13f0ffc335ef42dd3f6b1a41b726051c5e1656d9a3aa6fddb3c5dfbbf9" dependencies = [ "hybrid-array", ] @@ -544,9 +546,9 @@ dependencies = [ [[package]] name = "pkcs1" -version = "0.8.0-rc.4" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "986d2e952779af96ea048f160fd9194e1751b4faea78bcf3ceb456efe008088e" +checksum = "6250dd7321adbe93d12b750aee0ced159fd13e77f625edcdf1cb6f83cd99f650" dependencies = [ "der", "spki", @@ -670,14 +672,16 @@ dependencies = [ [[package]] name = "rsa" -version = "0.10.0-rc.18" +version = "0.10.0-rc.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b2aa4ba0d89f73d1e332df05be0eeab8840351c36ca5654341dfdb57bb3caf" +checksum = "d4fb656eb8fa4b5fb89c86cbb9099dd28604edc8987d59401fde20c4ebc8466e" dependencies = [ "const-oid", "crypto-bigint", + "crypto-common", "crypto-primes", "digest", + "hmac", "pkcs1", "pkcs8", "rand_core", @@ -817,9 +821,9 @@ dependencies = [ [[package]] name = "sha2" -version = "0.11.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47d7069beb7d6ac7b9acd1039986e73443f24234f41074da099d6f994ac9ad19" +checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" dependencies = [ "cfg-if", "cpufeatures", diff --git a/validation/local_ping_pong_openssl/Cargo.toml b/validation/local_ping_pong_openssl/Cargo.toml index 3157462..0f3173b 100644 --- a/validation/local_ping_pong_openssl/Cargo.toml +++ b/validation/local_ping_pong_openssl/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "local_ping_pong_openssl" version = "0.0.0" -edition = "2021" +edition = "2024" license = "MIT OR Apache-2.0" [dependencies] diff --git a/validation/local_ping_pong_openssl/Makefile b/validation/local_ping_pong_openssl/Makefile index ae5529d..bc093c0 100644 --- a/validation/local_ping_pong_openssl/Makefile +++ b/validation/local_ping_pong_openssl/Makefile @@ -12,4 +12,7 @@ fix: test: cargo test -.PHONY: check clean fix test +cargo-update: + rustup run 1.87.0 cargo update + +.PHONY: check clean fix test cargo-update