#bindings #low-level #libkcapi #kcapi

sys kcapi-sys

libkcapi 的官方低级 Rust 绑定

8 个版本 (5 个稳定)

1.4.1 2022 年 6 月 17 日
1.4.0 2022 年 6 月 16 日
1.3.0 2022 年 2 月 7 日
1.1.0 2021 年 11 月 9 日
0.0.3 2014 年 12 月 18 日

#2042 in 密码学

每月 23 次下载
kcapi 中使用

BSD-3-Clause

335KB
9K SLoC

C 7K SLoC // 0.1% comments Rust 2K SLoC // 0.1% comments Automake 251 SLoC M4 123 SLoC // 0.4% comments XSL 9 SLoC

包含 (晦涩的 autoconf 代码, 8KB) libkcapi/configure.ac

libkcapi 的原生 Rust 绑定

CI Badge License Badge Crate Badge

此仓库包含 libkcapi 的官方原生低级绑定。 不要 直接在您的项目中使用这些绑定。相反,将作为 kcapi 包的一部分提供安全的 Rusty API。

先决条件

在构建此项目之前,请克隆此仓库,并递归地检出所有子模块。

git clone https://github.com/puru1761/kcapi-sys.git --recurse-submodules

安装所有构建依赖项。这些是

  • autotools
  • autoconf
  • llvm-dev
  • libtool
  • build-essential

RPM 基于的包管理器

sudo yum install automake autoconf llvm-devel

Debian 基于的包管理器

sudo apt-get install \
    autotools-dev \
    autoconf \
    llvm-dev \
    libtool \
    build-essential \

如果未设置 LLVM_CONFIG_PATH,则使用以下方式设置它

export LLVM_CONFIG_PATH="/path/to/llvm-config"

构建

我们使用 cargo 作为构建系统来构建此包。使用以下命令构建它

cargo build

使用本地 libkcapi 构建

要使用本地安装的 libkcapi 版本构建此包,您可以使用 local-kcapi 功能。在您的 Cargo.toml 中

kcapi-sys = { version = "1.4.0", default-features = false, features = ["local-kcapi"] }

注意: 这仅在 libkcapi v1.4.0 上进行了测试,并且不保证与较旧的 libkcapi 版本一起工作。

测试

我们编写了一些基本测试,以确保绑定按预期工作。使用以下命令运行这些测试

cargo test

作者

无运行时依赖

~0–2MB
~38K SLoC