PKIjs
PKIjs 为构建 PKI 应用所需的最常见的格式和算法提供了一个 Typescript 实现。
能力
- X.509 证书(RFC 5280)的创建和验证被所有支持证书的应用程序所使用。
- PKCS#10(RFC 2986)是 X.509 应用最常用的注册数据结构。它使请求者能够证明对特定公钥的控制。
- Cryptographic Message Syntax(RFC 5652)是 X.509 应用中最常用的数据结构,用于签署数据。CMS 使得签署和表示验证签名所需的所有数据都很容易。
- 加密信息语法(RFC 5652)也是 X.509 应用中最常用的数据结构,用于加密数据。CMS 使得提供可互操作的数据加密变得容易。
- 时间戳协议(RFC 3161)是证明数据在某个特定时间之前存在的最常用协议。它通常用于签名应用,以确保签名在未来很长一段时间内都是可验证的。
目标
- 类型脚本和面向对象的实现
- 不包含加密实现,而是利用 Web Crypto API
- 在浏览器和 Node/Dino 中都能统一工作
安装
要安装稳定版。
npm install --save pkijs
假设你使用 npm 作为你的软件包管理器。
实例
证书和废止
- Create and validate an X.509 certificate
- Working with certificate requests
- Creating and parsing CRLs
- Working with OCSP requests
- Working with OCSP responses
用CMS进行签名和加密
- Working with CMS Signing
- Working with CMS Certificate-based Encryption
- Working with CMS password-based Encryption
- Working with PKCS#7 Certificate bags (P7B)
时间戳
其他
- How to verify a signature in a PDF file
- S/MIME signature verification
- S/MIME signature encryption
- Working with PKCS#12 files
文档
你可以 在网站上 找到 PKI.js 的文档。
想帮忙吗?
想提交一个错误,贡献一些代码,或改进文档吗?很好! 请阅读我们的贡献指南。
核心贡献者