1 个不稳定发布
0.1.0 | 2019 年 7 月 21 日 |
---|
#24 在 #whisper
1.5MB
35K SLoC
libsignal-protocol-rs
(API 文档)
Rust 接口到 Signal 协议。
示例
你可以用这个库生成一个私钥身份。这通常只在第一次启动时进行(有时称为 安装时间)。
// create our global context (for things like crypto and locking)
let ctx = Context::default();
let identity = libsignal_protocol::generate_identity_key_pair(&ctx)?;
接下来,你通常需要生成一些未签名的预密钥,供人们联系你时使用,以及一个已签名的预密钥。
let ctx = Context::default();
let identity = libsignal_protocol::generate_identity_key_pair(&ctx)?;
let signed_pre_key = libsignal_protocol::generate_signed_pre_key(
&ctx,
&identity,
5,
SystemTime::now(),
)?;
let start = 123;
let count = 20;
let pre_keys = libsignal_protocol::generate_pre_keys(&ctx, start, count)?
.collect::<Vec<PreKey>>();
在安装时还应创建一个注册 ID。
let ctx = Context::default();
let extended_range = 42;
let registration_id = libsignal_protocol::generate_registration_id(&ctx, extended_range)?;
法律事宜
密码学声明
此发行版包含密码学软件。你目前居住的国家可能对加密软件的进口、拥有、使用和/或再出口到另一国有限制。在使用任何加密软件之前,请检查你所在国家的法律、法规和政策,了解关于加密软件的进口、拥有或使用以及再出口的规定,以查看这是否被允许。更多信息请访问 http://www.wassenaar.org/。
美国商务部工业和安全局(BIS)将此软件归类为出口商品控制编号(ECCN)5D002.C.1,该编号包括使用或执行非对称算法的加密功能的信息安全软件。此发行的形式和方式使其符合许可证例外 ENC 技术软件不受限制(TSU)例外(参见 BIS 出口管理局法规第 740.13 节),适用于目标代码和源代码。
许可证
版权所有 2015-2019 Open Whisper Systems
根据 GPLv3 许可:https://gnu.ac.cn/licenses/gpl-3.0.html
提交到 Apple App Store 的附加权限:只要你在传递每个受覆盖作品时(包括但不限于使相应的源代码符合 GPLv3 第 6 节)遵守 GPLv3,Open Whisper Systems 还授予你通过 Apple App Store 传递程序的不可执行版本(仅作为执行版本)的附加权限,作为每个适用的受覆盖作品的一部分,根据 Mozilla 公共许可证版本 2.0(https://www.mozilla.org/en-US/MPL/2.0/)。
依赖项
~2.6–4MB
~79K SLoC