leplusorg/docker-crypt

GitHub: leplusorg/docker-crypt

该工具集将多个主流密码学命令行工具打包到同一跨平台 Docker 镜像中,让用户无需本地安装即可在隔离容器内完成数据的加密、解密与签名操作。

Stars: 3 | Forks: 1

# 加密/解密/签名 多平台 Docker 容器,内置用于加密/解密/签名数据的实用工具(`gnupg`、`openssl`、`age`、`jose`、`xmlsec`...)。 [![Dockerfile](https://img.shields.io/badge/GitHub-Dockerfile-blue)](crypt/Dockerfile) [![Docker Build](https://static.pigsec.cn/wp-content/uploads/repos/cas/fe/fefca86bf4776b6db9e2a57c7ed9357a6027d1c95ae8ccea29596796f1e9a62e.svg)](https://github.com/leplusorg/docker-crypt/actions?query=workflow:"Docker") [![Docker Stars](https://img.shields.io/docker/stars/leplusorg/crypt)](https://hub.docker.com/r/leplusorg/crypt) [![Docker Pulls](https://img.shields.io/docker/pulls/leplusorg/crypt)](https://hub.docker.com/r/leplusorg/crypt) [![Docker Version](https://img.shields.io/docker/v/leplusorg/crypt?sort=semver)](https://hub.docker.com/r/leplusorg/crypt) [![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/10083/badge)](https://bestpractices.coreinfrastructure.org/projects/10083) [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/leplusorg/docker-crypt/badge)](https://securityscorecards.dev/viewer/?uri=github.com/leplusorg/docker-crypt) ## 不使用文件系统的示例 假设您当前的工作目录下有一个文件 `foo.txt`,您想使用公钥 `age1u9wu5f2eajlqluhra0jx6qxjeyyr2jygh6vguacrp9pd63kljsesam7cg7` 对其进行加密: **Mac/Linux** ``` cat foo.txt | docker run --rm -i --net=none leplusorg/crypt age --recipient age1u9wu5f2eajlqluhra0jx6qxjeyyr2jygh6vguacrp9pd63kljsesam7cg7 > foo.age ``` **Windows** ``` type foo.txt | docker run --rm -i --net=none leplusorg/crypt age --recipient age1u9wu5f2eajlqluhra0jx6qxjeyyr2jygh6vguacrp9pd63kljsesam7cg7 > foo.age ``` ## 使用文件系统的示例 同样地,假设您当前的工作目录下有一个文件 `foo.txt`,您想使用公钥 `age1u9wu5f2eajlqluhra0jx6qxjeyyr2jygh6vguacrp9pd63kljsesam7cg7` 对其进行加密: **Mac/Linux** ``` docker run --rm -t --user="$(id -u):$(id -g)" --net=none -v "$(pwd):/tmp" leplusorg/crypt age --recipient age1u9wu5f2eajlqluhra0jx6qxjeyyr2jygh6vguacrp9pd63kljsesam7cg7 --output /tmp/foo.age /tmp/foo.txt ``` **Windows** 在 `cmd` 中: ``` docker run --rm -t --net=none -v "%cd%:/tmp" leplusorg/crypt age --recipient age1u9wu5f2eajlqluhra0jx6qxjeyyr2jygh6vguacrp9pd63kljsesam7cg7 --output /tmp/foo.age /tmp/foo.txt ``` 在 PowerShell 中: ``` docker run --rm -t --net=none -v "${PWD}:/tmp" leplusorg/crypt age --recipient age1u9wu5f2eajlqluhra0jx6qxjeyyr2jygh6vguacrp9pd63kljsesam7cg7 --output /tmp/foo.age /tmp/foo.txt ``` ## 软件物料清单 (SBOM) 要获取最新镜像的 SBOM(SPDX JSON 格式),请使用 以下命令: ``` docker buildx imagetools inspect leplusorg/crypt --format '{{ json (index .SBOM "linux/amd64").SPDX }}' ``` 将 `linux/amd64` 替换为您所需的平台(`linux/amd64`、`linux/arm64` 等)。 ## 来源证明 要获取最新镜像的来源证明(JSON 格式),请使用 以下命令: ``` docker buildx imagetools inspect leplusorg/crypt --format '{{ json .Provenance }}' ``` ## Sigstore [Sigstore](https://docs.sigstore.dev) 允许您验证 artifact 的来源,从而致力于提升 供应链安全性。您可以验证您所使用的镜像确实是由 此仓库生成的。这意味着,如果您验证了 Docker 镜像的签名,您就可以信任从源代码、CI/CD 构建,再到 Maven Central 或其他任何您获取该镜像的地方的整个 供应链的完整性。 您可以使用以下命令通过其 sigstore 签名证明来验证最新的镜像: ``` cosign verify leplusorg/crypt --certificate-identity-regexp 'https://github\.com/leplusorg/docker-crypt/\.github/workflows/.+' --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' ``` 输出应如下所示: ``` Verification for index.docker.io/leplusorg/xml:main -- The following checks were performed on each of these signatures: - The cosign claims were validated - Existence of the claims in the transparency log was verified offline - The code-signing certificate was verified using trusted certificate authority certificates [{"critical":... ``` 有关如何安装 `cosign` 的说明,请阅读此[文档](https://docs.sigstore.dev/cosign/system_config/installation/)。 ## 请求新工具 请使用[此链接](https://github.com/leplusorg/docker-crypt/issues/new?assignees=thomasleplus&labels=enhancement&template=feature_request.md&title=%5BFEAT%5D)(需要 GitHub 账号)来请求将新工具添加到镜像中。我非常有兴趣为这些镜像添加新功能。 ## 安全性 请阅读 [SECURITY.md](SECURITY.md) 以了解有关我们的安全策略以及如何报告安全漏洞的详细信息。 ## 行为准则 请阅读 [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) 以了解有关我们的行为准则的详细信息。 ## 许可证 本项目根据 [LICENSE](LICENSE) 文件的条款进行授权。
标签:Docker, GnuPG, OpenSSL, 加密解密, 安全防御评估, 密码学, 手动系统调用, 请求拦截