标签: gpg-signature

使用 format-patch 将 gpg 签名保存在 git 补丁中

我通常使用 gpg 密钥签署我的提交。但是,有时我需要通过电子邮件发送补丁,这是通过使用git-format-patch和 来实现的git-send-email。但是,这会导致我的 GPG 签名从补丁中删除。我的目标是让其他人实际将补丁应用到存储库并发送它,同时保留我的签名以确保代码的真实性。

通过使用git-am,提交者正在创建一个新的散列,因此是新的提交所以我不确定签名是否会起作用我不确定 gpg 中用于签名的内容,可能只有差异?如果是这样的话,我想这会奏效。这可能吗?

我查看了 git 文档git-format-patch,似乎有一个--signature选项,该选项没有很好的文档记录,我尝试做一些事情来将签名附加到补丁中,但没有一个能在目标 git 存储库中幸存下来。使用它的正确方法是什么?

最后,即使添加--signature实现了我正在尝试实现的目标,但在创建一系列补丁并通过电子邮件发送它们时可能会很麻烦。是否有一个批处理选项可以简单地将我可以清楚地看到附加到提交的签名附加到使用git cat-file -p <HASH>生成的补丁git-format-patch

谢谢

git github gnupg gpg-signature

5
推荐指数
1
解决办法
814
查看次数

git 错误:找不到与指定用户 ID 匹配的身份

因此,我只是花了很长时间遵循 git 说明,了解如何生成 gpg 密钥并签署我的提交,以便它们出现在我的帐户中。按照一切进行操作,顺利完成最后的步骤:

git config --global user.signingkey 70DA..(my key)
git config --global commit.gpgsign true
Run Code Online (Sandbox Code Playgroud)

但是,当我最终去:

git add .
git commit -S -m "whatever message"
Run Code Online (Sandbox Code Playgroud)

我收到这三个错误:

could not find identity matching specified user-id: 70DA..(my key)
error: gpg failed to sign the data
fatal: failed to write commit object
Run Code Online (Sandbox Code Playgroud)

我在其他帖子中看到了最后两个错误,但没有看到有关指定用户 ID 的错误。有谁知道如何解决这个问题或知道一些验证我的提交的捷径?我觉得花 2 个小时做这件事实在是太愚蠢了,我有点尴尬。

git github gpg-signature

5
推荐指数
1
解决办法
1586
查看次数

Git 不认为 gpg 密钥是秘密,即使它是,我该如何修复它?

所以看起来我的 gpg 密钥是秘密的,但是当我尝试在 git 中签署我的提交时,它不被识别为秘密。我完全不知道为什么会这样。我相信我的设置正确,但我的提交标志失败。难道我做错了什么?在此先感谢您的帮助。

[brad@reason entry-criteria-test]$ gpg --list-secret-keys --keyid-format LONG
/home/brad/.gnupg/secring.gpg
-----------------------------
sec   4096R/15980D34B4EED3FA 2019-03-11
uid                          Brad <brad@work.com>
ssb   4096R/3B437BF0F7366F6C 2019-03-11

[brad@reason entry-criteria-test]$ git config user.signingkey 15980D34B4EED3FA
[brad@reason entry-criteria-test]$ git config --global user.signingkey 15980D34B4EED3FA
[brad@reason entry-criteria-test]$ git commit -S -m "testing signed commit"
gpg: key B4EED3FA: secret key without public key - skipped
gpg: skipped "15980D34B4EED3FA": No secret key
gpg: signing failed: No secret key
error: gpg failed to sign the data
fatal: failed to write commit object
[brad@reason …
Run Code Online (Sandbox Code Playgroud)

git gnupg gpg-signature

4
推荐指数
1
解决办法
1848
查看次数

Git GPG:gpg 未能对数据进行签名

我在签署我的提交时遇到错误git commit -S -m 'test'并收到以下错误:

error: gpg failed to sign the data
fatal: failed to write commit object
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这个解决方案,但仍然无法正常工作。

也尝试过这个,但仍然一无所获。

我有配备最新 macOS 的 Macbook Pro 2017。

有没有其他解决方案可以修复它并正确地将我的提交提交到 Github 或 Gitlab?

git github gnupg gitlab gpg-signature

4
推荐指数
1
解决办法
4662
查看次数

.gpg、.sig. 和 .asc 之间有什么有意义的区别?

我知道.asc签名作为文本文件输出,而.sig&.gpg是二进制文件。

一边说:

  1. .sig.gpg不同的扩展名相同的文件?如果没有,为什么要使用一个?
  2. 文本文件和二进制文件,有什么相对优势?安全性、效率、兼容性等。

gnupg pgp openpgp gpg-signature

3
推荐指数
1
解决办法
3885
查看次数

发送到 hkp://pool.sks-keyservers.net 时,`gpg:密钥服务器发送失败:没有可用的密钥服务器`

我正在使用以下命令

gpg --keyserver hkp://pool.sks-keyservers.net --send-keys <MY-8-DIGIT-SIGNATURE>
Run Code Online (Sandbox Code Playgroud)

按照本文的指导https://getstream.io/blog/publishing-libraries-to-mavencentral-2021/

但是,当我尝试时,它会报告

gpg: sending key <MY-16-DIGIT-SIGNATURE> to hkp://pool.sks-keyservers.net
gpg: keyserver send failed: No keyserver available
gpg: keyserver send failed: No keyserver available
Run Code Online (Sandbox Code Playgroud)

我上面的命令有什么问题?

更新结果
这适用于 macOS Catalina、Intel Core i7 机器。但它不适用于 macOS Big Sur、M1 ARM64 机器。

不确定是 Big Sur 还是 M1 ARM64 机器问题?

gpg-signature keyserver

3
推荐指数
2
解决办法
1277
查看次数

Android Studio Gradle Bintray上传失败:无法签名版本

跑步后

./gradlew bintrayUpload
Run Code Online (Sandbox Code Playgroud)

我收到以下错误。

:my-library:bintray上传失败

失败:构建失败,发生异常。

  • 出了什么问题:任务':my-library:bintrayUpload'的执行失败。

    无法签署版本'0.8.1':HTTP / 1.1 400错误的请求[消息:需要私钥,请使用JSON正文提供,也可以将其存储在Bintray配置文件中]

  • 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。

建立失败

本教程所述,当我安装GPG身份验证时,它以前一直在工作。

然而,当我尝试更新的版本(如描述在这里),它停止工作。

bintray android-studio jcenter gpg-signature

2
推荐指数
1
解决办法
622
查看次数

带管道的curl命令在Ansible中不起作用

我正在尝试执行以下命令,这是 Docker 安装的一部分,但它被卡住了。

gpg命令的部分被卡住了,如果我在管道之后删除,gpg它就可以工作。

---
- hosts: all
  become: yes

  tasks:

    - name: add docker GPG key
      shell: "curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg"
Run Code Online (Sandbox Code Playgroud)

curl ansible docker ansible-2.x gpg-signature

2
推荐指数
1
解决办法
1350
查看次数