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