pub struct VerifyingKey<D>where
D: Digest,{ /* private fields */ }
Expand description
Verifying key for RSASSA-PKCS1-v1_5
signatures as described in RFC8017 § 8.2.
Implementations§
Source§impl<D> VerifyingKey<D>where
D: Digest + AssociatedOid,
impl<D> VerifyingKey<D>where
D: Digest + AssociatedOid,
Sourcepub fn new(key: RsaPublicKey) -> Self
pub fn new(key: RsaPublicKey) -> Self
Create a new verifying key with a prefix for the digest D
.
Sourcepub fn new_with_prefix(key: RsaPublicKey) -> Self
👎Deprecated since 0.9.0: use VerifyingKey::new instead
pub fn new_with_prefix(key: RsaPublicKey) -> Self
Create a new verifying key with a prefix for the digest D
.
Source§impl<D> VerifyingKey<D>where
D: Digest,
impl<D> VerifyingKey<D>where
D: Digest,
Sourcepub fn new_unprefixed(key: RsaPublicKey) -> Self
pub fn new_unprefixed(key: RsaPublicKey) -> Self
Create a new verifying key from an RSA public key with an empty prefix.
§Note: unprefixed signatures are uncommon
In most cases you’ll want to use VerifyingKey::new
instead.
Trait Implementations§
Source§impl<D> AsRef<RsaPublicKey> for VerifyingKey<D>where
D: Digest,
impl<D> AsRef<RsaPublicKey> for VerifyingKey<D>where
D: Digest,
Source§fn as_ref(&self) -> &RsaPublicKey
fn as_ref(&self) -> &RsaPublicKey
Converts this type into a shared reference of the (usually inferred) input type.
Source§impl<D> AssociatedAlgorithmIdentifier for VerifyingKey<D>where
D: Digest,
impl<D> AssociatedAlgorithmIdentifier for VerifyingKey<D>where
D: Digest,
Source§const ALGORITHM_IDENTIFIER: AlgorithmIdentifierRef<'static> = pkcs1::ALGORITHM_ID
const ALGORITHM_IDENTIFIER: AlgorithmIdentifierRef<'static> = pkcs1::ALGORITHM_ID
AlgorithmIdentifier
for this structure.Source§impl<D> Clone for VerifyingKey<D>where
D: Digest,
impl<D> Clone for VerifyingKey<D>where
D: Digest,
Source§impl<D> Debug for VerifyingKey<D>
impl<D> Debug for VerifyingKey<D>
Source§impl<D> DigestVerifier<D, Signature> for VerifyingKey<D>where
D: Digest,
impl<D> DigestVerifier<D, Signature> for VerifyingKey<D>where
D: Digest,
Source§impl<D> EncodePublicKey for VerifyingKey<D>where
D: Digest,
impl<D> EncodePublicKey for VerifyingKey<D>where
D: Digest,
Source§fn to_public_key_der(&self) -> Result<Document>
fn to_public_key_der(&self) -> Result<Document>
Serialize a
Document
containing a SPKI-encoded public key.Source§fn to_public_key_pem(&self, line_ending: LineEnding) -> Result<String, Error>
fn to_public_key_pem(&self, line_ending: LineEnding) -> Result<String, Error>
Serialize this public key as PEM-encoded SPKI with the given
LineEnding
.Source§fn write_public_key_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error>
fn write_public_key_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error>
Write ASN.1 DER-encoded public key to the given path
Source§fn write_public_key_pem_file(
&self,
path: impl AsRef<Path>,
line_ending: LineEnding,
) -> Result<(), Error>
fn write_public_key_pem_file( &self, path: impl AsRef<Path>, line_ending: LineEnding, ) -> Result<(), Error>
Write ASN.1 DER-encoded public key to the given path
Source§impl<D> From<RsaPublicKey> for VerifyingKey<D>where
D: Digest,
impl<D> From<RsaPublicKey> for VerifyingKey<D>where
D: Digest,
Source§fn from(key: RsaPublicKey) -> Self
fn from(key: RsaPublicKey) -> Self
Converts to this type from the input type.
Source§impl<D> From<VerifyingKey<D>> for RsaPublicKeywhere
D: Digest,
impl<D> From<VerifyingKey<D>> for RsaPublicKeywhere
D: Digest,
Source§fn from(key: VerifyingKey<D>) -> Self
fn from(key: VerifyingKey<D>) -> Self
Converts to this type from the input type.
Source§impl<D> PrehashVerifier<Signature> for VerifyingKey<D>where
D: Digest,
impl<D> PrehashVerifier<Signature> for VerifyingKey<D>where
D: Digest,
Source§impl<D> SignatureAlgorithmIdentifier for VerifyingKey<D>where
D: Digest + RsaSignatureAssociatedOid,
impl<D> SignatureAlgorithmIdentifier for VerifyingKey<D>where
D: Digest + RsaSignatureAssociatedOid,
Source§const SIGNATURE_ALGORITHM_IDENTIFIER: AlgorithmIdentifierRef<'static>
const SIGNATURE_ALGORITHM_IDENTIFIER: AlgorithmIdentifierRef<'static>
AlgorithmIdentifier
for the corresponding singature system.Source§impl<D> TryFrom<SubjectPublicKeyInfo<AnyRef<'_>, BitStringRef<'_>>> for VerifyingKey<D>where
D: Digest + AssociatedOid,
impl<D> TryFrom<SubjectPublicKeyInfo<AnyRef<'_>, BitStringRef<'_>>> for VerifyingKey<D>where
D: Digest + AssociatedOid,
Auto Trait Implementations§
impl<D> Freeze for VerifyingKey<D>
impl<D> RefUnwindSafe for VerifyingKey<D>where
D: RefUnwindSafe,
impl<D> Send for VerifyingKey<D>where
D: Send,
impl<D> Sync for VerifyingKey<D>where
D: Sync,
impl<D> Unpin for VerifyingKey<D>where
D: Unpin,
impl<D> UnwindSafe for VerifyingKey<D>where
D: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DecodePublicKey for T
impl<T> DecodePublicKey for T
Source§fn from_public_key_der(bytes: &[u8]) -> Result<T, Error>
fn from_public_key_der(bytes: &[u8]) -> Result<T, Error>
Deserialize object from ASN.1 DER-encoded [
SubjectPublicKeyInfo
]
(binary format).Source§fn from_public_key_pem(s: &str) -> Result<Self, Error>
fn from_public_key_pem(s: &str) -> Result<Self, Error>
Deserialize PEM-encoded [
SubjectPublicKeyInfo
]. Read moreSource§impl<T> DecodeRsaPublicKey for T
impl<T> DecodeRsaPublicKey for T
Source§fn from_pkcs1_der(public_key: &[u8]) -> Result<T, Error>
fn from_pkcs1_der(public_key: &[u8]) -> Result<T, Error>
Deserialize object from ASN.1 DER-encoded
RsaPublicKey
(binary format).Source§fn from_pkcs1_pem(s: &str) -> Result<Self, Error>
fn from_pkcs1_pem(s: &str) -> Result<Self, Error>
Deserialize PEM-encoded
RsaPublicKey
. Read moreSource§fn read_pkcs1_der_file(path: impl AsRef<Path>) -> Result<Self, Error>
fn read_pkcs1_der_file(path: impl AsRef<Path>) -> Result<Self, Error>
Load
RsaPublicKey
from an ASN.1 DER-encoded file on the local
filesystem (binary format).Source§fn read_pkcs1_pem_file(path: impl AsRef<Path>) -> Result<Self, Error>
fn read_pkcs1_pem_file(path: impl AsRef<Path>) -> Result<Self, Error>
Load
RsaPublicKey
from a PEM-encoded file on the local filesystem.Source§impl<T> DynAssociatedAlgorithmIdentifier for Twhere
T: AssociatedAlgorithmIdentifier,
impl<T> DynAssociatedAlgorithmIdentifier for Twhere
T: AssociatedAlgorithmIdentifier,
Source§fn algorithm_identifier(&self) -> Result<AlgorithmIdentifier<Any>, Error>
fn algorithm_identifier(&self) -> Result<AlgorithmIdentifier<Any>, Error>
AlgorithmIdentifier
for this structure.Source§impl<T> DynSignatureAlgorithmIdentifier for Twhere
T: SignatureAlgorithmIdentifier,
impl<T> DynSignatureAlgorithmIdentifier for Twhere
T: SignatureAlgorithmIdentifier,
Source§fn signature_algorithm_identifier(
&self,
) -> Result<AlgorithmIdentifier<Any>, Error>
fn signature_algorithm_identifier( &self, ) -> Result<AlgorithmIdentifier<Any>, Error>
AlgorithmIdentifier
for the corresponding singature system.Source§impl<T> EncodeRsaPublicKey for Twhere
T: EncodePublicKey,
impl<T> EncodeRsaPublicKey for Twhere
T: EncodePublicKey,
Source§fn to_pkcs1_der(&self) -> Result<Document, Error>
fn to_pkcs1_der(&self) -> Result<Document, Error>
Serialize a
Document
containing a PKCS#1-encoded public key.Source§fn to_pkcs1_pem(&self, line_ending: LineEnding) -> Result<String, Error>
fn to_pkcs1_pem(&self, line_ending: LineEnding) -> Result<String, Error>
Serialize this public key as PEM-encoded PKCS#1 with the given line ending.
Source§fn write_pkcs1_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error>
fn write_pkcs1_der_file(&self, path: impl AsRef<Path>) -> Result<(), Error>
Write ASN.1 DER-encoded public key to the given path.
Source§fn write_pkcs1_pem_file(
&self,
path: impl AsRef<Path>,
line_ending: LineEnding,
) -> Result<(), Error>
fn write_pkcs1_pem_file( &self, path: impl AsRef<Path>, line_ending: LineEnding, ) -> Result<(), Error>
Write ASN.1 DER-encoded public key to the given path.
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 120 bytes