首页
学习
活动
专区
圈层
工具
发布

gpg:
EN

Unix & Linux用户
提问于 2019-02-04 15:32:27
回答 1查看 13.7K关注 0票数 7

gpg有一个选项--armor,它可以生成类似于uuencoded文档的ASCII装甲格式的输出。

它还有一个选项--clearsign,它使文档被包装在一个ASCII装甲签名中。

他们有什么不同?其中一项能否以另一项的方式交替进行?谢谢。

代码语言:javascript
复制
$ 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-----
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-02-04 15:50:09

--armor是一个输出修饰符:除了指定希望gpg执行的操作的其他参数之外,您还使用它,并且它将输出更改为ASCII-armored文件,而不是二进制文件。因此

代码语言:javascript
复制
gpg --armor --sign myfile

将对myfile进行签名并以myfile.asc输出已签名的文件,但myfile的任何内容在myfile.asc中都不会立即显示。(gpg在默认情况下压缩内容,以及其他转换。)

--clearsign是一个完整的操作:gpg对给定的文件签名,并在不修改内容的情况下包装签名。因此

代码语言:javascript
复制
gpg --clearsign myfile

将对myfile进行签名,并以myfile.asc的方式输出已签名的文件,使myfile的原始内容在myfile.asc中立即可见。

清晰签名是签署电子邮件或其他文本文件的理想选择,这些文件应保持原样可读性,不涉及gpg。收件人可以选择使用gpg验证签名,但他们不必使用gpg读取内容。

您可以通过生成一个分离签名( --clearsign )(gpg --armor --detach-sign myfile)来近似于--armor的结果:如果gpg不需要更改已签名的内容,那么分离的签名将与透明签名文件末尾的签名块相同。您需要添加适当的标题:

代码语言:javascript
复制
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

或者任何合适的。

票数 13
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/498618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档