生成GPG密钥
签署发布包
GPG的密钥至少需要2K。
如果您正在使用Vault,请参阅库的指令。
生成私钥和公钥的方法是平台相关的。
下面以在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年内到期key的有效期为?(0) <-通过单击Enter接受默认值密钥根本不会过期是否正确?(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将:
- 为JFrog分发部署生成的GPG密钥对(公共和私有)。这对密钥存储在JFrog发行版的内部。
- 将生成的GPG公钥部署到源Artifactory和Artifactory Edge节点上。公钥将存储在管理|服务|人工|安全|密钥管理|公钥在源Artifactory和Artifactory Edge节点上。
- 如果“
propagate_to_edge_nodes
,则公钥只会自动传播到边缘节点一次。
如果您希望手动触发密钥到边缘的部署,您可以使用以下命令将GPG签名密钥传播到边缘节点REST API命令。
多个GPG签名密钥
从2.8.1版本开始,发行版现在支持管理多对GPG签名密钥,以便使用一组REST api对发布包进行签名。这使您能够为每个发布包分配签名密钥对,从而为您提供选择使用哪些密钥来签名发布包的粒度,而不是使用相同的密钥对来签名所有发布包。
升级后指引
当从先前包含GPG密钥的版本升级到具有新的多个GPG签名密钥特性的发行版2.8.1时,有一些注意事项:
- 现有的GPG签名密钥将被保留并命名
default-gpg-key
. - 应该使用以下命令为发布包分配密钥对:
- 上传和传播用于分发的GPG签名密钥REST API:使用附加参数上传多个键
别名
和默认的
. - 发布包版本:使用附加参数签署发布包
signing_key_alias
.
- 上传和传播用于分发的GPG签名密钥REST API:使用附加参数上传多个键
- 对于每个密钥对,您需要提供一个Alias(强制性的)。如果没有提供别名,则生成的名称由GPG和时间戳组成。
此功能通过REST API支持,除了现有的REST API外,以下是新的REST API:
手动部署GPG密钥到边缘节点
对于在初始分布GPG部署过程之后添加的其他Artifactory Edge节点,您需要运行将GPG签名密钥传播到边缘节点REST API命令。