3 个版本 (破坏性更新)
0.3.0 | 2019 年 5 月 3 日 |
---|---|
0.2.0 | 2019 年 4 月 4 日 |
0.1.0 | 2019 年 3 月 6 日 |
#16 in #scuttlebutt
16KB
232 行
shs_async
异步秘密握手协议(用于 Secure Scuttlebutt (SSB))。
#![feature(async_await, await_macro, futures_api)]
use shs_async::*;
let stream = some_asyncread_asyncwrite_stream();
let net_id = NetworkId::SSB_MAIN_NET;
let (pk, sk) = server::generate_longterm_keypair();
let outcome = await!(server(stream, net_id, pk, sk));
// `outcome` is:
// pub struct HandshakeOutcome {
// pub c2s_key: ClientToServerKey,
// pub s2c_key: ServerToClientKey,
// pub c2s_noncegen: ClientToServerNonceGen,
// pub s2c_noncegen: ServerToClientNonceGen,
// }
let outcome = await!(client(stream, net_id, pk, sk, server_pk));
依赖
~19MB
~102K SLoC