webauthn 0.11.0.0 → 0.12.0.0
raw patch · 15 files changed
+282/−76 lines, 15 filesdep +crypton-asn1-encodingdep +crypton-asn1-parsedep +crypton-asn1-typesdep −asn1-encodingdep −asn1-parsedep −asn1-typesdep ~aesondep ~basedep ~containersPVP ok
version bump matches the API change (PVP)
Dependencies added: crypton-asn1-encoding, crypton-asn1-parse, crypton-asn1-types, crypton-pem, ram, time-hourglass
Dependencies removed: asn1-encoding, asn1-parse, asn1-types, hourglass, memory, pem
Dependency ranges changed: aeson, base, containers, crypton, crypton-x509, crypton-x509-store, crypton-x509-validation, hashable, jose, lens
API changes (from Hackage documentation)
- Crypto.WebAuthn.AttestationStatementFormat.AndroidKey: instance GHC.Exception.Type.Exception Crypto.WebAuthn.AttestationStatementFormat.AndroidKey.VerificationError
- Crypto.WebAuthn.AttestationStatementFormat.AndroidKey: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidKey.AuthorizationList
- Crypto.WebAuthn.AttestationStatementFormat.AndroidKey: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidKey.ExtAttestation
- Crypto.WebAuthn.AttestationStatementFormat.AndroidKey: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidKey.Format
- Crypto.WebAuthn.AttestationStatementFormat.AndroidKey: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidKey.Statement
- Crypto.WebAuthn.AttestationStatementFormat.AndroidKey: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidKey.VerificationError
- Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance Control.Monad.Error.Class.MonadError Crypto.JOSE.Error.Error m => Crypto.JOSE.JWK.Store.VerificationKeyStore m (Crypto.JOSE.JWS.JWSHeader ()) p Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.VerificationHostName
- Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance Data.Hourglass.Time.Timeable Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Milliseconds
- Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance Data.String.IsString Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.VerificationHostName
- Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Enum.Bounded Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Integrity
- Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Enum.Enum Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Integrity
- Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Exception.Type.Exception Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.VerificationError
- Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Response
- Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Format
- Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Integrity
- Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Milliseconds
- Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Response
- Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Statement
- Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.VerificationError
- Crypto.WebAuthn.AttestationStatementFormat.Apple: instance GHC.Exception.Type.Exception Crypto.WebAuthn.AttestationStatementFormat.Apple.VerificationError
- Crypto.WebAuthn.AttestationStatementFormat.Apple: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.Apple.AppleNonceExtension
- Crypto.WebAuthn.AttestationStatementFormat.Apple: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.Apple.Format
- Crypto.WebAuthn.AttestationStatementFormat.Apple: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.Apple.Statement
- Crypto.WebAuthn.AttestationStatementFormat.Apple: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.Apple.VerificationError
- Crypto.WebAuthn.AttestationStatementFormat.FidoU2F: instance GHC.Exception.Type.Exception Crypto.WebAuthn.AttestationStatementFormat.FidoU2F.VerificationError
- Crypto.WebAuthn.AttestationStatementFormat.FidoU2F: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.FidoU2F.Format
- Crypto.WebAuthn.AttestationStatementFormat.FidoU2F: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.FidoU2F.Statement
- Crypto.WebAuthn.AttestationStatementFormat.FidoU2F: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.FidoU2F.VerificationError
- Crypto.WebAuthn.AttestationStatementFormat.None: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.None.Format
- Crypto.WebAuthn.AttestationStatementFormat.Packed: instance GHC.Exception.Type.Exception Crypto.WebAuthn.AttestationStatementFormat.Packed.VerificationError
- Crypto.WebAuthn.AttestationStatementFormat.Packed: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.Packed.Format
- Crypto.WebAuthn.AttestationStatementFormat.Packed: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.Packed.Statement
- Crypto.WebAuthn.AttestationStatementFormat.Packed: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.Packed.VerificationError
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Exception.Type.Exception Crypto.WebAuthn.AttestationStatementFormat.TPM.VerificationError
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMAlgId
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSAttest
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSCertifyInfo
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSClockInfo
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSECCParms
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSECCPoint
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSRSAParms
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMTPublic
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMUPublicId
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMUPublicParms
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.CertInfoBytes
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.Format
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.PubAreaBytes
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.Statement
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.SubjectAlternativeName
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMAlgId
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSAttest
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSCertifyInfo
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSClockInfo
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSECCParms
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSECCPoint
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSRSAParms
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMTPublic
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMUPublicId
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMUPublicParms
- Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.VerificationError
- Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Enum.Bounded Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyCommonParameter
- Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Enum.Bounded Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterEC2
- Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Enum.Bounded Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterOKP
- Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Enum.Bounded Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterRSA
- Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Enum.Enum Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyCommonParameter
- Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Enum.Enum Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterEC2
- Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Enum.Enum Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterOKP
- Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Enum.Enum Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterRSA
- Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Show.Show Crypto.WebAuthn.Cose.Internal.Registry.CoseEllipticCurveEC2
- Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Show.Show Crypto.WebAuthn.Cose.Internal.Registry.CoseEllipticCurveOKP
- Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Show.Show Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyCommonParameter
- Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Show.Show Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyType
- Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Show.Show Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterEC2
- Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Show.Show Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterOKP
- Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Show.Show Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterRSA
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Enum.Bounded Crypto.WebAuthn.Cose.PublicKey.CoseCurveECDSA
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Enum.Bounded Crypto.WebAuthn.Cose.PublicKey.CoseCurveEdDSA
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Enum.Enum Crypto.WebAuthn.Cose.PublicKey.CoseCurveECDSA
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Enum.Enum Crypto.WebAuthn.Cose.PublicKey.CoseCurveEdDSA
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Generics.Generic Crypto.WebAuthn.Cose.PublicKey.CoseCurveECDSA
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Generics.Generic Crypto.WebAuthn.Cose.PublicKey.CoseCurveEdDSA
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Generics.Generic Crypto.WebAuthn.Cose.PublicKey.ECDSAPublicKey
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Generics.Generic Crypto.WebAuthn.Cose.PublicKey.EdDSAPublicKey
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Generics.Generic Crypto.WebAuthn.Cose.PublicKey.RSAPublicKey
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Generics.Generic Crypto.WebAuthn.Cose.PublicKey.UncheckedPublicKey
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Show.Show Crypto.WebAuthn.Cose.PublicKey.CoseCurveECDSA
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Show.Show Crypto.WebAuthn.Cose.PublicKey.CoseCurveEdDSA
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Show.Show Crypto.WebAuthn.Cose.PublicKey.ECDSAPublicKey
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Show.Show Crypto.WebAuthn.Cose.PublicKey.EdDSAKeyBytes
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Show.Show Crypto.WebAuthn.Cose.PublicKey.EdDSAPublicKey
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Show.Show Crypto.WebAuthn.Cose.PublicKey.PublicKey
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Show.Show Crypto.WebAuthn.Cose.PublicKey.RSAPublicKey
- Crypto.WebAuthn.Cose.PublicKey: instance GHC.Show.Show Crypto.WebAuthn.Cose.PublicKey.UncheckedPublicKey
- Crypto.WebAuthn.Cose.PublicKeyWithSignAlg: instance GHC.Generics.Generic Crypto.WebAuthn.Cose.PublicKeyWithSignAlg.PublicKeyWithSignAlg
- Crypto.WebAuthn.Cose.PublicKeyWithSignAlg: instance GHC.Show.Show Crypto.WebAuthn.Cose.PublicKeyWithSignAlg.Message
- Crypto.WebAuthn.Cose.PublicKeyWithSignAlg: instance GHC.Show.Show Crypto.WebAuthn.Cose.PublicKeyWithSignAlg.PublicKeyWithSignAlg
- Crypto.WebAuthn.Cose.PublicKeyWithSignAlg: instance GHC.Show.Show Crypto.WebAuthn.Cose.PublicKeyWithSignAlg.Signature
- Crypto.WebAuthn.Cose.SignAlg: instance GHC.Enum.Bounded Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgECDSA
- Crypto.WebAuthn.Cose.SignAlg: instance GHC.Enum.Bounded Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgRSA
- Crypto.WebAuthn.Cose.SignAlg: instance GHC.Enum.Enum Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgECDSA
- Crypto.WebAuthn.Cose.SignAlg: instance GHC.Enum.Enum Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgRSA
- Crypto.WebAuthn.Cose.SignAlg: instance GHC.Generics.Generic Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgECDSA
- Crypto.WebAuthn.Cose.SignAlg: instance GHC.Generics.Generic Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgRSA
- Crypto.WebAuthn.Cose.SignAlg: instance GHC.Generics.Generic Crypto.WebAuthn.Cose.SignAlg.CoseSignAlg
- Crypto.WebAuthn.Cose.SignAlg: instance GHC.Show.Show Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgECDSA
- Crypto.WebAuthn.Cose.SignAlg: instance GHC.Show.Show Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgRSA
- Crypto.WebAuthn.Cose.SignAlg: instance GHC.Show.Show Crypto.WebAuthn.Cose.SignAlg.CoseSignAlg
- Crypto.WebAuthn.Encoding.Binary: instance GHC.Generics.Generic Crypto.WebAuthn.Encoding.Binary.ClientDataJSON
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:alg:PublicKeyCredentialParameters] :: PublicKeyCredentialParameters -> COSEAlgorithmIdentifier
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:allowCredentials:PublicKeyCredentialRequestOptions] :: PublicKeyCredentialRequestOptions -> Maybe [PublicKeyCredentialDescriptor]
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:attestation:PublicKeyCredentialCreationOptions] :: PublicKeyCredentialCreationOptions -> Maybe Text
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:attestationObject:AuthenticatorAttestationResponse] :: AuthenticatorAttestationResponse -> Base64UrlString
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:authenticatorAttachment:AuthenticatorSelectionCriteria] :: AuthenticatorSelectionCriteria -> Maybe Text
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:authenticatorData:AuthenticatorAssertionResponse] :: AuthenticatorAssertionResponse -> Base64UrlString
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:authenticatorSelection:PublicKeyCredentialCreationOptions] :: PublicKeyCredentialCreationOptions -> Maybe AuthenticatorSelectionCriteria
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:challenge:PublicKeyCredentialCreationOptions] :: PublicKeyCredentialCreationOptions -> Base64UrlString
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:challenge:PublicKeyCredentialRequestOptions] :: PublicKeyCredentialRequestOptions -> Base64UrlString
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:clientDataJSON:AuthenticatorAssertionResponse] :: AuthenticatorAssertionResponse -> Base64UrlString
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:clientDataJSON:AuthenticatorAttestationResponse] :: AuthenticatorAttestationResponse -> Base64UrlString
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:clientExtensionResults:PublicKeyCredential] :: PublicKeyCredential response -> AuthenticationExtensionsClientOutputs
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:credProps:AuthenticationExtensionsClientInputs] :: AuthenticationExtensionsClientInputs -> Maybe Bool
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:credProps:AuthenticationExtensionsClientOutputs] :: AuthenticationExtensionsClientOutputs -> Maybe CredentialPropertiesOutput
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:displayName:PublicKeyCredentialUserEntity] :: PublicKeyCredentialUserEntity -> Text
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:excludeCredentials:PublicKeyCredentialCreationOptions] :: PublicKeyCredentialCreationOptions -> Maybe [PublicKeyCredentialDescriptor]
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:extensions:PublicKeyCredentialCreationOptions] :: PublicKeyCredentialCreationOptions -> Maybe AuthenticationExtensionsClientInputs
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:extensions:PublicKeyCredentialRequestOptions] :: PublicKeyCredentialRequestOptions -> Maybe AuthenticationExtensionsClientInputs
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:id:PublicKeyCredentialDescriptor] :: PublicKeyCredentialDescriptor -> Base64UrlString
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:id:PublicKeyCredentialRpEntity] :: PublicKeyCredentialRpEntity -> Maybe Text
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:id:PublicKeyCredentialUserEntity] :: PublicKeyCredentialUserEntity -> Base64UrlString
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:littype:PublicKeyCredentialDescriptor] :: PublicKeyCredentialDescriptor -> Text
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:littype:PublicKeyCredentialParameters] :: PublicKeyCredentialParameters -> Text
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:name:PublicKeyCredentialRpEntity] :: PublicKeyCredentialRpEntity -> Text
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:name:PublicKeyCredentialUserEntity] :: PublicKeyCredentialUserEntity -> Text
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:pubKeyCredParams:PublicKeyCredentialCreationOptions] :: PublicKeyCredentialCreationOptions -> [PublicKeyCredentialParameters]
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:rawId:PublicKeyCredential] :: PublicKeyCredential response -> Base64UrlString
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:requireResidentKey:AuthenticatorSelectionCriteria] :: AuthenticatorSelectionCriteria -> Maybe Bool
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:residentKey:AuthenticatorSelectionCriteria] :: AuthenticatorSelectionCriteria -> Maybe Text
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:response:PublicKeyCredential] :: PublicKeyCredential response -> response
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:rk:CredentialPropertiesOutput] :: CredentialPropertiesOutput -> Maybe Bool
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:rp:PublicKeyCredentialCreationOptions] :: PublicKeyCredentialCreationOptions -> PublicKeyCredentialRpEntity
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:rpId:PublicKeyCredentialRequestOptions] :: PublicKeyCredentialRequestOptions -> Maybe Text
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:signature:AuthenticatorAssertionResponse] :: AuthenticatorAssertionResponse -> Base64UrlString
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:timeout:PublicKeyCredentialCreationOptions] :: PublicKeyCredentialCreationOptions -> Maybe Word32
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:timeout:PublicKeyCredentialRequestOptions] :: PublicKeyCredentialRequestOptions -> Maybe Word32
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:transports:AuthenticatorAttestationResponse] :: AuthenticatorAttestationResponse -> Maybe [Text]
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:transports:PublicKeyCredentialDescriptor] :: PublicKeyCredentialDescriptor -> Maybe [Text]
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:unBase64UrlString:Base64UrlString] :: Base64UrlString -> ByteString
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:user:PublicKeyCredentialCreationOptions] :: PublicKeyCredentialCreationOptions -> PublicKeyCredentialUserEntity
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:userHandle:AuthenticatorAssertionResponse] :: AuthenticatorAssertionResponse -> Maybe Base64UrlString
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:userVerification:AuthenticatorSelectionCriteria] :: AuthenticatorSelectionCriteria -> Maybe Text
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [$sel:userVerification:PublicKeyCredentialRequestOptions] :: PublicKeyCredentialRequestOptions -> Maybe Text
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance (Data.Traversable.Traversable f, Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.Decode m a) => Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.Decode m (f a)
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance (GHC.Base.Functor f, Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.Encode a) => Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.Encode (f a)
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Generics.Generic (Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredential response)
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticationExtensionsClientInputs
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticationExtensionsClientOutputs
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticatorAssertionResponse
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticatorAttestationResponse
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticatorSelectionCriteria
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.CredentialPropertiesOutput
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialCreationOptions
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialDescriptor
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialParameters
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialRequestOptions
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialRpEntity
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialUserEntity
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticationExtensionsClientInputs
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticationExtensionsClientOutputs
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticatorAssertionResponse
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticatorAttestationResponse
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticatorSelectionCriteria
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.Base64UrlString
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.CredentialPropertiesOutput
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialCreationOptions
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialDescriptor
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialParameters
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialRequestOptions
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialRpEntity
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialUserEntity
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Show.Show response => GHC.Show.Show (Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredential response)
- Crypto.WebAuthn.Encoding.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.WebAuthnJson.WJCredentialAuthentication
- Crypto.WebAuthn.Encoding.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.WebAuthnJson.WJCredentialOptionsAuthentication
- Crypto.WebAuthn.Encoding.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.WebAuthnJson.WJCredentialOptionsRegistration
- Crypto.WebAuthn.Encoding.WebAuthnJson: instance GHC.Show.Show Crypto.WebAuthn.Encoding.WebAuthnJson.WJCredentialRegistration
- Crypto.WebAuthn.Internal.DateOrphans: instance (Data.Hourglass.Time.Timeable t, GHC.Base.Monad m) => Control.Monad.Time.MonadTime (Control.Monad.Trans.Reader.ReaderT t m)
- Crypto.WebAuthn.Internal.DateOrphans: instance Data.Fixed.HasResolution a => Data.Hourglass.Time.Timeable (Data.Fixed.Fixed a)
- Crypto.WebAuthn.Internal.DateOrphans: instance Data.Hourglass.Time.Time Data.Time.Clock.Internal.UTCTime.UTCTime
- Crypto.WebAuthn.Internal.DateOrphans: instance Data.Hourglass.Time.Timeable Data.Time.Clock.Internal.UTCTime.UTCTime
- Crypto.WebAuthn.Internal.ToJSONOrphans: instance (GHC.Classes.Eq a, GHC.Show.Show a, Data.ASN1.Types.ASN1Object a, Data.Aeson.Types.ToJSON.ToJSON a) => Data.Aeson.Types.ToJSON.ToJSON (Data.X509.Signed.SignedExact a)
- Crypto.WebAuthn.Internal.ToJSONOrphans: instance GHC.Show.Show Crypto.WebAuthn.Internal.ToJSONOrphans.PrettyHexByteString
- Crypto.WebAuthn.Internal.Utils: instance GHC.Show.Show Crypto.WebAuthn.Internal.Utils.IdFidoGenCeAAGUID
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.AuthenticationAlgorithm
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.AuthenticatorAttachmentHint
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.AuthenticatorAttestationType
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.KeyProtectionType
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.MatcherProtectionType
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.PublicKeyRepresentationFormat
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.TransactionConfirmationDisplayType
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.UserVerificationMethod
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.AuthenticationAlgorithm
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.AuthenticatorAttachmentHint
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.AuthenticatorAttestationType
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.KeyProtectionType
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.MatcherProtectionType
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.PublicKeyRepresentationFormat
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.TransactionConfirmationDisplayType
- Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.UserVerificationMethod
- Crypto.WebAuthn.Metadata.Service.Processing: instance (Control.Monad.Error.Class.MonadError Crypto.WebAuthn.Metadata.Service.Processing.ProcessingError m, Control.Monad.Reader.Class.MonadReader Time.Types.DateTime m) => Crypto.JOSE.JWK.Store.VerificationKeyStore m (Crypto.JOSE.JWS.JWSHeader ()) p Crypto.WebAuthn.Metadata.Service.Processing.RootCertificate
- Crypto.WebAuthn.Metadata.Service.Processing: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Service.Processing.ProcessingError
- Crypto.WebAuthn.Metadata.Service.Types: instance GHC.Base.Monoid Crypto.WebAuthn.Metadata.Service.Types.MetadataServiceRegistry
- Crypto.WebAuthn.Metadata.Service.Types: instance GHC.Base.Semigroup Crypto.WebAuthn.Metadata.Service.Types.MetadataServiceRegistry
- Crypto.WebAuthn.Metadata.Service.Types: instance GHC.Generics.Generic (Crypto.WebAuthn.Metadata.Service.Types.MetadataEntry p)
- Crypto.WebAuthn.Metadata.Service.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Service.Types.StatusReport
- Crypto.WebAuthn.Metadata.Service.Types: instance GHC.Show.Show (Crypto.WebAuthn.Metadata.Service.Types.MetadataEntry p)
- Crypto.WebAuthn.Metadata.Service.Types: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Service.Types.StatusReport
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:aaguid:MetadataBLOBPayloadEntry] :: MetadataBLOBPayloadEntry -> Maybe AAGUID
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:aaid:MetadataBLOBPayloadEntry] :: MetadataBLOBPayloadEntry -> Maybe AAID
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:attestationCertificateKeyIdentifiers:MetadataBLOBPayloadEntry] :: MetadataBLOBPayloadEntry -> Maybe (NonEmpty DOMString)
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:authenticatorVersion:StatusReport] :: StatusReport -> Maybe UnsignedLong
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:biometricStatusReports:MetadataBLOBPayloadEntry] :: MetadataBLOBPayloadEntry -> Maybe (NonEmpty BiometricStatusReport)
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:certLevel:BiometricStatusReport] :: BiometricStatusReport -> UnsignedShort
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:certificate:StatusReport] :: StatusReport -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:certificateNumber:BiometricStatusReport] :: BiometricStatusReport -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:certificateNumber:StatusReport] :: StatusReport -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:certificationDescriptor:BiometricStatusReport] :: BiometricStatusReport -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:certificationDescriptor:StatusReport] :: StatusReport -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:certificationPolicyVersion:BiometricStatusReport] :: BiometricStatusReport -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:certificationPolicyVersion:StatusReport] :: StatusReport -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:certificationRequirementsVersion:BiometricStatusReport] :: BiometricStatusReport -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:certificationRequirementsVersion:StatusReport] :: StatusReport -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:effectiveDate:BiometricStatusReport] :: BiometricStatusReport -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:effectiveDate:StatusReport] :: StatusReport -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:entries:MetadataBLOBPayload] :: MetadataBLOBPayload -> [MetadataBLOBPayloadEntry]
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:legalHeader:MetadataBLOBPayload] :: MetadataBLOBPayload -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:metadataStatement:MetadataBLOBPayloadEntry] :: MetadataBLOBPayloadEntry -> Maybe MetadataStatement
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:modality:BiometricStatusReport] :: BiometricStatusReport -> DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:nextUpdate:MetadataBLOBPayload] :: MetadataBLOBPayload -> DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:no:MetadataBLOBPayload] :: MetadataBLOBPayload -> Int
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:status:StatusReport] :: StatusReport -> AuthenticatorStatus
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:statusReports:MetadataBLOBPayloadEntry] :: MetadataBLOBPayloadEntry -> NonEmpty StatusReport
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:timeOfLastStatusChange:MetadataBLOBPayloadEntry] :: MetadataBLOBPayloadEntry -> DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: [$sel:url:StatusReport] :: StatusReport -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Service.WebIDL.AuthenticatorStatus
- Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Service.WebIDL.BiometricStatusReport
- Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Service.WebIDL.MetadataBLOBPayload
- Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Service.WebIDL.MetadataBLOBPayloadEntry
- Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Service.WebIDL.StatusReport
- Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Service.WebIDL.AuthenticatorStatus
- Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Service.WebIDL.BiometricStatusReport
- Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Service.WebIDL.MetadataBLOBPayload
- Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Service.WebIDL.MetadataBLOBPayloadEntry
- Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Service.WebIDL.StatusReport
- Crypto.WebAuthn.Metadata.Statement.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Statement.Types.MetadataStatement
- Crypto.WebAuthn.Metadata.Statement.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Statement.Types.WebauthnAttestationType
- Crypto.WebAuthn.Metadata.Statement.Types: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.Types.MetadataStatement
- Crypto.WebAuthn.Metadata.Statement.Types: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.Types.PNGBytes
- Crypto.WebAuthn.Metadata.Statement.Types: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.Types.WebauthnAttestationType
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:aaguid:MetadataStatement] :: MetadataStatement -> Maybe AAGUID
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:aaid:MetadataStatement] :: MetadataStatement -> Maybe AAID
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:alternativeDescriptions:MetadataStatement] :: MetadataStatement -> Maybe AlternativeDescriptions
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:attachmentHint:MetadataStatement] :: MetadataStatement -> NonEmpty AuthenticatorAttachmentHint
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:attestationCertificateKeyIdentifiers:MetadataStatement] :: MetadataStatement -> Maybe (NonEmpty KeyIdentifier)
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:attestationRootCertificates:MetadataStatement] :: MetadataStatement -> [DOMString]
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:attestationTypes:MetadataStatement] :: MetadataStatement -> NonEmpty AuthenticatorAttestationType
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:authenticationAlgorithms:MetadataStatement] :: MetadataStatement -> NonEmpty AuthenticationAlgorithm
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:authenticatorGetInfo:MetadataStatement] :: MetadataStatement -> Maybe AuthenticatorGetInfo
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:authenticatorVersion:MetadataStatement] :: MetadataStatement -> UnsignedLong
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:b:RgbPaletteEntry] :: RgbPaletteEntry -> UnsignedShort
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:baDesc:VerificationMethodDescriptor] :: VerificationMethodDescriptor -> Maybe BiometricAccuracyDescriptor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:base:CodeAccuracyDescriptor] :: CodeAccuracyDescriptor -> UnsignedShort
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:bitDepth:DisplayPNGCharacteristicsDescriptor] :: DisplayPNGCharacteristicsDescriptor -> Octet
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:blockSlowdown:BiometricAccuracyDescriptor] :: BiometricAccuracyDescriptor -> Maybe UnsignedShort
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:blockSlowdown:CodeAccuracyDescriptor] :: CodeAccuracyDescriptor -> Maybe UnsignedShort
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:blockSlowdown:PatternAccuracyDescriptor] :: PatternAccuracyDescriptor -> Maybe UnsignedShort
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:c:EcdaaTrustAnchor] :: EcdaaTrustAnchor -> DOMString
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:caDesc:VerificationMethodDescriptor] :: VerificationMethodDescriptor -> Maybe CodeAccuracyDescriptor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:colorType:DisplayPNGCharacteristicsDescriptor] :: DisplayPNGCharacteristicsDescriptor -> Octet
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:compression:DisplayPNGCharacteristicsDescriptor] :: DisplayPNGCharacteristicsDescriptor -> Octet
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:cryptoStrength:MetadataStatement] :: MetadataStatement -> Maybe UnsignedShort
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:description:MetadataStatement] :: MetadataStatement -> DOMString
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:ecdaaTrustAnchors:MetadataStatement] :: MetadataStatement -> Maybe (NonEmpty EcdaaTrustAnchor)
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:fail_if_unknown:ExtensionDescriptor] :: ExtensionDescriptor -> Boolean
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:filter:DisplayPNGCharacteristicsDescriptor] :: DisplayPNGCharacteristicsDescriptor -> Octet
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:g:RgbPaletteEntry] :: RgbPaletteEntry -> UnsignedShort
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:height:DisplayPNGCharacteristicsDescriptor] :: DisplayPNGCharacteristicsDescriptor -> UnsignedLong
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:icon:MetadataStatement] :: MetadataStatement -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:id:ExtensionDescriptor] :: ExtensionDescriptor -> DOMString
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:interlace:DisplayPNGCharacteristicsDescriptor] :: DisplayPNGCharacteristicsDescriptor -> Octet
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:isFreshUserVerificationRequired:MetadataStatement] :: MetadataStatement -> Maybe Boolean
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:isKeyRestricted:MetadataStatement] :: MetadataStatement -> Maybe Boolean
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:keyProtection:MetadataStatement] :: MetadataStatement -> NonEmpty KeyProtectionType
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:legalHeader:MetadataStatement] :: MetadataStatement -> DOMString
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:litG1Curve:EcdaaTrustAnchor] :: EcdaaTrustAnchor -> DOMString
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:litX:EcdaaTrustAnchor] :: EcdaaTrustAnchor -> DOMString
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:litY:EcdaaTrustAnchor] :: EcdaaTrustAnchor -> DOMString
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:litdata:ExtensionDescriptor] :: ExtensionDescriptor -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:matcherProtection:MetadataStatement] :: MetadataStatement -> NonEmpty MatcherProtectionType
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:maxRetries:BiometricAccuracyDescriptor] :: BiometricAccuracyDescriptor -> Maybe UnsignedShort
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:maxRetries:CodeAccuracyDescriptor] :: CodeAccuracyDescriptor -> Maybe UnsignedShort
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:maxRetries:PatternAccuracyDescriptor] :: PatternAccuracyDescriptor -> Maybe UnsignedShort
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:maxTemplates:BiometricAccuracyDescriptor] :: BiometricAccuracyDescriptor -> Maybe UnsignedShort
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:minComplexity:PatternAccuracyDescriptor] :: PatternAccuracyDescriptor -> UnsignedLongLong
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:minLength:CodeAccuracyDescriptor] :: CodeAccuracyDescriptor -> UnsignedShort
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:paDesc:VerificationMethodDescriptor] :: VerificationMethodDescriptor -> Maybe PatternAccuracyDescriptor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:plte:DisplayPNGCharacteristicsDescriptor] :: DisplayPNGCharacteristicsDescriptor -> Maybe (NonEmpty RgbPaletteEntry)
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:protocolFamily:MetadataStatement] :: MetadataStatement -> ProtocolFamily
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:publicKeyAlgAndEncodings:MetadataStatement] :: MetadataStatement -> NonEmpty PublicKeyRepresentationFormat
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:r:RgbPaletteEntry] :: RgbPaletteEntry -> UnsignedShort
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:schema:MetadataStatement] :: MetadataStatement -> UnsignedShort
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:selfAttestedFAR:BiometricAccuracyDescriptor] :: BiometricAccuracyDescriptor -> Maybe Double
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:selfAttestedFRR:BiometricAccuracyDescriptor] :: BiometricAccuracyDescriptor -> Maybe Double
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:supportedExtensions:MetadataStatement] :: MetadataStatement -> Maybe (NonEmpty ExtensionDescriptor)
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:sx:EcdaaTrustAnchor] :: EcdaaTrustAnchor -> DOMString
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:sy:EcdaaTrustAnchor] :: EcdaaTrustAnchor -> DOMString
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:tag:ExtensionDescriptor] :: ExtensionDescriptor -> Maybe UnsignedShort
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:tcDisplay:MetadataStatement] :: MetadataStatement -> [TransactionConfirmationDisplayType]
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:tcDisplayContentType:MetadataStatement] :: MetadataStatement -> Maybe DOMString
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:tcDisplayPNGCharacteristics:MetadataStatement] :: MetadataStatement -> Maybe (NonEmpty DisplayPNGCharacteristicsDescriptor)
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:upv:MetadataStatement] :: MetadataStatement -> NonEmpty Version
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:userVerificationDetails:MetadataStatement] :: MetadataStatement -> NonEmpty VerificationMethodANDCombinations
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:userVerificationMethod:VerificationMethodDescriptor] :: VerificationMethodDescriptor -> UserVerificationMethod
- Crypto.WebAuthn.Metadata.Statement.WebIDL: [$sel:width:DisplayPNGCharacteristicsDescriptor] :: DisplayPNGCharacteristicsDescriptor -> UnsignedLong
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.BiometricAccuracyDescriptor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.CodeAccuracyDescriptor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.DisplayPNGCharacteristicsDescriptor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.EcdaaTrustAnchor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.ExtensionDescriptor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.MetadataStatement
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.PatternAccuracyDescriptor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.ProtocolFamily
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.RgbPaletteEntry
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.VerificationMethodDescriptor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.AAGUID
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.AlternativeDescriptions
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.AuthenticatorGetInfo
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.BiometricAccuracyDescriptor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.CodeAccuracyDescriptor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.DisplayPNGCharacteristicsDescriptor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.EcdaaTrustAnchor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.ExtensionDescriptor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.MetadataStatement
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.PatternAccuracyDescriptor
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.ProtocolFamily
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.RgbPaletteEntry
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.VerificationMethodANDCombinations
- Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.VerificationMethodDescriptor
- Crypto.WebAuthn.Metadata.UAF: instance GHC.Generics.Generic Crypto.WebAuthn.Metadata.UAF.Version
- Crypto.WebAuthn.Metadata.UAF: instance GHC.Show.Show Crypto.WebAuthn.Metadata.UAF.AAID
- Crypto.WebAuthn.Metadata.UAF: instance GHC.Show.Show Crypto.WebAuthn.Metadata.UAF.KeyIdentifier
- Crypto.WebAuthn.Metadata.UAF: instance GHC.Show.Show Crypto.WebAuthn.Metadata.UAF.Version
- Crypto.WebAuthn.Model.Identifier: instance GHC.Show.Show (Crypto.WebAuthn.Model.Identifier.AuthenticatorIdentifier p)
- Crypto.WebAuthn.Model.Identifier: instance GHC.Show.Show Crypto.WebAuthn.Model.Identifier.AAGUID
- Crypto.WebAuthn.Model.Identifier: instance GHC.Show.Show Crypto.WebAuthn.Model.Identifier.SubjectKeyIdentifier
- Crypto.WebAuthn.Model.Kinds: instance GHC.Show.Show (Crypto.WebAuthn.Model.Kinds.SCeremonyKind c)
- Crypto.WebAuthn.Model.Kinds: instance GHC.Show.Show (Crypto.WebAuthn.Model.Kinds.SProtocolKind p)
- Crypto.WebAuthn.Model.Types: instance Data.String.IsString Crypto.WebAuthn.Model.Types.Origin
- Crypto.WebAuthn.Model.Types: instance Data.String.IsString Crypto.WebAuthn.Model.Types.RelyingPartyName
- Crypto.WebAuthn.Model.Types: instance Data.String.IsString Crypto.WebAuthn.Model.Types.RpId
- Crypto.WebAuthn.Model.Types: instance Data.String.IsString Crypto.WebAuthn.Model.Types.UserAccountDisplayName
- Crypto.WebAuthn.Model.Types: instance Data.String.IsString Crypto.WebAuthn.Model.Types.UserAccountName
- Crypto.WebAuthn.Model.Types: instance GHC.Base.Monoid Crypto.WebAuthn.Model.Types.SupportedAttestationStatementFormats
- Crypto.WebAuthn.Model.Types: instance GHC.Base.Semigroup Crypto.WebAuthn.Model.Types.SupportedAttestationStatementFormats
- Crypto.WebAuthn.Model.Types: instance GHC.Enum.Bounded Crypto.WebAuthn.Model.Types.AttestationConveyancePreference
- Crypto.WebAuthn.Model.Types: instance GHC.Enum.Bounded Crypto.WebAuthn.Model.Types.AuthenticatorAttachment
- Crypto.WebAuthn.Model.Types: instance GHC.Enum.Bounded Crypto.WebAuthn.Model.Types.CredentialType
- Crypto.WebAuthn.Model.Types: instance GHC.Enum.Bounded Crypto.WebAuthn.Model.Types.ResidentKeyRequirement
- Crypto.WebAuthn.Model.Types: instance GHC.Enum.Bounded Crypto.WebAuthn.Model.Types.UserVerificationRequirement
- Crypto.WebAuthn.Model.Types: instance GHC.Enum.Bounded Crypto.WebAuthn.Model.Types.VerifiableAttestationType
- Crypto.WebAuthn.Model.Types: instance GHC.Enum.Enum Crypto.WebAuthn.Model.Types.AttestationConveyancePreference
- Crypto.WebAuthn.Model.Types: instance GHC.Enum.Enum Crypto.WebAuthn.Model.Types.AuthenticatorAttachment
- Crypto.WebAuthn.Model.Types: instance GHC.Enum.Enum Crypto.WebAuthn.Model.Types.CredentialType
- Crypto.WebAuthn.Model.Types: instance GHC.Enum.Enum Crypto.WebAuthn.Model.Types.ResidentKeyRequirement
- Crypto.WebAuthn.Model.Types: instance GHC.Enum.Enum Crypto.WebAuthn.Model.Types.UserVerificationRequirement
- Crypto.WebAuthn.Model.Types: instance GHC.Enum.Enum Crypto.WebAuthn.Model.Types.VerifiableAttestationType
- Crypto.WebAuthn.Model.Types: instance GHC.Generics.Generic (Crypto.WebAuthn.Model.Types.AuthenticatorData c raw)
- Crypto.WebAuthn.Model.Types: instance GHC.Generics.Generic (Crypto.WebAuthn.Model.Types.Credential c raw)
- Crypto.WebAuthn.Model.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Model.Types.AttestationConveyancePreference
- Crypto.WebAuthn.Model.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Model.Types.AuthenticatorAttachment
- Crypto.WebAuthn.Model.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Model.Types.AuthenticatorDataFlags
- Crypto.WebAuthn.Model.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Model.Types.AuthenticatorSelectionCriteria
- Crypto.WebAuthn.Model.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Model.Types.AuthenticatorTransport
- Crypto.WebAuthn.Model.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Model.Types.CredentialDescriptor
- Crypto.WebAuthn.Model.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Model.Types.CredentialParameters
- Crypto.WebAuthn.Model.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Model.Types.CredentialRpEntity
- Crypto.WebAuthn.Model.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Model.Types.CredentialType
- Crypto.WebAuthn.Model.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Model.Types.CredentialUserEntity
- Crypto.WebAuthn.Model.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Model.Types.ResidentKeyRequirement
- Crypto.WebAuthn.Model.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Model.Types.UserVerificationRequirement
- Crypto.WebAuthn.Model.Types: instance GHC.Generics.Generic Crypto.WebAuthn.Model.Types.VerifiableAttestationType
- Crypto.WebAuthn.Model.Types: instance GHC.Num.Num Crypto.WebAuthn.Model.Types.SignatureCounter
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show (Crypto.WebAuthn.Model.Types.AttestationChain p)
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show (Crypto.WebAuthn.Model.Types.AttestationObject raw)
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show (Crypto.WebAuthn.Model.Types.AttestationType k)
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show (Crypto.WebAuthn.Model.Types.AttestedCredentialData c raw)
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show (Crypto.WebAuthn.Model.Types.AuthenticatorData c raw)
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show (Crypto.WebAuthn.Model.Types.AuthenticatorResponse c raw)
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show (Crypto.WebAuthn.Model.Types.CollectedClientData c raw)
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show (Crypto.WebAuthn.Model.Types.Credential c raw)
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show (Crypto.WebAuthn.Model.Types.CredentialOptions c)
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show (Crypto.WebAuthn.Model.Types.RawField raw)
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.AssertionSignature
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.AttestationConveyancePreference
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.AuthenticationExtensionsClientInputs
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.AuthenticationExtensionsClientOutputs
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.AuthenticatorAttachment
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.AuthenticatorDataFlags
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.AuthenticatorExtensionOutputs
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.AuthenticatorSelectionCriteria
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.AuthenticatorTransport
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.Challenge
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.ClientDataHash
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.CredentialDescriptor
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.CredentialId
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.CredentialMediationRequirement
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.CredentialParameters
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.CredentialPropertiesOutput
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.CredentialRpEntity
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.CredentialType
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.CredentialUserEntity
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.Origin
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.PublicKeyBytes
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.RelyingPartyName
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.ResidentKeyRequirement
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.RpId
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.RpIdHash
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.SignatureCounter
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.Timeout
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.UserAccountDisplayName
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.UserAccountName
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.UserHandle
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.UserVerificationRequirement
- Crypto.WebAuthn.Model.Types: instance GHC.Show.Show Crypto.WebAuthn.Model.Types.VerifiableAttestationType
- Crypto.WebAuthn.Operation.Authentication: instance GHC.Exception.Type.Exception Crypto.WebAuthn.Operation.Authentication.AuthenticationError
- Crypto.WebAuthn.Operation.Authentication: instance GHC.Show.Show Crypto.WebAuthn.Operation.Authentication.AuthenticationError
- Crypto.WebAuthn.Operation.Authentication: instance GHC.Show.Show Crypto.WebAuthn.Operation.Authentication.AuthenticationResult
- Crypto.WebAuthn.Operation.Authentication: instance GHC.Show.Show Crypto.WebAuthn.Operation.Authentication.SignatureCounterResult
- Crypto.WebAuthn.Operation.CredentialEntry: instance GHC.Generics.Generic Crypto.WebAuthn.Operation.CredentialEntry.CredentialEntry
- Crypto.WebAuthn.Operation.CredentialEntry: instance GHC.Show.Show Crypto.WebAuthn.Operation.CredentialEntry.CredentialEntry
- Crypto.WebAuthn.Operation.Registration: instance GHC.Exception.Type.Exception Crypto.WebAuthn.Operation.Registration.RegistrationError
- Crypto.WebAuthn.Operation.Registration: instance GHC.Generics.Generic Crypto.WebAuthn.Operation.Registration.RegistrationResult
- Crypto.WebAuthn.Operation.Registration: instance GHC.Show.Show (Crypto.WebAuthn.Operation.Registration.AuthenticatorModel k)
- Crypto.WebAuthn.Operation.Registration: instance GHC.Show.Show Crypto.WebAuthn.Operation.Registration.RegistrationError
- Crypto.WebAuthn.Operation.Registration: instance GHC.Show.Show Crypto.WebAuthn.Operation.Registration.RegistrationResult
- Crypto.WebAuthn.Operation.Registration: instance GHC.Show.Show Crypto.WebAuthn.Operation.Registration.SomeAttestationStatement
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidKey: instance GHC.Internal.Exception.Type.Exception Crypto.WebAuthn.AttestationStatementFormat.AndroidKey.VerificationError
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidKey: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidKey.AuthorizationList
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidKey: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidKey.ExtAttestation
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidKey: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidKey.Format
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidKey: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidKey.Statement
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidKey: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidKey.VerificationError
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance Control.Monad.Error.Class.MonadError Crypto.JOSE.Error.Error m => Crypto.JOSE.JWK.Store.VerificationKeyStore m (Crypto.JOSE.JWS.JWSHeader Crypto.JOSE.Header.RequiredProtection) p Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.VerificationHostName
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Internal.Data.String.IsString Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.VerificationHostName
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Internal.Enum.Bounded Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Integrity
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Internal.Enum.Enum Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Integrity
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Internal.Exception.Type.Exception Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.VerificationError
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Response
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Format
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Integrity
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Milliseconds
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Response
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Statement
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.VerificationError
+ Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet: instance Time.Time.Timeable Crypto.WebAuthn.AttestationStatementFormat.AndroidSafetyNet.Milliseconds
+ Crypto.WebAuthn.AttestationStatementFormat.Apple: instance GHC.Internal.Exception.Type.Exception Crypto.WebAuthn.AttestationStatementFormat.Apple.VerificationError
+ Crypto.WebAuthn.AttestationStatementFormat.Apple: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.Apple.AppleNonceExtension
+ Crypto.WebAuthn.AttestationStatementFormat.Apple: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.Apple.Format
+ Crypto.WebAuthn.AttestationStatementFormat.Apple: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.Apple.Statement
+ Crypto.WebAuthn.AttestationStatementFormat.Apple: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.Apple.VerificationError
+ Crypto.WebAuthn.AttestationStatementFormat.FidoU2F: instance GHC.Internal.Exception.Type.Exception Crypto.WebAuthn.AttestationStatementFormat.FidoU2F.VerificationError
+ Crypto.WebAuthn.AttestationStatementFormat.FidoU2F: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.FidoU2F.Format
+ Crypto.WebAuthn.AttestationStatementFormat.FidoU2F: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.FidoU2F.Statement
+ Crypto.WebAuthn.AttestationStatementFormat.FidoU2F: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.FidoU2F.VerificationError
+ Crypto.WebAuthn.AttestationStatementFormat.None: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.None.Format
+ Crypto.WebAuthn.AttestationStatementFormat.Packed: instance GHC.Internal.Exception.Type.Exception Crypto.WebAuthn.AttestationStatementFormat.Packed.VerificationError
+ Crypto.WebAuthn.AttestationStatementFormat.Packed: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.Packed.Format
+ Crypto.WebAuthn.AttestationStatementFormat.Packed: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.Packed.Statement
+ Crypto.WebAuthn.AttestationStatementFormat.Packed: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.Packed.VerificationError
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Exception.Type.Exception Crypto.WebAuthn.AttestationStatementFormat.TPM.VerificationError
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMAlgId
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSAttest
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSCertifyInfo
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSClockInfo
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSECCParms
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSECCPoint
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSRSAParms
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMTPublic
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMUPublicId
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMUPublicParms
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.CertInfoBytes
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.Format
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.PubAreaBytes
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.Statement
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.SubjectAlternativeName
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMAlgId
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSAttest
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSCertifyInfo
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSClockInfo
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSECCParms
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSECCPoint
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMSRSAParms
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMTPublic
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMUPublicId
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.TPMUPublicParms
+ Crypto.WebAuthn.AttestationStatementFormat.TPM: instance GHC.Internal.Show.Show Crypto.WebAuthn.AttestationStatementFormat.TPM.VerificationError
+ Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Internal.Enum.Bounded Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyCommonParameter
+ Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Internal.Enum.Bounded Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterEC2
+ Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Internal.Enum.Bounded Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterOKP
+ Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Internal.Enum.Bounded Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterRSA
+ Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Internal.Enum.Enum Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyCommonParameter
+ Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Internal.Enum.Enum Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterEC2
+ Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Internal.Enum.Enum Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterOKP
+ Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Internal.Enum.Enum Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterRSA
+ Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.Internal.Registry.CoseEllipticCurveEC2
+ Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.Internal.Registry.CoseEllipticCurveOKP
+ Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyCommonParameter
+ Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyType
+ Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterEC2
+ Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterOKP
+ Crypto.WebAuthn.Cose.Internal.Registry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.Internal.Registry.CoseKeyTypeParameterRSA
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Enum.Bounded Crypto.WebAuthn.Cose.PublicKey.CoseCurveECDSA
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Enum.Bounded Crypto.WebAuthn.Cose.PublicKey.CoseCurveEdDSA
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Enum.Enum Crypto.WebAuthn.Cose.PublicKey.CoseCurveECDSA
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Enum.Enum Crypto.WebAuthn.Cose.PublicKey.CoseCurveEdDSA
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Cose.PublicKey.CoseCurveECDSA
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Cose.PublicKey.CoseCurveEdDSA
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Cose.PublicKey.ECDSAPublicKey
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Cose.PublicKey.EdDSAPublicKey
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Cose.PublicKey.RSAPublicKey
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Cose.PublicKey.UncheckedPublicKey
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.PublicKey.CoseCurveECDSA
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.PublicKey.CoseCurveEdDSA
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.PublicKey.ECDSAPublicKey
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.PublicKey.EdDSAKeyBytes
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.PublicKey.EdDSAPublicKey
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.PublicKey.PublicKey
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.PublicKey.RSAPublicKey
+ Crypto.WebAuthn.Cose.PublicKey: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.PublicKey.UncheckedPublicKey
+ Crypto.WebAuthn.Cose.PublicKeyWithSignAlg: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Cose.PublicKeyWithSignAlg.PublicKeyWithSignAlg
+ Crypto.WebAuthn.Cose.PublicKeyWithSignAlg: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.PublicKeyWithSignAlg.Message
+ Crypto.WebAuthn.Cose.PublicKeyWithSignAlg: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.PublicKeyWithSignAlg.PublicKeyWithSignAlg
+ Crypto.WebAuthn.Cose.PublicKeyWithSignAlg: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.PublicKeyWithSignAlg.Signature
+ Crypto.WebAuthn.Cose.SignAlg: instance GHC.Internal.Enum.Bounded Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgECDSA
+ Crypto.WebAuthn.Cose.SignAlg: instance GHC.Internal.Enum.Bounded Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgRSA
+ Crypto.WebAuthn.Cose.SignAlg: instance GHC.Internal.Enum.Enum Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgECDSA
+ Crypto.WebAuthn.Cose.SignAlg: instance GHC.Internal.Enum.Enum Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgRSA
+ Crypto.WebAuthn.Cose.SignAlg: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgECDSA
+ Crypto.WebAuthn.Cose.SignAlg: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgRSA
+ Crypto.WebAuthn.Cose.SignAlg: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Cose.SignAlg.CoseSignAlg
+ Crypto.WebAuthn.Cose.SignAlg: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgECDSA
+ Crypto.WebAuthn.Cose.SignAlg: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.SignAlg.CoseHashAlgRSA
+ Crypto.WebAuthn.Cose.SignAlg: instance GHC.Internal.Show.Show Crypto.WebAuthn.Cose.SignAlg.CoseSignAlg
+ Crypto.WebAuthn.Encoding.Binary: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Encoding.Binary.ClientDataJSON
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: ($dmdecode) :: (Decode m a, MonadError Text m, Coercible (JSON a) a) => JSON a -> m a
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: ($dmencode) :: (Encode a, Coercible a (JSON a)) => a -> JSON a
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [alg] :: PublicKeyCredentialParameters -> COSEAlgorithmIdentifier
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [allowCredentials] :: PublicKeyCredentialRequestOptions -> Maybe [PublicKeyCredentialDescriptor]
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [attestationObject] :: AuthenticatorAttestationResponse -> Base64UrlString
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [attestation] :: PublicKeyCredentialCreationOptions -> Maybe Text
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [authenticatorAttachment] :: AuthenticatorSelectionCriteria -> Maybe Text
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [authenticatorData] :: AuthenticatorAssertionResponse -> Base64UrlString
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [authenticatorSelection] :: PublicKeyCredentialCreationOptions -> Maybe AuthenticatorSelectionCriteria
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [challenge] :: PublicKeyCredentialRequestOptions -> Base64UrlString
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [clientDataJSON] :: AuthenticatorAssertionResponse -> Base64UrlString
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [clientExtensionResults] :: PublicKeyCredential response -> AuthenticationExtensionsClientOutputs
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [credProps] :: AuthenticationExtensionsClientOutputs -> Maybe CredentialPropertiesOutput
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [displayName] :: PublicKeyCredentialUserEntity -> Text
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [excludeCredentials] :: PublicKeyCredentialCreationOptions -> Maybe [PublicKeyCredentialDescriptor]
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [extensions] :: PublicKeyCredentialRequestOptions -> Maybe AuthenticationExtensionsClientInputs
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [hints] :: PublicKeyCredentialRequestOptions -> Maybe [Text]
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [id] :: PublicKeyCredentialDescriptor -> Base64UrlString
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [littype] :: PublicKeyCredentialDescriptor -> Text
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [name] :: PublicKeyCredentialUserEntity -> Text
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [pubKeyCredParams] :: PublicKeyCredentialCreationOptions -> [PublicKeyCredentialParameters]
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [rawId] :: PublicKeyCredential response -> Base64UrlString
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [requireResidentKey] :: AuthenticatorSelectionCriteria -> Maybe Bool
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [residentKey] :: AuthenticatorSelectionCriteria -> Maybe Text
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [response] :: PublicKeyCredential response -> response
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [rk] :: CredentialPropertiesOutput -> Maybe Bool
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [rpId] :: PublicKeyCredentialRequestOptions -> Maybe Text
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [rp] :: PublicKeyCredentialCreationOptions -> PublicKeyCredentialRpEntity
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [signature] :: AuthenticatorAssertionResponse -> Base64UrlString
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [timeout] :: PublicKeyCredentialRequestOptions -> Maybe Word32
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [transports] :: PublicKeyCredentialDescriptor -> Maybe [Text]
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [unBase64UrlString] :: Base64UrlString -> ByteString
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [userHandle] :: AuthenticatorAssertionResponse -> Maybe Base64UrlString
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [userVerification] :: AuthenticatorSelectionCriteria -> Maybe Text
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: [user] :: PublicKeyCredentialCreationOptions -> PublicKeyCredentialUserEntity
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance (GHC.Internal.Base.Functor f, Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.Encode a) => Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.Encode (f a)
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance (GHC.Internal.Data.Traversable.Traversable f, Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.Decode m a) => Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.Decode m (f a)
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.Decode m Crypto.WebAuthn.Model.Types.PublicKeyCredentialHint
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.Encode Crypto.WebAuthn.Model.Types.PublicKeyCredentialHint
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Generics.Generic (Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredential response)
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticationExtensionsClientInputs
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticationExtensionsClientOutputs
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticatorAssertionResponse
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticatorAttestationResponse
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticatorSelectionCriteria
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.CredentialPropertiesOutput
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialCreationOptions
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialDescriptor
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialParameters
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialRequestOptions
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialRpEntity
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialUserEntity
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticationExtensionsClientInputs
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticationExtensionsClientOutputs
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticatorAssertionResponse
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticatorAttestationResponse
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.AuthenticatorSelectionCriteria
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.Base64UrlString
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.CredentialPropertiesOutput
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialCreationOptions
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialDescriptor
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialParameters
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialRequestOptions
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialRpEntity
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredentialUserEntity
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: instance GHC.Internal.Show.Show response => GHC.Internal.Show.Show (Crypto.WebAuthn.Encoding.Internal.WebAuthnJson.PublicKeyCredential response)
+ Crypto.WebAuthn.Encoding.Strings: decodePublicKeyCredentialHint :: Text -> PublicKeyCredentialHint
+ Crypto.WebAuthn.Encoding.Strings: encodePublicKeyCredentialHint :: PublicKeyCredentialHint -> Text
+ Crypto.WebAuthn.Encoding.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.WebAuthnJson.WJCredentialAuthentication
+ Crypto.WebAuthn.Encoding.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.WebAuthnJson.WJCredentialOptionsAuthentication
+ Crypto.WebAuthn.Encoding.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.WebAuthnJson.WJCredentialOptionsRegistration
+ Crypto.WebAuthn.Encoding.WebAuthnJson: instance GHC.Internal.Show.Show Crypto.WebAuthn.Encoding.WebAuthnJson.WJCredentialRegistration
+ Crypto.WebAuthn.Internal.DateOrphans: instance (Time.Time.Timeable t, GHC.Internal.Base.Monad m) => Control.Monad.Time.MonadTime (Control.Monad.Trans.Reader.ReaderT t m)
+ Crypto.WebAuthn.Internal.DateOrphans: instance Data.Fixed.HasResolution a => Time.Time.Timeable (Data.Fixed.Fixed a)
+ Crypto.WebAuthn.Internal.DateOrphans: instance Time.Time.Time Data.Time.Clock.Internal.UTCTime.UTCTime
+ Crypto.WebAuthn.Internal.DateOrphans: instance Time.Time.Timeable Data.Time.Clock.Internal.UTCTime.UTCTime
+ Crypto.WebAuthn.Internal.ToJSONOrphans: instance (GHC.Classes.Eq a, GHC.Internal.Show.Show a, Data.ASN1.Types.ASN1Object a, Data.Aeson.Types.ToJSON.ToJSON a) => Data.Aeson.Types.ToJSON.ToJSON (Data.X509.Signed.SignedExact a)
+ Crypto.WebAuthn.Internal.ToJSONOrphans: instance GHC.Internal.Show.Show Crypto.WebAuthn.Internal.ToJSONOrphans.PrettyHexByteString
+ Crypto.WebAuthn.Internal.Utils: instance GHC.Internal.Show.Show Crypto.WebAuthn.Internal.Utils.IdFidoGenCeAAGUID
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.AuthenticationAlgorithm
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.AuthenticatorAttachmentHint
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.AuthenticatorAttestationType
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.KeyProtectionType
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.MatcherProtectionType
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.PublicKeyRepresentationFormat
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.TransactionConfirmationDisplayType
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.FidoRegistry.UserVerificationMethod
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.AuthenticationAlgorithm
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.AuthenticatorAttachmentHint
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.AuthenticatorAttestationType
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.KeyProtectionType
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.MatcherProtectionType
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.PublicKeyRepresentationFormat
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.TransactionConfirmationDisplayType
+ Crypto.WebAuthn.Metadata.FidoRegistry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.FidoRegistry.UserVerificationMethod
+ Crypto.WebAuthn.Metadata.Service.Processing: instance (Control.Monad.Error.Class.MonadError Crypto.WebAuthn.Metadata.Service.Processing.ProcessingError m, Control.Monad.Reader.Class.MonadReader Time.Types.DateTime m) => Crypto.JOSE.JWK.Store.VerificationKeyStore m (Crypto.JOSE.JWS.JWSHeader Crypto.JOSE.Header.RequiredProtection) p Crypto.WebAuthn.Metadata.Service.Processing.RootCertificate
+ Crypto.WebAuthn.Metadata.Service.Processing: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Service.Processing.ProcessingError
+ Crypto.WebAuthn.Metadata.Service.Types: instance GHC.Internal.Base.Monoid Crypto.WebAuthn.Metadata.Service.Types.MetadataServiceRegistry
+ Crypto.WebAuthn.Metadata.Service.Types: instance GHC.Internal.Base.Semigroup Crypto.WebAuthn.Metadata.Service.Types.MetadataServiceRegistry
+ Crypto.WebAuthn.Metadata.Service.Types: instance GHC.Internal.Generics.Generic (Crypto.WebAuthn.Metadata.Service.Types.MetadataEntry p)
+ Crypto.WebAuthn.Metadata.Service.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Service.Types.StatusReport
+ Crypto.WebAuthn.Metadata.Service.Types: instance GHC.Internal.Show.Show (Crypto.WebAuthn.Metadata.Service.Types.MetadataEntry p)
+ Crypto.WebAuthn.Metadata.Service.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Service.Types.StatusReport
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [aaguid] :: MetadataBLOBPayloadEntry -> Maybe AAGUID
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [aaid] :: MetadataBLOBPayloadEntry -> Maybe AAID
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [attestationCertificateKeyIdentifiers] :: MetadataBLOBPayloadEntry -> Maybe (NonEmpty DOMString)
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [authenticatorVersion] :: StatusReport -> Maybe UnsignedLong
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [biometricStatusReports] :: MetadataBLOBPayloadEntry -> Maybe (NonEmpty BiometricStatusReport)
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [certLevel] :: BiometricStatusReport -> UnsignedShort
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [certificateNumber] :: StatusReport -> Maybe DOMString
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [certificate] :: StatusReport -> Maybe DOMString
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [certificationDescriptor] :: StatusReport -> Maybe DOMString
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [certificationPolicyVersion] :: StatusReport -> Maybe DOMString
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [certificationRequirementsVersion] :: StatusReport -> Maybe DOMString
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [effectiveDate] :: StatusReport -> Maybe DOMString
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [entries] :: MetadataBLOBPayload -> [MetadataBLOBPayloadEntry]
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [legalHeader] :: MetadataBLOBPayload -> Maybe DOMString
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [metadataStatement] :: MetadataBLOBPayloadEntry -> Maybe MetadataStatement
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [modality] :: BiometricStatusReport -> DOMString
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [nextUpdate] :: MetadataBLOBPayload -> DOMString
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [no] :: MetadataBLOBPayload -> Int
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [statusReports] :: MetadataBLOBPayloadEntry -> NonEmpty StatusReport
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [status] :: StatusReport -> AuthenticatorStatus
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [timeOfLastStatusChange] :: MetadataBLOBPayloadEntry -> DOMString
+ Crypto.WebAuthn.Metadata.Service.WebIDL: [url] :: StatusReport -> Maybe DOMString
+ Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Service.WebIDL.AuthenticatorStatus
+ Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Service.WebIDL.BiometricStatusReport
+ Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Service.WebIDL.MetadataBLOBPayload
+ Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Service.WebIDL.MetadataBLOBPayloadEntry
+ Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Service.WebIDL.StatusReport
+ Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Service.WebIDL.AuthenticatorStatus
+ Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Service.WebIDL.BiometricStatusReport
+ Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Service.WebIDL.MetadataBLOBPayload
+ Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Service.WebIDL.MetadataBLOBPayloadEntry
+ Crypto.WebAuthn.Metadata.Service.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Service.WebIDL.StatusReport
+ Crypto.WebAuthn.Metadata.Statement.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Statement.Types.MetadataStatement
+ Crypto.WebAuthn.Metadata.Statement.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Statement.Types.WebauthnAttestationType
+ Crypto.WebAuthn.Metadata.Statement.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.Types.MetadataStatement
+ Crypto.WebAuthn.Metadata.Statement.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.Types.PNGBytes
+ Crypto.WebAuthn.Metadata.Statement.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.Types.WebauthnAttestationType
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [aaguid] :: MetadataStatement -> Maybe AAGUID
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [aaid] :: MetadataStatement -> Maybe AAID
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [alternativeDescriptions] :: MetadataStatement -> Maybe AlternativeDescriptions
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [attachmentHint] :: MetadataStatement -> NonEmpty AuthenticatorAttachmentHint
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [attestationCertificateKeyIdentifiers] :: MetadataStatement -> Maybe (NonEmpty KeyIdentifier)
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [attestationRootCertificates] :: MetadataStatement -> [DOMString]
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [attestationTypes] :: MetadataStatement -> NonEmpty AuthenticatorAttestationType
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [authenticationAlgorithms] :: MetadataStatement -> NonEmpty AuthenticationAlgorithm
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [authenticatorGetInfo] :: MetadataStatement -> Maybe AuthenticatorGetInfo
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [authenticatorVersion] :: MetadataStatement -> UnsignedLong
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [b] :: RgbPaletteEntry -> UnsignedShort
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [baDesc] :: VerificationMethodDescriptor -> Maybe BiometricAccuracyDescriptor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [base] :: CodeAccuracyDescriptor -> UnsignedShort
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [bitDepth] :: DisplayPNGCharacteristicsDescriptor -> Octet
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [blockSlowdown] :: PatternAccuracyDescriptor -> Maybe UnsignedShort
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [c] :: EcdaaTrustAnchor -> DOMString
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [caDesc] :: VerificationMethodDescriptor -> Maybe CodeAccuracyDescriptor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [colorType] :: DisplayPNGCharacteristicsDescriptor -> Octet
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [compression] :: DisplayPNGCharacteristicsDescriptor -> Octet
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [cryptoStrength] :: MetadataStatement -> Maybe UnsignedShort
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [description] :: MetadataStatement -> DOMString
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [ecdaaTrustAnchors] :: MetadataStatement -> Maybe (NonEmpty EcdaaTrustAnchor)
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [fail_if_unknown] :: ExtensionDescriptor -> Boolean
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [filter] :: DisplayPNGCharacteristicsDescriptor -> Octet
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [g] :: RgbPaletteEntry -> UnsignedShort
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [height] :: DisplayPNGCharacteristicsDescriptor -> UnsignedLong
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [icon] :: MetadataStatement -> Maybe DOMString
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [id] :: ExtensionDescriptor -> DOMString
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [interlace] :: DisplayPNGCharacteristicsDescriptor -> Octet
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [isFreshUserVerificationRequired] :: MetadataStatement -> Maybe Boolean
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [isKeyRestricted] :: MetadataStatement -> Maybe Boolean
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [keyProtection] :: MetadataStatement -> NonEmpty KeyProtectionType
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [legalHeader] :: MetadataStatement -> DOMString
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [litG1Curve] :: EcdaaTrustAnchor -> DOMString
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [litX] :: EcdaaTrustAnchor -> DOMString
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [litY] :: EcdaaTrustAnchor -> DOMString
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [litdata] :: ExtensionDescriptor -> Maybe DOMString
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [matcherProtection] :: MetadataStatement -> NonEmpty MatcherProtectionType
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [maxRetries] :: PatternAccuracyDescriptor -> Maybe UnsignedShort
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [maxTemplates] :: BiometricAccuracyDescriptor -> Maybe UnsignedShort
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [minComplexity] :: PatternAccuracyDescriptor -> UnsignedLongLong
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [minLength] :: CodeAccuracyDescriptor -> UnsignedShort
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [paDesc] :: VerificationMethodDescriptor -> Maybe PatternAccuracyDescriptor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [plte] :: DisplayPNGCharacteristicsDescriptor -> Maybe (NonEmpty RgbPaletteEntry)
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [protocolFamily] :: MetadataStatement -> ProtocolFamily
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [publicKeyAlgAndEncodings] :: MetadataStatement -> NonEmpty PublicKeyRepresentationFormat
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [r] :: RgbPaletteEntry -> UnsignedShort
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [schema] :: MetadataStatement -> UnsignedShort
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [selfAttestedFAR] :: BiometricAccuracyDescriptor -> Maybe Double
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [selfAttestedFRR] :: BiometricAccuracyDescriptor -> Maybe Double
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [supportedExtensions] :: MetadataStatement -> Maybe (NonEmpty ExtensionDescriptor)
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [sx] :: EcdaaTrustAnchor -> DOMString
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [sy] :: EcdaaTrustAnchor -> DOMString
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [tag] :: ExtensionDescriptor -> Maybe UnsignedShort
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [tcDisplayContentType] :: MetadataStatement -> Maybe DOMString
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [tcDisplayPNGCharacteristics] :: MetadataStatement -> Maybe (NonEmpty DisplayPNGCharacteristicsDescriptor)
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [tcDisplay] :: MetadataStatement -> [TransactionConfirmationDisplayType]
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [upv] :: MetadataStatement -> NonEmpty Version
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [userVerificationDetails] :: MetadataStatement -> NonEmpty VerificationMethodANDCombinations
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [userVerificationMethod] :: VerificationMethodDescriptor -> UserVerificationMethod
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: [width] :: DisplayPNGCharacteristicsDescriptor -> UnsignedLong
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.BiometricAccuracyDescriptor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.CodeAccuracyDescriptor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.DisplayPNGCharacteristicsDescriptor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.EcdaaTrustAnchor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.ExtensionDescriptor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.MetadataStatement
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.PatternAccuracyDescriptor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.ProtocolFamily
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.RgbPaletteEntry
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.Statement.WebIDL.VerificationMethodDescriptor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.AAGUID
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.AlternativeDescriptions
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.AuthenticatorGetInfo
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.BiometricAccuracyDescriptor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.CodeAccuracyDescriptor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.DisplayPNGCharacteristicsDescriptor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.EcdaaTrustAnchor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.ExtensionDescriptor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.MetadataStatement
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.PatternAccuracyDescriptor
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.ProtocolFamily
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.RgbPaletteEntry
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.VerificationMethodANDCombinations
+ Crypto.WebAuthn.Metadata.Statement.WebIDL: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.Statement.WebIDL.VerificationMethodDescriptor
+ Crypto.WebAuthn.Metadata.UAF: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Metadata.UAF.Version
+ Crypto.WebAuthn.Metadata.UAF: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.UAF.AAID
+ Crypto.WebAuthn.Metadata.UAF: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.UAF.KeyIdentifier
+ Crypto.WebAuthn.Metadata.UAF: instance GHC.Internal.Show.Show Crypto.WebAuthn.Metadata.UAF.Version
+ Crypto.WebAuthn.Model.Defaults: coaHintsDefault :: [PublicKeyCredentialHint]
+ Crypto.WebAuthn.Model.Defaults: corHintsDefault :: [PublicKeyCredentialHint]
+ Crypto.WebAuthn.Model.Identifier: instance GHC.Internal.Show.Show (Crypto.WebAuthn.Model.Identifier.AuthenticatorIdentifier p)
+ Crypto.WebAuthn.Model.Identifier: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Identifier.AAGUID
+ Crypto.WebAuthn.Model.Identifier: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Identifier.SubjectKeyIdentifier
+ Crypto.WebAuthn.Model.Kinds: instance GHC.Internal.Show.Show (Crypto.WebAuthn.Model.Kinds.SCeremonyKind c)
+ Crypto.WebAuthn.Model.Kinds: instance GHC.Internal.Show.Show (Crypto.WebAuthn.Model.Kinds.SProtocolKind p)
+ Crypto.WebAuthn.Model.Types: PublicKeyCredentialHintClientDevice :: PublicKeyCredentialHint
+ Crypto.WebAuthn.Model.Types: PublicKeyCredentialHintHybrid :: PublicKeyCredentialHint
+ Crypto.WebAuthn.Model.Types: PublicKeyCredentialHintSecurityKey :: PublicKeyCredentialHint
+ Crypto.WebAuthn.Model.Types: PublicKeyCredentialHintUnknown :: Text -> PublicKeyCredentialHint
+ Crypto.WebAuthn.Model.Types: [adfBackupEligible] :: AuthenticatorDataFlags -> Bool
+ Crypto.WebAuthn.Model.Types: [adfBackupState] :: AuthenticatorDataFlags -> Bool
+ Crypto.WebAuthn.Model.Types: [cAuthenticatorAttachment] :: Credential (c :: CeremonyKind) (raw :: Bool) -> Maybe AuthenticatorAttachment
+ Crypto.WebAuthn.Model.Types: data PublicKeyCredentialHint
+ Crypto.WebAuthn.Model.Types: instance Data.Aeson.Types.ToJSON.ToJSON Crypto.WebAuthn.Model.Types.PublicKeyCredentialHint
+ Crypto.WebAuthn.Model.Types: instance GHC.Classes.Eq Crypto.WebAuthn.Model.Types.PublicKeyCredentialHint
+ Crypto.WebAuthn.Model.Types: instance GHC.Classes.Ord Crypto.WebAuthn.Model.Types.PublicKeyCredentialHint
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Base.Monoid Crypto.WebAuthn.Model.Types.SupportedAttestationStatementFormats
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Base.Semigroup Crypto.WebAuthn.Model.Types.SupportedAttestationStatementFormats
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Data.String.IsString Crypto.WebAuthn.Model.Types.Origin
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Data.String.IsString Crypto.WebAuthn.Model.Types.RelyingPartyName
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Data.String.IsString Crypto.WebAuthn.Model.Types.RpId
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Data.String.IsString Crypto.WebAuthn.Model.Types.UserAccountDisplayName
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Data.String.IsString Crypto.WebAuthn.Model.Types.UserAccountName
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Enum.Bounded Crypto.WebAuthn.Model.Types.AttestationConveyancePreference
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Enum.Bounded Crypto.WebAuthn.Model.Types.AuthenticatorAttachment
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Enum.Bounded Crypto.WebAuthn.Model.Types.CredentialType
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Enum.Bounded Crypto.WebAuthn.Model.Types.ResidentKeyRequirement
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Enum.Bounded Crypto.WebAuthn.Model.Types.UserVerificationRequirement
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Enum.Bounded Crypto.WebAuthn.Model.Types.VerifiableAttestationType
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Enum.Enum Crypto.WebAuthn.Model.Types.AttestationConveyancePreference
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Enum.Enum Crypto.WebAuthn.Model.Types.AuthenticatorAttachment
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Enum.Enum Crypto.WebAuthn.Model.Types.CredentialType
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Enum.Enum Crypto.WebAuthn.Model.Types.ResidentKeyRequirement
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Enum.Enum Crypto.WebAuthn.Model.Types.UserVerificationRequirement
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Enum.Enum Crypto.WebAuthn.Model.Types.VerifiableAttestationType
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic (Crypto.WebAuthn.Model.Types.AuthenticatorData c raw)
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic (Crypto.WebAuthn.Model.Types.Credential c raw)
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Model.Types.AttestationConveyancePreference
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Model.Types.AuthenticatorAttachment
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Model.Types.AuthenticatorDataFlags
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Model.Types.AuthenticatorSelectionCriteria
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Model.Types.AuthenticatorTransport
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Model.Types.CredentialDescriptor
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Model.Types.CredentialParameters
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Model.Types.CredentialRpEntity
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Model.Types.CredentialType
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Model.Types.CredentialUserEntity
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Model.Types.PublicKeyCredentialHint
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Model.Types.ResidentKeyRequirement
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Model.Types.UserVerificationRequirement
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Model.Types.VerifiableAttestationType
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Num.Num Crypto.WebAuthn.Model.Types.SignatureCounter
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show (Crypto.WebAuthn.Model.Types.AttestationChain p)
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show (Crypto.WebAuthn.Model.Types.AttestationObject raw)
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show (Crypto.WebAuthn.Model.Types.AttestationType k)
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show (Crypto.WebAuthn.Model.Types.AttestedCredentialData c raw)
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show (Crypto.WebAuthn.Model.Types.AuthenticatorData c raw)
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show (Crypto.WebAuthn.Model.Types.AuthenticatorResponse c raw)
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show (Crypto.WebAuthn.Model.Types.CollectedClientData c raw)
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show (Crypto.WebAuthn.Model.Types.Credential c raw)
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show (Crypto.WebAuthn.Model.Types.CredentialOptions c)
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show (Crypto.WebAuthn.Model.Types.RawField raw)
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.AssertionSignature
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.AttestationConveyancePreference
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.AuthenticationExtensionsClientInputs
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.AuthenticationExtensionsClientOutputs
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.AuthenticatorAttachment
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.AuthenticatorDataFlags
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.AuthenticatorExtensionOutputs
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.AuthenticatorSelectionCriteria
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.AuthenticatorTransport
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.Challenge
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.ClientDataHash
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.CredentialDescriptor
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.CredentialId
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.CredentialMediationRequirement
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.CredentialParameters
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.CredentialPropertiesOutput
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.CredentialRpEntity
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.CredentialType
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.CredentialUserEntity
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.Origin
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.PublicKeyBytes
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.PublicKeyCredentialHint
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.RelyingPartyName
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.ResidentKeyRequirement
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.RpId
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.RpIdHash
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.SignatureCounter
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.Timeout
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.UserAccountDisplayName
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.UserAccountName
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.UserHandle
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.UserVerificationRequirement
+ Crypto.WebAuthn.Model.Types: instance GHC.Internal.Show.Show Crypto.WebAuthn.Model.Types.VerifiableAttestationType
+ Crypto.WebAuthn.Operation.Authentication: instance GHC.Internal.Exception.Type.Exception Crypto.WebAuthn.Operation.Authentication.AuthenticationError
+ Crypto.WebAuthn.Operation.Authentication: instance GHC.Internal.Show.Show Crypto.WebAuthn.Operation.Authentication.AuthenticationError
+ Crypto.WebAuthn.Operation.Authentication: instance GHC.Internal.Show.Show Crypto.WebAuthn.Operation.Authentication.AuthenticationResult
+ Crypto.WebAuthn.Operation.Authentication: instance GHC.Internal.Show.Show Crypto.WebAuthn.Operation.Authentication.SignatureCounterResult
+ Crypto.WebAuthn.Operation.CredentialEntry: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Operation.CredentialEntry.CredentialEntry
+ Crypto.WebAuthn.Operation.CredentialEntry: instance GHC.Internal.Show.Show Crypto.WebAuthn.Operation.CredentialEntry.CredentialEntry
+ Crypto.WebAuthn.Operation.Registration: instance GHC.Internal.Exception.Type.Exception Crypto.WebAuthn.Operation.Registration.RegistrationError
+ Crypto.WebAuthn.Operation.Registration: instance GHC.Internal.Generics.Generic Crypto.WebAuthn.Operation.Registration.RegistrationResult
+ Crypto.WebAuthn.Operation.Registration: instance GHC.Internal.Show.Show (Crypto.WebAuthn.Operation.Registration.AuthenticatorModel k)
+ Crypto.WebAuthn.Operation.Registration: instance GHC.Internal.Show.Show Crypto.WebAuthn.Operation.Registration.RegistrationError
+ Crypto.WebAuthn.Operation.Registration: instance GHC.Internal.Show.Show Crypto.WebAuthn.Operation.Registration.RegistrationResult
+ Crypto.WebAuthn.Operation.Registration: instance GHC.Internal.Show.Show Crypto.WebAuthn.Operation.Registration.SomeAttestationStatement
- Crypto.WebAuthn.Encoding.Binary: encodeRawAttestationObject :: AttestationObject raw -> AttestationObject 'True
+ Crypto.WebAuthn.Encoding.Binary: encodeRawAttestationObject :: forall (raw :: Bool). AttestationObject raw -> AttestationObject 'True
- Crypto.WebAuthn.Encoding.Binary: encodeRawAttestedCredentialData :: AttestedCredentialData c raw -> AttestedCredentialData c 'True
+ Crypto.WebAuthn.Encoding.Binary: encodeRawAttestedCredentialData :: forall (c :: CeremonyKind) (raw :: Bool). AttestedCredentialData c raw -> AttestedCredentialData c 'True
- Crypto.WebAuthn.Encoding.Binary: encodeRawAuthenticatorData :: forall (c :: CeremonyKind) raw. SingI c => AuthenticatorData c raw -> AuthenticatorData c 'True
+ Crypto.WebAuthn.Encoding.Binary: encodeRawAuthenticatorData :: forall (c :: CeremonyKind) (raw :: Bool). SingI c => AuthenticatorData c raw -> AuthenticatorData c 'True
- Crypto.WebAuthn.Encoding.Binary: encodeRawAuthenticatorResponse :: AuthenticatorResponse c raw -> AuthenticatorResponse c 'True
+ Crypto.WebAuthn.Encoding.Binary: encodeRawAuthenticatorResponse :: forall (c :: CeremonyKind) (raw :: Bool). AuthenticatorResponse c raw -> AuthenticatorResponse c 'True
- Crypto.WebAuthn.Encoding.Binary: encodeRawCollectedClientData :: forall (c :: CeremonyKind) raw. SingI c => CollectedClientData c raw -> CollectedClientData c 'True
+ Crypto.WebAuthn.Encoding.Binary: encodeRawCollectedClientData :: forall (c :: CeremonyKind) (raw :: Bool). SingI c => CollectedClientData c raw -> CollectedClientData c 'True
- Crypto.WebAuthn.Encoding.Binary: encodeRawCredential :: Credential c raw -> Credential c 'True
+ Crypto.WebAuthn.Encoding.Binary: encodeRawCredential :: forall (c :: CeremonyKind) (raw :: Bool). Credential c raw -> Credential c 'True
- Crypto.WebAuthn.Encoding.Binary: stripRawAttestationObject :: AttestationObject raw -> AttestationObject 'False
+ Crypto.WebAuthn.Encoding.Binary: stripRawAttestationObject :: forall (raw :: Bool). AttestationObject raw -> AttestationObject 'False
- Crypto.WebAuthn.Encoding.Binary: stripRawAttestedCredentialData :: AttestedCredentialData c raw -> AttestedCredentialData c 'False
+ Crypto.WebAuthn.Encoding.Binary: stripRawAttestedCredentialData :: forall (c :: CeremonyKind) (raw :: Bool). AttestedCredentialData c raw -> AttestedCredentialData c 'False
- Crypto.WebAuthn.Encoding.Binary: stripRawAuthenticatorData :: AuthenticatorData c raw -> AuthenticatorData c 'False
+ Crypto.WebAuthn.Encoding.Binary: stripRawAuthenticatorData :: forall (c :: CeremonyKind) (raw :: Bool). AuthenticatorData c raw -> AuthenticatorData c 'False
- Crypto.WebAuthn.Encoding.Binary: stripRawAuthenticatorResponse :: AuthenticatorResponse c raw -> AuthenticatorResponse c 'False
+ Crypto.WebAuthn.Encoding.Binary: stripRawAuthenticatorResponse :: forall (c :: CeremonyKind) (raw :: Bool). AuthenticatorResponse c raw -> AuthenticatorResponse c 'False
- Crypto.WebAuthn.Encoding.Binary: stripRawCollectedClientData :: CollectedClientData c raw -> CollectedClientData c 'False
+ Crypto.WebAuthn.Encoding.Binary: stripRawCollectedClientData :: forall (c :: CeremonyKind) (raw :: Bool). CollectedClientData c raw -> CollectedClientData c 'False
- Crypto.WebAuthn.Encoding.Binary: stripRawCredential :: Credential c raw -> Credential c 'False
+ Crypto.WebAuthn.Encoding.Binary: stripRawCredential :: forall (c :: CeremonyKind) (raw :: Bool). Credential c raw -> Credential c 'False
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: PublicKeyCredential :: Base64UrlString -> response -> AuthenticationExtensionsClientOutputs -> PublicKeyCredential response
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: PublicKeyCredential :: Base64UrlString -> response -> Maybe Text -> AuthenticationExtensionsClientOutputs -> PublicKeyCredential response
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: PublicKeyCredentialCreationOptions :: PublicKeyCredentialRpEntity -> PublicKeyCredentialUserEntity -> Base64UrlString -> [PublicKeyCredentialParameters] -> Maybe Word32 -> Maybe [PublicKeyCredentialDescriptor] -> Maybe AuthenticatorSelectionCriteria -> Maybe Text -> Maybe AuthenticationExtensionsClientInputs -> PublicKeyCredentialCreationOptions
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: PublicKeyCredentialCreationOptions :: PublicKeyCredentialRpEntity -> PublicKeyCredentialUserEntity -> Base64UrlString -> [PublicKeyCredentialParameters] -> Maybe Word32 -> Maybe [PublicKeyCredentialDescriptor] -> Maybe AuthenticatorSelectionCriteria -> Maybe [Text] -> Maybe Text -> Maybe AuthenticationExtensionsClientInputs -> PublicKeyCredentialCreationOptions
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: PublicKeyCredentialRequestOptions :: Base64UrlString -> Maybe Word32 -> Maybe Text -> Maybe [PublicKeyCredentialDescriptor] -> Maybe Text -> Maybe AuthenticationExtensionsClientInputs -> PublicKeyCredentialRequestOptions
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: PublicKeyCredentialRequestOptions :: Base64UrlString -> Maybe Word32 -> Maybe Text -> Maybe [PublicKeyCredentialDescriptor] -> Maybe Text -> Maybe [Text] -> Maybe AuthenticationExtensionsClientInputs -> PublicKeyCredentialRequestOptions
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: class (Encode a) => Decode m a
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: class Encode a => Decode (m :: Type -> Type) a
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: decode :: (Decode m a, MonadError Text m, Coercible (JSON a) a) => JSON a -> m a
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: decode :: Decode m a => JSON a -> m a
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: encode :: (Encode a, Coercible a (JSON a)) => a -> JSON a
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: encode :: Encode a => a -> JSON a
- Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: type JSON a :: Type;
+ Crypto.WebAuthn.Encoding.Internal.WebAuthnJson: type JSON a;
- Crypto.WebAuthn.Metadata.Service.Processing: queryMetadata :: MetadataServiceRegistry -> AuthenticatorIdentifier p -> Maybe (MetadataEntry p)
+ Crypto.WebAuthn.Metadata.Service.Processing: queryMetadata :: forall (p :: ProtocolKind). MetadataServiceRegistry -> AuthenticatorIdentifier p -> Maybe (MetadataEntry p)
- Crypto.WebAuthn.Model.Kinds: data SCeremonyKind :: CeremonyKind -> Type
+ Crypto.WebAuthn.Model.Kinds: data SCeremonyKind (a :: CeremonyKind)
- Crypto.WebAuthn.Model.Kinds: data SProtocolKind :: ProtocolKind -> Type
+ Crypto.WebAuthn.Model.Kinds: data SProtocolKind (a :: ProtocolKind)
- Crypto.WebAuthn.Model.Types: AttestationObject :: AuthenticatorData 'Registration raw -> a -> AttStmt a -> AttestationObject raw
+ Crypto.WebAuthn.Model.Types: AttestationObject :: AuthenticatorData 'Registration raw -> a -> AttStmt a -> AttestationObject (raw :: Bool)
- Crypto.WebAuthn.Model.Types: AuthenticatorData :: RpIdHash -> AuthenticatorDataFlags -> SignatureCounter -> AttestedCredentialData c raw -> Maybe AuthenticatorExtensionOutputs -> RawField raw -> AuthenticatorData (c :: CeremonyKind) raw
+ Crypto.WebAuthn.Model.Types: AuthenticatorData :: RpIdHash -> AuthenticatorDataFlags -> SignatureCounter -> AttestedCredentialData c raw -> Maybe AuthenticatorExtensionOutputs -> RawField raw -> AuthenticatorData (c :: CeremonyKind) (raw :: Bool)
- Crypto.WebAuthn.Model.Types: AuthenticatorDataFlags :: Bool -> Bool -> AuthenticatorDataFlags
+ Crypto.WebAuthn.Model.Types: AuthenticatorDataFlags :: Bool -> Bool -> Bool -> Bool -> AuthenticatorDataFlags
- Crypto.WebAuthn.Model.Types: CollectedClientData :: Challenge -> Origin -> Maybe Bool -> RawField raw -> CollectedClientData (c :: CeremonyKind) raw
+ Crypto.WebAuthn.Model.Types: CollectedClientData :: Challenge -> Origin -> Maybe Bool -> RawField raw -> CollectedClientData (c :: CeremonyKind) (raw :: Bool)
- Crypto.WebAuthn.Model.Types: Credential :: CredentialId -> AuthenticatorResponse c raw -> AuthenticationExtensionsClientOutputs -> Credential (c :: CeremonyKind) raw
+ Crypto.WebAuthn.Model.Types: Credential :: CredentialId -> AuthenticatorResponse c raw -> Maybe AuthenticatorAttachment -> AuthenticationExtensionsClientOutputs -> Credential (c :: CeremonyKind) (raw :: Bool)
- Crypto.WebAuthn.Model.Types: [AttestationTypeVerifiable] :: VerifiableAttestationType -> AttestationChain p -> AttestationType ('Verifiable p)
+ Crypto.WebAuthn.Model.Types: [AttestationTypeVerifiable] :: forall (p :: ProtocolKind). VerifiableAttestationType -> AttestationChain p -> AttestationType ('Verifiable p)
- Crypto.WebAuthn.Model.Types: [AttestedCredentialData] :: AAGUID -> CredentialId -> CosePublicKey -> RawField raw -> AttestedCredentialData 'Registration raw
+ Crypto.WebAuthn.Model.Types: [AttestedCredentialData] :: forall (raw :: Bool). AAGUID -> CredentialId -> CosePublicKey -> RawField raw -> AttestedCredentialData 'Registration raw
- Crypto.WebAuthn.Model.Types: [AuthenticatorResponseAuthentication] :: CollectedClientData 'Authentication raw -> AuthenticatorData 'Authentication raw -> AssertionSignature -> Maybe UserHandle -> AuthenticatorResponse 'Authentication raw
+ Crypto.WebAuthn.Model.Types: [AuthenticatorResponseAuthentication] :: forall (raw :: Bool). CollectedClientData 'Authentication raw -> AuthenticatorData 'Authentication raw -> AssertionSignature -> Maybe UserHandle -> AuthenticatorResponse 'Authentication raw
- Crypto.WebAuthn.Model.Types: [AuthenticatorResponseRegistration] :: CollectedClientData 'Registration raw -> AttestationObject raw -> [AuthenticatorTransport] -> AuthenticatorResponse 'Registration raw
+ Crypto.WebAuthn.Model.Types: [AuthenticatorResponseRegistration] :: forall (raw :: Bool). CollectedClientData 'Registration raw -> AttestationObject raw -> [AuthenticatorTransport] -> AuthenticatorResponse 'Registration raw
- Crypto.WebAuthn.Model.Types: [CredentialOptionsAuthentication] :: Challenge -> Maybe Timeout -> Maybe RpId -> [CredentialDescriptor] -> UserVerificationRequirement -> Maybe AuthenticationExtensionsClientInputs -> CredentialOptions 'Authentication
+ Crypto.WebAuthn.Model.Types: [CredentialOptionsAuthentication] :: Challenge -> Maybe Timeout -> Maybe RpId -> [CredentialDescriptor] -> UserVerificationRequirement -> [PublicKeyCredentialHint] -> Maybe AuthenticationExtensionsClientInputs -> CredentialOptions 'Authentication
- Crypto.WebAuthn.Model.Types: [CredentialOptionsRegistration] :: CredentialRpEntity -> CredentialUserEntity -> Challenge -> [CredentialParameters] -> Maybe Timeout -> [CredentialDescriptor] -> Maybe AuthenticatorSelectionCriteria -> AttestationConveyancePreference -> Maybe AuthenticationExtensionsClientInputs -> CredentialOptions 'Registration
+ Crypto.WebAuthn.Model.Types: [CredentialOptionsRegistration] :: CredentialRpEntity -> CredentialUserEntity -> Challenge -> [CredentialParameters] -> Maybe Timeout -> [CredentialDescriptor] -> Maybe AuthenticatorSelectionCriteria -> [PublicKeyCredentialHint] -> AttestationConveyancePreference -> Maybe AuthenticationExtensionsClientInputs -> CredentialOptions 'Registration
- Crypto.WebAuthn.Model.Types: [NoAttestedCredentialData] :: AttestedCredentialData 'Authentication raw
+ Crypto.WebAuthn.Model.Types: [NoAttestedCredentialData] :: forall (raw :: Bool). AttestedCredentialData 'Authentication raw
- Crypto.WebAuthn.Model.Types: [adAttestedCredentialData] :: AuthenticatorData (c :: CeremonyKind) raw -> AttestedCredentialData c raw
+ Crypto.WebAuthn.Model.Types: [adAttestedCredentialData] :: AuthenticatorData (c :: CeremonyKind) (raw :: Bool) -> AttestedCredentialData c raw
- Crypto.WebAuthn.Model.Types: [adExtensions] :: AuthenticatorData (c :: CeremonyKind) raw -> Maybe AuthenticatorExtensionOutputs
+ Crypto.WebAuthn.Model.Types: [adExtensions] :: AuthenticatorData (c :: CeremonyKind) (raw :: Bool) -> Maybe AuthenticatorExtensionOutputs
- Crypto.WebAuthn.Model.Types: [adFlags] :: AuthenticatorData (c :: CeremonyKind) raw -> AuthenticatorDataFlags
+ Crypto.WebAuthn.Model.Types: [adFlags] :: AuthenticatorData (c :: CeremonyKind) (raw :: Bool) -> AuthenticatorDataFlags
- Crypto.WebAuthn.Model.Types: [adRawData] :: AuthenticatorData (c :: CeremonyKind) raw -> RawField raw
+ Crypto.WebAuthn.Model.Types: [adRawData] :: AuthenticatorData (c :: CeremonyKind) (raw :: Bool) -> RawField raw
- Crypto.WebAuthn.Model.Types: [adRpIdHash] :: AuthenticatorData (c :: CeremonyKind) raw -> RpIdHash
+ Crypto.WebAuthn.Model.Types: [adRpIdHash] :: AuthenticatorData (c :: CeremonyKind) (raw :: Bool) -> RpIdHash
- Crypto.WebAuthn.Model.Types: [adSignCount] :: AuthenticatorData (c :: CeremonyKind) raw -> SignatureCounter
+ Crypto.WebAuthn.Model.Types: [adSignCount] :: AuthenticatorData (c :: CeremonyKind) (raw :: Bool) -> SignatureCounter
- Crypto.WebAuthn.Model.Types: [aoAttStmt] :: AttestationObject raw -> AttStmt a
+ Crypto.WebAuthn.Model.Types: [aoAttStmt] :: AttestationObject (raw :: Bool) -> AttStmt a
- Crypto.WebAuthn.Model.Types: [aoAuthData] :: AttestationObject raw -> AuthenticatorData 'Registration raw
+ Crypto.WebAuthn.Model.Types: [aoAuthData] :: AttestationObject (raw :: Bool) -> AuthenticatorData 'Registration raw
- Crypto.WebAuthn.Model.Types: [aoFmt] :: AttestationObject raw -> a
+ Crypto.WebAuthn.Model.Types: [aoFmt] :: AttestationObject (raw :: Bool) -> a
- Crypto.WebAuthn.Model.Types: [cClientExtensionResults] :: Credential (c :: CeremonyKind) raw -> AuthenticationExtensionsClientOutputs
+ Crypto.WebAuthn.Model.Types: [cClientExtensionResults] :: Credential (c :: CeremonyKind) (raw :: Bool) -> AuthenticationExtensionsClientOutputs
- Crypto.WebAuthn.Model.Types: [cIdentifier] :: Credential (c :: CeremonyKind) raw -> CredentialId
+ Crypto.WebAuthn.Model.Types: [cIdentifier] :: Credential (c :: CeremonyKind) (raw :: Bool) -> CredentialId
- Crypto.WebAuthn.Model.Types: [cResponse] :: Credential (c :: CeremonyKind) raw -> AuthenticatorResponse c raw
+ Crypto.WebAuthn.Model.Types: [cResponse] :: Credential (c :: CeremonyKind) (raw :: Bool) -> AuthenticatorResponse c raw
- Crypto.WebAuthn.Model.Types: [ccdChallenge] :: CollectedClientData (c :: CeremonyKind) raw -> Challenge
+ Crypto.WebAuthn.Model.Types: [ccdChallenge] :: CollectedClientData (c :: CeremonyKind) (raw :: Bool) -> Challenge
- Crypto.WebAuthn.Model.Types: [ccdCrossOrigin] :: CollectedClientData (c :: CeremonyKind) raw -> Maybe Bool
+ Crypto.WebAuthn.Model.Types: [ccdCrossOrigin] :: CollectedClientData (c :: CeremonyKind) (raw :: Bool) -> Maybe Bool
- Crypto.WebAuthn.Model.Types: [ccdOrigin] :: CollectedClientData (c :: CeremonyKind) raw -> Origin
+ Crypto.WebAuthn.Model.Types: [ccdOrigin] :: CollectedClientData (c :: CeremonyKind) (raw :: Bool) -> Origin
- Crypto.WebAuthn.Model.Types: [ccdRawData] :: CollectedClientData (c :: CeremonyKind) raw -> RawField raw
+ Crypto.WebAuthn.Model.Types: [ccdRawData] :: CollectedClientData (c :: CeremonyKind) (raw :: Bool) -> RawField raw
- Crypto.WebAuthn.Model.Types: class (Eq (AttStmt a), Show (AttStmt a), ToJSON (AttStmt a), Typeable a, Show a, Exception (AttStmtVerificationError a)) => AttestationStatementFormat a where {
+ Crypto.WebAuthn.Model.Types: class (Eq AttStmt a, Show AttStmt a, ToJSON AttStmt a, Typeable a, Show a, Exception AttStmtVerificationError a) => AttestationStatementFormat a where {
- Crypto.WebAuthn.Model.Types: data AttestationObject raw
+ Crypto.WebAuthn.Model.Types: data AttestationObject (raw :: Bool)
- Crypto.WebAuthn.Model.Types: data AttestedCredentialData (c :: CeremonyKind) raw
+ Crypto.WebAuthn.Model.Types: data AttestedCredentialData (c :: CeremonyKind) (raw :: Bool)
- Crypto.WebAuthn.Model.Types: data AuthenticatorData (c :: CeremonyKind) raw
+ Crypto.WebAuthn.Model.Types: data AuthenticatorData (c :: CeremonyKind) (raw :: Bool)
- Crypto.WebAuthn.Model.Types: data AuthenticatorResponse (c :: CeremonyKind) raw
+ Crypto.WebAuthn.Model.Types: data AuthenticatorResponse (c :: CeremonyKind) (raw :: Bool)
- Crypto.WebAuthn.Model.Types: data CollectedClientData (c :: CeremonyKind) raw
+ Crypto.WebAuthn.Model.Types: data CollectedClientData (c :: CeremonyKind) (raw :: Bool)
- Crypto.WebAuthn.Model.Types: data Credential (c :: CeremonyKind) raw
+ Crypto.WebAuthn.Model.Types: data Credential (c :: CeremonyKind) (raw :: Bool)
- Crypto.WebAuthn.Model.Types: type AttStmt a :: Type;
+ Crypto.WebAuthn.Model.Types: type AttStmt a;
- Crypto.WebAuthn.Model.Types: type AttStmtVerificationError a :: Type;
+ Crypto.WebAuthn.Model.Types: type AttStmtVerificationError a;
- Crypto.WebAuthn.Operation.Registration: [UnverifiedAuthenticator] :: NonEmpty FailedReason -> AuthenticatorIdentifier p -> Maybe (MetadataEntry p) -> AuthenticatorModel ('Verifiable p)
+ Crypto.WebAuthn.Operation.Registration: [UnverifiedAuthenticator] :: forall (p :: ProtocolKind). NonEmpty FailedReason -> AuthenticatorIdentifier p -> Maybe (MetadataEntry p) -> AuthenticatorModel ('Verifiable p)
- Crypto.WebAuthn.Operation.Registration: [VerifiedAuthenticator] :: AuthenticatorIdentifier p -> Maybe (MetadataEntry p) -> AuthenticatorModel ('Verifiable p)
+ Crypto.WebAuthn.Operation.Registration: [VerifiedAuthenticator] :: forall (p :: ProtocolKind). AuthenticatorIdentifier p -> Maybe (MetadataEntry p) -> AuthenticatorModel ('Verifiable p)
- Crypto.WebAuthn.Operation.Registration: data AuthenticatorModel k
+ Crypto.WebAuthn.Operation.Registration: data AuthenticatorModel (k :: AttestationKind)
Files
- changelog.md +24/−0
- src/Crypto/WebAuthn/AttestationStatementFormat/AndroidSafetyNet.hs +2/−2
- src/Crypto/WebAuthn/Encoding/Binary.hs +9/−3
- src/Crypto/WebAuthn/Encoding/Internal/WebAuthnJson.hs +26/−0
- src/Crypto/WebAuthn/Encoding/Strings.hs +21/−0
- src/Crypto/WebAuthn/Metadata/Service/Processing.hs +4/−2
- src/Crypto/WebAuthn/Model/Defaults.hs +12/−0
- src/Crypto/WebAuthn/Model/Types.hs +88/−14
- src/Crypto/WebAuthn/Operation/Registration.hs +10/−10
- tests/Emulation.hs +3/−2
- tests/Emulation/Client.hs +2/−0
- tests/Main.hs +35/−20
- tests/Spec/Types.hs +16/−1
- tests/Spec/Util.hs +7/−1
- webauthn.cabal +23/−21
changelog.md view
@@ -1,3 +1,27 @@+### 0.12.0.0++* [#196](https://github.com/tweag/webauthn/pull/196) Add the WebAuthn Level 3+ backup eligibility (BE) and backup state (BS) authenticator data flags.+* [#197](https://github.com/tweag/webauthn/pull/197) Add the WebAuthn Level 3+ credential hints field to registration and authentication options.+* [#198](https://github.com/tweag/webauthn/pull/198) Add the WebAuthn Level 3+ `authenticatorAttachment` field to registration and authentication credentials.+* [#207](https://github.com/tweag/webauthn/pull/207) Require `crypton >= 1.1`,+ `crypton-x509 >= 1.9.1`, `crypton-x509-store >= 1.9`,+ `crypton-x509-validation >= 1.9.1` and `jose >= 0.13`, and switch from `memory` to `ram`.+ `crypton-x509` and `crypton-x509-validation` below 1.9.1 do not enforce the X.509 Name+ Constraints extension. See+ [HSEC-2026-0008](https://haskell.github.io/security-advisories/advisory/HSEC-2026-0008.html).+ `X509.UnknownCriticalExtension` in `uaFailures` now carries an OID, and the+ `VerificationKeyStore` instances use `JWSHeader RequiredProtection` instead of+ `JWSHeader ()`.+* `crypton-x509-validation` reports every critical certificate extension outside its+ recognized set as a validation failure. An attestation chain with such an extension now+ results in `UnverifiedAuthenticator`. Microsoft TPM certificates mark the Certificate+ Policies extension (OID 2.5.29.32) critical. A relying party that accepts TPM attestation+ must decide whether that failure is acceptable.+* Raise the `aeson` upper bound to `< 2.4`.+ ### 0.11.0.0 * [#195](https://github.com/tweag/webauthn/pull/195) Allow for conditional mediation during registration.
src/Crypto/WebAuthn/AttestationStatementFormat/AndroidSafetyNet.hs view
@@ -147,7 +147,7 @@ deriving newtype (IsString) -- | This instance doesn't actually perform any validation-instance (MonadError JOSE.Error m) => JOSE.VerificationKeyStore m (JOSE.JWSHeader ()) p VerificationHostName where+instance (MonadError JOSE.Error m) => JOSE.VerificationKeyStore m (JOSE.JWSHeader JOSE.RequiredProtection) p VerificationHostName where getVerificationKeys header _ hostName = do chain <- case header ^? JOSE.x5c . _Just . JOSE.param of Nothing -> throwError JOSE.JWSInvalidSignature@@ -196,7 +196,7 @@ sig <- case jws ^? JOSE.signatures of Nothing -> Left "Can't extract x5c because the JWT contains no signatures" Just res -> pure res- JOSE.HeaderParam () x5c <- case sig ^. JOSE.header . JOSE.x5c of+ JOSE.HeaderParam JOSE.RequiredProtection x5c <- case sig ^. JOSE.header . JOSE.x5c of Nothing -> Left "No x5c in the header of the first JWT signature" Just res -> pure res pure x5c
src/Crypto/WebAuthn/Encoding/Binary.hs view
@@ -408,16 +408,20 @@ bytes :: BS.ByteString bytes = LBS.toStrict $ toLazyByteString builder - -- https://www.w3.org/TR/webauthn-2/#flags+ -- https://www.w3.org/TR/webauthn-3/#flags flags :: Word8 flags = userPresentFlag .|. userVerifiedFlag+ .|. backupEligibleFlag+ .|. backupStateFlag .|. attestedCredentialDataPresentFlag .|. extensionsPresentFlag where userPresentFlag = if M.adfUserPresent adFlags then Bits.bit 0 else 0 userVerifiedFlag = if M.adfUserVerified adFlags then Bits.bit 2 else 0+ backupEligibleFlag = if M.adfBackupEligible adFlags then Bits.bit 3 else 0+ backupStateFlag = if M.adfBackupState adFlags then Bits.bit 4 else 0 attestedCredentialDataPresentFlag = case sing @c of K.SRegistration -> Bits.bit 6 K.SAuthentication -> 0@@ -472,12 +476,14 @@ M.RpIdHash . fromJust . Hash.digestFromByteString <$> runBinary (Binary.getByteString 32) - -- https://www.w3.org/TR/webauthn-2/#flags+ -- https://www.w3.org/TR/webauthn-3/#flags bitFlags <- runBinary Binary.getWord8 let adFlags = M.AuthenticatorDataFlags { M.adfUserPresent = Bits.testBit bitFlags 0,- M.adfUserVerified = Bits.testBit bitFlags 2+ M.adfUserVerified = Bits.testBit bitFlags 2,+ M.adfBackupEligible = Bits.testBit bitFlags 3,+ M.adfBackupState = Bits.testBit bitFlags 4 } -- https://www.w3.org/TR/webauthn-2/#signcount
src/Crypto/WebAuthn/Encoding/Internal/WebAuthnJson.hs view
@@ -207,6 +207,13 @@ instance Decode m T.AttestationConveyancePreference where decode = liftEither . S.decodeAttestationConveyancePreference +instance Encode T.PublicKeyCredentialHint where+ type JSON T.PublicKeyCredentialHint = Text+ encode = S.encodePublicKeyCredentialHint++instance Decode m T.PublicKeyCredentialHint where+ decode = pure . S.decodePublicKeyCredentialHint+ instance Encode T.AuthenticatorTransport where type JSON T.AuthenticatorTransport = Text encode = S.encodeAuthenticatorTransport@@ -348,6 +355,8 @@ excludeCredentials :: Maybe [PublicKeyCredentialDescriptor], -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-authenticatorselection) authenticatorSelection :: Maybe AuthenticatorSelectionCriteria,+ -- | [(spec)](https://www.w3.org/TR/webauthn-3/#dom-publickeycredentialcreationoptions-hints)+ hints :: Maybe [Text], -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-attestation) attestation :: Maybe Text, -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-extensions)@@ -372,6 +381,7 @@ timeout = encode corTimeout, excludeCredentials = Just $ encode corExcludeCredentials, authenticatorSelection = encode corAuthenticatorSelection,+ hints = Just $ encode corHints, attestation = Just $ encode corAttestation, extensions = encode corExtensions }@@ -385,6 +395,7 @@ corTimeout <- decode timeout corExcludeCredentials <- decodeWithDefault D.corExcludeCredentialsDefault excludeCredentials corAuthenticatorSelection <- decode authenticatorSelection+ corHints <- decodeWithDefault D.corHintsDefault hints corAttestation <- decodeWithDefault D.corAttestationDefault attestation corExtensions <- decode extensions pure $ T.CredentialOptionsRegistration {..}@@ -401,6 +412,8 @@ allowCredentials :: Maybe [PublicKeyCredentialDescriptor], -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-userverification) userVerification :: Maybe Text,+ -- | [(spec)](https://www.w3.org/TR/webauthn-3/#dom-publickeycredentialrequestoptions-hints)+ hints :: Maybe [Text], -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-extensions) extensions :: Maybe AuthenticationExtensionsClientInputs }@@ -421,6 +434,7 @@ rpId = encode coaRpId, allowCredentials = Just $ encode coaAllowCredentials, userVerification = Just $ encode coaUserVerification,+ hints = Just $ encode coaHints, extensions = encode coaExtensions } @@ -431,6 +445,7 @@ coaRpId <- decode rpId coaAllowCredentials <- decodeWithDefault D.coaAllowCredentialsDefault allowCredentials coaUserVerification <- decodeWithDefault D.coaUserVerificationDefault userVerification+ coaHints <- decodeWithDefault D.coaHintsDefault hints coaExtensions <- decode extensions pure $ T.CredentialOptionsAuthentication {..} @@ -605,6 +620,8 @@ rawId :: Base64UrlString, -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredential-response) response :: response,+ -- | [(spec)](https://www.w3.org/TR/webauthn-3/#dom-publickeycredential-authenticatorattachment)+ authenticatorAttachment :: Maybe Text, -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredential-getclientextensionresults) clientExtensionResults :: AuthenticationExtensionsClientOutputs }@@ -622,9 +639,15 @@ PublicKeyCredential { rawId = encode cIdentifier, response = encode cResponse,+ authenticatorAttachment = encode cAuthenticatorAttachment, clientExtensionResults = encode cClientExtensionResults } +-- | Decodes the authenticatorAttachment field, treating unknown values as Nothing+-- per the spec: "Relying Parties SHOULD treat unknown values as if the value were null."+decodeAuthenticatorAttachment :: Maybe Text -> Maybe T.AuthenticatorAttachment+decodeAuthenticatorAttachment = (>>= either (const Nothing) Just . S.decodeAuthenticatorAttachment)+ instance (MonadReader T.SupportedAttestationStatementFormats m) => Decode m (T.Credential 'K.Registration 'True)@@ -632,6 +655,7 @@ decode PublicKeyCredential {..} = do cIdentifier <- decode rawId cResponse <- decode response+ let cAuthenticatorAttachment = decodeAuthenticatorAttachment authenticatorAttachment cClientExtensionResults <- decode clientExtensionResults pure $ T.Credential {..} @@ -641,6 +665,7 @@ PublicKeyCredential { rawId = encode cIdentifier, response = encode cResponse,+ authenticatorAttachment = encode cAuthenticatorAttachment, clientExtensionResults = encode cClientExtensionResults } @@ -648,6 +673,7 @@ decode PublicKeyCredential {..} = do cIdentifier <- decode rawId cResponse <- decode response+ let cAuthenticatorAttachment = decodeAuthenticatorAttachment authenticatorAttachment cClientExtensionResults <- decode clientExtensionResults pure $ T.Credential {..}
src/Crypto/WebAuthn/Encoding/Strings.hs view
@@ -15,6 +15,8 @@ decodeAttestationConveyancePreference, encodeAuthenticatorTransport, decodeAuthenticatorTransport,+ encodePublicKeyCredentialHint,+ decodePublicKeyCredentialHint, ) where @@ -131,3 +133,22 @@ -- > The values SHOULD be members of AuthenticatorTransport but Relying -- > Parties SHOULD accept and store unknown values. decodeAuthenticatorTransport str = T.AuthenticatorTransportUnknown str++-- | [(spec)](https://www.w3.org/TR/webauthn-3/#enumdef-publickeycredentialhint)+-- Encodes a 'T.PublicKeyCredentialHint' to a string.+encodePublicKeyCredentialHint :: T.PublicKeyCredentialHint -> Text+encodePublicKeyCredentialHint T.PublicKeyCredentialHintSecurityKey = "security-key"+encodePublicKeyCredentialHint T.PublicKeyCredentialHintClientDevice = "client-device"+encodePublicKeyCredentialHint T.PublicKeyCredentialHintHybrid = "hybrid"+encodePublicKeyCredentialHint (T.PublicKeyCredentialHintUnknown str) = str++-- | [(spec)](https://www.w3.org/TR/webauthn-3/#enumdef-publickeycredentialhint)+-- Decodes a string into a 'T.PublicKeyCredentialHint', returning+-- 'T.PublicKeyCredentialHintUnknown' when the string isn't a known enum value.+-- This is required for forward compatibility when new hint values are added+-- to the specification.+decodePublicKeyCredentialHint :: Text -> T.PublicKeyCredentialHint+decodePublicKeyCredentialHint "security-key" = T.PublicKeyCredentialHintSecurityKey+decodePublicKeyCredentialHint "client-device" = T.PublicKeyCredentialHintClientDevice+decodePublicKeyCredentialHint "hybrid" = T.PublicKeyCredentialHintHybrid+decodePublicKeyCredentialHint str = T.PublicKeyCredentialHintUnknown str
src/Crypto/WebAuthn/Metadata/Service/Processing.hs view
@@ -34,6 +34,8 @@ HasX5u (x5u), JWSHeader, JWTError,+ RequiredProtection,+ SignedJWT, decodeCompact, defaultJWTValidationSettings, param,@@ -114,7 +116,7 @@ Left err -> error err Right cert -> cert -instance (MonadError ProcessingError m, MonadReader DateTime m) => VerificationKeyStore m (JWSHeader ()) p RootCertificate where+instance (MonadError ProcessingError m, MonadReader DateTime m) => VerificationKeyStore m (JWSHeader RequiredProtection) p RootCertificate where getVerificationKeys header _ (RootCertificate rootStore hostName) = do -- TODO: Implement step 4 of the spec, which says to try to get the chain -- from x5u first before trying x5c. See:@@ -164,7 +166,7 @@ DateTime -> Either ProcessingError addData jwtToAdditionalData blob rootCert now = runExcept $ do- jwt <- decodeCompact $ LBS.fromStrict blob+ jwt <- decodeCompact @SignedJWT $ LBS.fromStrict blob payload <- runReaderT (verifyJWT (defaultJWTValidationSettings (const True)) rootCert jwt) now return $ Service.additionalData payload
src/Crypto/WebAuthn/Model/Defaults.hs view
@@ -14,8 +14,10 @@ ascResidentKeyDefault, corAttestationDefault, corExcludeCredentialsDefault,+ corHintsDefault, coaUserVerificationDefault, coaAllowCredentialsDefault,+ coaHintsDefault, ) where @@ -43,6 +45,11 @@ corExcludeCredentialsDefault :: [M.CredentialDescriptor] corExcludeCredentialsDefault = [] +-- | [(spec)](https://www.w3.org/TR/webauthn-3/#dom-publickeycredentialcreationoptions-hints)+-- Returns the default of the field 'M.corHints'+corHintsDefault :: [M.PublicKeyCredentialHint]+corHintsDefault = []+ -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-userverification) -- Returns the default of the field 'M.coaUserVerification' coaUserVerificationDefault :: M.UserVerificationRequirement@@ -52,3 +59,8 @@ -- Returns the default of the field 'M.coaAllowCredentials' coaAllowCredentialsDefault :: [M.CredentialDescriptor] coaAllowCredentialsDefault = []++-- | [(spec)](https://www.w3.org/TR/webauthn-3/#dom-publickeycredentialrequestoptions-hints)+-- Returns the default of the field 'M.coaHints'+coaHintsDefault :: [M.PublicKeyCredentialHint]+coaHintsDefault = []
src/Crypto/WebAuthn/Model/Types.hs view
@@ -61,6 +61,7 @@ ResidentKeyRequirement (..), UserVerificationRequirement (..), AttestationConveyancePreference (..),+ PublicKeyCredentialHint (..), AttestationChain (..), AttestationKind (..), AttestationType (..),@@ -386,6 +387,46 @@ -- "Crypto.WebAuthn.Encoding" modules deriving instance ToJSON AttestationConveyancePreference +-- | [(spec)](https://www.w3.org/TR/webauthn-3/#enumdef-publickeycredentialhint)+-- [WebAuthn Relying Parties](https://www.w3.org/TR/webauthn-3/#webauthn-relying-party) may use+-- this enumeration to communicate hints to the user-agent about how a request may be best completed.+-- These hints are not requirements, and do not bind the user-agent, but may guide it in providing+-- the best experience by using contextual information that the Relying Party has about the request.+-- Hints are provided in order of decreasing preference so, if two hints are contradictory,+-- the first one controls.+--+-- Note: It is important for backwards compatibility that client platforms and Relying Parties+-- handle unknown values, which is why 'PublicKeyCredentialHintUnknown' exists.+--+-- To decode\/encode this type from\/to its standard string, use+-- 'Crypto.WebAuthn.Encoding.Strings.decodePublicKeyCredentialHint'/'Crypto.WebAuthn.Encoding.Strings.encodePublicKeyCredentialHint'.+data PublicKeyCredentialHint+ = -- | [(spec)](https://www.w3.org/TR/webauthn-3/#dom-publickeycredentialhint-security-key)+ -- Indicates that the Relying Party believes that users will satisfy this request with a physical+ -- security key. For example, an enterprise Relying Party may set this hint if they have issued+ -- security keys to their employees and will only accept those authenticators for registration+ -- and authentication.+ PublicKeyCredentialHintSecurityKey+ | -- | [(spec)](https://www.w3.org/TR/webauthn-3/#dom-publickeycredentialhint-client-device)+ -- Indicates that the Relying Party believes that users will satisfy this request with a platform+ -- authenticator attached to the client device.+ PublicKeyCredentialHintClientDevice+ | -- | [(spec)](https://www.w3.org/TR/webauthn-3/#dom-publickeycredentialhint-hybrid)+ -- Indicates that the Relying Party believes that users will satisfy this request with general-purpose+ -- authenticators such as smartphones. For example, a consumer Relying Party may believe that only+ -- a small fraction of their customers possesses dedicated security keys. This option also implies+ -- that the local platform authenticator should not be promoted in the UI.+ PublicKeyCredentialHintHybrid+ | -- | An unknown credential hint value. This allows for forward compatibility+ -- when new hint values are added to the specification.+ PublicKeyCredentialHintUnknown Text+ deriving (Eq, Show, Ord, Generic)++-- | An arbitrary and potentially unstable JSON encoding, only intended for+-- logging purposes. To actually encode and decode structures, use the+-- "Crypto.WebAuthn.Encoding" modules+deriving instance ToJSON PublicKeyCredentialHint+ -- | An X.509 certificate chain that can be used to verify an attestation -- statement data AttestationChain (p :: ProtocolKind) where@@ -943,16 +984,29 @@ -- "Crypto.WebAuthn.Encoding" modules deriving instance ToJSON AuthenticatorSelectionCriteria --- | [(spec)](https://www.w3.org/TR/webauthn-2/#flags)+-- | [(spec)](https://www.w3.org/TR/webauthn-3/#flags) data AuthenticatorDataFlags = AuthenticatorDataFlags- { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#concept-user-present)- -- Upon successful completion of a [user presence test](https://www.w3.org/TR/webauthn-2/#test-of-user-presence),- -- the user is said to be "[present](https://www.w3.org/TR/webauthn-2/#concept-user-present)".+ { -- | [(spec)](https://www.w3.org/TR/webauthn-3/#concept-user-present)+ -- Upon successful completion of a [user presence test](https://www.w3.org/TR/webauthn-3/#test-of-user-presence),+ -- the user is said to be "[present](https://www.w3.org/TR/webauthn-3/#concept-user-present)". adfUserPresent :: Bool,- -- | [(spec)](https://www.w3.org/TR/webauthn-2/#concept-user-verified)- -- Upon successful completion of a [user verification](https://www.w3.org/TR/webauthn-2/#user-verification) process,- -- the user is said to be "[verified](https://www.w3.org/TR/webauthn-2/#concept-user-verified)".- adfUserVerified :: Bool+ -- | [(spec)](https://www.w3.org/TR/webauthn-3/#concept-user-verified)+ -- Upon successful completion of a [user verification](https://www.w3.org/TR/webauthn-3/#user-verification) process,+ -- the user is said to be "[verified](https://www.w3.org/TR/webauthn-3/#concept-user-verified)".+ adfUserVerified :: Bool,+ -- | [(spec)](https://www.w3.org/TR/webauthn-3/#backup-eligibility)+ -- The backup eligibility (BE) flag. If set, the credential is a+ -- [multi-device credential](https://www.w3.org/TR/webauthn-3/#multi-device-credential).+ -- If not set, the credential is a+ -- [single-device credential](https://www.w3.org/TR/webauthn-3/#single-device-credential).+ -- This value is set during registration and MUST NOT change.+ adfBackupEligible :: Bool,+ -- | [(spec)](https://www.w3.org/TR/webauthn-3/#backup-state)+ -- The backup state (BS) flag. If set, the credential is currently backed up.+ -- This flag can change over time based on the current state of the+ -- public key credential source. This flag can only be set if 'adfBackupEligible'+ -- is also set; the combination @(BE=False, BS=True)@ is not allowed.+ adfBackupState :: Bool } deriving (Eq, Show, Generic) @@ -1031,6 +1085,12 @@ -- that wish to select the appropriate authenticators to participate in the -- [create()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-create) operation. corAuthenticatorSelection :: Maybe AuthenticatorSelectionCriteria,+ -- | [(spec)](https://www.w3.org/TR/webauthn-3/#dom-publickeycredentialcreationoptions-hints)+ -- This OPTIONAL member contains zero or more elements from 'PublicKeyCredentialHint' to+ -- guide the user agent in interacting with the user. Hints are provided in order of+ -- decreasing preference so, if two hints are contradictory, the first one controls.+ -- The default value of this field is 'Crypto.WebAuthn.Model.Defaults.corHintsDefault'.+ corHints :: [PublicKeyCredentialHint], -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialcreationoptions-attestation) -- This member is intended for use by [Relying Parties](https://www.w3.org/TR/webauthn-2/#relying-party) -- that wish to express their preference for [attestation conveyance](https://www.w3.org/TR/webauthn-2/#attestation-conveyance).@@ -1080,6 +1140,12 @@ -- `[get()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get)` operation. -- The default value of this field is 'Crypto.WebAuthn.Model.Defaults.coaUserVerificationDefault'. coaUserVerification :: UserVerificationRequirement,+ -- | [(spec)](https://www.w3.org/TR/webauthn-3/#dom-publickeycredentialrequestoptions-hints)+ -- This OPTIONAL member contains zero or more elements from 'PublicKeyCredentialHint' to+ -- guide the user agent in interacting with the user. Hints are provided in order of+ -- decreasing preference so, if two hints are contradictory, the first one controls.+ -- The default value of this field is 'Crypto.WebAuthn.Model.Defaults.coaHintsDefault'.+ coaHints :: [PublicKeyCredentialHint], -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialrequestoptions-extensions) -- This OPTIONAL member contains additional parameters requesting additional processing by the client and authenticator. -- For example, if transaction confirmation is sought from the user, then the prompt string might be included as an extension.@@ -1106,6 +1172,7 @@ "corTimeout" .= corTimeout, "corExcludeCredentials" .= corExcludeCredentials, "corAuthenticatorSelection" .= corAuthenticatorSelection,+ "corHints" .= corHints, "corAttestation" .= corAttestation, "corExtensions" .= corExtensions ]@@ -1117,6 +1184,7 @@ "coaRpId" .= coaRpId, "coaAllowCredentials" .= coaAllowCredentials, "coaUserVerification" .= coaUserVerification,+ "coaHints" .= coaHints, "coaExtensions" .= coaExtensions ] @@ -1432,7 +1500,8 @@ -- data, specifically 'aoAttStmt'. The -- 'Crypto.WebAuthn.Encoding.Binary.encodeAttestationObject' can be used to get -- the binary encoding of this type when @raw ~ 'True'@.-data AttestationObject raw = forall a.+data AttestationObject raw+ = forall a. (AttestationStatementFormat a) => AttestationObject { -- | [(spec)](https://www.w3.org/TR/webauthn-2/#authenticator-data)@@ -1654,6 +1723,11 @@ -- was created in response to `[get()](https://w3c.github.io/webappsec-credential-management/#dom-credentialscontainer-get)`, -- and this attribute’s value will be an `[AuthenticatorAssertionResponse](https://www.w3.org/TR/webauthn-2/#authenticatorassertionresponse)`. cResponse :: AuthenticatorResponse c raw,+ -- | [(spec)](https://www.w3.org/TR/webauthn-3/#dom-publickeycredential-authenticatorattachment)+ -- This attribute reports the [authenticator attachment modality](https://www.w3.org/TR/webauthn-3/#authenticator-attachment-modality)+ -- in effect at the time the navigator.credentials.create() or navigator.credentials.get() methods successfully complete.+ -- The attribute's value SHOULD be a member of 'AuthenticatorAttachment'. Relying Parties SHOULD treat unknown values as if the value were null.+ cAuthenticatorAttachment :: Maybe AuthenticatorAttachment, -- | [(spec)](https://www.w3.org/TR/webauthn-2/#dom-publickeycredential-getclientextensionresults) -- This operation returns the value of `[[[clientExtensionsResults]]](https://www.w3.org/TR/webauthn-2/#dom-publickeycredential-clientextensionsresults-slot)`, -- which is a [map](https://infra.spec.whatwg.org/#ordered-map) containing@@ -1673,9 +1747,9 @@ -- The 'CredentialMediationRequirement' enum defines the requirements for -- [user mediation](https://www.w3.org/TR/credential-management-1/#user-mediation). -- Currently only `CredentialMediationRequirementConditional` is supported during credential creation.-data CredentialMediationRequirement = - CredentialMediationRequirementSilent |- CredentialMediationRequirementOptional |- CredentialMediationRequirementConditional |- CredentialMediationRequirementRequired+data CredentialMediationRequirement+ = CredentialMediationRequirementSilent+ | CredentialMediationRequirementOptional+ | CredentialMediationRequirementConditional+ | CredentialMediationRequirementRequired deriving (Eq, Show)
src/Crypto/WebAuthn/Operation/Registration.hs view
@@ -209,7 +209,8 @@ -- that was returned along with information about the [authenticator](https://www.w3.org/TR/webauthn-2/#authenticator) -- model that created it. This result may be inspected to enforce relying party -- policy, see the individual fields for more information.-data SomeAttestationStatement = forall k.+data SomeAttestationStatement+ = forall k. SomeAttestationStatement { -- | The [attestation type](https://www.w3.org/TR/webauthn-2/#sctn-attestation-types) -- of the attestation statement. This could be used to only allow specific@@ -310,15 +311,14 @@ rpIdHash registry currentTime- options- =- verifyRegistrationResponseL3- origins- rpIdHash- registry- currentTime- options- M.CredentialMediationRequirementOptional+ options =+ verifyRegistrationResponseL3+ origins+ rpIdHash+ registry+ currentTime+ options+ M.CredentialMediationRequirementOptional -- | Like 'verifyRegistrationResponse', but allows passing the credential mediation requirement -- If you don't need conditional create functionality, use 'verifyRegistrationResponse' instead.
tests/Emulation.hs view
@@ -20,7 +20,6 @@ import qualified Data.List.NonEmpty as NE import qualified Data.Set as Set import Data.Text.Encoding (encodeUtf8)-import Data.Validation (toEither) import Emulation.Authenticator ( Authenticator (AuthenticatorNone, aAuthenticatorDataFlags, aConformance, aSignatureCounter), AuthenticatorNonConformingBehaviour (RandomPrivateKey, RandomSignatureData, StaticCounter),@@ -35,7 +34,7 @@ clientAttestation, ) import Emulation.Client.Arbitrary ()-import Spec.Util (predeterminedDateTime)+import Spec.Util (predeterminedDateTime, toEither) import Test.Hspec (SpecWith, describe, it, shouldSatisfy) import Test.QuickCheck (property, (==>)) @@ -289,6 +288,7 @@ M.ascResidentKey = M.ResidentKeyRequirementDiscouraged, M.ascUserVerification = M.UserVerificationRequirementPreferred },+ M.corHints = [], M.corAttestation = M.AttestationConveyancePreferenceDirect, M.corExtensions = Nothing }@@ -303,5 +303,6 @@ -- We currently only support client-side discoverable credentials M.coaAllowCredentials = [], M.coaUserVerification = M.UserVerificationRequirementPreferred,+ M.coaHints = [], M.coaExtensions = Nothing }
tests/Emulation/Client.hs view
@@ -92,6 +92,7 @@ M.arrAttestationObject = attestationObject, M.arrTransports = [] },+ M.cAuthenticatorAttachment = Nothing, M.cClientExtensionResults = M.AuthenticationExtensionsClientOutputs {aecoCredProps = Nothing} } pure (response, authenticator')@@ -145,6 +146,7 @@ M.araSignature = M.AssertionSignature signature, M.araUserHandle = userHandle },+ M.cAuthenticatorAttachment = Nothing, M.cClientExtensionResults = M.AuthenticationExtensionsClientOutputs {aecoCredProps = Nothing} } pure (response, authenticator')
tests/Main.hs view
@@ -30,13 +30,13 @@ import qualified Data.Text as Text import Data.Text.Encoding (encodeUtf8) import Data.These (These (That, These, This))-import Data.Validation (toEither)+import qualified Data.X509.Validation as X509 import qualified Emulation import qualified Encoding import GHC.Stack (HasCallStack) import qualified MetadataSpec import qualified PublicKeySpec-import Spec.Util (decodeFile, predeterminedDateTime, timeZero)+import Spec.Util (decodeFile, predeterminedDateTime, timeZero, toEither) import qualified System.Directory as Directory import System.FilePath ((</>)) import Test.Hspec (Spec, describe, it, shouldSatisfy)@@ -73,15 +73,21 @@ -- This is because some of our tests cannot be verfied (for different reasons). registerTestFromFile :: FilePath -> M.Origin -> M.RpId -> Bool -> Service.MetadataServiceRegistry -> HG.DateTime -> IO () registerTestFromFile fp origin rpId verifiable service now = do- registerTestFromFile' fp origin rpId verifiable service now M.CredentialMediationRequirementOptional+ registerTestFromFile' fp origin rpId verifiable Nothing service now M.CredentialMediationRequirementOptional +-- | Like 'registerTestFromFile', but expects chain validation to fail for the+-- specified reasons.+registerTestFromFileWithExpectedValidationFailures :: FilePath -> M.Origin -> M.RpId -> NonEmpty X509.FailedReason -> Service.MetadataServiceRegistry -> HG.DateTime -> IO ()+registerTestFromFileWithExpectedValidationFailures fp origin rpId expectedFailures service now = do+ registerTestFromFile' fp origin rpId True (Just expectedFailures) service now M.CredentialMediationRequirementOptional+ -- | Same as 'registerTestFromFile', but allows to specifies the mediation requirement as conditional. registerTestFromFileConditional :: FilePath -> M.Origin -> M.RpId -> Bool -> Service.MetadataServiceRegistry -> HG.DateTime -> IO () registerTestFromFileConditional fp origin rpId verifiable service now = do- registerTestFromFile' fp origin rpId verifiable service now M.CredentialMediationRequirementConditional+ registerTestFromFile' fp origin rpId verifiable Nothing service now M.CredentialMediationRequirementConditional -registerTestFromFile' :: FilePath -> M.Origin -> M.RpId -> Bool -> Service.MetadataServiceRegistry -> HG.DateTime -> M.CredentialMediationRequirement -> IO ()-registerTestFromFile' fp origin rpId verifiable service now mediation = do+registerTestFromFile' :: FilePath -> M.Origin -> M.RpId -> Bool -> Maybe (NonEmpty X509.FailedReason) -> Service.MetadataServiceRegistry -> HG.DateTime -> M.CredentialMediationRequirement -> IO ()+registerTestFromFile' fp origin rpId verifiable expectedFailures service now mediation = do pkCredential <- either (error . show) id . WJ.wjDecodeCredentialRegistration <$> decodeFile fp@@ -96,7 +102,7 @@ options mediation pkCredential- registerResult `shouldSatisfy` isExpectedAttestationResponse pkCredential options verifiable+ registerResult `shouldSatisfy` isExpectedAttestationResponse pkCredential options verifiable expectedFailures main :: IO () main = Hspec.hspec $ do@@ -141,7 +147,7 @@ predeterminedDateTime options pkCredential- registerResult `shouldSatisfy` isExpectedAttestationResponse pkCredential options False+ registerResult `shouldSatisfy` isExpectedAttestationResponse pkCredential options False Nothing let Right O.RegistrationResult {O.rrEntry = credentialEntry} = registerResult loginReq <- either (error . show) id . WJ.wjDecodeCredentialAuthentication@@ -160,6 +166,7 @@ M.Credential { M.cIdentifier = O.ceCredentialId credentialEntry, M.cResponse = cResponse,+ M.cAuthenticatorAttachment = Nothing, M.cClientExtensionResults = M.AuthenticationExtensionsClientOutputs Nothing } signInResult `shouldSatisfy` isRight@@ -179,7 +186,7 @@ predeterminedDateTime options pkCredential- registerResult `shouldSatisfy` isExpectedAttestationResponse pkCredential options False+ registerResult `shouldSatisfy` isExpectedAttestationResponse pkCredential options False Nothing let Right O.RegistrationResult {O.rrEntry = credentialEntry} = registerResult loginReq <- either (error . show) id . WJ.wjDecodeCredentialAuthentication@@ -198,6 +205,7 @@ M.Credential { M.cIdentifier = O.ceCredentialId credentialEntry, M.cResponse = cResponse,+ M.cAuthenticatorAttachment = Nothing, M.cClientExtensionResults = M.AuthenticationExtensionsClientOutputs Nothing } signInResult `shouldSatisfy` isRight@@ -351,15 +359,19 @@ registry HG.DateTime {dtDate = HG.Date {dateYear = 2021, dateMonth = HG.September, dateDay = 1}, dtTime = timeZero} describe "TPM register" $ do- it "tests whether the fixed TPM-SHA1 register has a valid attestation" $- registerTestFromFile+ it "reports the expected validation failure for the fixed TPM-RS1 registration" $+ registerTestFromFileWithExpectedValidationFailures "tests/responses/attestation/tpm-rs1-01.json" "https://webauthntest.azurewebsites.net" "webauthntest.azurewebsites.net"- True+ -- crypton-x509-validation >= 1.9.1 reports a failure for every+ -- critical extension outside crypton-x509's recognizedOIDs. This+ -- certificate marks Certificate Policies critical, but that extension+ -- is irrelevant to attestation trust.+ (NE.singleton $ X509.UnknownCriticalExtension [2, 5, 29, 32]) registry predeterminedDateTime- it "tests whether the fixed TPM-SHA1 register has a valid attestation" $+ it "tests whether the fixed TPM-ES256 register has a valid attestation" $ registerTestFromFile "tests/responses/attestation/tpm-es256-01.json" "https://localhost:44329"@@ -378,14 +390,15 @@ predeterminedDateTime -- | Checks if the received attestation response if one we expect-isExpectedAttestationResponse :: M.Credential 'M.Registration 'True -> M.CredentialOptions 'M.Registration -> Bool -> Either (NonEmpty O.RegistrationError) O.RegistrationResult -> Bool-isExpectedAttestationResponse _ _ _ (Left _) = False -- We should never receive errors-isExpectedAttestationResponse M.Credential {..} M.CredentialOptionsRegistration {..} verifiable (Right O.RegistrationResult {..}) =+isExpectedAttestationResponse :: M.Credential 'M.Registration 'True -> M.CredentialOptions 'M.Registration -> Bool -> Maybe (NonEmpty X509.FailedReason) -> Either (NonEmpty O.RegistrationError) O.RegistrationResult -> Bool+isExpectedAttestationResponse _ _ _ _ (Left _) = False -- We should never receive errors+isExpectedAttestationResponse M.Credential {..} M.CredentialOptionsRegistration {..} verifiable expectedFailures (Right O.RegistrationResult {..}) = rrEntry == expectedCredentialEntry- && not verifiable- || ( case rrAttestationStatement of- O.SomeAttestationStatement _ O.VerifiedAuthenticator {} -> True- _ -> False+ && ( not verifiable+ || case (rrAttestationStatement, expectedFailures) of+ (O.SomeAttestationStatement _ O.VerifiedAuthenticator {}, Nothing) -> True+ (O.SomeAttestationStatement _ O.UnverifiedAuthenticator {O.uaFailures = failures}, Just expected) -> failures == expected+ _ -> False ) where expectedCredentialEntry :: O.CredentialEntry@@ -436,6 +449,7 @@ M.corTimeout = Nothing, M.corExcludeCredentials = [], M.corAuthenticatorSelection = Nothing,+ M.corHints = [], M.corAttestation = M.AttestationConveyancePreferenceNone, M.corExtensions = Nothing }@@ -448,5 +462,6 @@ M.coaRpId = Just "localhost", M.coaAllowCredentials = [], M.coaUserVerification = M.UserVerificationRequirementPreferred,+ M.coaHints = [], M.coaExtensions = Nothing }
tests/Spec/Types.hs view
@@ -98,6 +98,17 @@ instance Arbitrary M.AttestationConveyancePreference where arbitrary = arbitraryBoundedEnum +instance Arbitrary M.PublicKeyCredentialHint where+ arbitrary = elements publicKeyCredentialHintsList++publicKeyCredentialHintsList :: [M.PublicKeyCredentialHint]+publicKeyCredentialHintsList =+ [ M.PublicKeyCredentialHintSecurityKey,+ M.PublicKeyCredentialHintClientDevice,+ M.PublicKeyCredentialHintHybrid,+ M.PublicKeyCredentialHintUnknown "unknown"+ ]+ instance Arbitrary (M.AuthenticatorResponse 'M.Registration 'False) where arbitrary = M.AuthenticatorResponseRegistration <$> arbitrary <*> arbitrary <*> arbitrary @@ -164,7 +175,7 @@ pure $ M.RpIdHash $ hash rpId instance Arbitrary M.AuthenticatorDataFlags where- arbitrary = M.AuthenticatorDataFlags <$> arbitrary <*> arbitrary+ arbitrary = M.AuthenticatorDataFlags <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary instance (SingI c) => Arbitrary (M.AttestedCredentialData c 'False) where arbitrary = case sing @c of@@ -248,6 +259,7 @@ <*> arbitrary <*> resize 4 arbitrary <*> arbitrary+ <*> resize 3 arbitrary <*> arbitrary <*> arbitrary @@ -259,6 +271,7 @@ <*> arbitrary <*> resize 4 arbitrary <*> arbitrary+ <*> resize 3 arbitrary <*> arbitrary instance Arbitrary M.CredentialPropertiesOutput where@@ -273,11 +286,13 @@ <$> arbitrary <*> arbitrary <*> arbitrary+ <*> arbitrary instance Arbitrary (M.Credential 'M.Authentication 'False) where arbitrary = M.Credential <$> arbitrary+ <*> arbitrary <*> arbitrary <*> arbitrary
tests/Spec/Util.hs view
@@ -1,10 +1,16 @@-module Spec.Util (decodeFile, runSeededMonadRandom, timeZero, predeterminedDateTime) where+module Spec.Util (decodeFile, runSeededMonadRandom, timeZero, predeterminedDateTime, toEither) where import qualified Crypto.Random as Random import Data.Aeson (FromJSON) import qualified Data.Aeson as Aeson import qualified Data.ByteString.Lazy as ByteString import qualified Data.Hourglass as HG+import Data.Validation (Validation (Failure, Success))++-- | validation 1.2 dropped 'Data.Validation.toEither'.+toEither :: Validation e a -> Either e a+toEither (Failure e) = Left e+toEither (Success a) = Right a decodeFile :: (FromJSON a, Show a) => FilePath -> IO a decodeFile filePath = do
webauthn.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: webauthn-version: 0.11.0.0+version: 0.12.0.0 license: Apache-2.0 license-file: LICENSE copyright:@@ -35,7 +35,7 @@ however follow the [PVP](https://pvp.haskell.org/) and properly label changes with the appropriate version increase. category: Web, Authentication-tested-with: GHC == 9.4.7+tested-with: GHC == 9.10.3 extra-source-files: README.md, changelog.md,@@ -69,27 +69,27 @@ import: sanity hs-source-dirs: src build-depends:- base >= 4.13.0 && < 4.20,- aeson >= 2.0.1 && < 2.3,- asn1-encoding >= 0.9.6 && < 0.10,- asn1-parse >= 0.9.5 && < 0.10,- asn1-types >= 0.3.4 && < 0.4,+ base >= 4.13.0 && < 4.22,+ aeson >= 2.0.1 && < 2.4, base16-bytestring >= 1.0.0 && < 1.1, base64-bytestring >= 1.2.1 && < 1.3, binary >= 0.8.7 && < 0.9, bytestring >= 0.10.10 && < 0.13, cborg >= 0.2.4 && < 0.3,- containers >= 0.6.2.1 && < 0.7,- crypton >= 0.32 && < 0.35,- crypton-x509 >= 1.7.6 && < 1.8,- crypton-x509-store >= 1.6.9 && < 1.7,- crypton-x509-validation >= 1.6.12 && < 1.7,+ containers >= 0.6.2.1 && < 0.9,+ crypton >= 1.1 && < 1.2,+ crypton-asn1-encoding >= 0.9 && < 0.11,+ crypton-asn1-parse >= 0.9 && < 0.11,+ crypton-asn1-types >= 0.4.1 && < 0.5,+ crypton-x509 >= 1.9.1 && < 1.10,+ crypton-x509-store >= 1.9 && < 1.10,+ crypton-x509-validation >= 1.9.1 && < 1.10, file-embed >= 0.0.11 && < 0.1,- hashable >= 1.3.2 && < 1.5,- hourglass >= 0.2.12 && < 0.3,- jose >= 0.11 && < 0.12,- lens >= 4.18.1 && < 5.3,- memory >= 0.15.0 && < 0.19,+ hashable >= 1.3.2 && < 1.6,+ time-hourglass >= 0.2 && < 0.4,+ jose >= 0.13 && < 0.14,+ lens >= 4.18.1 && < 5.4,+ ram >= 0.22 && < 0.23, monad-time >= 0.4.0 && < 0.5, mtl >= 2.2.2 && < 2.4, serialise >= 0.2.3 && < 0.3,@@ -97,6 +97,7 @@ text >= 1.2.4 && < 2.2, these >= 1.1.1.1 && < 1.3, time >= 1.9.3 && < 1.14,+ time-hourglass >= 0.2 && < 0.4, unordered-containers >= 0.2.12 && < 0.3, uuid >= 1.3.13 && < 1.4, validation >= 1.1 && < 1.3,@@ -167,20 +168,21 @@ base, QuickCheck, aeson,- asn1-encoding,+ crypton-asn1-encoding, bytestring, containers, crypton, crypton-x509, crypton-x509-store,+ crypton-x509-validation, directory, filepath,- hourglass,+ time-hourglass, hspec, hspec-expectations-json,- memory,+ ram, mtl,- pem,+ crypton-pem, quickcheck-instances, serialise, singletons,