tls 1.2.1 → 1.2.2
raw patch · 3 files changed
+20/−3 lines, 3 filesdep ~x509-store
Dependency ranges changed: x509-store
Files
- Network/TLS.hs +1/−0
- Network/TLS/Credentials.hs +17/−1
- tls.cabal +2/−2
Network/TLS.hs view
@@ -62,6 +62,7 @@ , Credentials(..) , Credential , credentialLoadX509+ , credentialLoadX509FromMemory -- * Initialisation and Termination of context , bye
Network/TLS/Credentials.hs view
@@ -9,6 +9,7 @@ ( Credential , Credentials(..) , credentialLoadX509+ , credentialLoadX509FromMemory , credentialsFindForSigning , credentialsFindForDecrypting , credentialsListSigningAlgorithms@@ -20,6 +21,7 @@ import Network.TLS.Struct import Network.TLS.X509 import Data.X509.File+import Data.X509.Memory import Data.X509 type Credential = (CertificateChain, PrivKey)@@ -31,7 +33,8 @@ mappend (Credentials l1) (Credentials l2) = Credentials (l1 ++ l2) -- | try to create a new credential object from a public certificate--- and the associated private key.+-- and the associated private key that are stored on the filesystem+-- in PEM format. credentialLoadX509 :: FilePath -- ^ public certificate (X.509 format) -> FilePath -- ^ private key associated -> IO (Either String Credential)@@ -41,6 +44,19 @@ case keys of [] -> return $ Left "no keys found" (k:_) -> return $ Right (CertificateChain x509, k)++-- | similar to 'credentialLoadX509' but take the certificate+-- and private key from memory instead of from the filesystem.+credentialLoadX509FromMemory :: Bytes+ -> Bytes+ -> Either String Credential+credentialLoadX509FromMemory certData privateData = do+ let x509 = readSignedObjectFromMemory certData+ keys = readKeyFileFromMemory privateData+ in case keys of+ [] -> Left "no keys found"+ (k:_) -> Right (CertificateChain x509, k)+ where credentialsListSigningAlgorithms :: Credentials -> [SignatureAlgorithm] credentialsListSigningAlgorithms (Credentials l) = catMaybes $ map credentialCanSign l
tls.cabal view
@@ -1,5 +1,5 @@ Name: tls-Version: 1.2.1+Version: 1.2.2 Description: Native Haskell TLS and SSL protocol implementation for server and client. .@@ -49,7 +49,7 @@ , asn1-types >= 0.2.0 , asn1-encoding , x509 >= 1.4.3 && < 1.5.0- , x509-store+ , x509-store >= 1.4.4 , x509-validation >= 1.5.0 && < 1.6.0 Exposed-modules: Network.TLS Network.TLS.Cipher