smallstep/crypto

GitHub: smallstep/crypto

为 Smallstep 产品线提供统一的 Go 密码学工具集,覆盖证书生成、密钥管理、KMS 抽象与 JWT 处理等场景。

Stars: 103 | Forks: 32

# crypto [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Go Report Card](https://goreportcard.com/badge/github.com/smallstep/crypto)](https://goreportcard.com/report/github.com/smallstep/crypto) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/smallstep/crypto/actions/workflows/ci.yml) [![codecov](https://codecov.io/gh/smallstep/crypto/branch/master/graph/badge.svg)](https://codecov.io/gh/smallstep/crypto) [![Documentation](https://godoc.org/go.step.sm/crypto?status.svg)](https://pkg.go.dev/mod/go.step.sm/crypto) crypto 是一个用于 [smallstep](https://smallstep.com) 产品的包集合。请参阅: * [step](https://github.com/smallstep/cli):一把零信任的瑞士军刀,用于 处理 X509、OAuth、JWT、OATH OTP 等。 * [step-ca](https://github.com/smallstep/certificates):一个私有证书 授权 (X.509 & SSH) & ACME 服务器,用于安全的自动化证书 管理,以便您可以在任何地方使用 TLS 并为 SSH 使用 SSO。 ## 用法 要将其添加到项目中,只需运行: ``` go get go.step.sm/crypto ``` ## 包 ### x509util `x509util` 包实现了基于 JSON 模板构建 X.509 证书的工具。 ### sshutil `sshutil` 包实现了基于 JSON 模板构建 SSH 证书的工具。 ### keyutil `keyutil` 包实现了生成加密密钥的工具。 ### pemutil `pemutil` 包实现了解析密钥和证书的工具。它还 包含一个方法,用于将密钥、X.509 证书和证书请求 序列化为 PEM。 ### randutil `randutil` 包提供了生成随机字符串和盐值的方法。 ### tlsutil `tlsutil` 包提供了用于配置 tls 客户端和服务器的工具。 ### jose `jose` 包是 `github.com/go-jose/go-jose/v3` 的封装,并实现了 用于解析和生成 JWT、JWK 和 JWKSets 的工具。 ### x25519 ### minica `minica` 包实现了一个简单的证书授权机构。 ### kms `kms` 包实现了用于执行加密操作的接口,例如 使用基于云的密钥管理系统、PKCS #11 模块, 或者仅仅是 YubiKey 或 ssh-agent 来签署证书。在云端它支持: * [Amazon AWS KMS](https://aws.amazon.com/kms/) * [Google Cloud Key Management](https://cloud.google.com/security-key-management) * [Microsoft Azure Key Vault](https://azure.microsoft.com/en-us/services/key-vault/) ### fingerprint `fingerprint` 包提供了创建和编码 X.509 证书、SSH 证书和 SSH 密钥指纹的方法。 ### tpm `tpm` 包提供了与 TPM 交互的抽象层和实用工具。它可用于检索 TPM 信息、检索其背书密钥 (EK) 和关联的证书、创建和操作证明密钥 (AK), 以及创建和操作(经过证明的)应用程序密钥。`storage` 子包 提供了一个接口和具体的实现,为证明密钥和应用程序密钥提供透明的 持久化机制。 ### fipsutil `fipsutil` 包用于报告加密库是否正在 FIPS 140-3 模式下运行。
标签:EVTX分析, Go, JWT, Ruby工具, SOC Prime, X.509证书, 加密库, 密码学, 开发工具, 手动系统调用, 日志审计