Skip to content

pkcs1+pkcs5+pkcs8+sec1+spki: rc releases #1847

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
656 changes: 75 additions & 581 deletions Cargo.lock

Large diffs are not rendered by default.

71 changes: 14 additions & 57 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ members = [
"base16ct",
"base32ct",
"base64ct",
"cmpv2",
"cms",
#"cmpv2",
#"cms",
"const-oid",
"crmf",
#"crmf",
"der",
"der_derive",
"gss-api",
#"gss-api",
"pem-rfc7468",
"pkcs1",
"pkcs5",
Expand All @@ -22,6 +22,16 @@ members = [
"tai64",
"tls_codec",
"tls_codec/derive",
#"x509-tsp",
#"x509-cert",
#"x509-cert/test-support",
#"x509-ocsp"
]
exclude = [
"cmpv2",
"cms",
"crmf",
"gss-api",
"x509-tsp",
"x509-cert",
"x509-cert/test-support",
Expand Down Expand Up @@ -58,56 +68,3 @@ tls_codec_derive = { path = "./tls_codec/derive" }
x509-tsp = { path = "./x509-tsp" }
x509-cert = { path = "./x509-cert" }
x509-ocsp = { path = "./x509-ocsp" }


# https://github.com/RustCrypto/signatures/pull/913
# https://github.com/RustCrypto/signatures/pull/923
ecdsa = { git = "https://github.com/RustCrypto/signatures.git" }
rfc6979 = { git = "https://github.com/RustCrypto/signatures.git" }
# https://github.com/RustCrypto/key-wraps/pull/34
# https://github.com/RustCrypto/key-wraps/pull/35
# https://github.com/RustCrypto/key-wraps/pull/39
aes-kw = { git = "https://github.com/RustCrypto/key-wraps.git" }


# https://github.com/RustCrypto/KDFs/pull/102
ansi-x963-kdf = { git = "https://github.com/RustCrypto/KDFs.git" }
hkdf = { git = "https://github.com/RustCrypto/KDFs.git" }


# https://github.com/RustCrypto/traits/pull/1777
crypto-common = { git = "https://github.com/RustCrypto/traits.git" }
elliptic-curve = { git = "https://github.com/RustCrypto/traits.git" }
signature = { git = "https://github.com/RustCrypto/traits.git" }
aead = { git = "https://github.com/RustCrypto/traits.git" }
digest = { git = "https://github.com/RustCrypto/traits.git" }

# https://github.com/RustCrypto/RSA/pull/478
# https://github.com/RustCrypto/RSA/pull/504
rsa = { git = "https://github.com/RustCrypto/RSA.git" }

# https://github.com/RustCrypto/password-hashes/pull/577
# https://github.com/RustCrypto/password-hashes/pull/578
# https://github.com/RustCrypto/password-hashes/pull/592
pbkdf2 = { git = "https://github.com/RustCrypto/password-hashes.git" }
scrypt = { git = "https://github.com/RustCrypto/password-hashes.git" }

crypto-bigint = { git = "https://github.com/RustCrypto/crypto-bigint.git" }
crypto-primes = { git = "https://github.com/entropyxyz/crypto-primes.git" }

# https://github.com/RustCrypto/elliptic-curves/pull/1125
# https://github.com/RustCrypto/elliptic-curves/pull/1131
primefield = { git = "https://github.com/RustCrypto/elliptic-curves.git" }
p256 = { git = "https://github.com/RustCrypto/elliptic-curves.git" }

cbc = { git = "https://github.com/RustCrypto/block-modes.git" }
ctr = { git = "https://github.com/RustCrypto/block-modes.git" }
aes-gcm = { git = "https://github.com/RustCrypto/AEADs.git" }
salsa20 = { git = "https://github.com/RustCrypto/stream-ciphers.git" }

sha1 = { git = "https://github.com/RustCrypto/hashes.git" }
sha2 = { git = "https://github.com/RustCrypto/hashes.git" }
sha3 = { git = "https://github.com/RustCrypto/hashes.git" }
whirlpool = { git = "https://github.com/RustCrypto/hashes.git" }

hmac = { git = "https://github.com/RustCrypto/MACs.git" }
2 changes: 1 addition & 1 deletion cmpv2/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ rust-version = "1.85"

[dependencies]
crmf = "=0.3.0-pre.0"
der = { version = "0.8.0-rc.0", features = ["alloc", "derive", "flagset", "oid"] }
der = { version = "0.8.0-rc.3", features = ["alloc", "derive", "flagset", "oid"] }
spki = { version = "0.8.0-rc.0" }
x509-cert = { version = "=0.3.0-pre.0", default-features = false }

Expand Down
2 changes: 1 addition & 1 deletion cms/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ rust-version = "1.85"

[dependencies]
const-oid = { version = "0.10", features = ["db"] }
der = { version = "0.8.0-rc.0", features = ["alloc", "derive", "oid"] }
der = { version = "0.8.0-rc.3", features = ["alloc", "derive", "oid"] }
spki = { version = "0.8.0-rc.0" }
x509-cert = { version = "=0.3.0-pre.0", default-features = false }

Expand Down
2 changes: 1 addition & 1 deletion crmf/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ rust-version = "1.85"

[dependencies]
cms = "=0.3.0-pre.0"
der = { version = "0.8.0-rc.0", features = ["alloc", "derive"] }
der = { version = "0.8.0-rc.3", features = ["alloc", "derive"] }
spki = "0.8.0-rc.0"
x509-cert = { version = "=0.3.0-pre.0", default-features = false }

Expand Down
4 changes: 2 additions & 2 deletions gss-api/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ edition = "2024"
rust-version = "1.85"

[dependencies]
der = { version = "0.8.0-rc.0", features = ["oid", "alloc"] }
der = { version = "0.8.0-rc.3", features = ["oid", "alloc"] }
spki = { version = "0.8.0-rc.0" }
x509-cert = { version = "=0.3.0-pre.0", default-features = false }

[dev-dependencies]
der = { version = "0.8.0-rc.0", features = ["oid", "pem", "alloc"] }
der = { version = "0.8.0-rc.3", features = ["oid", "pem", "alloc"] }
hex-literal = "1"
x509-cert = { version = "=0.3.0-pre.0", default-features = false, features = ["pem"] }

Expand Down
4 changes: 2 additions & 2 deletions pkcs1/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "pkcs1"
version = "0.8.0-rc.1"
version = "0.8.0-rc.2"
description = """
Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #1:
RSA Cryptography Specifications Version 2.2 (RFC 8017)
Expand All @@ -16,7 +16,7 @@ edition = "2024"
rust-version = "1.85"

[dependencies]
der = { version = "0.8.0-rc.0", features = ["oid"] }
der = { version = "0.8.0-rc.3", features = ["oid"] }
spki = { version = "0.8.0-rc.0" }

# optional dependencies
Expand Down
8 changes: 4 additions & 4 deletions pkcs12/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,22 +16,22 @@ edition = "2024"
rust-version = "1.85"

[dependencies]
der = { version = "0.8.0-rc.0", features = ["alloc", "derive", "oid"], default-features = false }
der = { version = "0.8.0-rc.3", features = ["alloc", "derive", "oid"], default-features = false }
spki = { version = "0.8.0-rc.0", default-features = false }
x509-cert = { version = "=0.3.0-pre.0", default-features = false }
const-oid = { version = "0.10.0", features = ["db"], default-features = false }
cms = { version = "=0.3.0-pre.0", default-features = false }

# optional dependencies
digest = { version = "0.11.0-pre.10", features = ["alloc"], optional = true }
digest = { version = "0.11.0-rc.0", features = ["alloc"], optional = true }
zeroize = { version = "1.8.1", optional = true, default-features = false }

[dev-dependencies]
hex-literal = "1"
pkcs8 = { version = "0.11.0-rc.1", features = ["pkcs5", "getrandom"] }
pkcs5 = { version = "0.8.0-rc.0", features = ["pbes2", "3des"] }
sha2 = "=0.11.0-pre.5"
whirlpool = "=0.11.0-pre.5"
sha2 = "0.11.0-rc.0"
whirlpool = "0.11.0-rc.0"

[features]
default = ["pem"]
Expand Down
20 changes: 10 additions & 10 deletions pkcs5/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "pkcs5"
version = "0.8.0-rc.3"
version = "0.8.0-rc.4"
description = """
Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #5:
Password-Based Cryptography Specification Version 2.1 (RFC 8018)
Expand All @@ -16,19 +16,19 @@ edition = "2024"
rust-version = "1.85"

[dependencies]
der = { version = "0.8.0-rc.0", features = ["oid"] }
der = { version = "0.8.0-rc.3", features = ["oid"] }
spki = { version = "0.8.0-rc.0" }

# optional dependencies
cbc = { version = "=0.2.0-pre.2", optional = true }
aes = { version = "=0.9.0-pre.3", optional = true, default-features = false }
aes-gcm = { version = "=0.11.0-pre.2", optional = true, default-features = false, features = ["aes"] }
des = { version = "=0.9.0-pre.3", optional = true, default-features = false }
pbkdf2 = { version = "=0.13.0-pre.1", optional = true, default-features = false, features = ["hmac"] }
cbc = { version = "0.2.0-rc.0", optional = true }
aes = { version = "0.9.0-rc.0", optional = true, default-features = false }
aes-gcm = { version = "0.11.0-rc.0", optional = true, default-features = false, features = ["aes"] }
des = { version = "0.9.0-rc.0", optional = true, default-features = false }
pbkdf2 = { version = "0.13.0-rc.0", optional = true, default-features = false, features = ["hmac"] }
rand_core = { version = "0.9", optional = true, default-features = false }
scrypt = { version = "=0.12.0-pre.2", optional = true, default-features = false }
sha1 = { version = "=0.11.0-pre.5", optional = true, default-features = false }
sha2 = { version = "=0.11.0-pre.5", optional = true, default-features = false }
scrypt = { version = "0.12.0-rc.1", optional = true, default-features = false }
sha1 = { version = "0.11.0-rc.0", optional = true, default-features = false }
sha2 = { version = "0.11.0-rc.0", optional = true, default-features = false }

[dev-dependencies]
hex-literal = "1"
Expand Down
2 changes: 1 addition & 1 deletion pkcs5/src/pbes2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ impl Parameters {
let mut salt = [0u8; Self::DEFAULT_SALT_LEN];
rng.fill_bytes(&mut salt);

scrypt::Params::new(14, 8, 1, 32)
scrypt::Params::new(14, 8, 1)
.ok()
.and_then(|params| Self::scrypt_aes256cbc(params, &salt, iv).ok())
.expect("invalid scrypt parameters")
Expand Down
2 changes: 1 addition & 1 deletion pkcs5/src/pbes2/encryption.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ use cbc::cipher::{
};
use pbkdf2::{
hmac::{
block_api::EagerHash,
EagerHash,
digest::{
FixedOutput, HashMarker, Update,
block_api::BlockSizeUser,
Expand Down
1 change: 0 additions & 1 deletion pkcs5/src/pbes2/kdf.rs
Original file line number Diff line number Diff line change
Expand Up @@ -493,7 +493,6 @@ impl TryFrom<&ScryptParams> for scrypt::Params {
log_n,
params.block_size.into(),
params.parallelization.into(),
scrypt::Params::RECOMMENDED_LEN,
)
.map_err(|_| ScryptParams::INVALID_ERR)
}
Expand Down
6 changes: 3 additions & 3 deletions pkcs8/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "pkcs8"
version = "0.11.0-rc.3"
version = "0.11.0-rc.4"
description = """
Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #8:
Private-Key Information Syntax Specification (RFC 5208), with additional
Expand All @@ -17,12 +17,12 @@ edition = "2024"
rust-version = "1.85"

[dependencies]
der = { version = "0.8.0-rc.2", features = ["oid"] }
der = { version = "0.8.0-rc.3", features = ["oid"] }
spki = { version = "0.8.0-rc.0" }

# optional dependencies
rand_core = { version = "0.9", optional = true, default-features = false }
pkcs5 = { version = "0.8.0-rc.3", optional = true, features = ["rand_core"] }
pkcs5 = { version = "0.8.0-rc.4", optional = true, features = ["rand_core"] }
subtle = { version = "2", optional = true, default-features = false }

[dev-dependencies]
Expand Down
6 changes: 3 additions & 3 deletions pkcs8/tests/encrypted_private_key.rs
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ fn decrypt_ed25519_der_encpriv_aes128_gcm_scrypt() {
#[test]
fn encrypt_ed25519_der_encpriv_aes128_gcm_scrypt() {
let scrypt_params = pkcs5::pbes2::Parameters::scrypt_aes128gcm(
pkcs5::scrypt::Params::new(14, 8, 1, 16).unwrap(),
pkcs5::scrypt::Params::new(14, 8, 1).unwrap(),
&hex!("05BE17663E551D120F81308E"),
hex!("D7E967A5DF6189471BCC1F49"),
)
Expand Down Expand Up @@ -232,7 +232,7 @@ fn decrypt_ed25519_der_encpriv_aes256_gcm_scrypt() {
#[test]
fn encrypt_ed25519_der_encpriv_aes256_gcm_scrypt() {
let scrypt_params = pkcs5::pbes2::Parameters::scrypt_aes256gcm(
pkcs5::scrypt::Params::new(15, 8, 1, 32).unwrap(),
pkcs5::scrypt::Params::new(15, 8, 1).unwrap(),
&hex!("F67F4005A8393BD41F5B4981"),
hex!("98B118A950D39E2ECB5B125C"),
)
Expand Down Expand Up @@ -274,7 +274,7 @@ fn encrypt_ed25519_der_encpriv_aes256_pbkdf2_sha256() {
#[test]
fn encrypt_ed25519_der_encpriv_aes256_scrypt() {
let scrypt_params = pkcs5::pbes2::Parameters::scrypt_aes256cbc(
pkcs5::scrypt::Params::new(15, 8, 1, 32).unwrap(),
pkcs5::scrypt::Params::new(15, 8, 1).unwrap(),
&hex!("E6211E2348AD69E0"),
hex!("9BD0A6251F2254F9FD5963887C27CF01"),
)
Expand Down
6 changes: 3 additions & 3 deletions sec1/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "sec1"
version = "0.8.0-rc.4"
version = "0.8.0-rc.5"
description = """
Pure Rust implementation of SEC1: Elliptic Curve Cryptography encoding formats
including ASN.1 DER-serialized private keys as well as the
Expand All @@ -18,9 +18,9 @@ rust-version = "1.85"

[dependencies]
base16ct = { version = "0.2", optional = true, default-features = false }
der = { version = "0.8.0-rc.0", optional = true, features = ["oid"] }
der = { version = "0.8.0-rc.3", optional = true, features = ["oid"] }
hybrid-array = { version = "0.3", optional = true, default-features = false }
pkcs8 = { version = "0.11.0-rc.1", optional = true, default-features = false }
pkcs8 = { version = "0.11.0-rc.4", optional = true, default-features = false }
serdect = { version = "0.3.0-rc.0", optional = true, default-features = false, features = ["alloc"] }
subtle = { version = "2", optional = true, default-features = false }
zeroize = { version = "1", optional = true, default-features = false }
Expand Down
8 changes: 4 additions & 4 deletions spki/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "spki"
version = "0.8.0-rc.1"
version = "0.8.0-rc.2"
description = """
X.509 Subject Public Key Info (RFC5280) describing public keys as well as their
associated AlgorithmIdentifiers (i.e. OIDs)
Expand All @@ -16,13 +16,13 @@ edition = "2024"
rust-version = "1.85"

[dependencies]
der = { version = "0.8.0-rc.0", features = ["oid"] }
der = { version = "0.8.0-rc.3", features = ["oid"] }

# Optional dependencies
arbitrary = { version = "1.4", features = ["derive"], optional = true }
base64ct = { version = "1", optional = true, default-features = false }
digest = { version = "0.11.0-pre.10", optional = true, default-features = false }
sha2 = { version = "=0.11.0-pre.5", optional = true, default-features = false }
digest = { version = "0.11.0-rc.0", optional = true, default-features = false }
sha2 = { version = "0.11.0-rc.0", optional = true, default-features = false }

[dev-dependencies]
hex-literal = "1"
Expand Down
2 changes: 1 addition & 1 deletion x509-cert/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ rust-version = "1.85"

[dependencies]
const-oid = { version = "0.10.0", features = ["db"] }
der = { version = "0.8.0-rc.0", features = ["alloc", "derive", "flagset", "oid"] }
der = { version = "0.8.0-rc.3", features = ["alloc", "derive", "flagset", "oid"] }
spki = { version = "0.8.0-rc.0", features = ["alloc"] }

# optional dependencies
Expand Down
2 changes: 1 addition & 1 deletion x509-ocsp/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ rust-version = "1.85"

[dependencies]
const-oid = { version = "0.10.0-rc.0", default-features = false, features = ["db"] }
der = { version = "0.8.0-rc.0", features = ["alloc", "derive", "oid"] }
der = { version = "0.8.0-rc.3", features = ["alloc", "derive", "oid"] }
spki = { version = "0.8.0-rc.0", features = ["alloc"] }
x509-cert = { version = "=0.3.0-pre.0", default-features = false }

Expand Down
2 changes: 1 addition & 1 deletion x509-tsp/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ readme = "README.md"
rust-version = "1.85"

[dependencies]
der = { version = "0.8.0-rc.0", features = ["alloc", "derive", "oid", "pem"] }
der = { version = "0.8.0-rc.3", features = ["alloc", "derive", "oid", "pem"] }
cms = { version = "=0.3.0-pre.0" }
cmpv2 = { version = "=0.3.0-pre.0", features = ["alloc"] }
x509-cert = { version = "=0.3.0-pre.0", default-features = false }
Expand Down