More crypto fixes
This commit is contained in:
parent
695869f13a
commit
e741cab89d
2 changed files with 13 additions and 3 deletions
|
@ -69,7 +69,7 @@ p256 = { version = "0.13.0", default-features = false, features = ["arithmetic",
|
||||||
elliptic-curve = { version = "0.13.2", optional = true }
|
elliptic-curve = { version = "0.13.2", optional = true }
|
||||||
crypto-bigint = { version = "0.4", default-features = false, optional = true }
|
crypto-bigint = { version = "0.4", default-features = false, optional = true }
|
||||||
rand_core = { version = "0.6", default-features = false, optional = true }
|
rand_core = { version = "0.6", default-features = false, optional = true }
|
||||||
x509-cert = { version = "0.2.0", default-features = false, features = ["pem", "std"], optional = true } # TODO: requires `alloc`
|
x509-cert = { version = "0.2.0", default-features = false, features = ["pem"], optional = true } # TODO: requires `alloc`
|
||||||
|
|
||||||
# to compute the check digit
|
# to compute the check digit
|
||||||
verhoeff = "1"
|
verhoeff = "1"
|
||||||
|
|
|
@ -34,7 +34,7 @@ use p256::{
|
||||||
use sha2::Digest;
|
use sha2::Digest;
|
||||||
use x509_cert::{
|
use x509_cert::{
|
||||||
attr::AttributeType,
|
attr::AttributeType,
|
||||||
der::{asn1::BitString, Any, Encode},
|
der::{asn1::BitString, Any, Encode, Writer},
|
||||||
name::RdnSequence,
|
name::RdnSequence,
|
||||||
request::CertReq,
|
request::CertReq,
|
||||||
spki::{AlgorithmIdentifier, SubjectPublicKeyInfoOwned},
|
spki::{AlgorithmIdentifier, SubjectPublicKeyInfoOwned},
|
||||||
|
@ -205,7 +205,7 @@ impl KeyPair {
|
||||||
attributes: Default::default(),
|
attributes: Default::default(),
|
||||||
};
|
};
|
||||||
let mut message = vec![];
|
let mut message = vec![];
|
||||||
info.encode(&mut message).unwrap();
|
info.encode(&mut VecWriter(&mut message)).unwrap();
|
||||||
|
|
||||||
// Can't use self.sign_msg as the signature has to be in DER format
|
// Can't use self.sign_msg as the signature has to be in DER format
|
||||||
let private_key = self.private_key()?;
|
let private_key = self.private_key()?;
|
||||||
|
@ -375,3 +375,13 @@ impl<'a> ccm::aead::Buffer for SliceBuffer<'a> {
|
||||||
self.len = len;
|
self.len = len;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct VecWriter<'a>(&'a mut alloc::vec::Vec<u8>);
|
||||||
|
|
||||||
|
impl<'a> Writer for VecWriter<'a> {
|
||||||
|
fn write(&mut self, slice: &[u8]) -> x509_cert::der::Result<()> {
|
||||||
|
self.0.extend_from_slice(slice);
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue