【问题标题】:Github actions gpg decrypt results in an error (gpg: no valid OpenPGP data found.)Github 操作 gpg 解密导致错误(gpg:未找到有效的 OpenPGP 数据。)
【发布时间】:2020-06-30 14:20:20
【问题描述】:

我正在使用 Github 操作构建一个 Android apk,我需要使用 Android 签名密钥在发布之前对其进行签名。

为此,我使用here 描述的技术和 GPG 将发布密钥加密为 base64 字符串,并将其用作 Github 操作中的秘密。

然后,在我的工作流程中,我使用 GPG 将其解密回密钥文件。

但是,这个在我的 mac 上运行良好的过程在 Github 操作中失败了。

运行这个

- name: Decode keystore file
      run: |
        echo "${{ secrets.KEY_STORE }}" > release.keystore.asc
        gpg -d --passphrase "${{ secrets.KEY_STORE_PASSPHRASE }}" --batch release.keystore.asc > signing-key.jks

结果

gpg: directory '/home/runner/.gnupg' created
gpg: keybox '/home/runner/.gnupg/pubring.kbx' created
gpg: no valid OpenPGP data found.
gpg: decrypt_message failed: Unknown system error
##[error]Process completed with exit code 2.

在使用 GPG 之前运行 sudo apt-get install ca-certificates 也无济于事,因为它表示它已经安装。

有什么想法吗?

【问题讨论】:

    标签: gnupg github-actions


    【解决方案1】:

    release.keystore.asc 似乎包含无效的 PGP 数据或根本没有数据。首先,我会检查release.keystore.asc 的内容。您可以将文件作为工件上传,然后下载以检查其内容。通过在解码密钥库文件步骤之后添加upload-artifact 操作步骤来修改工作流程

    - name: Decode keystore file
      run: |
        echo "${{ secrets.KEY_STORE }}" > release.keystore.asc
        gpg -d --passphrase "${{ secrets.KEY_STORE_PASSPHRASE }}" --batch release.keystore.asc > signing-key.jks
    - uses: actions/upload-artifact@v2
      if: failure()
      with:
        name: release.keystore.asc
        path: release.keystore.asc
    

    现在您可以download release.keystore.asc 工件(它将被压缩,因此您必须解压缩它)并检查文件是否包含有效的 PGP 数据(文件应以 -----BEGIN PGP MESSAGE----- 开头并以 -----END PGP MESSAGE----- 结尾并包含有效的加密 PGP 内容)。如果不是,则表示KEY_STORE 机密包含无效数据。

    【讨论】:

      【解决方案2】:

      我遇到了同样的错误。我犯了一个愚蠢的错误,不知道你是否也犯了同样的错误。 在将 base 64 密钥存储字符串复制到 git secret 时,我只复制了 base64 字符串而不是整个文件。 IE。 整个 .asc 文件是这样的:

      -----BEGIN PGP MESSAGE-----
      **base64 string here**
      -----END PGP MESSAGE-----
      

      您需要复制此整个文件内容(包括 BEGIN PGP 和 END PGP 消息)。这解决了我的问题。

      【讨论】:

        猜你喜欢
        • 2014-02-15
        • 1970-01-01
        • 1970-01-01
        • 2015-11-06
        • 1970-01-01
        • 1970-01-01
        • 2021-12-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多