diff --git a/.github/workflows/der.yml b/.github/workflows/der.yml index f050907b7..694fb4c73 100644 --- a/.github/workflows/der.yml +++ b/.github/workflows/der.yml @@ -38,10 +38,11 @@ jobs: - uses: RustCrypto/actions/cargo-hack-install@master - run: cargo hack build --target ${{ matrix.target }} --feature-powerset --exclude-features std,arbitrary - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + # TODO(tarcieri): re-enable this when we're not using unpublished prerelease dependencies + # minimal-versions: + # uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + # with: + # working-directory: ${{ github.workflow }} test: strategy: diff --git a/.github/workflows/pkcs1.yml b/.github/workflows/pkcs1.yml index 8a31882cf..77ea98f9c 100644 --- a/.github/workflows/pkcs1.yml +++ b/.github/workflows/pkcs1.yml @@ -41,10 +41,11 @@ jobs: - uses: RustCrypto/actions/cargo-hack-install@master - run: cargo hack build --target ${{ matrix.target }} --feature-powerset --exclude-features std - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + # TODO(tarcieri): re-enable this when we're not using unpublished prerelease dependencies + # minimal-versions: + # uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + # with: + # working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/pkcs5.yml b/.github/workflows/pkcs5.yml index c0c4ce144..a7eed4d73 100644 --- a/.github/workflows/pkcs5.yml +++ b/.github/workflows/pkcs5.yml @@ -40,10 +40,11 @@ jobs: - uses: RustCrypto/actions/cargo-hack-install@master - run: cargo hack build --target ${{ matrix.target }} --feature-powerset --exclude-features std - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} +# TODO(tarcieri): re-enable this when we're not using unpublished prerelease dependencies +# minimal-versions: +# uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master +# with: +# working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/pkcs8.yml b/.github/workflows/pkcs8.yml index cdba145ad..875c0e4a0 100644 --- a/.github/workflows/pkcs8.yml +++ b/.github/workflows/pkcs8.yml @@ -42,10 +42,11 @@ jobs: - uses: RustCrypto/actions/cargo-hack-install@master - run: cargo hack build --target ${{ matrix.target }} --feature-powerset --exclude-features getrandom,std,rand - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} + # TODO(tarcieri): re-enable this when we're not using unpublished prerelease dependencies + # minimal-versions: + # uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master + # with: + # working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/.github/workflows/sec1.yml b/.github/workflows/sec1.yml index 5f49d4ba3..c868b9f90 100644 --- a/.github/workflows/sec1.yml +++ b/.github/workflows/sec1.yml @@ -27,7 +27,7 @@ jobs: strategy: matrix: rust: - - 1.65.0 # MSRV + - 1.70.0 # MSRV - stable target: - thumbv7em-none-eabi @@ -41,17 +41,18 @@ jobs: - uses: RustCrypto/actions/cargo-hack-install@master - run: cargo hack build --target ${{ matrix.target }} --feature-powerset --exclude-features std - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} +# TODO(tarcieri): re-enable this when we're not using unpublished prerelease dependencies +# minimal-versions: +# uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master +# with: +# working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest strategy: matrix: rust: - - 1.65.0 # MSRV + - 1.70.0 # MSRV - stable steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/spki.yml b/.github/workflows/spki.yml index 730ea2cae..eaf51e899 100644 --- a/.github/workflows/spki.yml +++ b/.github/workflows/spki.yml @@ -40,10 +40,11 @@ jobs: - uses: RustCrypto/actions/cargo-hack-install@master - run: cargo hack build --target ${{ matrix.target }} --feature-powerset --exclude-features arbitrary,std - minimal-versions: - uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master - with: - working-directory: ${{ github.workflow }} +# TODO(tarcieri): re-enable this when we're not using unpublished prerelease dependencies +# minimal-versions: +# uses: RustCrypto/actions/.github/workflows/minimal-versions.yml@master +# with: +# working-directory: ${{ github.workflow }} test: runs-on: ubuntu-latest diff --git a/Cargo.lock b/Cargo.lock index 47774a5ba..179c0d658 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -290,9 +290,9 @@ version = "0.2.0" dependencies = [ "const-oid 0.9.6", "crmf", - "der", + "der 0.7.8", "hex-literal 0.4.1", - "spki", + "spki 0.7.3", "x509-cert", ] @@ -304,20 +304,20 @@ dependencies = [ "cbc", "cipher", "const-oid 0.9.6", - "der", + "der 0.7.8", "ecdsa", "getrandom", "hex-literal 0.4.1", "p256", - "pem-rfc7468", - "pkcs5", + "pem-rfc7468 0.7.0", + "pkcs5 0.7.1", "rand", "rsa", "sha1", "sha2", "sha3", "signature", - "spki", + "spki 0.7.3", "x509-cert", "zeroize", ] @@ -394,8 +394,8 @@ version = "0.2.0" dependencies = [ "cms", "const-oid 0.9.6", - "der", - "spki", + "der 0.7.8", + "spki 0.7.3", "x509-cert", ] @@ -425,14 +425,28 @@ dependencies = [ [[package]] name = "der" version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +dependencies = [ + "arbitrary", + "const-oid 0.9.6", + "der_derive 0.7.2", + "flagset", + "pem-rfc7468 0.7.0", + "zeroize", +] + +[[package]] +name = "der" +version = "0.8.0-pre" dependencies = [ "arbitrary", "bytes", "const-oid 0.9.6", - "der_derive", + "der_derive 0.8.0-pre", "flagset", "hex-literal 0.4.1", - "pem-rfc7468", + "pem-rfc7468 1.0.0-pre", "proptest", "time", "zeroize", @@ -441,6 +455,17 @@ dependencies = [ [[package]] name = "der_derive" version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fe87ce4529967e0ba1dcf8450bab64d97dfd5010a6256187ffe2e43e6f0e049" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "der_derive" +version = "0.8.0-pre" dependencies = [ "proc-macro2", "quote", @@ -494,12 +519,12 @@ version = "0.16.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ - "der", + "der 0.7.8", "digest", "elliptic-curve", "rfc6979", "signature", - "spki", + "spki 0.7.3", ] [[package]] @@ -520,10 +545,10 @@ dependencies = [ "ff", "generic-array", "group", - "pem-rfc7468", - "pkcs8", + "pem-rfc7468 0.7.0", + "pkcs8 0.10.2", "rand_core", - "sec1", + "sec1 0.7.3", "subtle", "zeroize", ] @@ -710,9 +735,9 @@ dependencies = [ name = "gss-api" version = "0.1.0" dependencies = [ - "der", + "der 0.7.8", "hex-literal 0.4.1", - "spki", + "spki 0.7.3", "x509-cert", ] @@ -934,6 +959,15 @@ dependencies = [ [[package]] name = "pem-rfc7468" version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412" +dependencies = [ + "base64ct", +] + +[[package]] +name = "pem-rfc7468" +version = "1.0.0-pre" dependencies = [ "base64ct", ] @@ -953,12 +987,23 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkcs1" version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" +dependencies = [ + "der 0.7.8", + "pkcs8 0.10.2", + "spki 0.7.3", +] + +[[package]] +name = "pkcs1" +version = "0.8.0-pre" dependencies = [ "const-oid 0.9.6", - "der", + "der 0.8.0-pre", "hex-literal 0.4.1", - "pkcs8", - "spki", + "pkcs8 0.11.0-pre", + "spki 0.8.0-pre", "tempfile", ] @@ -968,13 +1013,13 @@ version = "0.1.0" dependencies = [ "cms", "const-oid 0.9.6", - "der", + "der 0.7.8", "digest", "hex-literal 0.3.4", - "pkcs5", - "pkcs8", + "pkcs5 0.7.1", + "pkcs8 0.10.2", "sha2", - "spki", + "spki 0.7.3", "subtle-encoding", "whirlpool", "x509-cert", @@ -984,28 +1029,56 @@ dependencies = [ [[package]] name = "pkcs5" version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e847e2c91a18bfa887dd028ec33f2fe6f25db77db3619024764914affe8b69a6" +dependencies = [ + "aes", + "cbc", + "der 0.7.8", + "des", + "pbkdf2", + "scrypt", + "sha2", + "spki 0.7.3", +] + +[[package]] +name = "pkcs5" +version = "0.8.0-pre" dependencies = [ "aes", "cbc", - "der", + "der 0.8.0-pre", "des", "hex-literal 0.4.1", "pbkdf2", "scrypt", "sha1", "sha2", - "spki", + "spki 0.8.0-pre", ] [[package]] name = "pkcs8" version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der 0.7.8", + "pkcs5 0.7.1", + "rand_core", + "spki 0.7.3", +] + +[[package]] +name = "pkcs8" +version = "0.11.0-pre" dependencies = [ - "der", + "der 0.8.0-pre", "hex-literal 0.4.1", - "pkcs5", + "pkcs5 0.8.0-pre", "rand_core", - "spki", + "spki 0.8.0-pre", "subtle", "tempfile", ] @@ -1207,12 +1280,12 @@ dependencies = [ "num-bigint-dig", "num-integer", "num-traits", - "pkcs1", - "pkcs8", + "pkcs1 0.7.5", + "pkcs8 0.10.2", "rand_core", "sha2", "signature", - "spki", + "spki 0.7.3", "subtle", "zeroize", ] @@ -1318,13 +1391,27 @@ dependencies = [ [[package]] name = "sec1" version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ "base16ct", - "der", + "der 0.7.8", + "generic-array", + "pkcs8 0.10.2", + "subtle", + "zeroize", +] + +[[package]] +name = "sec1" +version = "0.8.0-pre" +dependencies = [ + "base16ct", + "der 0.8.0-pre", "generic-array", "hex-literal 0.4.1", - "pkcs8", - "serdect 0.2.0", + "pkcs8 0.11.0-pre", + "serdect", "subtle", "tempfile", "zeroize", @@ -1386,16 +1473,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serdect" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a84f14a19e9a014bb9f4512488d9829a68e04ecabffb0f9904cd1ace94598177" -dependencies = [ - "base16ct", - "serde", -] - [[package]] name = "serdect" version = "0.3.0-pre" @@ -1479,10 +1556,21 @@ checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" [[package]] name = "spki" version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "arbitrary", + "base64ct", + "der 0.7.8", +] + +[[package]] +name = "spki" +version = "0.8.0-pre" dependencies = [ "arbitrary", "base64ct", - "der", + "der 0.8.0-pre", "hex-literal 0.4.1", "sha2", "tempfile", @@ -1829,7 +1917,7 @@ version = "0.2.5" dependencies = [ "arbitrary", "const-oid 0.9.6", - "der", + "der 0.7.8", "ecdsa", "hex-literal 0.4.1", "p256", @@ -1839,7 +1927,7 @@ dependencies = [ "sha1", "sha2", "signature", - "spki", + "spki 0.7.3", "tempfile", "tls_codec", "x509-cert-test-support", @@ -1859,10 +1947,10 @@ name = "x509-ocsp" version = "0.2.0" dependencies = [ "const-oid 0.9.6", - "der", + "der 0.7.8", "hex-literal 0.4.1", "rand_core", - "spki", + "spki 0.7.3", "x509-cert", ] @@ -1872,7 +1960,7 @@ version = "0.1.0" dependencies = [ "cmpv2", "cms", - "der", + "der 0.7.8", "hex-literal 0.4.1", "x509-cert", ] diff --git a/der/Cargo.toml b/der/Cargo.toml index f53164653..b7f088226 100644 --- a/der/Cargo.toml +++ b/der/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "der" -version = "0.7.8" +version = "0.8.0-pre" description = """ Pure Rust embedded-friendly implementation of the Distinguished Encoding Rules (DER) for Abstract Syntax Notation One (ASN.1) as described in ITU X.690 with @@ -19,9 +19,9 @@ rust-version = "1.65" arbitrary = { version = "1.3", features = ["derive"], optional = true } bytes = { version = "1", optional = true, default-features = false } const-oid = { version = "0.9.2", optional = true } -der_derive = { version = "0.7.2", optional = true } +der_derive = { version = "=0.8.0-pre", optional = true } flagset = { version = "0.4.4", optional = true } -pem-rfc7468 = { version = "0.7", optional = true, features = ["alloc"] } +pem-rfc7468 = { version = "=1.0.0-pre", optional = true, features = ["alloc"] } time = { version = "0.3.4", optional = true, default-features = false } zeroize = { version = "1.5", optional = true, default-features = false } diff --git a/der/derive/Cargo.toml b/der/derive/Cargo.toml index cced55dcb..a20a86eb3 100644 --- a/der/derive/Cargo.toml +++ b/der/derive/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "der_derive" -version = "0.7.2" +version = "0.8.0-pre" description = "Custom derive support for the `der` crate's `Choice` and `Sequence` traits" authors = ["RustCrypto Developers"] license = "Apache-2.0 OR MIT" diff --git a/pem-rfc7468/Cargo.toml b/pem-rfc7468/Cargo.toml index acbeed241..634cda35a 100644 --- a/pem-rfc7468/Cargo.toml +++ b/pem-rfc7468/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pem-rfc7468" -version = "0.7.0" +version = "1.0.0-pre" description = """ PEM Encoding (RFC 7468) for PKIX, PKCS, and CMS Structures, implementing a strict subset of the original Privacy-Enhanced Mail encoding intended diff --git a/pkcs1/Cargo.toml b/pkcs1/Cargo.toml index cdc15b4e7..4bbcea44f 100644 --- a/pkcs1/Cargo.toml +++ b/pkcs1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pkcs1" -version = "0.7.5" +version = "0.8.0-pre" description = """ Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.2 (RFC 8017) @@ -15,11 +15,11 @@ edition = "2021" rust-version = "1.60" [dependencies] -der = { version = "0.7", features = ["oid"] } -spki = { version = "0.7" } +der = { version = "=0.8.0-pre", features = ["oid"] } +spki = { version = "=0.8.0-pre" } # optional dependencies -pkcs8 = { version = "0.10", optional = true, default-features = false } +pkcs8 = { version = "=0.11.0-pre", optional = true, default-features = false } [dev-dependencies] const-oid = { version = "0.9", features = ["db"] } # TODO: path = "../const-oid" diff --git a/pkcs5/Cargo.toml b/pkcs5/Cargo.toml index bba3192a6..9f31fabf2 100644 --- a/pkcs5/Cargo.toml +++ b/pkcs5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pkcs5" -version = "0.7.1" +version = "0.8.0-pre" description = """ Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #5: Password-Based Cryptography Specification Version 2.1 (RFC 8018) @@ -15,8 +15,8 @@ edition = "2021" rust-version = "1.65" [dependencies] -der = { version = "0.7", features = ["oid"] } -spki = { version = "0.7" } +der = { version = "=0.8.0-pre", features = ["oid"] } +spki = { version = "=0.8.0-pre" } # optional dependencies cbc = { version = "0.1.2", optional = true } diff --git a/pkcs8/Cargo.toml b/pkcs8/Cargo.toml index 9d591f53f..4ee026bea 100644 --- a/pkcs8/Cargo.toml +++ b/pkcs8/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pkcs8" -version = "0.10.2" +version = "0.11.0-pre" description = """ Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #8: Private-Key Information Syntax Specification (RFC 5208), with additional @@ -16,12 +16,12 @@ edition = "2021" rust-version = "1.65" [dependencies] -der = { version = "0.7", features = ["oid"] } -spki = { version = "0.7.1" } +der = { version = "=0.8.0-pre", features = ["oid"] } +spki = { version = "=0.8.0-pre" } # optional dependencies rand_core = { version = "0.6", optional = true, default-features = false } -pkcs5 = { version = "0.7", optional = true } +pkcs5 = { version = "=0.8.0-pre", optional = true } subtle = { version = "2", optional = true, default-features = false } [dev-dependencies] diff --git a/sec1/Cargo.toml b/sec1/Cargo.toml index eaa20b996..255079701 100644 --- a/sec1/Cargo.toml +++ b/sec1/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sec1" -version = "0.7.3" +version = "0.8.0-pre" description = """ Pure Rust implementation of SEC1: Elliptic Curve Cryptography encoding formats including ASN.1 DER-serialized private keys as well as the @@ -13,14 +13,14 @@ categories = ["cryptography", "data-structures", "encoding", "no-std", "parser-i keywords = ["crypto", "key", "elliptic-curve", "secg"] readme = "README.md" edition = "2021" -rust-version = "1.65" +rust-version = "1.70" [dependencies] base16ct = { version = "0.2", optional = true, default-features = false } -der = { version = "0.7", optional = true, features = ["oid"] } +der = { version = "=0.8.0-pre", optional = true, features = ["oid"] } generic-array = { version = "0.14.7", optional = true, default-features = false } -pkcs8 = { version = "0.10", optional = true, default-features = false } -serdect = { version = "0.2", optional = true, default-features = false, features = ["alloc"] } +pkcs8 = { version = "=0.11.0-pre", optional = true, default-features = false } +serdect = { version = "=0.3.0-pre", optional = true, default-features = false, features = ["alloc"] } subtle = { version = "2", optional = true, default-features = false } zeroize = { version = "1", optional = true, default-features = false } diff --git a/sec1/README.md b/sec1/README.md index 5678de673..610b39ae9 100644 --- a/sec1/README.md +++ b/sec1/README.md @@ -18,7 +18,7 @@ formats including ASN.1 DER-serialized private keys (also described in ## Minimum Supported Rust Version -This crate requires **Rust 1.65** at a minimum. +This crate requires **Rust 1.70** at a minimum. We may change the MSRV in the future, but it will be accompanied by a minor version bump. @@ -45,7 +45,7 @@ dual licensed as above, without any additional terms or conditions. [docs-image]: https://docs.rs/sec1/badge.svg [docs-link]: https://docs.rs/sec1/ [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg -[rustc-image]: https://img.shields.io/badge/rustc-1.65+-blue.svg +[rustc-image]: https://img.shields.io/badge/rustc-1.70+-blue.svg [chat-image]: https://img.shields.io/badge/zulip-join_chat-blue.svg [chat-link]: https://rustcrypto.zulipchat.com/#narrow/stream/300570-formats [build-image]: https://github.com/RustCrypto/formats/workflows/sec1/badge.svg?branch=master&event=push diff --git a/spki/Cargo.toml b/spki/Cargo.toml index e9e268731..42b5cd453 100644 --- a/spki/Cargo.toml +++ b/spki/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "spki" -version = "0.7.3" +version = "0.8.0-pre" description = """ X.509 Subject Public Key Info (RFC5280) describing public keys as well as their associated AlgorithmIdentifiers (i.e. OIDs) @@ -15,7 +15,7 @@ edition = "2021" rust-version = "1.65" [dependencies] -der = { version = "0.7.2", features = ["oid"] } +der = { version = "=0.8.0-pre", features = ["oid"] } # Optional dependencies arbitrary = { version = "1.2", features = ["derive"], optional = true }