IRONSOFTWAREHOME
USING IRONSECUREDOC

Docker 签名 PDF(开发者教程

Curtis Chau
Curtis Chau
Updated: 2026年5月8日

在瞬息万变的软件开发和部署环境中,安全性始终是重中之重。Docker 是一款广受欢迎的容器平台,因为它能为应用程序带来诸多优势,例如一致性、可扩展性和隔离性。 不过,任何技术都一样,如果操作过程中采用不当做法,就可能变得不堪一击。 对于 Docker 安全而言,最重要的方面之一是保持 Docker 镜像的干净和完全可信。 这里就轮到Docker Signer Add 工具发挥作用了。 以下文章将探讨 Docker Signer 是什么,为什么它很重要,以及如何在开发流程中有效地实现它。

什么是 Docker Signer?

Docker Signer是一款旨在通过使用数字签名来增强 Docker 镜像安全性的实用程序。 签名用于对 Docker 镜像进行身份验证和完整性验证,从而确保没有发生任何篡改或更改。

对于数字签名而言,在生成 Docker 镜像的加密签名后,即可使用数字签名来证明自镜像签名以来没有对镜像进行任何修改。 将 Docker Signer 集成到您的 CI/CD 管道中意味着您正在应用一个强大的安全模型,其中您只部署受信任的镜像。

Docker Signer 为什么重要?

-完整性验证: Docker 镜像本质上只是一个包含文件和元数据的 tar 包。 否则,就无法保证你部署的东西正是你想要的。 Docker Signer 提供了一种确保完整性的方法,检查镜像是否已更改或损坏。

-**身份验证:**数字签名确保 Docker 镜像来源的真实性。 这意味着您可以放心,它来自您信任的人,并且在运输过程中没有任何改变。

-**合规性和审计:**许多行业和企业在安全和审计方面都有严格的合规性要求。 Docker签名器通过非常清晰的镜像真实性和完整性跟踪来帮助实现合规性。

**信任管理:**这在任何多团队或多组织架构中都是不言而喻的。Docker Signer 通过不使用未经签名的镜像(至少是经过源验证的镜像)来实现信任管理。

Docker签名器的工作原理

Docker Signer 使用一些密码学技术来生成和验证签名。 步骤如下:

1. Docker镜像签名:

-**生成签名:**在构建 Docker 容器时,使用先前使用的根密钥和创建的私钥作为公钥-私钥对的一部分,以加密方式为容器生成数字签名。

-**在镜像中包含签名:**此输出签名将应用于 Docker 容器,可以通过关联的元数据,也可以通过完全不同的签名文件。

2. Docker镜像验证:

-签名验证: Docker Signer 使用已部署或已拉取的私钥的 ID 检查镜像在相应公钥上的签名,该私钥已用于对其 Docker 镜像进行签名。

-**完整性检查:**验证成功——证明图像自签名以来未被修改; 验证失败——可能存在篡改或损坏。

使用 IronSecureDoc 实现 Docker Signer

要有效实现 Docker Signer,请按照以下步骤操作:

设置 Docker Signer 添加步骤

启用 Docker 内容信任

Docker 内容信任默认是关闭的。 您可以通过将环境变量DOCKER_CONTENT_TRUST设置为1来打开它。

export DOCKER_CONTENT_TRUST=1
SHELL

初始化公证人存储库

在实际对镜像进行签名之前,必须先初始化 Notary 服务器存储库。 您的图像的委托密钥和签名将存储在其中。

docker trust key generate <name>
SHELL

该命令会生成一个新的密钥对,并将私钥保存在本地。

加载已创建密钥

使用docker trust key load将现有私钥加载到Docker的信任管理系统中。 该命令用于导入用户生成的或从其他来源收到的新存储库密钥,以便可用于在 Docker 内容信任下对 Docker 镜像进行签名。

docker trust key load --name <name> <path-to-public/private-key>
SHELL

下图显示了相应的公钥文件。

对 Docker 镜像进行签名

只需将镜像推送到 Docker 镜像仓库即可对其进行签名。 启用 Docker 内容信任;推送操作将对镜像进行签名。

docker push <your-registry>/<your-image>:<tag>
SHELL

如果启用了 Docker 内容信任,Docker 将使用您的私钥对镜像进行签名,并且签名也会随镜像一起发送出去。

验证签名图像

要验证已签名的镜像,请使用以下命令:

docker trust inspect --pretty <your-registry>/<your-image>:<tag>
SHELL

该命令输出与镜像关联的签名密钥和签名。

docker trust inspect命令用于验证签名的镜像

管理签名密钥

可以使用docker trust signer命令管理签名密钥。

添加签名人:

docker trust signer add --key <path-to-key> <signer-name> <your-registry>/<your-image>
SHELL

下图显示了将带有 ID 的存储库密钥添加到控制台,然后将证书添加到 Docker 存储库,并显示成功添加签名者的消息。

docker trust signer命令用于添加存储库密钥

使用自定义证书颁发机构 (CA)

如果使用自定义 CA,请确保 Docker 信任此 CA。 这通常涉及将 CA 证书放置在 Docker 的受信任证书列表中。

将您的CA证书粘贴到Docker主机上的/etc/docker/certs.d/<your-registry>/ca.crt文件中。

使用 TLS 的 Docker

要使用 TLS 保护 Docker 守护进程,请生成服务器和客户端证书,并配置 Docker 以使用它们。

生成证书

using OpenSSL 创建必要的证书:

openssl genrsa -aes256 -out ca-key.pem 4096
openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
SHELL

生成服务器和客户端密钥及证书:

openssl genrsa -out server-key.pem 4096
openssl req -subj "/CN=your-server" -sha256 -new -key server-key.pem -out server.csr
openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem
SHELL

最后,将证书放置在正确的目录中,并调整 Docker 守护程序配置,使 Docker 能够使用这些证书。

配置 Docker 守护进程

修改 Docker 守护进程的配置,使其使用生成的证书:

{
  "tls": true,
  "tlsverify": true,
  "tlscacert": "/etc/docker/ca.pem",
  "tlscert": "/etc/docker/server-cert.pem",
  "tlskey": "/etc/docker/server-key.pem",
  "hosts": ["tcp://0.0.0.0:2376", "unix:///var/run/docker.sock"]
}
JSON

重启 Docker 服务以应用更改。

IronSecureDoc是什么?

IronSecureDoc是一款企业级文档安全解决方案,可保护机密文档免受未经授权的访问和数据泄露。 它包含强大的工业级加密功能,可对静态文件和传输中的文件进行加密,确保您的文件安全存储和传输。 它包含详细的访问控制,用于控制用户查看和编辑文档的权限级别。 此外,它还提供高级数据处理工具,以便在共享之前隐藏关键信息。

IronSecureDoc: PDF安全与合规服务器

IronSecureDoc包含实时跟踪、审计和活动日志记录功能,支持 GDPR 和 HIPAA 合规性。 它与文档管理系统和协作平台集成,可在不中断工作流程的情况下增强安全性,保护关键信息,并提供符合合规要求的格式。 它尤其适用于金融、医疗和法律等行业。 使用详情请参阅教程页面。

在 IronSecureDoc 中添加签名者的优势

在 IronSecureDoc 框架内对 Docker 镜像进行签名,可以继承 Docker 镜像签名的所有安全功能,并利用 IronSecureDoc 的专用功能对其进行增强。 福利包括:

端到端安全与合规

-**更可靠的图像完整性:**确保从"构建"到"运行"的完整性。 未经授权,不得更改已签名的图像。

-监管合规性: IronSecureDoc 针对多个安全标准,简化了 Docker 签名者在严格的行业审计法规下的适应过程。

单一安全层

-**集成安全管理:**全面管理和保护文档和图像,集中一致地执行安全策略。

-**无缝工作流程集成:**将图像签名与现有的安全工作流程集成,从而降低复杂性并减少安全漏洞。

更安全的供应链

  • **CI/CD 安全管道:**确保在部署前验证 Docker 镜像,从而增强供应链安全性。

-**安全部署:**降低供应链攻击的风险,确保生产环境中只使用有效、可信的镜像。

结论

将 Docker 镜像签名与IronSecureDoc集成,可提高容器化应用程序的安全性、合规性和运行效率。 这样可以确保 Docker 镜像不被篡改,符合监管标准,并在整个软件供应链中保持可验证的信任链。 将 Docker 签名纳入IronSecureDoc框架,实现统一、自动化的数字资产安全,简化合规流程,并通过保护您的品牌和跨环境部署来增强利益相关者的信任。

IronSecureDoc提供免费试用。 企业许可信息请访问许可页面。 IronSecureDoc 提供全面的文档,帮助您快速上手。 Iron Software还提供IronPDFIronXLIronOCR等其他产品,用于解决 PDF 转换、Excel 任务、OCR 处理等相关问题。请访问我们的网站了解更多信息。

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

OR
bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户