diff --git a/Cargo.toml b/Cargo.toml index c1a0745e..dfc0bc48 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,7 +26,8 @@ subtle = "2.0.0" version = "1.1.0" features = ["alloc", "zeroize_derive"] -[dependencies.serde] +[dependencies.serde_crate] +package = "serde" optional = true version = "1.0.89" default-features = false @@ -53,5 +54,6 @@ name = "key" [features] default = [] nightly = ["subtle/nightly", "num-bigint/nightly"] -serde1 = ["num-bigint/serde", "serde"] +serde = ["num-bigint/serde", "serde_crate"] +serde1 = ["serde"] # deprecated expose-internals = [] diff --git a/src/key.rs b/src/key.rs index f9e71ae2..4b0c0e9f 100644 --- a/src/key.rs +++ b/src/key.rs @@ -3,8 +3,8 @@ use num_bigint::Sign::Plus; use num_bigint::{BigInt, BigUint}; use num_traits::{FromPrimitive, One}; use rand::{rngs::ThreadRng, Rng}; -#[cfg(feature = "serde1")] -use serde::{Deserialize, Serialize}; +#[cfg(feature = "serde")] +use serde_crate::{Deserialize, Serialize}; use zeroize::Zeroize; use crate::algorithms::generate_multi_prime_key; @@ -20,7 +20,7 @@ lazy_static! { /// Represents the public part of an RSA key. #[derive(Debug, Clone, PartialEq, Eq)] -#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))] pub struct RSAPublicKey { n: BigUint, e: BigUint, @@ -28,7 +28,7 @@ pub struct RSAPublicKey { /// Represents a whole RSA key, public and private parts. #[derive(Debug, Clone)] -#[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))] +#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))] pub struct RSAPrivateKey { /// Modulus n: BigUint, @@ -39,7 +39,7 @@ pub struct RSAPrivateKey { /// Prime factors of N, contains >= 2 elements. primes: Vec, /// precomputed values to speed up private operations - #[cfg_attr(feature = "serde1", serde(skip))] + #[cfg_attr(feature = "serde", serde(skip))] pub(crate) precomputed: Option, } diff --git a/src/lib.rs b/src/lib.rs index a96c2a5c..1133d6d9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -36,14 +36,14 @@ extern crate rand; extern crate subtle; extern crate zeroize; -#[cfg(feature = "serde1")] -extern crate serde; +#[cfg(feature = "serde")] +extern crate serde_crate; #[cfg(test)] extern crate base64; #[cfg(test)] extern crate hex; -#[cfg(all(test, feature = "serde1"))] +#[cfg(all(test, feature = "serde"))] extern crate serde_test; pub use num_bigint::BigUint;