mirror of https://github.com/voidlizard/hbs2
wip
This commit is contained in:
parent
e53c6e84fc
commit
686ac2523d
|
@ -117,6 +117,8 @@ encryptionHandshakeProto EncryptionHandshakeAdapter{..} penv = \case
|
|||
mpeerData <- find (KnownPeerKey peer) id
|
||||
-- TODO: check theirsign
|
||||
trace $ "EHSP ResetEncryptionKeys from" <+> viaShow (peer, mpeerData)
|
||||
|
||||
-- сначала удалим у себя его прошлый ключ
|
||||
encHandshake_considerPeerAsymmKey peer mpeerData Nothing
|
||||
|
||||
creds <- getCredentials @s
|
||||
|
@ -138,7 +140,10 @@ encryptionHandshakeProto EncryptionHandshakeAdapter{..} penv = \case
|
|||
-- подписать нонс
|
||||
let sign = makeSign @s (view peerSignSk creds) (unEENonce nonce0 <> (cs . serialise) ourpubkey)
|
||||
|
||||
-- отправить обратно вместе с публичным ключом
|
||||
-- сначала удалим у себя его прошлый ключ
|
||||
encHandshake_considerPeerAsymmKey peer mpeerData Nothing
|
||||
|
||||
-- отправить обратно свой публичный ключ
|
||||
-- отправится пока ещё в плоском виде
|
||||
response (AckEncryptionExchange @e nonce0 sign ourpubkey)
|
||||
|
||||
|
@ -152,6 +157,7 @@ encryptionHandshakeProto EncryptionHandshakeAdapter{..} penv = \case
|
|||
|
||||
trace $ "EHSP AckEncryptionExchange from" <+> viaShow (peer, mpeerData)
|
||||
|
||||
-- Он уже прописал у себя наш публичный ключ и готов общаться шифрованными сообщениями
|
||||
-- Прописываем его ключ у себя
|
||||
encHandshake_considerPeerAsymmKey peer mpeerData (Just theirpubkey)
|
||||
|
||||
|
|
|
@ -656,7 +656,7 @@ runPeer opts = U.handle (\e -> myException e
|
|||
deletePeerAsymmKey brains peer
|
||||
deletePeerSymmKey brains peer
|
||||
Just pk -> do
|
||||
emit PeerAsymmInfoKey (PeerAsymmPubKey peer pk)
|
||||
-- emit PeerAsymmInfoKey (PeerAsymmPubKey peer pk)
|
||||
insertPeerAsymmKey brains peer pk
|
||||
insertPeerSymmKey brains peer $
|
||||
genCommonSecret @s
|
||||
|
|
Loading…
Reference in New Issue