RustCrypto / formats

Cryptography-related format encoders/decoders: DER, PEM, PKCS, PKIX
230 stars 122 forks source link

x509-cert: v0.3 release train #1289

Open baloo opened 6 months ago

baloo commented 6 months ago

I'd like to start a release train for x509-cert v0.3 and here is a list of things I'd like to fix/merge:

(feel free to comment or edit this issue to add things)

tarcieri commented 6 months ago

I'm ready to flip over whenever you are. It would be very helpful for upgrading the https://github.com/rustcrypto/traits crates which I'm currently in the middle of.

I was mostly holding off so you could finish some of ^^^ PRs, but if you're fine with them all going into the next breaking release I can flip this repo over ASAP.

baloo commented 6 months ago

I'll finish all the PRs I've put up, but I would absolutely love to see AsyncBuilder in and available ASAP. I'd also take the opportunity to fix #1281 as this requires an API break as well.

tarcieri commented 6 months ago

Here's an initial set of prerelease bumps: https://github.com/RustCrypto/formats/pull/1296

However, it doesn't yet include x509-cert due to its dev-dependencies on pubkey crypto crates used to test the certificate builder.

itsbalamurali commented 5 months ago

@baloo can you please update the signature dependency on x509-cert to match with latest RSA release ? while cutting a new release.

error: failed to select a version for `signature`.
    ... required by package `x509-cert v0.3.0-pre (https://github.com/RustCrypto/formats.git#f299a423)`
    ... which satisfies git dependency `x509-cert` (locked to 0.3.0-pre) of package `samael v0.0.14 (.../samael)`
versions that meet the requirements `=2.3.0-pre.2` are: 2.3.0-pre.2

all possible versions conflict with previously selected packages.

  previously selected package `signature v2.3.0-pre.3`
    ... which satisfies dependency `signature = "=2.3.0-pre.3"` of package `rsa v0.10.0-pre.1`
    ... which satisfies dependency `rsa = "^0.10.0-pre.1"` of package `samael v0.0.14 (.../samael)`

failed to select a version for `signature` which could resolve this conflict

Thanks!

baloo commented 5 months ago

I've beat you to it https://github.com/RustCrypto/formats/pull/1344 :)

Here is the [patch.crate-io] I currently go with:

[patch.crates-io]
ssh-agent-lib = { git = "https://github.com/wiktor-k/ssh-agent-lib.git" }
#oauth2 = { path = "../oauth2-rs" }

# https://github.com/RustCrypto/signatures/pull/807
ed25519 = { git = "https://github.com/baloo/signatures.git", branch = "baloo/pkcs8-0.11.0-pre.0" }

p256 = { git = "https://github.com/RustCrypto/elliptic-curves.git" }
p384 = { git = "https://github.com/RustCrypto/elliptic-curves.git" }

# https://github.com/iqlusioninc/yubikey.rs/pull/554
yubikey = { git = "https://github.com/baloo/yubikey.rs.git", branch = "baloo/rustcrypto-pre-releases" }

async-signature = { git = "https://github.com/RustCrypto/traits.git" }

# https://github.com/RustCrypto/formats/pull/1344
cms       = { git = "https://github.com/baloo/formats.git", branch = "baloo/prerelease-feb-2024" }
x509-cert = { git = "https://github.com/baloo/formats.git", branch = "baloo/prerelease-feb-2024" }

oauth2 = { git = "https://github.com/baloo/oauth2-rs.git", branch = "baloo/sha2-prerelease" }
openidconnect = { git = "https://github.com/baloo/openidconnect-rs.git", branch = "baloo/prereleases" }

# https://github.com/dalek-cryptography/curve25519-dalek/pull/620
curve25519-dalek = { git = "https://github.com/baloo/curve25519-dalek.git", branch = "baloo/rust-crypto/digest-sha2-bumps" }
ed25519-dalek    = { git = "https://github.com/baloo/curve25519-dalek.git", branch = "baloo/rust-crypto/digest-sha2-bumps" }

# https://github.com/RustCrypto/password-hashes/pull/488
pbkdf2 = { git = "https://github.com/baloo/password-hashes.git", branch = "baloo/prereleases" }

You're probably not going to need everything.

(I can't cut a prerelease of x509-cert because of missing dependencies just yet)

itsbalamurali commented 5 months ago

Thanks a ton!