2 个版本
| 0.1.1 | 2020 年 10 月 15 日 |
|---|---|
| 0.1.0 | 2020 年 10 月 15 日 |
#1289 在 WebAssembly
185KB
5K SLoC
WASI 密码学 API
此存储库用于开发 WebAssembly 社区组 WASI 子组 的密码学 API 提案。
请参阅这些组的文档以获取有关其流程、目标、范围和交付成果的更多信息。
- 高级目标
- 安全设计文档
- 规范
- 接口定义
- 简洁的 API 概述
- Wasmtime 实现 - 具有 wasi-crypto 集成的 Wasmtime 分支
- 示例 AssemblyScript 绑定
- 示例 Rust 绑定
测试 API
示例实现导出
- 一个 Rust 接口
CryptoCtx,它模仿witx文件,但可以直接使用,而无需 WebAssembly 运行时。 - 一层薄的
WasiCryptoCtx层,直接使用wiggle将 API 映射到 WASI 调用约定。
CryptoCtx 可以用于在 Rust 中快速实验 API。
其他语言可以使用上面的 wasmtime 分支 作为 WebAssembly 运行时来访问加密 API。
在这种配置中,API 可以通过导出的 wasi_ephemeral_crypto 模块访问。
请参见 AssemblyScript 和 Rust 绑定示例。
作为概念验证,目前支持以下算法
ECDSA_P256_SHA256ECDSA_K256_SHA256Ed25519RSA_PKCS1_2048_SHA256RSA_PKCS1_2048_SHA384RSA_PKCS1_2048_SHA512RSA_PKCS1_3072_SHA384RSA_PKCS1_3072_SHA512RSA_PKCS1_4096_SHA512RSA_PSS_2048_SHA256RSA_PSS_2048_SHA384RSA_PSS_2048_SHA512RSA_PSS_3072_SHA384RSA_PSS_3072_SHA512RSA_PSS_4096_SHA512HKDF-EXTRACT/SHA-256HKDF-EXTRACT/SHA-512HKDF-EXPAND/SHA-256HKDF-EXPAND/SHA-512HMAC/SHA-256HMAC/SHA-512SHA-256SHA-512SHA-512/256AES-128-GCMAES-256-GCMCHACHA20-POLY1305XCHACHA20-POLY1305XOODYAK-128XOODYAK-160X25519KYBER768
依赖项
~39MB
~785K SLoC