webauthn-0.10.0.0: Relying party (server) implementation of the WebAuthn 2 specification
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

Crypto.WebAuthn.Metadata.Service.Types

Description

This module contains additional Haskell-specific type definitions for the FIDO Metadata Service specification

Synopsis

Documentation

data MetadataServiceRegistry Source #

A registry of MetadataEntrys, allowing fast lookup using AAGUIDs or SubjectKeyIdentifiers. This is used by verifyRegistrationResponse as a way to look up root certificates of authenticators and return meta information. Using createMetadataRegistry it's also possible to create additional custom entries, which can be merged with <>. Meanwhile mempty can be used if no metadata is needed.

data MetadataPayload Source #

(spec) Same as MetadataBLOBPayload, but fully decoded. However all entries not relevant for webauthn are discarded

Constructors

MetadataPayload 

Fields

data MetadataEntry (p :: ProtocolKind) Source #

(spec) Same as MetadataBLOBPayloadEntry, but fully decoded. This type is parametrized over the ProtocolFamily this metadata entry is for

Instances

Instances details
ToJSON (MetadataEntry p) Source #

An arbitrary and potentially unstable JSON encoding, only intended for logging purposes. To actually encode and decode structures, use the Crypto.WebAuthn.Encoding modules

Instance details

Defined in Crypto.WebAuthn.Metadata.Service.Types

Generic (MetadataEntry p) Source # 
Instance details

Defined in Crypto.WebAuthn.Metadata.Service.Types

Associated Types

type Rep (MetadataEntry p) :: Type -> Type #

Show (MetadataEntry p) Source # 
Instance details

Defined in Crypto.WebAuthn.Metadata.Service.Types

Eq (MetadataEntry p) Source # 
Instance details

Defined in Crypto.WebAuthn.Metadata.Service.Types

type Rep (MetadataEntry p) Source # 
Instance details

Defined in Crypto.WebAuthn.Metadata.Service.Types

type Rep (MetadataEntry p) = D1 ('MetaData "MetadataEntry" "Crypto.WebAuthn.Metadata.Service.Types" "webauthn-0.10.0.0-inplace" 'False) (C1 ('MetaCons "MetadataEntry" 'PrefixI 'True) ((S1 ('MetaSel ('Just "meIdentifier") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (AuthenticatorIdentifier p)) :*: S1 ('MetaSel ('Just "meMetadataStatement") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe MetadataStatement))) :*: (S1 ('MetaSel ('Just "meStatusReports") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty StatusReport)) :*: S1 ('MetaSel ('Just "meTimeOfLastStatusChange") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Date))))

data SomeMetadataEntry Source #

Same as MetadataEntry, but with its type parameter erased

Constructors

forall p.SingI p => SomeMetadataEntry (MetadataEntry p) 

data StatusReport Source #

(spec) Same as StatusReport, but fully decoded.

Instances

Instances details
ToJSON StatusReport Source #

An arbitrary and potentially unstable JSON encoding, only intended for logging purposes. To actually encode and decode structures, use the Crypto.WebAuthn.Encoding modules

Instance details

Defined in Crypto.WebAuthn.Metadata.Service.Types

Generic StatusReport Source # 
Instance details

Defined in Crypto.WebAuthn.Metadata.Service.Types

Associated Types

type Rep StatusReport :: Type -> Type #

Show StatusReport Source # 
Instance details

Defined in Crypto.WebAuthn.Metadata.Service.Types

Eq StatusReport Source # 
Instance details

Defined in Crypto.WebAuthn.Metadata.Service.Types

type Rep StatusReport Source # 
Instance details

Defined in Crypto.WebAuthn.Metadata.Service.Types

type Rep StatusReport = D1 ('MetaData "StatusReport" "Crypto.WebAuthn.Metadata.Service.Types" "webauthn-0.10.0.0-inplace" 'False) (C1 ('MetaCons "StatusReport" 'PrefixI 'True) (((S1 ('MetaSel ('Just "srStatus") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 AuthenticatorStatus) :*: S1 ('MetaSel ('Just "srEffectiveDate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Date))) :*: (S1 ('MetaSel ('Just "srAuthenticatorVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Word32)) :*: S1 ('MetaSel ('Just "srCertificate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe SignedCertificate)))) :*: ((S1 ('MetaSel ('Just "srUrl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "srCertificationDescriptor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "srCertificateNumber") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "srCertificationPolicyVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "srCertificationRequirementsVersion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)))))))