pub struct PrivateKey { /* private fields */ }Implementations§
Source§impl PrivateKey
impl PrivateKey
Sourcepub fn from_data(
data: &[u8],
key_type: KeyType,
key_size_bits: usize,
) -> Result<Self>
pub fn from_data( data: &[u8], key_type: KeyType, key_size_bits: usize, ) -> Result<Self>
Examples found in repository?
examples/14_key_import_sign_verify.rs (lines 7-11)
6fn main() -> Result<(), Box<dyn std::error::Error>> {
7 let raw_key = PrivateKey::from_data(
8 &support::fixture("test-key-rsa.pkcs1.der"),
9 KeyType::Rsa,
10 2048,
11 )?;
12 let signature = raw_key.sign(
13 SignatureAlgorithm::RsaSignatureMessagePkcs1v15Sha256,
14 b"security-rs",
15 )?;
16 let certificate = Certificate::from_pem(&support::fixture("test-cert.pem"))?;
17 let verified = certificate.public_key()?.verify_signature(
18 SignatureAlgorithm::RsaSignatureMessagePkcs1v15Sha256,
19 b"security-rs",
20 &signature,
21 )?;
22 println!("signature_len={} verified={verified}", signature.len());
23 Ok(())
24}pub fn import_item( data: &[u8], file_name_or_extension: Option<&str>, format: ExternalFormat, item_type: ExternalItemType, ) -> Result<Self>
pub fn import_pem(pem: &[u8]) -> Result<Self>
pub fn public_key(&self) -> Result<PublicKey>
pub fn attributes(&self) -> Result<Value>
Sourcepub fn sign(
&self,
algorithm: SignatureAlgorithm,
data: &[u8],
) -> Result<Vec<u8>>
pub fn sign( &self, algorithm: SignatureAlgorithm, data: &[u8], ) -> Result<Vec<u8>>
Examples found in repository?
examples/14_key_import_sign_verify.rs (lines 12-15)
6fn main() -> Result<(), Box<dyn std::error::Error>> {
7 let raw_key = PrivateKey::from_data(
8 &support::fixture("test-key-rsa.pkcs1.der"),
9 KeyType::Rsa,
10 2048,
11 )?;
12 let signature = raw_key.sign(
13 SignatureAlgorithm::RsaSignatureMessagePkcs1v15Sha256,
14 b"security-rs",
15 )?;
16 let certificate = Certificate::from_pem(&support::fixture("test-cert.pem"))?;
17 let verified = certificate.public_key()?.verify_signature(
18 SignatureAlgorithm::RsaSignatureMessagePkcs1v15Sha256,
19 b"security-rs",
20 &signature,
21 )?;
22 println!("signature_len={} verified={verified}", signature.len());
23 Ok(())
24}Trait Implementations§
Auto Trait Implementations§
impl Freeze for PrivateKey
impl RefUnwindSafe for PrivateKey
impl !Send for PrivateKey
impl !Sync for PrivateKey
impl Unpin for PrivateKey
impl UnsafeUnpin for PrivateKey
impl UnwindSafe for PrivateKey
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more