pub struct VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,{
pub(crate) inner: PublicKey<C>,
}Expand description
ECDSA public key used for verifying signatures. Generic over prime order elliptic curves (e.g. NIST P-curves).
Requires an elliptic_curve::CurveArithmetic impl on the curve.
§Usage
The signature crate defines the following traits which are the
primary API for verifying:
Verifier: verify a message against a provided key and signatureDigestVerifier: verify a message digest against a provided key and signaturePrehashVerifier: verify the low-level raw output bytes of a message digest
See the p256 crate
for examples of using this type with a concrete elliptic curve.
§serde support
When the serde feature of this crate is enabled, it provides support for
serializing and deserializing ECDSA signatures using the Serialize and
Deserialize traits.
The serialization leverages the encoding used by the PublicKey type,
which is a binary-oriented ASN.1 DER encoding.
Fields§
§inner: PublicKey<C>Implementations§
Source§impl<C> VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
AffinePoint<C>: DecompressPoint<C> + FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
SignatureSize<C>: ArraySize,
impl<C> VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
AffinePoint<C>: DecompressPoint<C> + FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
SignatureSize<C>: ArraySize,
Sourcepub fn recover_from_msg(
msg: &[u8],
signature: &Signature<C>,
recovery_id: RecoveryId,
) -> Result<Self>where
C: DigestAlgorithm,
pub fn recover_from_msg(
msg: &[u8],
signature: &Signature<C>,
recovery_id: RecoveryId,
) -> Result<Self>where
C: DigestAlgorithm,
Recover a VerifyingKey from the given message, signature, and RecoveryId.
The message is first hashed using this curve’s DigestAlgorithm.
Sourcepub fn recover_from_digest<D>(
msg_digest: D,
signature: &Signature<C>,
recovery_id: RecoveryId,
) -> Result<Self>where
D: Digest,
pub fn recover_from_digest<D>(
msg_digest: D,
signature: &Signature<C>,
recovery_id: RecoveryId,
) -> Result<Self>where
D: Digest,
Recover a VerifyingKey from the given message Digest, signature, and RecoveryId.
Sourcepub fn recover_from_prehash(
prehash: &[u8],
signature: &Signature<C>,
recovery_id: RecoveryId,
) -> Result<Self>
pub fn recover_from_prehash( prehash: &[u8], signature: &Signature<C>, recovery_id: RecoveryId, ) -> Result<Self>
Recover a VerifyingKey from the given prehash of a message, the signature over that
prehashed message, and a RecoveryId.
The prehash argument must be the output of a secure digest function, e.g. Keccak256
or SHA-256.
Failure to use such a digest algorithm to compute prehash allows an attacker to solve for
it in a system of linear equations that can cause the recovery function to output any public
key the attacker wants.
Source§impl<C> VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
impl<C> VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
Sourcepub fn from_sec1_bytes(bytes: &[u8]) -> Result<Self>
pub fn from_sec1_bytes(bytes: &[u8]) -> Result<Self>
Initialize VerifyingKey from a SEC1-encoded public key.
Sourcepub fn from_affine(affine: AffinePoint<C>) -> Result<Self>
pub fn from_affine(affine: AffinePoint<C>) -> Result<Self>
Initialize VerifyingKey from an affine point.
Returns an Error if the given affine point is the additive identity
(a.k.a. point at infinity).
Sourcepub fn from_sec1_point(public_key: &Sec1Point<C>) -> Result<Self>
pub fn from_sec1_point(public_key: &Sec1Point<C>) -> Result<Self>
Initialize VerifyingKey from an Sec1Point.
Sourcepub fn to_sec1_point(&self, compress: bool) -> Sec1Point<C>
pub fn to_sec1_point(&self, compress: bool) -> Sec1Point<C>
Serialize this VerifyingKey as a SEC1 Sec1Point, optionally
applying point compression.
Sourcepub fn to_sec1_bytes(&self) -> Box<[u8]>where
C: PointCompression,
pub fn to_sec1_bytes(&self) -> Box<[u8]>where
C: PointCompression,
Convert this VerifyingKey into the
Elliptic-Curve-Point-to-Octet-String encoding described in
SEC 1: Elliptic Curve Cryptography (Version 2.0) section 2.3.3
(page 10).
Sourcepub fn as_affine(&self) -> &AffinePoint<C>
pub fn as_affine(&self) -> &AffinePoint<C>
Borrow the inner AffinePoint for this public key.
Trait Implementations§
Source§impl<C> AsRef<<C as CurveArithmetic>::AffinePoint> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
impl<C> AsRef<<C as CurveArithmetic>::AffinePoint> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
Source§fn as_ref(&self) -> &AffinePoint<C>
fn as_ref(&self) -> &AffinePoint<C>
Source§impl<C> AsRef<VerifyingKey<C>> for SigningKey<C>where
C: EcdsaCurve + CurveArithmetic,
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
SignatureSize<C>: ArraySize,
Available on crate feature algorithm only.
impl<C> AsRef<VerifyingKey<C>> for SigningKey<C>where
C: EcdsaCurve + CurveArithmetic,
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
SignatureSize<C>: ArraySize,
algorithm only.Source§fn as_ref(&self) -> &VerifyingKey<C>
fn as_ref(&self) -> &VerifyingKey<C>
Source§impl<C> AssociatedAlgorithmIdentifier for VerifyingKey<C>where
C: EcdsaCurve + AssociatedOid + CurveArithmetic,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
Available on crate feature pkcs8 only.
impl<C> AssociatedAlgorithmIdentifier for VerifyingKey<C>where
C: EcdsaCurve + AssociatedOid + CurveArithmetic,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
pkcs8 only.Source§const ALGORITHM_IDENTIFIER: AlgorithmIdentifier<ObjectIdentifier> = PublicKey<C>::ALGORITHM_IDENTIFIER
const ALGORITHM_IDENTIFIER: AlgorithmIdentifier<ObjectIdentifier> = PublicKey<C>::ALGORITHM_IDENTIFIER
AlgorithmIdentifier for this structure.Source§type Params = ObjectIdentifier
type Params = ObjectIdentifier
Source§impl<C> Clone for VerifyingKey<C>
impl<C> Clone for VerifyingKey<C>
Source§fn clone(&self) -> VerifyingKey<C>
fn clone(&self) -> VerifyingKey<C>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<C> Debug for VerifyingKey<C>
impl<C> Debug for VerifyingKey<C>
Source§impl<C, D> DigestVerifier<D, Signature<C>> for VerifyingKey<C>
impl<C, D> DigestVerifier<D, Signature<C>> for VerifyingKey<C>
Source§impl<C, D> DigestVerifier<D, Signature<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
D: Digest + Update,
SignatureSize<C>: ArraySize,
MaxSize<C>: ArraySize,
<FieldBytesSize<C> as Add>::Output: Add<MaxOverhead> + ArraySize,
Available on crate feature der only.
impl<C, D> DigestVerifier<D, Signature<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
D: Digest + Update,
SignatureSize<C>: ArraySize,
MaxSize<C>: ArraySize,
<FieldBytesSize<C> as Add>::Output: Add<MaxOverhead> + ArraySize,
der only.Source§impl<C> EncodePublicKey for VerifyingKey<C>where
C: EcdsaCurve + AssociatedOid + CurveArithmetic + PointCompression,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
Available on crate features alloc and pkcs8 only.
impl<C> EncodePublicKey for VerifyingKey<C>where
C: EcdsaCurve + AssociatedOid + CurveArithmetic + PointCompression,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
alloc and pkcs8 only.Source§fn to_public_key_der(&self) -> Result<Document>
fn to_public_key_der(&self) -> Result<Document>
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>
LineEnding. Read moreSource§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>
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>
Source§impl<C> From<&PublicKey<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
impl<C> From<&PublicKey<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
Source§fn from(public_key: &PublicKey<C>) -> VerifyingKey<C>
fn from(public_key: &PublicKey<C>) -> VerifyingKey<C>
Source§impl<C> From<&SigningKey<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
SignatureSize<C>: ArraySize,
Available on crate feature algorithm only.
impl<C> From<&SigningKey<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
SignatureSize<C>: ArraySize,
algorithm only.Source§fn from(signing_key: &SigningKey<C>) -> VerifyingKey<C>
fn from(signing_key: &SigningKey<C>) -> VerifyingKey<C>
Source§impl<C> From<&VerifyingKey<C>> for CompressedPoint<C>where
C: EcdsaCurve + CurveArithmetic + PointCompression,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
impl<C> From<&VerifyingKey<C>> for CompressedPoint<C>where
C: EcdsaCurve + CurveArithmetic + PointCompression,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
Source§fn from(verifying_key: &VerifyingKey<C>) -> CompressedPoint<C>
fn from(verifying_key: &VerifyingKey<C>) -> CompressedPoint<C>
Source§impl<C> From<&VerifyingKey<C>> for Sec1Point<C>where
C: EcdsaCurve + CurveArithmetic + PointCompression,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
impl<C> From<&VerifyingKey<C>> for Sec1Point<C>where
C: EcdsaCurve + CurveArithmetic + PointCompression,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
Source§fn from(verifying_key: &VerifyingKey<C>) -> Sec1Point<C>
fn from(verifying_key: &VerifyingKey<C>) -> Sec1Point<C>
Source§impl<C> From<&VerifyingKey<C>> for PublicKey<C>where
C: EcdsaCurve + CurveArithmetic,
impl<C> From<&VerifyingKey<C>> for PublicKey<C>where
C: EcdsaCurve + CurveArithmetic,
Source§fn from(verifying_key: &VerifyingKey<C>) -> PublicKey<C>
fn from(verifying_key: &VerifyingKey<C>) -> PublicKey<C>
Source§impl<C> From<PublicKey<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
impl<C> From<PublicKey<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
Source§fn from(public_key: PublicKey<C>) -> VerifyingKey<C>
fn from(public_key: PublicKey<C>) -> VerifyingKey<C>
Source§impl<C> From<SigningKey<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
SignatureSize<C>: ArraySize,
Available on crate feature algorithm only.
impl<C> From<SigningKey<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
Scalar<C>: Invert<Output = CtOption<Scalar<C>>>,
SignatureSize<C>: ArraySize,
algorithm only.Source§fn from(signing_key: SigningKey<C>) -> VerifyingKey<C>
fn from(signing_key: SigningKey<C>) -> VerifyingKey<C>
Source§impl<C> From<VerifyingKey<C>> for CompressedPoint<C>where
C: EcdsaCurve + CurveArithmetic + PointCompression,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
impl<C> From<VerifyingKey<C>> for CompressedPoint<C>where
C: EcdsaCurve + CurveArithmetic + PointCompression,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
Source§fn from(verifying_key: VerifyingKey<C>) -> CompressedPoint<C>
fn from(verifying_key: VerifyingKey<C>) -> CompressedPoint<C>
Source§impl<C> From<VerifyingKey<C>> for Sec1Point<C>where
C: EcdsaCurve + CurveArithmetic + PointCompression,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
impl<C> From<VerifyingKey<C>> for Sec1Point<C>where
C: EcdsaCurve + CurveArithmetic + PointCompression,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
Source§fn from(verifying_key: VerifyingKey<C>) -> Sec1Point<C>
fn from(verifying_key: VerifyingKey<C>) -> Sec1Point<C>
Source§impl<C> From<VerifyingKey<C>> for PublicKey<C>where
C: EcdsaCurve + CurveArithmetic,
impl<C> From<VerifyingKey<C>> for PublicKey<C>where
C: EcdsaCurve + CurveArithmetic,
Source§fn from(verifying_key: VerifyingKey<C>) -> PublicKey<C>
fn from(verifying_key: VerifyingKey<C>) -> PublicKey<C>
Source§impl<C> FromStr for VerifyingKey<C>where
C: EcdsaCurve + AssociatedOid + CurveArithmetic + PointCompression,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
Available on crate feature pem only.
impl<C> FromStr for VerifyingKey<C>where
C: EcdsaCurve + AssociatedOid + CurveArithmetic + PointCompression,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
pem only.Source§impl<C> MultipartVerifier<Signature<C>> for VerifyingKey<C>
impl<C> MultipartVerifier<Signature<C>> for VerifyingKey<C>
Source§fn multipart_verify(
&self,
msg: &[&[u8]],
signature: &Signature<C>,
) -> Result<()>
fn multipart_verify( &self, msg: &[&[u8]], signature: &Signature<C>, ) -> Result<()>
Verifier::verify() but the message is provided in non-contiguous byte
slices. Read moreSource§impl<C> MultipartVerifier<Signature<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
SignatureSize<C>: ArraySize,
MaxSize<C>: ArraySize,
<FieldBytesSize<C> as Add>::Output: Add<MaxOverhead> + ArraySize,
Available on crate feature der only.
impl<C> MultipartVerifier<Signature<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
SignatureSize<C>: ArraySize,
MaxSize<C>: ArraySize,
<FieldBytesSize<C> as Add>::Output: Add<MaxOverhead> + ArraySize,
der only.Source§fn multipart_verify(
&self,
msg: &[&[u8]],
signature: &Signature<C>,
) -> Result<()>
fn multipart_verify( &self, msg: &[&[u8]], signature: &Signature<C>, ) -> Result<()>
Verifier::verify() but the message is provided in non-contiguous byte
slices. Read moreSource§impl<C> Ord for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
impl<C> Ord for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
Source§impl<C> PartialEq for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
impl<C> PartialEq for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
Source§impl<C> PartialOrd for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
impl<C> PartialOrd for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
Source§impl<C> PrehashVerifier<Signature<C>> for VerifyingKey<C>
impl<C> PrehashVerifier<Signature<C>> for VerifyingKey<C>
Source§impl<C> PrehashVerifier<Signature<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
SignatureSize<C>: ArraySize,
MaxSize<C>: ArraySize,
<FieldBytesSize<C> as Add>::Output: Add<MaxOverhead> + ArraySize,
Available on crate feature der only.
impl<C> PrehashVerifier<Signature<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
SignatureSize<C>: ArraySize,
MaxSize<C>: ArraySize,
<FieldBytesSize<C> as Add>::Output: Add<MaxOverhead> + ArraySize,
der only.Source§impl<C> SignatureAlgorithmIdentifier for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
Signature<C>: AssociatedAlgorithmIdentifier<Params = AnyRef<'static>>,
Available on crate feature pkcs8 only.
impl<C> SignatureAlgorithmIdentifier for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
Signature<C>: AssociatedAlgorithmIdentifier<Params = AnyRef<'static>>,
pkcs8 only.Source§const SIGNATURE_ALGORITHM_IDENTIFIER: AlgorithmIdentifier<Self::Params> = Signature<C>::ALGORITHM_IDENTIFIER
const SIGNATURE_ALGORITHM_IDENTIFIER: AlgorithmIdentifier<Self::Params> = Signature<C>::ALGORITHM_IDENTIFIER
AlgorithmIdentifier for the corresponding signature system.Source§impl<C> TryFrom<&[u8]> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
impl<C> TryFrom<&[u8]> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
Source§impl<C> TryFrom<SubjectPublicKeyInfo<AnyRef<'_>, BitStringRef<'_>>> for VerifyingKey<C>where
C: EcdsaCurve + AssociatedOid + CurveArithmetic + PointCompression,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
Available on crate feature pkcs8 only.
impl<C> TryFrom<SubjectPublicKeyInfo<AnyRef<'_>, BitStringRef<'_>>> for VerifyingKey<C>where
C: EcdsaCurve + AssociatedOid + CurveArithmetic + PointCompression,
AffinePoint<C>: FromSec1Point<C> + ToSec1Point<C>,
FieldBytesSize<C>: ModulusSize,
pkcs8 only.Source§impl<C> Verifier<Signature<C>> for VerifyingKey<C>
impl<C> Verifier<Signature<C>> for VerifyingKey<C>
Source§impl<C> Verifier<Signature<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
SignatureSize<C>: ArraySize,
MaxSize<C>: ArraySize,
<FieldBytesSize<C> as Add>::Output: Add<MaxOverhead> + ArraySize,
Available on crate feature der only.
impl<C> Verifier<Signature<C>> for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic + DigestAlgorithm,
SignatureSize<C>: ArraySize,
MaxSize<C>: ArraySize,
<FieldBytesSize<C> as Add>::Output: Add<MaxOverhead> + ArraySize,
der only.impl<C> Copy for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
impl<C> Eq for VerifyingKey<C>where
C: EcdsaCurve + CurveArithmetic,
Auto Trait Implementations§
impl<C> Freeze for VerifyingKey<C>
impl<C> RefUnwindSafe for VerifyingKey<C>
impl<C> Send for VerifyingKey<C>
impl<C> Sync for VerifyingKey<C>
impl<C> Unpin for VerifyingKey<C>
impl<C> UnsafeUnpin for VerifyingKey<C>
impl<C> UnwindSafe for VerifyingKey<C>
Blanket Implementations§
Source§impl<S, T> AsyncMultipartVerifier<S> for Twhere
T: MultipartVerifier<S>,
impl<S, T> AsyncMultipartVerifier<S> for Twhere
T: MultipartVerifier<S>,
Source§async fn multipart_verify_async(
&self,
msg: &[&[u8]],
signature: &S,
) -> Result<(), Error>
async fn multipart_verify_async( &self, msg: &[&[u8]], signature: &S, ) -> Result<(), Error>
MultipartVerifier::multipart_verify() where the
message is provided in non-contiguous byte slices.Source§impl<S, T> AsyncVerifier<S> for Twhere
T: Verifier<S>,
impl<S, T> AsyncVerifier<S> for Twhere
T: Verifier<S>,
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§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>
SubjectPublicKeyInfo]
(binary format). Read moreSource§fn from_public_key_pem(s: &str) -> Result<Self, Error>
fn from_public_key_pem(s: &str) -> Result<Self, Error>
SubjectPublicKeyInfo]. Read moreSource§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. Read moreSource§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 signature system. Read more