pub struct JsonWebKey2020 {
pub id: IriBuf,
pub controller: UriBuf,
pub public_key: Box<JWK>,
}
Expand description
JSON Web Key 2020 verification method.
To be used with the JSON Web Signature 2020 cryptographic suite.
See: https://w3c-ccg.github.io/lds-jws2020/#json-web-key-2020
Fields§
§id: IriBuf
Key identifier.
Should be the JWK thumbprint calculated from the public key value according to RFC7638.
controller: UriBuf
Key controller.
public_key: Box<JWK>
Public JSON Web Key.
Implementations§
Source§impl JsonWebKey2020
impl JsonWebKey2020
pub const NAME: &'static str = JSON_WEB_KEY_2020_TYPE
pub const IRI: &'static Iri
pub fn public_key_jwk(&self) -> &JWK
pub fn sign_bytes( &self, secret_key: &JWK, algorithm: Option<Algorithm>, data: &[u8], ) -> Result<Vec<u8>, MessageSignatureError>
pub fn verify_bytes( &self, data: &[u8], signature: &[u8], algorithm: Option<Algorithm>, ) -> Result<ProofValidity, ProofValidationError>
Trait Implementations§
Source§impl Clone for JsonWebKey2020
impl Clone for JsonWebKey2020
Source§fn clone(&self) -> JsonWebKey2020
fn clone(&self) -> JsonWebKey2020
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for JsonWebKey2020
impl Debug for JsonWebKey2020
Source§impl<'de> Deserialize<'de> for JsonWebKey2020
impl<'de> Deserialize<'de> for JsonWebKey2020
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<JsonWebKey2020> for AnyJwkMethod
JsonWebKey2020
.
impl From<JsonWebKey2020> for AnyJwkMethod
JsonWebKey2020
.
Source§fn from(value: JsonWebKey2020) -> Self
fn from(value: JsonWebKey2020) -> Self
Converts to this type from the input type.
Source§impl From<JsonWebKey2020> for AnyMethod
JsonWebKey2020
.
impl From<JsonWebKey2020> for AnyMethod
JsonWebKey2020
.
Source§fn from(value: JsonWebKey2020) -> Self
fn from(value: JsonWebKey2020) -> Self
Converts to this type from the input type.
Source§impl Hash for JsonWebKey2020
impl Hash for JsonWebKey2020
Source§impl<I_, V_> LinkedData<I_, V_> for JsonWebKey2020where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
Box<JWK>: LinkedDataPredicateObjects<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
impl<I_, V_> LinkedData<I_, V_> for JsonWebKey2020where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
Box<JWK>: LinkedDataPredicateObjects<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
Source§impl<I_, V_> LinkedDataDeserializePredicateObjects<I_, V_> for JsonWebKey2020where
IriBuf: LinkedDataDeserializeSubject<I_, V_>,
UriBuf: LinkedDataDeserializePredicateObjects<I_, V_>,
Box<JWK>: LinkedDataDeserializePredicateObjects<I_, V_>,
I_: Interpretation + IriInterpretation<V_::Iri> + ReverseIriInterpretation<Iri = V_::Iri>,
V_: Vocabulary,
impl<I_, V_> LinkedDataDeserializePredicateObjects<I_, V_> for JsonWebKey2020where
IriBuf: LinkedDataDeserializeSubject<I_, V_>,
UriBuf: LinkedDataDeserializePredicateObjects<I_, V_>,
Box<JWK>: LinkedDataDeserializePredicateObjects<I_, V_>,
I_: Interpretation + IriInterpretation<V_::Iri> + ReverseIriInterpretation<Iri = V_::Iri>,
V_: Vocabulary,
fn deserialize_objects_in<'de_, D_>( vocabulary: &V_, interpretation: &I_, dataset: &D_, graph: Option<&I_::Resource>, objects: impl IntoIterator<Item = &'de_ I_::Resource>, context: Context<'_, I_>, ) -> Result<Self, FromLinkedDataError>
fn deserialize_objects<'a, D>(
vocabulary: &V,
interpretation: &I,
dataset: &D,
graph: Option<&<I as Interpretation>::Resource>,
objects: impl IntoIterator<Item = &'a <I as Interpretation>::Resource>,
) -> Result<Self, FromLinkedDataError>where
<I as Interpretation>::Resource: 'a,
D: PatternMatchingDataset<Resource = <I as Interpretation>::Resource>,
Source§impl<I_, V_> LinkedDataDeserializeSubject<I_, V_> for JsonWebKey2020where
IriBuf: LinkedDataDeserializeSubject<I_, V_>,
UriBuf: LinkedDataDeserializePredicateObjects<I_, V_>,
Box<JWK>: LinkedDataDeserializePredicateObjects<I_, V_>,
I_: Interpretation + IriInterpretation<V_::Iri> + ReverseIriInterpretation<Iri = V_::Iri>,
V_: Vocabulary,
impl<I_, V_> LinkedDataDeserializeSubject<I_, V_> for JsonWebKey2020where
IriBuf: LinkedDataDeserializeSubject<I_, V_>,
UriBuf: LinkedDataDeserializePredicateObjects<I_, V_>,
Box<JWK>: LinkedDataDeserializePredicateObjects<I_, V_>,
I_: Interpretation + IriInterpretation<V_::Iri> + ReverseIriInterpretation<Iri = V_::Iri>,
V_: Vocabulary,
fn deserialize_subject_in<D_>(
vocabulary_: &V_,
interpretation_: &I_,
dataset_: &D_,
graph_: Option<&I_::Resource>,
resource_: &I_::Resource,
context_: Context<'_, I_>,
) -> Result<Self, FromLinkedDataError>where
D_: PatternMatchingDataset<Resource = I_::Resource>,
fn deserialize_subject<D>( vocabulary: &V, interpretation: &I, dataset: &D, graph: Option<&<I as Interpretation>::Resource>, resource: &<I as Interpretation>::Resource, ) -> Result<Self, FromLinkedDataError>
Source§impl<I_, V_> LinkedDataGraph<I_, V_> for JsonWebKey2020where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
Box<JWK>: LinkedDataPredicateObjects<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
impl<I_, V_> LinkedDataGraph<I_, V_> for JsonWebKey2020where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
Box<JWK>: LinkedDataPredicateObjects<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
fn visit_graph<S_>(&self, visitor: S_) -> Result<S_::Ok, S_::Error>where
S_: GraphVisitor<I_, V_>,
Source§impl<I_, V_> LinkedDataPredicateObjects<I_, V_> for JsonWebKey2020where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
Box<JWK>: LinkedDataPredicateObjects<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
impl<I_, V_> LinkedDataPredicateObjects<I_, V_> for JsonWebKey2020where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
Box<JWK>: LinkedDataPredicateObjects<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
fn visit_objects<S_>(&self, visitor: S_) -> Result<S_::Ok, S_::Error>where
S_: PredicateObjectsVisitor<I_, V_>,
Source§impl<I_, V_> LinkedDataResource<I_, V_> for JsonWebKey2020where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
Box<JWK>: LinkedDataPredicateObjects<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
impl<I_, V_> LinkedDataResource<I_, V_> for JsonWebKey2020where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
Box<JWK>: LinkedDataPredicateObjects<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
fn interpretation( &self, vocabulary: &mut V_, interpretation: &mut I_, ) -> ResourceInterpretation<'_, I_, V_>
fn lexical_representation<'a>(
&'a self,
vocabulary: &'a mut V,
interpretation: &'a mut I,
) -> Option<CowRdfTerm<'a, V>>where
I: ReverseTermInterpretation<Iri = <V as IriVocabulary>::Iri, BlankId = <V as BlankIdVocabulary>::BlankId, Literal = <V as LiteralVocabulary>::Literal>,
fn reference_interpretation( &self, vocabulary: &mut V, interpretation: &mut I, ) -> ResourceInterpretation<'_, I, V>
Source§impl<I_, V_> LinkedDataSubject<I_, V_> for JsonWebKey2020where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
Box<JWK>: LinkedDataPredicateObjects<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
impl<I_, V_> LinkedDataSubject<I_, V_> for JsonWebKey2020where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
Box<JWK>: LinkedDataPredicateObjects<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
fn visit_subject<S_>(&self, visitor: S_) -> Result<S_::Ok, S_::Error>where
S_: SubjectVisitor<I_, V_>,
Source§impl PartialEq for JsonWebKey2020
impl PartialEq for JsonWebKey2020
Source§impl Serialize for JsonWebKey2020
impl Serialize for JsonWebKey2020
Source§impl TryFrom<AnyJwkMethod> for JsonWebKey2020
JsonWebKey2020
.
impl TryFrom<AnyJwkMethod> for JsonWebKey2020
JsonWebKey2020
.
Source§type Error = InvalidVerificationMethod
type Error = InvalidVerificationMethod
The type returned in the event of a conversion error.
Source§impl TryFrom<AnyMethod> for JsonWebKey2020
JsonWebKey2020
.
impl TryFrom<AnyMethod> for JsonWebKey2020
JsonWebKey2020
.
Source§impl TryFrom<GenericVerificationMethod> for JsonWebKey2020
impl TryFrom<GenericVerificationMethod> for JsonWebKey2020
Source§type Error = InvalidVerificationMethod
type Error = InvalidVerificationMethod
The type returned in the event of a conversion error.
Source§impl TypedVerificationMethod for JsonWebKey2020
impl TypedVerificationMethod for JsonWebKey2020
fn expected_type() -> Option<ExpectedType>
fn type_match(ty: &str) -> bool
Source§impl VerificationMethod for JsonWebKey2020
impl VerificationMethod for JsonWebKey2020
Source§impl VerifyBytes<Algorithm> for JsonWebKey2020
impl VerifyBytes<Algorithm> for JsonWebKey2020
fn verify_bytes( &self, algorithm: Algorithm, signing_bytes: &[u8], signature: &[u8], ) -> Result<ProofValidity, ProofValidationError>
impl Eq for JsonWebKey2020
impl StructuralPartialEq for JsonWebKey2020
Auto Trait Implementations§
impl Freeze for JsonWebKey2020
impl RefUnwindSafe for JsonWebKey2020
impl Send for JsonWebKey2020
impl Sync for JsonWebKey2020
impl Unpin for JsonWebKey2020
impl UnwindSafe for JsonWebKey2020
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> BorrowUnordered for T
impl<T> BorrowUnordered for T
fn as_unordered(&self) -> &Unordered<T>
Source§impl<T> CallHasher for T
impl<T> CallHasher for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<'de, T, C> DeserializeTyped<'de, C> for Twhere
T: Deserialize<'de>,
impl<'de, T, C> DeserializeTyped<'de, C> for Twhere
T: Deserialize<'de>,
fn deserialize_typed<S>(
_: &C,
deserializer: S,
) -> Result<T, <S as Deserializer<'de>>::Error>where
S: Deserializer<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
fn equivalent(&self, key: &K) -> bool
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T, U, C> IntoWithContext<U, C> for Twhere
U: FromWithContext<T, C>,
impl<T, U, C> IntoWithContext<U, C> for Twhere
U: FromWithContext<T, C>,
Source§impl<M> MaybeJwkVerificationMethod for Mwhere
M: JwkVerificationMethod,
impl<M> MaybeJwkVerificationMethod for Mwhere
M: JwkVerificationMethod,
Source§impl<T> ResourceProvider<()> for T
impl<T> ResourceProvider<()> for T
Source§fn get_resource(&self) -> &()
fn get_resource(&self) -> &()
Returns a reference to the resource of type
T
.