gpg 有一个选项--armor
,它可以生成类似于 uuencoded 文档的 ASCII 装甲格式的输出。
它还有一个选项--clearsign
,可以将文档包装在 ASCII 装甲签名中。
它们有何不同?一个可以替代另一个吗?谢谢。
$ cat sleep.py
#! /usr/bin/python3
import time
time.sleep( 30 )
$ gpg --clearsign sleep.py
$ cat sleep.py.asc
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
#! /usr/bin/python3
import time
time.sleep( 30 )
-----BEGIN PGP SIGNATURE-----
iQGzBAEBCgAdFiEEgp775lYsDVGRz/4m1bmNWQ9vUP4FAlxYfZQACgkQ1bmNWQ9v
UP7BTgv/QphBjsW+7i4rq/o5KcooEvd4g7dWClulqvBAE55P6FaezbSQBvP+nnjb
aHiTwWPq4qQLfV3rcaxOrH95hZHiloLIaZoY4f3kVBHD6tcWpJSnyJ2cih+I3HL/
vJyVM9KCakLrtNTX/wDDGiKLg0MQk3g77SllAsmt1A/gRX+PySUHOd212NRYN/Ht
OCxe53lI9xyYT+qRiySIGHzKMCC6l0Kg0lO0qS3wB9eKWNajfmP3KvRqHN0Wraex
8fd7DjLdlPXhkBFypNfo0h8RbMUkr2+Kltb7ZUMVoJtLjH+WOacHdqX9H7FY29lA
A4aqwneriMrSlAFL2WusOJ5R9VRunbMQJRaG5tkR6YR6ZMv2diA2f/j5muXSw8+m
Vh9t0NEXPyP5eMr5xrtB3n06ciXl++vYD+p6e3Bq7QNehfZuanZMYrCSafUoLTVe
ubUTa6gUjPEw6A/wwBZwZuZC27Ivy6Skt4Iw1hfvx2eyJxhDAANaATqSZTO18zEF
nJ7H1FHU
=g9wE
-----END PGP SIGNATURE-----
$ gpg --armor --detach-sign sleep.py
$ cat sleep.py.asc3
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEgp775lYsDVGRz/4m1bmNWQ9vUP4FAlxYfh4ACgkQ1bmNWQ9v
UP6UZQv+PrfkPbQWB4XnbDmpiWDZJC4Z6ZFf1q44uhbcT4QzeKET8VFe27ipJRXV
QR+rTOyuVpo+qE/xDBkD+SVM3sYPwZ01yaYt6CGK6YKWYacJUuZpLXnLY8R5ycTY
3EmjpJ8nt3JcWMGH3DtwEHSpvVzgVAfyIFQiHpsXJgXhqdrzR0/4eNkkf9TSzRSA
KcRQYjkmBYCfq+h6l2fuUx5lmungY5zqVR2ZKvfMYNryTmBZXMzQOHPrlNzTggXm
STcQLDqJdPJ7/3SQDQhEyi7xbl3uPdYitxKy0krS3kl25b6Zmg/RBelXRFnuVS+b
3JfNrrabhv8uN8wV62LK6Coq7Gv1eIDhtW7sZ7pHFnG9h8Q37AJZuTK3iOctfD4e
5QlBCHUbgQUbkfYLmyKQdgCCH3OSL0RtqhWXuqBP4GYSxmRp8af2XNrl/+o/gOQP
ctCSD9bWtoA74li6VzU1p3YI9Q6ilc1+GBqGL3isE39jf1hL4dtMu/iWExWgytPk
6Im1ZqrO
=TyOB
-----END PGP SIGNATURE-----
Run Code Online (Sandbox Code Playgroud)
Ste*_*itt 10
--armor
是一个输出修饰符:除了指定要gpg
执行的操作的其他参数之外,您还可以使用它,并将输出更改为 ASCII 装甲文件而不是二进制文件。因此
gpg --armor --sign myfile
Run Code Online (Sandbox Code Playgroud)
将在 中签名myfile
并输出已签名的文件myfile.asc
,但myfile
在myfile.asc
. (gpg
默认情况下压缩内容,以及其他转换。)
--clearsign
是一个完整的操作:gpg
对给定的文件进行签名,并将签名包装在内容周围而不修改它。因此
gpg --clearsign myfile
Run Code Online (Sandbox Code Playgroud)
将签署myfile
和输出签名文件myfile.asc
,以这样的方式的原始内容myfile
将是立即可见myfile.asc
。
Clear-signing 是签署电子邮件或其他文本文档的理想选择,这些文档应保持原样可读,而不涉及gpg
. 收件人可以选择使用 验证签名gpg
,但他们不必使用gpg
来读取内容。
可以近似的结果,--clearsign
使用--armor
通过产生分离的签名(gpg --armor --detach-sign myfile
):如果gpg
没有需要改变的签名内容,然后将分离的签名将是相同的签名块处于明显的签名文件的末尾。您需要添加适当的标题:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Run Code Online (Sandbox Code Playgroud)
或任何合适的。