mirror of
https://github.com/RustCrypto/signatures
synced 2026-06-21 13:45:42 +00:00
Bump pkcs8 to v0.11.0-rc.12 (#1312)
This commit is contained in:
Generated
+2
-2
@@ -905,9 +905,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "pkcs8"
|
||||
version = "0.11.0-rc.11"
|
||||
version = "0.11.0-rc.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "12922b6296c06eb741b02d7b5161e3aaa22864af38dfa025a1a3ba3f68c84577"
|
||||
checksum = "9d71d6da5a0e652b5c694049095a52f5e564012b8ee5001cf10d84a4ca9a7f9d"
|
||||
dependencies = [
|
||||
"der",
|
||||
"spki",
|
||||
|
||||
+2
-2
@@ -26,7 +26,7 @@ signature = { version = "3.0.0-rc.10", default-features = false, features = ["al
|
||||
zeroize = { version = "1", default-features = false, features = ["alloc"] }
|
||||
|
||||
# optional dependencies
|
||||
pkcs8 = { version = "0.11.0-rc.11", optional = true, default-features = false, features = ["alloc"] }
|
||||
pkcs8 = { version = "0.11.0-rc.12", optional = true, default-features = false, features = ["alloc"] }
|
||||
|
||||
[dev-dependencies]
|
||||
chacha20 = { version = "0.10", features = ["rng"] }
|
||||
@@ -34,7 +34,7 @@ der = { version = "0.8", features = ["derive"] }
|
||||
hex = "0.4"
|
||||
hex-literal = "1"
|
||||
getrandom = { version = "0.4", features = ["sys_rng"] }
|
||||
pkcs8 = { version = "0.11.0-rc.11", default-features = false, features = ["pem"] }
|
||||
pkcs8 = { version = "0.11.0-rc.12", default-features = false, features = ["pem"] }
|
||||
proptest = "1"
|
||||
rand_core = "0.10"
|
||||
sha1 = "0.11"
|
||||
|
||||
@@ -271,26 +271,27 @@ impl<'a> TryFrom<PrivateKeyInfoRef<'a>> for SigningKey {
|
||||
|
||||
let x = UintRef::from_der(value.private_key.into())?;
|
||||
let x = BoxedUint::from_be_slice(x.as_bytes(), precision)
|
||||
.map_err(|_| pkcs8::Error::KeyMalformed)?;
|
||||
.map_err(|_| pkcs8::KeyError::Invalid)?;
|
||||
let x = NonZero::new(x)
|
||||
.into_option()
|
||||
.ok_or(pkcs8::Error::KeyMalformed)?;
|
||||
.ok_or(pkcs8::KeyError::Invalid)?;
|
||||
|
||||
let y = if let Some(y_bytes) = value.public_key.as_ref().and_then(|bs| bs.as_bytes()) {
|
||||
let y = UintRef::from_der(y_bytes)?;
|
||||
BoxedUint::from_be_slice(y.as_bytes(), precision)
|
||||
.map_err(|_| pkcs8::Error::KeyMalformed)?
|
||||
.map_err(|_| pkcs8::KeyError::Invalid)?
|
||||
} else {
|
||||
crate::generate::public_component(&components, &x)
|
||||
.into_option()
|
||||
.ok_or(pkcs8::Error::KeyMalformed)?
|
||||
.ok_or(pkcs8::KeyError::Invalid)?
|
||||
.get()
|
||||
};
|
||||
|
||||
let verifying_key =
|
||||
VerifyingKey::from_components(components, y).map_err(|_| pkcs8::Error::KeyMalformed)?;
|
||||
VerifyingKey::from_components(components, y).map_err(|_| pkcs8::KeyError::Invalid)?;
|
||||
|
||||
SigningKey::from_components(verifying_key, x.get()).map_err(|_| pkcs8::Error::KeyMalformed)
|
||||
Ok(SigningKey::from_components(verifying_key, x.get())
|
||||
.map_err(|_| pkcs8::KeyError::Invalid)?)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ rust-version = "1.85"
|
||||
signature = { version = "3.0.0-rc.10", default-features = false }
|
||||
|
||||
# optional dependencies
|
||||
pkcs8 = { version = "0.11.0-rc.11", optional = true }
|
||||
pkcs8 = { version = "0.11.0-rc.12", optional = true }
|
||||
serde = { version = "1", optional = true, default-features = false }
|
||||
serde_bytes = { version = "0.11", optional = true, default-features = false }
|
||||
zeroize = { version = "1", optional = true, default-features = false }
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
//! breaking changes when using this module.
|
||||
|
||||
pub use pkcs8::{
|
||||
DecodePrivateKey, DecodePublicKey, Error, ObjectIdentifier, PrivateKeyInfoRef, Result, spki,
|
||||
DecodePrivateKey, DecodePublicKey, Error, KeyError, ObjectIdentifier, PrivateKeyInfoRef,
|
||||
Result, spki,
|
||||
};
|
||||
|
||||
#[cfg(feature = "alloc")]
|
||||
@@ -169,14 +170,14 @@ impl TryFrom<PrivateKeyInfoRef<'_>> for KeypairBytes {
|
||||
// - 0x04: OCTET STRING tag
|
||||
// - 0x20: 32-byte length
|
||||
let secret_key = match private_key.private_key.as_bytes() {
|
||||
[0x04, 0x20, rest @ ..] => rest.try_into().map_err(|_| Error::KeyMalformed),
|
||||
_ => Err(Error::KeyMalformed),
|
||||
[0x04, 0x20, rest @ ..] => rest.try_into().map_err(|_| KeyError::Invalid),
|
||||
_ => Err(KeyError::Invalid),
|
||||
}?;
|
||||
|
||||
let public_key = private_key
|
||||
.public_key
|
||||
.and_then(|bs| bs.as_bytes())
|
||||
.map(|bytes| bytes.try_into().map_err(|_| Error::KeyMalformed))
|
||||
.map(|bytes| bytes.try_into().map_err(|_| KeyError::Invalid))
|
||||
.transpose()?
|
||||
.map(PublicKeyBytes);
|
||||
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ rust-version = "1.85"
|
||||
signature = { version = "3.0.0-rc.10", default-features = false }
|
||||
|
||||
# optional dependencies
|
||||
pkcs8 = { version = "0.11.0-rc.11", optional = true }
|
||||
pkcs8 = { version = "0.11.0-rc.12", optional = true }
|
||||
serde = { version = "1", optional = true, default-features = false }
|
||||
serde_bytes = { version = "0.11", optional = true, default-features = false }
|
||||
zeroize = { version = "1", optional = true, default-features = false }
|
||||
|
||||
+5
-4
@@ -15,7 +15,8 @@
|
||||
//! breaking changes when using this module.
|
||||
|
||||
pub use pkcs8::{
|
||||
DecodePrivateKey, DecodePublicKey, Error, ObjectIdentifier, PrivateKeyInfoRef, Result, spki,
|
||||
DecodePrivateKey, DecodePublicKey, Error, KeyError, ObjectIdentifier, PrivateKeyInfoRef,
|
||||
Result, spki,
|
||||
};
|
||||
|
||||
#[cfg(feature = "alloc")]
|
||||
@@ -162,14 +163,14 @@ impl TryFrom<PrivateKeyInfoRef<'_>> for KeypairBytes {
|
||||
// - 0x04: OCTET STRING tag
|
||||
// - 0x39: 57-byte length
|
||||
let secret_key = match private_key.private_key.as_bytes() {
|
||||
[0x04, 0x39, rest @ ..] => rest.try_into().map_err(|_| Error::KeyMalformed),
|
||||
_ => Err(Error::KeyMalformed),
|
||||
[0x04, 0x39, rest @ ..] => rest.try_into().map_err(|_| KeyError::Invalid),
|
||||
_ => Err(KeyError::Invalid),
|
||||
}?;
|
||||
|
||||
let public_key = private_key
|
||||
.public_key
|
||||
.and_then(|bs| bs.as_bytes())
|
||||
.map(|bytes| bytes.try_into().map_err(|_| Error::KeyMalformed))
|
||||
.map(|bytes| bytes.try_into().map_err(|_| KeyError::Invalid))
|
||||
.transpose()?
|
||||
.map(PublicKeyBytes);
|
||||
|
||||
|
||||
+2
-2
@@ -40,7 +40,7 @@ signature = { version = "3.0.0-rc.10", default-features = false, features = ["di
|
||||
|
||||
# optional dependencies
|
||||
const-oid = { version = "0.10", features = ["db"], optional = true }
|
||||
pkcs8 = { version = "0.11.0-rc.11", default-features = false, optional = true }
|
||||
pkcs8 = { version = "0.11.0-rc.12", default-features = false, optional = true }
|
||||
rand_core = { version = "0.10", optional = true }
|
||||
zeroize = { version = "1.8.1", optional = true, default-features = false }
|
||||
|
||||
@@ -49,7 +49,7 @@ criterion = "0.7"
|
||||
getrandom = { version = "0.4", features = ["sys_rng"] }
|
||||
hex = { version = "0.4", features = ["serde"] }
|
||||
hex-literal = "1"
|
||||
pkcs8 = { version = "0.11.0-rc.11", features = ["pem"] }
|
||||
pkcs8 = { version = "0.11.0-rc.12", features = ["pem"] }
|
||||
proptest = "1"
|
||||
serde = { version = "1.0.215", features = ["derive"] }
|
||||
serde_json = "1.0.132"
|
||||
|
||||
+3
-3
@@ -100,12 +100,12 @@ where
|
||||
|
||||
let mut reader = der::SliceReader::new(private_key_info.private_key.as_bytes())?;
|
||||
let seed_string = SeedString::decode_implicit(&mut reader, SEED_TAG_NUMBER)?
|
||||
.ok_or(pkcs8::Error::KeyMalformed)?;
|
||||
.ok_or(pkcs8::KeyError::Invalid)?;
|
||||
let seed = seed_string
|
||||
.value
|
||||
.as_bytes()
|
||||
.try_into()
|
||||
.map_err(|_| pkcs8::Error::KeyMalformed)?;
|
||||
.map_err(|_| pkcs8::KeyError::Invalid)?;
|
||||
reader.finish()?;
|
||||
|
||||
Ok(P::from_seed(&seed))
|
||||
@@ -203,7 +203,7 @@ where
|
||||
.as_bytes()
|
||||
.ok_or_else(|| der::Tag::BitString.value_error().to_error())?,
|
||||
)
|
||||
.map_err(|_| ::pkcs8::Error::KeyMalformed)?,
|
||||
.map_err(|_| spki::Error::KeyMalformed)?,
|
||||
))
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ const-oid = { version = "0.10", features = ["db"] }
|
||||
digest = "0.11"
|
||||
hmac = "0.13"
|
||||
hybrid-array = { version = "0.4", features = ["extra-sizes"] }
|
||||
pkcs8 = { version = "0.11.0-rc.11", default-features = false }
|
||||
pkcs8 = { version = "0.11.0-rc.12", default-features = false }
|
||||
rand_core = "0.10"
|
||||
sha2 = { version = "0.11", default-features = false }
|
||||
sha3 = { version = "0.11", default-features = false }
|
||||
@@ -40,7 +40,7 @@ hex = { version = "0.4.1", features = ["serde"] }
|
||||
hex-literal = "1"
|
||||
num-bigint = "0.4.4"
|
||||
paste = "1.0.15"
|
||||
pkcs8 = { version = "0.11.0-rc.11", features = ["pem"] }
|
||||
pkcs8 = { version = "0.11.0-rc.12", features = ["pem"] }
|
||||
proptest = "1.11.0"
|
||||
rand = "0.10"
|
||||
serde_json = "1.0.124"
|
||||
|
||||
@@ -298,7 +298,7 @@ where
|
||||
.assert_algorithm_oid(P::ALGORITHM_OID)?;
|
||||
|
||||
Self::try_from(private_key_info.private_key.as_bytes())
|
||||
.map_err(|_| pkcs8::Error::KeyMalformed)
|
||||
.map_err(|_| pkcs8::KeyError::Invalid.into())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -212,12 +212,12 @@ impl<P: ParameterSet> TryFrom<pkcs8::SubjectPublicKeyInfoRef<'_>> for VerifyingK
|
||||
fn try_from(spki: pkcs8::SubjectPublicKeyInfoRef<'_>) -> spki::Result<Self> {
|
||||
spki.algorithm.assert_algorithm_oid(P::ALGORITHM_OID)?;
|
||||
|
||||
Ok(Self::try_from(
|
||||
Self::try_from(
|
||||
spki.subject_public_key
|
||||
.as_bytes()
|
||||
.ok_or_else(|| der::Tag::BitString.value_error().to_error())?,
|
||||
)
|
||||
.map_err(|_| pkcs8::Error::KeyMalformed)?)
|
||||
.map_err(|_| spki::Error::KeyMalformed)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ const-oid = { version = "0.10", optional = true }
|
||||
der = { version = "0.8", optional = true, default-features = false, features = ["alloc"] }
|
||||
digest = "0.11"
|
||||
hybrid-array = { version = "0.4", features = ["zeroize"] }
|
||||
pkcs8 = { version = "0.11.0-rc.11", optional = true, default-features = false, features = ["alloc"] }
|
||||
pkcs8 = { version = "0.11.0-rc.12", optional = true, default-features = false, features = ["alloc"] }
|
||||
rand = "0.10"
|
||||
sha2 = "0.11"
|
||||
sha3 = "0.11"
|
||||
|
||||
@@ -63,3 +63,10 @@ impl From<pkcs8::Error> for Error {
|
||||
Self::Pkcs8(err)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "pkcs8")]
|
||||
impl From<pkcs8::KeyError> for Error {
|
||||
fn from(err: pkcs8::KeyError) -> Self {
|
||||
Self::Pkcs8(err.into())
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -94,7 +94,7 @@ impl<P: XmssParameter> KeyPair<P> {
|
||||
|
||||
let signing_key = SigningKey::<P>::try_from(pk_info.private_key.as_ref())?;
|
||||
let verifying_key = if let Some(pk) = pk_info.public_key {
|
||||
let pk_bytes = pk.as_bytes().ok_or(pkcs8::Error::KeyMalformed)?;
|
||||
let pk_bytes = pk.as_bytes().ok_or(pkcs8::KeyError::Invalid)?;
|
||||
|
||||
// TODO(tarcieri): verify key matches expected value?
|
||||
VerifyingKey::<P>::try_from(pk_bytes)?
|
||||
|
||||
Reference in New Issue
Block a user