apt-get
抱怨签名无效且InRelease
文件未签名(请参阅使用 Centos 对 .deb 包进行签名以了解背景)。在服务器上,我已经验证使用gpg
它InRelease
实际上已签名。
根据Debian 9、APT 和 "GPG error: ... InRelease: The following signatures was invalid:",需要执行以下操作:
调整 $HOME/.gnupg/gpg.conf 中的personal-digest-preferences 和personal-digest-preferences 以从GPG 偏好中消除SHA-1。这可以防止问题再次出现在新密钥上。
在查看我的 reprepro 设置后,我在 Release 文件(和 InRelease clearsign 签名)和单个 Packages 文件下都显示了 SHA1,所以我希望这样做会成功。
~/.gnupg/gpg.conf
似乎表明我将使用 , 中描述的哈希算法default-preference-list
,然后列出首先使用的算法(如果可用)。
[michael@bigbox ~]$ cat ~/.gnupg/gpg.conf
# Prioritize stronger algorithms for new keys.
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 BZIP2 ZLIB ZIP Uncompressed
# Use a …
Run Code Online (Sandbox Code Playgroud) 我有一个.tar.xz
文件,我想使用我的gpg
私钥对其进行分离签名。
问题是,我有多个私钥导入到我的密钥环中,需要选择使用哪一个。
我正在尝试执行:
gpg --output somefile.tar.xz.sig --detach-sig somefile.tar.xz --local-user [fingerprint]
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
gpg: Note: '--local-user' is not considered an option
gpg: can't open '--local-user': No such file or directory
gpg: signing failed: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么以及如何解决它?
通过关注flatmtn.com/creating-pkcs12-certificates,我成功地在 LibreOffice Writer 中使用了数字签名
但现在我想使用来自电子令牌/智能卡而不是来自 Mozilla 密钥库目录的数字证书。
我怎样才能做到这一点?
我正在 Debian 上重新编译内核。按照kernel.org 上的说明,第一步是验证签名。但是 GPG 抱怨它找不到公钥:
# gpg --verify linux-3.12.22.tar.sign
gpg: Signature made Wed 11 Jun 2014 17:22:35 CEST using RSA key ID 6092693E
gpg: Can't check signature: public key not found
Run Code Online (Sandbox Code Playgroud)
我试图获取密钥:
# gpg --recv-keys 6092693E
gpg: no keyserver known (use option --keyserver)
gpg: keyserver receive failed: bad URI
Run Code Online (Sandbox Code Playgroud)
我试图设置密钥服务器:
# gpg --keyserver subkeys.pgp.net --recv-keys 6092693E
gpg: requesting key 6092693E from hkp server subkeys.pgp.net
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error
Run Code Online (Sandbox Code Playgroud)
问题是什么?谢谢。
软件:
Debian …
我很好奇是否有一个未加密的文件系统,使其可供任何人读取,但采用数字签名方案以要求对写入进行数字签名。
我怀疑答案是“不,因为它会很复杂,而且可能比简单地加密驱动器更慢”,但似乎很有趣。
当我使用 fdisk 创建新分区时出现错误
Partition #3 contains a ext4 signature
Do you want to remove the signature? [Y]es/[N]o:
Run Code Online (Sandbox Code Playgroud)
这个错误不是问题,但我想知道为什么当分区尚未使用文件系统创建时甚至会出现此错误。
创建分区时,我只有两个分区,即 #1 和 #2,根本没有第三个分区。那么分区上怎么会有 ext4 文件系统的签名呢?
我正在寻找一种使用签名卡中的证书来签署 PDF 的工作方法。
因此,我需要的是一个以与 Microsoft 上的 AcroRead 兼容的方式对 PDF 进行签名的程序,或者是一种通过 rdesktop 转发签名卡的方法。
在基于 rpm 的系统中,我们可以轻松查看是否存在与 rpm 文件相关联的签名:
rpm -qpi <rpm-file.rpm> | grep -i signature
Run Code Online (Sandbox Code Playgroud)
对于 .deb 文件,我们可以看到包信息,但不包括签名是否关联的信息:
dpkg-deb -I uma-18feb-latest.deb
Run Code Online (Sandbox Code Playgroud)
在 Ubuntu 中有没有办法在不使用以下实际验证签名的命令的情况下查看签名?
dpkg-sig --verify <deb-file.deb>
Run Code Online (Sandbox Code Playgroud) 我想用私钥加密文件并用公钥解密。公钥将嵌入我的应用程序中。所以我想保证该文件是由我创建的。如何使用 gpg 或 openssl 来实现它。
我被要求分发 PDF 格式的电子证书(它们最初是纸质的),但我想用 gpg 或类似的东西对它们进行签名,以便用户可以将它们上传到我的网站以检查他们是否没有递了一份假副本。
所以,我想签署一个 PDF 文件(显然,用户不需要知道任何事情)并检查它是否有效。
按照这些说明,我下载并解压了内核。 https://priyachalakkal.wordpress.com/2013/01/19/verifying-digital-signature-using-gpg/
然后我尝试验证签名,但出现意外错误。这不是记录基本方法的网站所描述的成功或失败场景之一。
我需要提供一个命令行标志来告诉它在哪里寻找公钥吗?
~# gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 79BE3E4300411886
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 79BE3E4300411886: public key "Linus Torvalds <torvalds@kernel.org>" imported
gpg: Total number processed: 1
gpg: imported: 1
~# gpg --verify linux-5.6.9.tar.sign
gpg: assuming signed data in 'linux-5.6.9.tar'
gpg: Signature made Fri 01 May 2020 11:51:56 PM PDT
gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E
gpg: Can't check signature: No public key
Run Code Online (Sandbox Code Playgroud)
更新1:根据@StephenKitt的回答,我尝试获取第一条消息中指示的密钥(为了让它找到用户ID,我必须指定密钥服务器),但结果不是预期的:
~# gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 647F28654894E3BD457199BE38DBBDC86092693E
gpg: key 38DBBDC86092693E: public key "Greg Kroah-Hartman <gregkh@linuxfoundation.org>" imported …
Run Code Online (Sandbox Code Playgroud)