Gpg

gpg: –armor vs –clearsign

  • February 4, 2019

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-----

--armor是一個輸出修飾符:除了指定要執行的操作的其他參數之外,您還可以使用它,gpg它將輸出更改為 ASCII 裝甲文件而不是二進製文件。因此

gpg --armor --sign myfile

將在 中籤名myfile並輸出已簽名的文件myfile.asc,但 . 中的任何內容myfile都不會立即可見myfile.asc。(gpg預設壓縮內容,以及其他轉換。)

--clearsign是一個完整的操作:gpg對給定的文件進行簽名,並將簽名包裹在內容周圍而不進行修改。因此

gpg --clearsign myfile

將在 中籤名myfile並輸出已簽名的文件myfile.asc,以使 的原始內容myfile立即在 中可見myfile.asc

清晰簽名非常適合簽署電子郵件或其他應保持原樣可讀的文本文件,而不涉及gpg. 收件人可以選擇使用 來驗證簽名gpg,但他們不必使用gpg來讀取內容。

您可以通過生成分離簽名 ( )來近似使用結果--clearsign:如果不需要更改簽名內容,則分離簽名將與明文簽名文件末尾的簽名塊相同。您需要添加適當的標題:--armor``gpg --armor --detach-sign myfile``gpg

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

或任何合適的。

引用自:https://unix.stackexchange.com/questions/498618