Struct jwt_compact::alg::RsaPublicKey
source · pub struct RsaPublicKey { /* private fields */ }
rsa
only.Expand description
Represents the public part of an RSA key.
Implementations§
source§impl RsaPublicKey
impl RsaPublicKey
sourcepub fn encrypt<R, P>(
&self,
rng: &mut R,
padding: P,
msg: &[u8],
) -> Result<Vec<u8>, Error>where
R: CryptoRngCore,
P: PaddingScheme,
pub fn encrypt<R, P>(
&self,
rng: &mut R,
padding: P,
msg: &[u8],
) -> Result<Vec<u8>, Error>where
R: CryptoRngCore,
P: PaddingScheme,
Encrypt the given message.
sourcepub fn verify<S>(
&self,
scheme: S,
hashed: &[u8],
sig: &[u8],
) -> Result<(), Error>where
S: SignatureScheme,
pub fn verify<S>(
&self,
scheme: S,
hashed: &[u8],
sig: &[u8],
) -> Result<(), Error>where
S: SignatureScheme,
Verify a signed message.
hashed
must be the result of hashing the input using the hashing function
passed in through hash
.
If the message is valid Ok(())
is returned, otherwise an Err
indicating failure.
source§impl RsaPublicKey
impl RsaPublicKey
sourcepub const MIN_PUB_EXPONENT: u64 = 2u64
pub const MIN_PUB_EXPONENT: u64 = 2u64
Minimum value of the public exponent e
.
sourcepub const MAX_PUB_EXPONENT: u64 = 8_589_934_591u64
pub const MAX_PUB_EXPONENT: u64 = 8_589_934_591u64
Maximum value of the public exponent e
.
sourcepub fn new(n: BigUint, e: BigUint) -> Result<RsaPublicKey, Error>
pub fn new(n: BigUint, e: BigUint) -> Result<RsaPublicKey, Error>
Create a new public key from its components.
This function accepts public keys with a modulus size up to 4096-bits,
i.e. RsaPublicKey::MAX_SIZE
.
sourcepub fn new_with_max_size(
n: BigUint,
e: BigUint,
max_size: usize,
) -> Result<RsaPublicKey, Error>
pub fn new_with_max_size( n: BigUint, e: BigUint, max_size: usize, ) -> Result<RsaPublicKey, Error>
Create a new public key from its components.
sourcepub fn new_unchecked(n: BigUint, e: BigUint) -> RsaPublicKey
pub fn new_unchecked(n: BigUint, e: BigUint) -> RsaPublicKey
Create a new public key, bypassing checks around the modulus and public exponent size.
This method is not recommended, and only intended for unusual use cases.
Most applications should use RsaPublicKey::new
or
RsaPublicKey::new_with_max_size
instead.
Trait Implementations§
source§impl AsRef<RsaPublicKey> for RsaPrivateKey
impl AsRef<RsaPublicKey> for RsaPrivateKey
source§fn as_ref(&self) -> &RsaPublicKey
fn as_ref(&self) -> &RsaPublicKey
source§impl Clone for RsaPublicKey
impl Clone for RsaPublicKey
source§fn clone(&self) -> RsaPublicKey
fn clone(&self) -> RsaPublicKey
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for RsaPublicKey
impl Debug for RsaPublicKey
source§impl EncodePublicKey for RsaPublicKey
impl EncodePublicKey for RsaPublicKey
source§fn to_public_key_der(&self) -> Result<Document, Error>
fn to_public_key_der(&self) -> Result<Document, Error>
Document
] containing a SPKI-encoded public key.source§impl From<&RsaPrivateKey> for RsaPublicKey
impl From<&RsaPrivateKey> for RsaPublicKey
source§fn from(private_key: &RsaPrivateKey) -> RsaPublicKey
fn from(private_key: &RsaPrivateKey) -> RsaPublicKey
source§impl<'a> From<&'a RsaPublicKey> for JsonWebKey<'a>
impl<'a> From<&'a RsaPublicKey> for JsonWebKey<'a>
source§fn from(key: &'a RsaPublicKey) -> JsonWebKey<'a>
fn from(key: &'a RsaPublicKey) -> JsonWebKey<'a>
source§impl From<RsaPrivateKey> for RsaPublicKey
impl From<RsaPrivateKey> for RsaPublicKey
source§fn from(private_key: RsaPrivateKey) -> RsaPublicKey
fn from(private_key: RsaPrivateKey) -> RsaPublicKey
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>) -> RsaPublicKey
fn from(key: VerifyingKey<D>) -> RsaPublicKey
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>) -> RsaPublicKey
fn from(key: VerifyingKey<D>) -> RsaPublicKey
source§impl Hash for RsaPublicKey
impl Hash for RsaPublicKey
source§impl PartialEq for RsaPublicKey
impl PartialEq for RsaPublicKey
source§fn eq(&self, other: &RsaPublicKey) -> bool
fn eq(&self, other: &RsaPublicKey) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl PublicKeyParts for RsaPublicKey
impl PublicKeyParts for RsaPublicKey
source§impl TryFrom<&JsonWebKey<'_>> for RsaPublicKey
impl TryFrom<&JsonWebKey<'_>> for RsaPublicKey
source§impl TryFrom<RsaPublicKey> for StrongKey<RsaPublicKey>
impl TryFrom<RsaPublicKey> for StrongKey<RsaPublicKey>
§type Error = WeakKeyError<RsaPublicKey>
type Error = WeakKeyError<RsaPublicKey>
source§impl TryFrom<SubjectPublicKeyInfo<AnyRef<'_>, BitStringRef<'_>>> for RsaPublicKey
impl TryFrom<SubjectPublicKeyInfo<AnyRef<'_>, BitStringRef<'_>>> for RsaPublicKey
impl Eq for RsaPublicKey
impl StructuralPartialEq for RsaPublicKey
Auto Trait Implementations§
impl Freeze for RsaPublicKey
impl RefUnwindSafe for RsaPublicKey
impl Send for RsaPublicKey
impl Sync for RsaPublicKey
impl Unpin for RsaPublicKey
impl UnwindSafe for RsaPublicKey
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> DecodePublicKey for Twhere
T: for<'a> TryFrom<SubjectPublicKeyInfo<AnyRef<'a>, BitStringRef<'a>>, Error = Error>,
impl<T> DecodePublicKey for Twhere
T: for<'a> TryFrom<SubjectPublicKeyInfo<AnyRef<'a>, BitStringRef<'a>>, Error = Error>,
§fn from_public_key_der(bytes: &[u8]) -> Result<T, Error>
fn from_public_key_der(bytes: &[u8]) -> Result<T, Error>
SubjectPublicKeyInfo
]
(binary format).§impl<T> DecodeRsaPublicKey for Twhere
T: for<'a> TryFrom<SubjectPublicKeyInfo<AnyRef<'a>, BitStringRef<'a>>, Error = Error>,
impl<T> DecodeRsaPublicKey for Twhere
T: for<'a> TryFrom<SubjectPublicKeyInfo<AnyRef<'a>, BitStringRef<'a>>, Error = Error>,
§fn from_pkcs1_der(public_key: &[u8]) -> Result<T, Error>
fn from_pkcs1_der(public_key: &[u8]) -> Result<T, Error>
RsaPublicKey
]
(binary format).§impl<T> EncodeRsaPublicKey for Twhere
T: EncodePublicKey,
impl<T> EncodeRsaPublicKey for Twhere
T: EncodePublicKey,
§fn to_pkcs1_der(&self) -> Result<Document, Error>
fn to_pkcs1_der(&self) -> Result<Document, Error>
Document
] containing a PKCS#1-encoded public key.