生成GPG密钥
签署发布包
GPG密钥至少需要2K。
如果您正在使用Vault,请参阅库的指令。
生成私有和公共GPG密钥的方法是平台相关的。
下面以GPG版本的Linux操作系统为例说明如何生成密钥2.1及以上.
#生成密钥gpg——full-generate-key #选择RSA请选择您想要的密钥类型:(1)RSA和RSA(默认)(2)DSA和Elgamal (3) DSA(仅签名)(4)RSA(仅签名)#选择您可以使用默认值的密钥大小。RSA密钥长度可能在1024到4096位之间。你想要多大的键?(2048) #选择密钥的有效性(0不会过期)0 =密钥不过期=密钥在n天内过期w =密钥在n周内过期m =密钥在n个月内过期y =密钥在n年内过期密钥有效时间为?(0) <-通过点击回车键接受默认值不会过期这是正确的吗?(y/N) y #输入用户ID和email真实姓名:email地址:备注:#导出指定ID的私钥到文件gpg——output{私钥文件名和路径}——armor——Export -secret-keys {key- ID} #导出指定ID的公钥到文件gpg——output{公钥文件名和路径}——armor——Export {key- ID}
别忘了点击“保存”
到版本7.16.6,以确保您的签名密钥正确地存储在Artifactory的数据库中,您将需要单击保存即使您的签名密钥没有密码。
签署发布包
如果GPG密钥对是使用密码短语创建的,请确保复制密码短语作为纪念,因为JFrog发行版在签署发布包时需要它。
上传和部署GPG密钥
要在JFrog Distribution、源Artifactory和Artifactory Edge节点之间创建信任,您需要运行上传和传播用于分发的GPG签名密钥用于上传和部署GPG密钥的REST API。作为自动化部署过程的一部分,签名密钥REST API将:
- 将生成的GPG密钥对(公共和私有)部署到JFrog分发中。这对密钥存储在JFrog Distribution内部。
- 将生成的GPG公钥部署到源Artifactory和Artifactory Edge节点上。公钥将存储在管理|服务| Artifactory |安全|密钥管理|公钥在源Artifactory和Artifactory Edge节点上。
- 如果“
propagate_to_edge_nodes
,则公钥只会自动传播到边缘节点一次。
如果要手动触发将键部署到边缘,可以使用以下方法将GPG签名密钥传播到边缘节点REST API命令。
多个GPG签名密钥
从版本2.8.1开始,分发现在支持管理多对GPG签名密钥,使用一组REST api对发布包进行签名。这使您能够为每个发布包分配一个签名密钥对,为您提供粒度来选择使用哪些密钥来签署发布包,而不是使用相同的密钥对来签署所有的密钥。
升级后指引
当从包含GPG密钥的以前版本升级到发行版2.8.1时,使用新的多个GPG签名密钥特性有以下几点注意事项:
- 现有的GPG签名密钥将被保留并命名
default-gpg-key
. - 发布包应该使用以下方法分配键对:
- 上传和传播用于分发的GPG签名密钥REST API:使用附加参数上传多个键
别名
而且默认的
. - 签署发布包版本:使用附加参数对发布包进行签名
signing_key_alias
.
- 上传和传播用于分发的GPG签名密钥REST API:使用附加参数上传多个键
- 对于每个密钥对,您需要提供一个别名(必须的)。如果没有提供别名,则生成的名称由GPG和时间戳组成。
该特性是通过REST API支持的,以下是现有REST API的基础上新增的REST API:
手动部署GPG密钥到边缘节点
对于在初始分发GPG部署流程之后添加的其他Artifactory Edge节点,需要运行将GPG签名密钥传播到边缘节点REST API命令。