使用旧的 Rust 2015
0.1.0 |
|
---|
#10 在 #证书链
36KB
663 代码行
软件按“原样”提供,且作者放弃与此软件有关的全部保证,包括所有关于适销性和适用于特定用途的隐含保证。在任何情况下,作者均不对因使用或运行此软件而产生的任何特殊、直接、间接或后果性损害或任何损害(包括但不限于因使用或运行此软件而导致的利润损失、数据丢失或损坏)承担责任,无论此类损害是由于合同、疏忽还是其他侵权行为引起的,无论此类损害是否与使用或运行此软件有关。
这是一个 libwebpki 的演示程序。
build.rs 展示了如何创建一个构建脚本,该脚本将一组信任锚以紧凑的形式嵌入到程序中,前提是给定一组 X.509 根证书文件。
src/verify_tls_cert.rs 中的 verify_cert
函数演示了如何使用 libwebpki API 验证证书。
你可以使用 cargo build
构建此程序。Cargo 将作为构建的一部分自动下载 libwebpki、ring 和其他依赖项。
此程序通过 TLS 连接到指定的服务器以提取其证书链。构建程序后,你可以这样运行它
$ target/debug/verify_tls_cert briansmith.org
OK
$ target/debug/verify_tls_cert expired.badssl.com
CertExpired
$ target/debug/verify_tls_cert wrong.host.badssl.com
CertNotValidForName
此演示程序不实现完整的 TLS 协议--它只实现了提取服务器证书链所需的最小功能。
许可
请参阅 LICENSE。此项目欣然接受没有任何正式版权/贡献者许可协议的拉取请求。拉取请求必须明确指出被贡献代码的版权所有者以及代码是在与现有 libwebpki 代码相同的条款下许可的。
错误报告
请通过拉取请求或通过 问题跟踪器 报告错误。
在线自动化测试
Travis CI 用于 Linux 和 Mac OS X。Appveyor 用于 Windows。
操作系统 | Arch. | 编译器 | 状态 |
---|---|---|---|
Linux | x86, x64 | GCC 4.8, 4.9, 5; Clang 3.4, 3.5, 3.6 | |
Mac OS X x64 | x86, x64 | Apple Clang 6.0(基于 Clang 3.5) | |
Windows | x86, x64 | MSVC 2013 (12.0), 2015 (14.0) |
依赖项
~6–13MB
~245K SLoC