diff --git a/Cargo.lock b/Cargo.lock index 727c63437..f8c6da9fa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1468,6 +1468,22 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "dsa" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48bc224a9084ad760195584ce5abb3c2c34a225fa312a128ad245a6b412b7689" +dependencies = [ + "digest 0.10.7", + "num-bigint-dig", + "num-traits", + "pkcs8 0.10.2", + "rfc6979 0.4.0", + "sha2 0.10.8", + "signature 2.2.0", + "zeroize", +] + [[package]] name = "dyn-clone" version = "1.0.16" @@ -2664,6 +2680,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "iter-read" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a598c1abae8e3456ebda517868b254b6bc2a9bb6501ffd5b9d0875bf332e048b" + [[package]] name = "itertools" version = "0.10.5" @@ -2694,6 +2716,20 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "k256" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +dependencies = [ + "cfg-if", + "ecdsa 0.16.9", + "elliptic-curve 0.13.8", + "once_cell", + "sha2 0.10.8", + "signature 2.2.0", +] + [[package]] name = "kamadak-exif" version = "0.5.5" @@ -3121,6 +3157,27 @@ dependencies = [ "libc", ] +[[package]] +name = "num_enum" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 2.0.48", +] + [[package]] name = "object" version = "0.32.2" @@ -3350,9 +3407,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pgp" -version = "0.10.2" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27e1f8e085bfa9b85763fe3ddaacbe90a09cd847b3833129153a6cb063bbe132" +checksum = "031fa1e28c4cb54c90502ef0642a44ef10ec8349349ebe6372089f1b1ef4f297" dependencies = [ "aes", "base64 0.21.7", @@ -3367,23 +3424,27 @@ dependencies = [ "cfb-mode", "chrono", "cipher", + "const-oid", "crc24", "curve25519-dalek 4.1.2", "derive_builder", "des", "digest 0.10.7", + "dsa", "ed25519-dalek 2.1.1", "elliptic-curve 0.13.8", "flate2", "generic-array", "hex", "idea", + "iter-read", + "k256", "log", "md-5", "nom", "num-bigint-dig", - "num-derive", "num-traits", + "num_enum", "p256 0.13.2", "p384 0.13.0", "rand 0.8.5", @@ -3599,6 +3660,15 @@ dependencies = [ "elliptic-curve 0.13.8", ] +[[package]] +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit 0.21.1", +] + [[package]] name = "proc-macro-error" version = "1.0.4" @@ -5058,7 +5128,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit", + "toml_edit 0.22.4", ] [[package]] @@ -5070,6 +5140,17 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + [[package]] name = "toml_edit" version = "0.22.4" diff --git a/Cargo.toml b/Cargo.toml index 12fd93486..c15f79d24 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -69,7 +69,7 @@ num-traits = "0.2" once_cell = "1.18.0" percent-encoding = "2.3" parking_lot = "0.12" -pgp = { version = "0.10", default-features = false } +pgp = { version = "0.11", default-features = false } pin-project = "1" pretty_env_logger = { version = "0.5", optional = true } qrcodegen = "1.7.0" diff --git a/deny.toml b/deny.toml index e2f81a102..53300af37 100644 --- a/deny.toml +++ b/deny.toml @@ -56,6 +56,7 @@ skip = [ { name = "spki", version = "0.6.0" }, { name = "syn", version = "1.0.109" }, { name = "time", version = "<0.3" }, + { name = "toml_edit", version = "0.21.1" }, { name = "untrusted", version = "0.7.1" }, { name = "wasi", version = "<0.11" }, { name = "windows_aarch64_gnullvm", version = "<0.52" }, diff --git a/src/pgp.rs b/src/pgp.rs index 76926b8f5..52ad88eab 100644 --- a/src/pgp.rs +++ b/src/pgp.rs @@ -151,7 +151,7 @@ pub(crate) fn create_keypair(addr: EmailAddress, keygen_type: KeyGenType) -> Res let user_id = format!("<{addr}>"); let key_params = SecretKeyParamsBuilder::default() .key_type(signing_key_type) - .can_create_certificates(true) + .can_certify(true) .can_sign(true) .primary_user_id(user_id) .passphrase(None)