@@ -42,23 +42,22 @@ import Control.Monad.IO.Class
4242import Control.Monad.Trans.Except
4343import qualified Data.Aeson.TH as J
4444import qualified Data.Attoparsec.ByteString.Char8 as A
45- import Data.Bifunctor (bimap , first )
45+ import Data.Bifunctor (first )
4646import qualified Data.ByteArray as BA
4747import Data.ByteString.Builder (Builder , byteString )
4848import Data.ByteString.Char8 (ByteString )
4949import qualified Data.ByteString.Char8 as B
5050import qualified Data.ByteString.Lazy.Char8 as LB
5151import Data.Functor (($>) )
5252import Data.Word (Word16 , Word32 )
53- import qualified Data.X509 as X
5453import Network.HTTP2.Client (HTTP2Error )
5554import qualified Simplex.Messaging.Crypto as C
5655import qualified Simplex.Messaging.Crypto.Lazy as LC
5756import Simplex.Messaging.Encoding
5857import Simplex.Messaging.Encoding.String
5958import Simplex.Messaging.Parsers
6059import Simplex.Messaging.Protocol (BlockingInfo , CommandError )
61- import Simplex.Messaging.Transport (ALPN , SessionId , THandle (.. ), THandleParams (.. ), TransportError (.. ), TransportPeer (.. ))
60+ import Simplex.Messaging.Transport (ALPN , CertChainPubKey , SessionId , THandle (.. ), THandleParams (.. ), TransportError (.. ), TransportPeer (.. ))
6261import Simplex.Messaging.Transport.HTTP2.File
6362import Simplex.Messaging.Util (bshow , tshow )
6463import Simplex.Messaging.Version
@@ -112,7 +111,7 @@ data XFTPServerHandshake = XFTPServerHandshake
112111 { xftpVersionRange :: VersionRangeXFTP ,
113112 sessionId :: SessionId ,
114113 -- | pub key to agree shared secrets for command authorization and entity ID encryption.
115- authPubKey :: ( X. CertificateChain , X. SignedExact X. PubKey )
114+ authPubKey :: CertChainPubKey
116115 }
117116
118117data XFTPClientHandshake = XFTPClientHandshake
@@ -132,15 +131,12 @@ instance Encoding XFTPClientHandshake where
132131
133132instance Encoding XFTPServerHandshake where
134133 smpEncode XFTPServerHandshake {xftpVersionRange, sessionId, authPubKey} =
135- smpEncode (xftpVersionRange, sessionId, auth)
136- where
137- auth = bimap C. encodeCertChain C. SignedObject authPubKey
134+ smpEncode (xftpVersionRange, sessionId, authPubKey)
138135 smpP = do
139136 (xftpVersionRange, sessionId) <- smpP
140- cert <- C. certChainP
141- C. SignedObject key <- smpP
137+ authPubKey <- smpP
142138 Tail _compat <- smpP
143- pure XFTPServerHandshake {xftpVersionRange, sessionId, authPubKey = (cert, key) }
139+ pure XFTPServerHandshake {xftpVersionRange, sessionId, authPubKey}
144140
145141sendEncFile :: Handle -> (Builder -> IO () ) -> LC. SbState -> Word32 -> IO ()
146142sendEncFile h send = go
0 commit comments