搜索

2.2. 使用命令行界面使用 Gitsign 签名和验证提交

download PDF

gitsign 工具可让您使用红帽的 Trusted Artifact Signer (RHTAS)服务签名和验证 Git 存储库提交。

先决条件

  • 在 Red Hat OpenShift Container Platform 版本 4.13、4.14 或 4.15 上安装 RHTAS。
  • 访问 OpenShift Web 控制台。
  • 安装了 oc、git 二进制文件和 git 二进制文件的工作站。
  • 从 OpenShift 集群下载 cosign 二进制文件。

流程

  1. gitsign 二进制文件从 OpenShift 集群下载到您的工作站。

    1. 登录到 OpenShift Web 控制台。在主页中,单击 ? 图标,单击 Command line tools,前往 gitsign 下载部分,然后单击您的平台的链接。
    2. 在工作站上打开一个终端,解压缩 .gz 文件,并设置执行位:

      Example

      $ gunzip gitsign-amd64.gz
      $ chmod +x gitsign-amd64

    3. 将二进制文件移到 $PATH 环境中的位置:

      Example

      $ sudo mv gitsign-amd64 /usr/local/bin/gitsign

  2. 登录到 OpenShift 集群:

    语法

    oc login --token=TOKEN --server=SERVER_URL_AND_PORT

    示例

    $ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443

    注意

    您可以从 OpenShift Web 控制台查找要在命令行中使用的登录令牌和 URL。登录 OpenShift Web 控制台。点您的用户名,然后点 Copy login 命令。如果被要求,请再次提供您的用户名和密码,然后单击 Display Token 查看命令。

  3. 切换到 RHTAS 项目:

    语法

    oc project PROJECT_NAME

    示例

    $ oc project trusted-artifact-signer

    注意

    使用 RHTAS 安装的项目名称。

  4. 配置 shell 环境以进行提交签名和验证:

    示例

    $ export TUF_URL=$(oc get tuf -o jsonpath='{.items[0].status.url}' -n trusted-artifact-signer)
    $ export OIDC_ISSUER_URL=https://$(oc get route keycloak -n keycloak-system | tail -n 1 | awk '{print $2}')/auth/realms/trusted-artifact-signer
    $ export COSIGN_FULCIO_URL=$(oc get fulcio -o jsonpath='{.items[0].status.url}' -n trusted-artifact-signer)
    $ export COSIGN_REKOR_URL=$(oc get rekor -o jsonpath='{.items[0].status.url}' -n trusted-artifact-signer)
    $ export COSIGN_MIRROR=$TUF_URL
    $ export COSIGN_ROOT=$TUF_URL/root.json
    $ export COSIGN_OIDC_CLIENT_ID="trusted-artifact-signer"
    $ export COSIGN_OIDC_ISSUER=$OIDC_ISSUER_URL
    $ export COSIGN_CERTIFICATE_OIDC_ISSUER=$OIDC_ISSUER_URL
    $ export COSIGN_YES="true"
    $ export SIGSTORE_FULCIO_URL=$COSIGN_FULCIO_URL
    $ export SIGSTORE_OIDC_ISSUER=$COSIGN_OIDC_ISSUER
    $ export SIGSTORE_REKOR_URL=$COSIGN_REKOR_URL
    $ export REKOR_REKOR_SERVER=$COSIGN_REKOR_URL

  5. 使用 RHTAS 服务配置本地存储库配置以签署您的提交:

    示例

    $ git config --local commit.gpgsign true
    $ git config --local tag.gpgsign true
    $ git config --local gpg.x509.program gitsign
    $ git config --local gpg.format x509
    $ git config --local gitsign.fulcio $SIGSTORE_FULCIO_URL
    $ git config --local gitsign.rekor $SIGSTORE_REKOR_URL
    $ git config --local gitsign.issuer $SIGSTORE_OIDC_ISSUER
    $ git config --local gitsign.clientID trusted-artifact-signer

  6. 将提交提交到本地存储库:

    示例

    $ git commit --allow-empty -S -m “Test of a signed commit”

    此时会打开一个 Web 浏览器,允许您使用电子邮件地址为提交签名。

  7. 初始化更新框架(TUF)系统:

    示例

    $ cosign initialize

  8. 验证提交:

    语法

    gitsign verify --certificate-identity=SIGNING_EMAIL --certificate-oidc-issuer=$SIGSTORE_OIDC_ISSUER HEAD

    示例

    $ gitsign verify --certificate-identity=jdoe@redhat.com --certificate-oidc-issuer=$SIGSTORE_OIDC_ISSUER HEAD

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.