Safe Haskell | None |
---|
- class Identity a where
- identityName :: a -> String
- writeIdentity :: (Functor m, MonadIO m) => a -> m ByteString
- readIdentity :: (Functor m, MonadIO m) => ByteString -> m a
- data PeerIdentity
- data LocalIdentity
- toPeerIdentity :: LocalIdentity -> PeerIdentity
- newLocalIdentity :: MonadIO m => String -> Int -> m LocalIdentity
- piX509 :: PeerIdentity -> X509
- liX509 :: LocalIdentity -> X509
- liKey :: LocalIdentity -> RSAKeyPair
- fromX509 :: X509 -> IO PeerIdentity
Documentation
An identity, public or private.
identityName :: a -> StringSource
Return the description that was associated with the identity when it was created.
writeIdentity :: (Functor m, MonadIO m) => a -> m ByteStringSource
Serialize an identity to a ByteString
for storage or
transmission.
readIdentity :: (Functor m, MonadIO m) => ByteString -> m aSource
Read back an identity previously serialized with writeIdentity.
data PeerIdentity Source
The public identity of a peer. This kind of identity can be used to authenticate the remote ends of connections.
data LocalIdentity Source
A local identity. This kind of identity can be used to authenticate to remote ends of connections.
toPeerIdentity :: LocalIdentity -> PeerIdentitySource
Extract the public parts of a LocalIdentity
into a
PeerIdentity
suitable for sharing with peers. The resulting
PeerIdentity
will allow them to verify your identity when you
authenticate using the corresponding LocalIdentity
.
newLocalIdentity :: MonadIO m => String -> Int -> m LocalIdentitySource
Generate a new LocalIdentity
, giving it an identifying name and
a validity period in days.
Note that this function may take quite a while to execute, as it is generating key material for the identity.
piX509 :: PeerIdentity -> X509Source
liX509 :: LocalIdentity -> X509Source
fromX509 :: X509 -> IO PeerIdentitySource