HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Moduletls-2.1.6Haskell2010

Network.TLS.Internal

  • 113 types
  • 1 class
  • 110 values
  • Packagetls-2.1.6
  • Exports368
  • LanguageHaskell2010
  • LicenceBSD-3-Clause
  • SourceExtension.hs
newtypenewtype Group
#

Constructors

Instances5Eq, Show, Generic, Serialise, Rep
classclass Extension a where
#

Extension class to transform bytes to and from a high level Extension type.

Methods

Instances19Extension, …
  • Extension ApplicationLayerProtocolNegotiationDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension CertificateAuthoritiesDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension CookieDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension EarlyDataIndicationDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension EcPointFormatsSupportedDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension ExtendedMainSecretDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension HeartBeatDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension KeyShareDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension MaxFragmentLengthDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension PostHandshakeAuthDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension PreSharedKeyDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension PskKeyExchangeModesDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension SecureRenegotiationDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension ServerNameDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension SessionTicketDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension SignatureAlgorithmsDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension SignatureAlgorithmsCertDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension SupportedGroupsDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension SupportedVersionsDefined in tls-2.1.6 · Network.TLS.Extension
patternpattern EID_ClientCertificateUrl :: ExtensionID
#
patternpattern EID_ApplicationLayerProtocolNegotiation :: ExtensionID
#
patternpattern EID_SignedCertificateTimestamp :: ExtensionID
#
patternpattern EID_ClientCertificateType :: ExtensionID
#
patternpattern EID_ServerCertificateType :: ExtensionID
#
patternpattern EID_CertificateAuthorities :: ExtensionID
#
patternpattern EID_SignatureAlgorithmsCert :: ExtensionID
#
valuesupportedExtensions :: [ExtensionID]
#

all supported extensions by the implementation

datadata ServerNameType
#

Constructors

Instances2Eq, Show
  • Eq ServerNameTypeDefined in tls-2.1.6 · Network.TLS.Extension
  • Show ServerNameTypeDefined in tls-2.1.6 · Network.TLS.Extension
newtypenewtype ServerName
#

Server Name extension including the name type and the associated name. the associated name decoding is dependant of its name type. name type = 0 : hostname

Constructors

  • ServerName [ServerNameType]
Instances3Eq, Show, Extension
  • Eq ServerNameDefined in tls-2.1.6 · Network.TLS.Extension
  • Show ServerNameDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension ServerNameDefined in tls-2.1.6 · Network.TLS.Extension
datadata MaxFragmentLength
#

Max fragment extension with length from 512 bytes to 4096 bytes

RFC 6066 defines: If a server receives a maximum fragment length negotiation request for a value other than the allowed values, it MUST abort the handshake with an "illegal_parameter" alert.

So, if a server receives MaxFragmentLengthOther, it must send the alert.

Constructors

Instances3Eq, Show, Extension
  • Eq MaxFragmentLengthDefined in tls-2.1.6 · Network.TLS.Extension
  • Show MaxFragmentLengthDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension MaxFragmentLengthDefined in tls-2.1.6 · Network.TLS.Extension
datadata SecureRenegotiation
#

Secure Renegotiation

Constructors

Instances3Eq, Show, Extension
  • Eq SecureRenegotiationDefined in tls-2.1.6 · Network.TLS.Extension
  • Show SecureRenegotiationDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension SecureRenegotiationDefined in tls-2.1.6 · Network.TLS.Extension
newtypenewtype ApplicationLayerProtocolNegotiation
#

Application Layer Protocol Negotiation (ALPN)

Constructors

Instances3Eq, Show, Extension
  • Eq ApplicationLayerProtocolNegotiationDefined in tls-2.1.6 · Network.TLS.Extension
  • Show ApplicationLayerProtocolNegotiationDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension ApplicationLayerProtocolNegotiationDefined in tls-2.1.6 · Network.TLS.Extension
datadata ExtendedMainSecret
#

Extended Main Secret

Instances3Eq, Show, Extension
  • Eq ExtendedMainSecretDefined in tls-2.1.6 · Network.TLS.Extension
  • Show ExtendedMainSecretDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension ExtendedMainSecretDefined in tls-2.1.6 · Network.TLS.Extension
newtypenewtype SupportedGroups
#

Constructors

Instances3Eq, Show, Extension
  • Eq SupportedGroupsDefined in tls-2.1.6 · Network.TLS.Extension
  • Show SupportedGroupsDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension SupportedGroupsDefined in tls-2.1.6 · Network.TLS.Extension
newtypenewtype EcPointFormatsSupported
#

Constructors

  • EcPointFormatsSupported [EcPointFormat]
Instances3Eq, Show, Extension
  • Eq EcPointFormatsSupportedDefined in tls-2.1.6 · Network.TLS.Extension
  • Show EcPointFormatsSupportedDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension EcPointFormatsSupportedDefined in tls-2.1.6 · Network.TLS.Extension
newtypenewtype EcPointFormat
#

Constructors

  • EcPointFormat
    • fromEcPointFormat :: Word8
Instances2Eq, Show
  • Eq EcPointFormatDefined in tls-2.1.6 · Network.TLS.Extension
  • Show EcPointFormatDefined in tls-2.1.6 · Network.TLS.Extension
patternpattern EcPointFormat_Uncompressed :: EcPointFormat
#
patternpattern EcPointFormat_AnsiX962_compressed_prime :: EcPointFormat
#
patternpattern EcPointFormat_AnsiX962_compressed_char2 :: EcPointFormat
#
newtypenewtype SessionTicket
#

Constructors

Instances3Eq, Show, Extension
  • Eq SessionTicketDefined in tls-2.1.6 · Network.TLS.Extension
  • Show SessionTicketDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension SessionTicketDefined in tls-2.1.6 · Network.TLS.Extension
newtypenewtype HeartBeat
#

Constructors

  • HeartBeat HeartBeatMode
Instances3Eq, Show, Extension
  • Eq HeartBeatDefined in tls-2.1.6 · Network.TLS.Extension
  • Show HeartBeatDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension HeartBeatDefined in tls-2.1.6 · Network.TLS.Extension
newtypenewtype HeartBeatMode
#

Constructors

  • HeartBeatMode
    • fromHeartBeatMode :: Word8
Instances2Eq, Show
  • Eq HeartBeatModeDefined in tls-2.1.6 · Network.TLS.Extension
  • Show HeartBeatModeDefined in tls-2.1.6 · Network.TLS.Extension
patternpattern HeartBeat_PeerAllowedToSend :: HeartBeatMode
#
patternpattern HeartBeat_PeerNotAllowedToSend :: HeartBeatMode
#
newtypenewtype SignatureAlgorithms
#

Constructors

Instances3Eq, Show, Extension
  • Eq SignatureAlgorithmsDefined in tls-2.1.6 · Network.TLS.Extension
  • Show SignatureAlgorithmsDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension SignatureAlgorithmsDefined in tls-2.1.6 · Network.TLS.Extension
newtypenewtype SignatureAlgorithmsCert
#

Constructors

Instances3Eq, Show, Extension
  • Eq SignatureAlgorithmsCertDefined in tls-2.1.6 · Network.TLS.Extension
  • Show SignatureAlgorithmsCertDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension SignatureAlgorithmsCertDefined in tls-2.1.6 · Network.TLS.Extension
datadata SupportedVersions
#

Constructors

  • SupportedVersionsClientHello [Version]
  • SupportedVersionsServerHello Version
Instances3Eq, Show, Extension
  • Eq SupportedVersionsDefined in tls-2.1.6 · Network.TLS.Extension
  • Show SupportedVersionsDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension SupportedVersionsDefined in tls-2.1.6 · Network.TLS.Extension
datadata KeyShare
#

Constructors

  • KeyShareClientHello [KeyShareEntry]
  • KeyShareServerHello KeyShareEntry
  • KeyShareHRR Group
Instances3Eq, Show, Extension
  • Eq KeyShareDefined in tls-2.1.6 · Network.TLS.Extension
  • Show KeyShareDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension KeyShareDefined in tls-2.1.6 · Network.TLS.Extension
datadata KeyShareEntry
#

Constructors

  • KeyShareEntry
Instances2Eq, Show
  • Eq KeyShareEntryDefined in tls-2.1.6 · Network.TLS.Extension
  • Show KeyShareEntryDefined in tls-2.1.6 · Network.TLS.Extension
datadata PostHandshakeAuth
#
Instances3Eq, Show, Extension
  • Eq PostHandshakeAuthDefined in tls-2.1.6 · Network.TLS.Extension
  • Show PostHandshakeAuthDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension PostHandshakeAuthDefined in tls-2.1.6 · Network.TLS.Extension
newtypenewtype PskKexMode
#

Constructors

  • PskKexMode
Instances2Eq, Show
  • Eq PskKexModeDefined in tls-2.1.6 · Network.TLS.Extension
  • Show PskKexModeDefined in tls-2.1.6 · Network.TLS.Extension
patternpattern PSK_KE :: PskKexMode
#
patternpattern PSK_DHE_KE :: PskKexMode
#
newtypenewtype PskKeyExchangeModes
#

Constructors

  • PskKeyExchangeModes [PskKexMode]
Instances3Eq, Show, Extension
  • Eq PskKeyExchangeModesDefined in tls-2.1.6 · Network.TLS.Extension
  • Show PskKeyExchangeModesDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension PskKeyExchangeModesDefined in tls-2.1.6 · Network.TLS.Extension
datadata PskIdentity
#

Constructors

Instances2Eq, Show
  • Eq PskIdentityDefined in tls-2.1.6 · Network.TLS.Extension
  • Show PskIdentityDefined in tls-2.1.6 · Network.TLS.Extension
datadata PreSharedKey
#

Constructors

  • PreSharedKeyClientHello [PskIdentity] [ByteString]
  • PreSharedKeyServerHello Int
Instances3Eq, Show, Extension
  • Eq PreSharedKeyDefined in tls-2.1.6 · Network.TLS.Extension
  • Show PreSharedKeyDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension PreSharedKeyDefined in tls-2.1.6 · Network.TLS.Extension
newtypenewtype EarlyDataIndication
#

Constructors

Instances3Eq, Show, Extension
  • Eq EarlyDataIndicationDefined in tls-2.1.6 · Network.TLS.Extension
  • Show EarlyDataIndicationDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension EarlyDataIndicationDefined in tls-2.1.6 · Network.TLS.Extension
newtypenewtype Cookie
#

Constructors

Instances3Eq, Show, Extension
  • Eq CookieDefined in tls-2.1.6 · Network.TLS.Extension
  • Show CookieDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension CookieDefined in tls-2.1.6 · Network.TLS.Extension
newtypenewtype CertificateAuthorities
#

Constructors

Instances3Eq, Show, Extension
  • Eq CertificateAuthoritiesDefined in tls-2.1.6 · Network.TLS.Extension
  • Show CertificateAuthoritiesDefined in tls-2.1.6 · Network.TLS.Extension
  • Extension CertificateAuthoritiesDefined in tls-2.1.6 · Network.TLS.Extension
valuegetSession :: Get Session
#
datadata CurrentParams
#

Constructors

  • CurrentParams
    • cParamsVersion :: Version

      current protocol version

    • cParamsKeyXchgType :: Maybe CipherKeyExchangeType

      current key exchange type

Instances2Eq, Show
  • Eq CurrentParamsDefined in tls-2.1.6 · Network.TLS.Packet
  • Show CurrentParamsDefined in tls-2.1.6 · Network.TLS.Packet
valuedecodeReallyServerKeyXchgAlgorithmData
  1. :: Version
  2. -> CipherKeyExchangeType
  3. -> ByteString
  4. -> Either TLSError ServerKeyXchgAlgorithmData
#

in certain cases, we haven't manage to decode ServerKeyExchange properly, because the decoding was too eager and the cipher wasn't been set yet. we keep the Server Key Exchange in it unparsed format, and this function is able to really decode the server key xchange if it's unparsed.

valueputSession :: Session -> Put
#
valuegetHandshakeType :: Get HandshakeType
#
valueencodePacket12
  1. :: Monoid bytes
  2. => Context
  3. -> RecordLayer bytes
  4. -> Packet
  5. -> IO (Either TLSError bytes)
#

encodePacket transform a packet into marshalled data related to current state and updating state on the go

datadata SessionData
#
Instances5Eq, Show, Generic, Serialise, Rep
newtypenewtype Version
#

Versions known to TLS

Constructors

Instances6Eq, Ord, Show, Generic, Serialise, Rep
newtypenewtype CertificateType
#

Some of the IANA registered code points for CertificateType are not currently supported by the library. Nor should they be, they're are either unwise, obsolete or both. There's no point in conveying these to the user in the client certificate request callback. The request callback will be filtered to exclude unsupported values. If the user cannot find a certificate for a supported code point, we'll go ahead without a client certificate and hope for the best, unless the user's callback decides to throw an exception.

Instances3Eq, Ord, Show
datadata Handshake
#

Constructors

Instances2Eq, Show
datadata Packet
#

Constructors

Instances2Eq, Show
  • Eq PacketDefined in tls-2.1.6 · Network.TLS.Struct
  • Show PacketDefined in tls-2.1.6 · Network.TLS.Struct
datadata TLSError
#

TLSError that might be returned through the TLS stack.

Prior to version 1.8.0, this type had an Exception instance. In version 1.8.0, this instance was removed, and functions in this library now only throw TLSException.

Constructors

Instances4Eq, Show, MonadError
datadata TLSException
#

TLS Exceptions. Some of the data constructors indicate incorrect use of the library, and the documentation for those data constructors calls this out. The others wrap TLSError with some kind of context to explain when the exception occurred.

Constructors

Instances3Eq, Show, Exception
newtypenewtype Session
#

Constructors

Instances2Eq, Show
  • Eq SessionDefined in tls-2.1.6 · Network.TLS.Struct
  • Show SessionDefined in tls-2.1.6 · Network.TLS.Struct
datadata CipherData
#

Constructors

Instances2Eq, Show
  • Eq CipherDataDefined in tls-2.1.6 · Network.TLS.Struct
  • Show CipherDataDefined in tls-2.1.6 · Network.TLS.Struct
valuelastSupportedCertificateType :: CertificateType
#

Last supported certificate type, no 'CertificateType that compares greater than this one (based on the Ord instance, not on the wire code point) will be reported to the application via the client certificate request callback.

datadata DigitallySigned
#

Constructors

Instances2Eq, Show
  • Eq DigitallySignedDefined in tls-2.1.6 · Network.TLS.Struct
  • Show DigitallySignedDefined in tls-2.1.6 · Network.TLS.Struct
newtypenewtype DistinguishedName
#

A list of OID and strings.

Instances6Eq, Ord, Show, Semigroup, Monoid, ASN1Object
datadata ServerDHParams
#

Constructors

  • ServerDHParams
    • serverDHParams_p :: BigNum
    • serverDHParams_g :: BigNum
    • serverDHParams_y :: BigNum
Instances2Eq, Show
  • Eq ServerDHParamsDefined in tls-2.1.6 · Network.TLS.Struct
  • Show ServerDHParamsDefined in tls-2.1.6 · Network.TLS.Struct
valueserverDHParamsToParams :: ServerDHParams -> DHParams
#
valueserverDHParamsToPublic :: ServerDHParams -> DHPublic
#
datadata ServerECDHParams
#

Constructors

  • ServerECDHParams Group GroupPublic
Instances2Eq, Show
  • Eq ServerECDHParamsDefined in tls-2.1.6 · Network.TLS.Struct
  • Show ServerECDHParamsDefined in tls-2.1.6 · Network.TLS.Struct
datadata ServerRSAParams
#

Constructors

Instances2Eq, Show
  • Eq ServerRSAParamsDefined in tls-2.1.6 · Network.TLS.Struct
  • Show ServerRSAParamsDefined in tls-2.1.6 · Network.TLS.Struct
datadata ServerKeyXchgAlgorithmData
#

Constructors

  • SKX_DH_Anon ServerDHParams
  • SKX_DHE_DSA ServerDHParams DigitallySigned
  • SKX_DHE_RSA ServerDHParams DigitallySigned
  • SKX_ECDHE_RSA ServerECDHParams DigitallySigned
  • SKX_ECDHE_ECDSA ServerECDHParams DigitallySigned
  • SKX_RSA (Maybe ServerRSAParams)
  • SKX_DH_DSA (Maybe ServerDSAParams)
  • SKX_DH_RSA (Maybe ServerRSAParams)
  • SKX_Unparsed ByteString
  • SKX_Unknown ByteString
Instances2Eq, Show
  • Eq ServerKeyXchgAlgorithmDataDefined in tls-2.1.6 · Network.TLS.Struct
  • Show ServerKeyXchgAlgorithmDataDefined in tls-2.1.6 · Network.TLS.Struct
datadata ClientKeyXchgAlgorithmData
#

Constructors

Instances2Eq, Show
  • Eq ClientKeyXchgAlgorithmDataDefined in tls-2.1.6 · Network.TLS.Struct
  • Show ClientKeyXchgAlgorithmDataDefined in tls-2.1.6 · Network.TLS.Struct
typetype FinishedData = ByteString
#

Deprecated. use VerifyData

newtypenewtype VerifyData
#

Constructors

Instances2Eq, Show
  • Eq VerifyDataDefined in tls-2.1.6 · Network.TLS.Struct
  • Show VerifyDataDefined in tls-2.1.6 · Network.TLS.Struct
newtypenewtype AlertLevel
#

Constructors

  • AlertLevel
Instances2Eq, Show
  • Eq AlertLevelDefined in tls-2.1.6 · Network.TLS.Error
  • Show AlertLevelDefined in tls-2.1.6 · Network.TLS.Error
patternpattern AlertLevel_Warning :: AlertLevel
#
patternpattern AlertLevel_Fatal :: AlertLevel
#
newtypenewtype HandshakeType
#

Constructors

  • HandshakeType
    • fromHandshakeType :: Word8
Instances2Eq, Show
  • Eq HandshakeTypeDefined in tls-2.1.6 · Network.TLS.Struct
  • Show HandshakeTypeDefined in tls-2.1.6 · Network.TLS.Struct
patternpattern HandshakeType_HelloRequest :: HandshakeType
#
patternpattern HandshakeType_ClientHello :: HandshakeType
#
patternpattern HandshakeType_ServerHello :: HandshakeType
#
patternpattern HandshakeType_NewSessionTicket :: HandshakeType
#
patternpattern HandshakeType_EndOfEarlyData :: HandshakeType
#
patternpattern HandshakeType_EncryptedExtensions :: HandshakeType
#
patternpattern HandshakeType_Certificate :: HandshakeType
#
patternpattern HandshakeType_ServerKeyXchg :: HandshakeType
#
patternpattern HandshakeType_CertRequest :: HandshakeType
#
patternpattern HandshakeType_ServerHelloDone :: HandshakeType
#
patternpattern HandshakeType_CertVerify :: HandshakeType
#
patternpattern HandshakeType_ClientKeyXchg :: HandshakeType
#
patternpattern HandshakeType_Finished :: HandshakeType
#
patternpattern HandshakeType_KeyUpdate :: HandshakeType
#
newtypenewtype TLSCertificateChain
#

Constructors

Instances2Eq, Show
  • Eq TLSCertificateChainDefined in tls-2.1.6 · Network.TLS.Struct
  • Show TLSCertificateChainDefined in tls-2.1.6 · Network.TLS.Struct
datadata CH
#

Constructors

  • CH
    • chSession :: Session
    • chCiphers :: [CipherId]
    • chExtensions :: [ExtensionRaw]
Instances2Eq, Show
  • Eq CHDefined in tls-2.1.6 · Network.TLS.Struct
  • Show CHDefined in tls-2.1.6 · Network.TLS.Struct
valuetypeOfHandshake :: Handshake -> HandshakeType
#
datadata Handshake13
#

Constructors

Instances2Eq, Show
datadata Packet13
#

Constructors

Instances2Eq, Show
  • Eq Packet13Defined in tls-2.1.6 · Network.TLS.Struct13
  • Show Packet13Defined in tls-2.1.6 · Network.TLS.Struct13
valuetypeOfHandshake13 :: Handshake13 -> HandshakeType
#
typetype CertReqContext = ByteString
#

Certificate request context for TLS 1.3.

datadata SessionData
#
Instances5Eq, Show, Generic, Serialise, Rep
datadata SessionFlag
#

Some session flags

Constructors

  • SessionEMS

    Session created with Extended Main Secret

Instances6Enum, Eq, Show, Generic, Serialise, Rep
datadata TLS13TicketInfo
#

Constructors

  • TLS13TicketInfo
    • lifetime :: Second
    • ageAdd :: Second
    • txrxTime :: Millisecond
    • estimatedRTT :: Maybe Millisecond
Instances5Eq, Show, Generic, Serialise, Rep
newtypenewtype Version
#

Versions known to TLS

Constructors

Instances6Eq, Ord, Show, Generic, Serialise, Rep
typetype HostName = String
#

Either a host name e.g., "haskell.org" or a numeric host address string consisting of a dotted decimal IPv4 address or an IPv6 address e.g., "192.168.0.1".

datadata Cipher
#

Cipher algorithm

Constructors

  • Cipher
    • cipherID :: CipherID
    • cipherName :: String
    • cipherHash :: Hash
    • cipherBulk :: Bulk
    • cipherKeyExchange :: CipherKeyExchangeType
    • cipherMinVer :: Maybe Version
    • cipherPRFHash :: Maybe Hash
Instances2Eq, Show
  • Eq CipherDefined in tls-2.1.6 · Network.TLS.Types.Cipher
  • Show CipherDefined in tls-2.1.6 · Network.TLS.Types.Cipher
datadata Bulk
#

Constructors

  • Bulk
    • bulkName :: String
    • bulkKeySize :: Int
    • bulkIVSize :: Int
    • bulkExplicitIV :: Int
    • bulkAuthTagLen :: Int
    • bulkBlockSize :: Int
    • bulkF :: BulkFunctions
Instances2Eq, Show
  • Eq BulkDefined in tls-2.1.6 · Network.TLS.Types.Cipher
  • Show BulkDefined in tls-2.1.6 · Network.TLS.Types.Cipher
datadata BulkFunctions
#

Constructors

  • BulkBlockF (BulkDirection -> BulkKey -> BulkBlock)
  • BulkStreamF (BulkDirection -> BulkKey -> BulkStream)
  • BulkAeadF (BulkDirection -> BulkKey -> BulkAEAD)
datadata BulkDirection
#
Instances2Eq, Show
  • Eq BulkDirectionDefined in tls-2.1.6 · Network.TLS.Types.Cipher
  • Show BulkDirectionDefined in tls-2.1.6 · Network.TLS.Types.Cipher
typetype CipherID = Word16
#

Cipher identification

datadata EarlySecret
#

Phantom type indicating early traffic secret.

Instances2HasCryptLevel, LogLabel
newtypenewtype ServerTrafficSecret a
#

A server traffic secret, typed with a parameter indicating a step in the TLS key schedule.

Instances4Show, LogLabel, TrafficSecret
newtypenewtype ClientTrafficSecret a
#

A client traffic secret, typed with a parameter indicating a step in the TLS key schedule.

Instances5Show, LogLabel, TrafficSecret
newtypenewtype AnyTrafficSecret a
#

Constructors

Instances2Show, TrafficSecret
  • Show (AnyTrafficSecret a)Defined in tls-2.1.6 · Network.TLS.Types.Secret
  • HasCryptLevel a => TrafficSecret (AnyTrafficSecret a)Defined in tls-2.1.6 · Network.TLS.Handshake.State13
datadata Role
#
Instances2Eq, Show
  • Eq RoleDefined in tls-2.1.6 · Network.TLS.Types
  • Show RoleDefined in tls-2.1.6 · Network.TLS.Types
newtypenewtype CipherId
#

Constructors

  • CipherId
Instances10Enum, Eq, Integral, Num, Ord, Read, …
  • Enum CipherIdDefined in tls-2.1.6 · Network.TLS.Types.Cipher
  • Eq CipherIdDefined in tls-2.1.6 · Network.TLS.Types.Cipher
  • Integral CipherIdDefined in tls-2.1.6 · Network.TLS.Types.Cipher
  • Num CipherIdDefined in tls-2.1.6 · Network.TLS.Types.Cipher
  • Ord CipherIdDefined in tls-2.1.6 · Network.TLS.Types.Cipher
  • Read CipherIdDefined in tls-2.1.6 · Network.TLS.Types.Cipher
  • Real CipherIdDefined in tls-2.1.6 · Network.TLS.Types.Cipher
  • Show CipherIdDefined in tls-2.1.6 · Network.TLS.Types.Cipher
  • Generic CipherIdDefined in tls-2.1.6 · Network.TLS.Types.Cipher
  • type Rep CipherId = D1 ('MetaData "CipherId" "Network.TLS.Types.Cipher" "tls-2.1.6-3TrFPbgFIalLKNEHCldmNu" 'True) (C1 ('MetaCons "CipherId" 'PrefixI 'True) (S1 ('MetaSel ('Just "fromCipherId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16)))Defined in tls-2.1.6 · Network.TLS.Types.Cipher
valueinvertRole :: Role -> Role
#
datadata Direction
#

Direction

Instances2Eq, Show
  • Eq DirectionDefined in tls-2.1.6 · Network.TLS.Types
  • Show DirectionDefined in tls-2.1.6 · Network.TLS.Types
newtypenewtype BigNum
#

Constructors

Instances2Eq, Show
  • Eq BigNumDefined in tls-2.1.6 · Network.TLS.Types
  • Show BigNumDefined in tls-2.1.6 · Network.TLS.Types
valuebigNumToInteger :: BigNum -> Integer
#
valuebigNumFromInteger :: Integer -> BigNum
#
datadata ResumptionSecret
#
newtypenewtype BaseSecret a
#

Constructors

Instances1Show
  • Show (BaseSecret a)Defined in tls-2.1.6 · Network.TLS.Types.Secret
datadata SecretTriple a
#

Constructors

Instances1Show
  • Show (SecretTriple a)Defined in tls-2.1.6 · Network.TLS.Types.Secret
datadata SecretPair a
#

Constructors

newtypenewtype MainSecret
#

Constructors

Instances2Show, LogLabel
  • Show MainSecretDefined in tls-2.1.6 · Network.TLS.Types.Secret
  • LogLabel MainSecretDefined in tls-2.1.6 · Network.TLS.Handshake.Key
valueglobalCipherDict :: IORef [Cipher]
#
typetype Millisecond = Word64
#
typetype GetContinuation a = ByteString -> GetResult a
#
newtypenewtype Get a
#

The Get monad is an Exception and State monad.

Instances6Monad, Functor, MonadFail, Applicative, Alternative, MonadPlus
  • Monad GetDefined in cereal-0.5.8.3 · Data.Serialize.Get
  • Functor GetDefined in cereal-0.5.8.3 · Data.Serialize.Get
  • MonadFail GetDefined in cereal-0.5.8.3 · Data.Serialize.Get
  • Applicative GetDefined in cereal-0.5.8.3 · Data.Serialize.Get
  • Alternative GetDefined in cereal-0.5.8.3 · Data.Serialize.Get
  • MonadPlus GetDefined in cereal-0.5.8.3 · Data.Serialize.Get
datadata GetResult a
#

Constructors

  • GotError TLSError
  • GotPartial (GetContinuation a)
  • GotSuccess a
  • GotSuccessRemaining a ByteString
valueremaining :: Get Int
#

Get the number of remaining unparsed bytes. Useful for checking whether all input has been consumed.

WARNING: when run with runGetPartial, remaining will only return the number of bytes that are remaining in the current input.

valuegetBigNum16 :: Get BigNum
#
valueisEmpty :: Get Bool
#

Test whether all input has been consumed.

WARNING: when run with runGetPartial, isEmpty will only tell you if you're at the end of the current chunk.

typetype Put = PutM ()
#

Put merely lifts Builder into a Writer monad, applied to ().

valueputBigNum16 :: BigNum -> Put
#
valuesendPacket12 :: Context -> Packet -> IO ()
#

Send one packet to the context

valuerecvPacket12 :: Context -> IO (Either TLSError Packet)
#

receive one packet from the context that contains 1 or many messages (many only in case of handshake). if will returns a TLSError if the packet is unexpected or malformed

valuemakeCipherShowPretty :: IO ()
#