我正在尝试使用以下内容对 Python 文件进行签名:
gpg --sign --output ./ulagen.py.sig ./ulagen.py
Run Code Online (Sandbox Code Playgroud)
当我使用 验证签名时gpg --verify ./ulagen.py.sig
,出现以下错误:
gpg: WARNING: not a detached signature; file 'ulagen.py' was NOT verified!
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
如果你想要一个分离的签名,你需要使用:
gpg --detach-sig --sign --output ./ulagen.py.sig ./ulagen.py
Run Code Online (Sandbox Code Playgroud)
但什么是分离签名?默认情况下,GPG 创建文件的签名副本。所以如果你使用
gpg --sign --output ./ulagen.py.sig ./ulagen.py
Run Code Online (Sandbox Code Playgroud)
该文件ulagen.py.sig
将包含一个压缩副本的ulagen.py
和它的签名。
你可以使用命令
gpg --output ./ulagen-restored.py --decrypt ./ulagen.py.sig
Run Code Online (Sandbox Code Playgroud)
这将提取其中包含的文件ulagen.py.sig
并将其另存为ulagen-restored.py
只需使用验证文件
gpg --verify ./ulagen.py.sig
Run Code Online (Sandbox Code Playgroud)
将验证签名是否与包含在 ulagen.py.sig
. 它与文件没有任何关系ulagen.py
,这就是 GPG 告诉您的。
分离签名只是没有文件副本的签名。要验证它,您需要单独使用该文件。
归档时间: |
|
查看次数: |
1956 次 |
最近记录: |