0

編集:混乱してすみません。実は秘密鍵で暗号化できるか知りたいです。(これは自動的に署名も意味します。)スクリプトを実行してCプログラムでこれを実行したいと思います。

ところで、秘密鍵で暗号化することは、私の公開鍵でそれを解読する署名されたメッセージを聴衆に送るのに良い考えですか?

古い質問:GNU / Linuxで自分の秘密鍵を使用してgpgでファイルに「署名」する方法は?マニュアルページを見ましたが、これに関する情報はありません。また、この方法で作成された私の署名を相手がどのように確認しますか?

可能であれば、これを実現するためのコマンドラインオプションを指定してください。

SOで他の質問を見ましたが、Android、JAVAなどについて話します。コマンドラインオプションだけが必要です。どうも。

4

1 に答える 1

0

マニュアルページには、実際には署名に関する情報が記載されています。

3つの主な選択肢があります。

  1. -s/で直接ファイルに署名する--sign
    • -aファイルを完全に変更し、署名を埋め込みます-ASCIIアーマーオプションの有無にかかわらず使用できます
  2. -s/--signと直接ファイルに署名--clearsign
    • プレーンテキストのASCII署名でファイルをラップします
  3. -b/を使用して分離署名を作成します--detach-sign
    • 署名を別のファイルに保存します-一緒に、または使わずに使用できます-a

これは、私がそれぞれを順番に実行してから検証する例です。

  1. 埋め込まれた署名、元のファイルの変更(ファイルgpg -dの元の内容を取得するには、を使用する必要があります)。

    $ cp /etc/issue .
    $ gpg -sa <issue>issue.asc
    
    You need a passphrase to unlock the secret key for
    user: "Rsaw Rsaw <rsaw@devnull>"
    2048-bit RSA key, ID 211A2D3E, created 2012-08-24
    
    $ cat issue.asc   
    -----BEGIN PGP MESSAGE-----
    Version: GnuPG v1.4.12 (GNU/Linux)
    
    owEBcQGO/pANAwACASZpDtshGi0+ActBYgBQoI3pRmVkb3JhIHJlbGVhc2UgMTcg
    KEJlZWZ5IE1pcmFjbGUpCktlcm5lbCBcciBvbiBhbiBcbSAoXGwpCgqJARwEAAEC
    AAYFAlCgjekACgkQJmkO2yEaLT5C3Af/fGDDoCA+6ddDUqbOZa96RNZrQPvvuT2m
    ZnPEnXonqkTEf0OLOJFHWPTsMK5SKdSWx14gvaiSbQTGTKdqUiaSBfBs+tenJ39S
    zQrZPctqKYvBbk848qiBO6tHgf8npNmg2yeY2YKjR6+02bHadg9wiujjazutuSKY
    xEDvaIoDpCl1bsbOF7ZI8zxcpFx366PZybC/fEvA+R4sDFP4QiYDPg0MKmrUlsJa
    1l9gE8e1LEZC2wXDuSCffL6dODFbCvHgU4IyUze1lX5CZHFPs5Y9kI+yBb9f9sYH
    UzOHJDISHMephS1WPqP5JXlkwiiUNTEk4qnTQRalud+yAHBeEZtrtA==
    =fYHs
    -----END PGP MESSAGE-----
    $ gpg --verify issue.asc 
    gpg: Signature made Mon 12 Nov 2012 12:49:29 AM EST using RSA key ID 211A2D3E
    gpg: Good signature from "Rsaw Rsaw <rsaw@devnull>"
    $ gpg -d issue.asc 
    Fedora release 17 (Beefy Miracle)
    Kernel \r on an \m (\l)
    
    gpg: Signature made Mon 12 Nov 2012 12:49:29 AM EST using RSA key ID 211A2D3E
    gpg: Good signature from "Rsaw Rsaw <rsaw@devnull>"
    
  2. クリアサイン署名をラッピングします。

    $ gpg -s --clearsign <issue>issue.asc
    
    You need a passphrase to unlock the secret key for
    user: "Rsaw Rsaw <rsaw@devnull>"
    2048-bit RSA key, ID 211A2D3E, created 2012-08-24
    
    $ cat issue.asc   
    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1
    
    Fedora release 17 (Beefy Miracle)
    Kernel \r on an \m (\l)
    
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.12 (GNU/Linux)
    
    iQEcBAEBAgAGBQJQoI65AAoJECZpDtshGi0+XLwH/0q7M+6aVvM2XMwy36R+zbYv
    IjF/GBUgEFRO53a0xCi6lhw10Wp4tpmZLeJJwFb2xNGu7/1SaB4pk/PhSk4xU5Bx
    3FepXaHvbwoB+Km2jqCnB1BNowJa4UecPk7pBoBPbBFv6GomecMYv1a3tORStmwe
    3UIF99HgCilivjbJoGI6h7en7yq2LwwQLpHNs8dY8rlurQfHM5CMv5RpF9jCDEJS
    MHKN52Urcx1/ROam/YjyP+Pa+PZF4x19q+obdHOsNCyqAIlYcfsUjCoiCGF8FjPM
    00ha0aaw9dHezmqyAE9nWE5SYB571iVcO1xIoGk+jl78HSwpxpf5hssavDwT2go=
    =o6WZ
    -----END PGP SIGNATURE-----
    $ gpg -v issue.asc
    gpg: armor header: Hash: SHA1
    gpg: armor header: Version: GnuPG v1.4.12 (GNU/Linux)
    gpg: original file name=''
    File `issue' exists. Overwrite? (y/N) 
    gpg: Interrupt caught ... exiting
    
    $ gpg --verify issue.asc
    gpg: Signature made Mon 12 Nov 2012 12:52:57 AM EST using RSA key ID 211A2D3E
    gpg: Good signature from "Rsaw Rsaw <rsaw@devnull>"
    $ gpg -d issue.asc
    Fedora release 17 (Beefy Miracle)
    Kernel \r on an \m (\l)
    
    gpg: Signature made Mon 12 Nov 2012 12:52:57 AM EST using RSA key ID 211A2D3E
    gpg: Good signature from "Rsaw Rsaw <rsaw@devnull>"
    
  3. 分離された署名(署名されたファイルと同じ名前に加えて、.sigまたはの拡張子が.asc必要、またはユーザーが分離されたsigファイルと署名されたファイルの両方を明示的に指定する必要がある)。

    $ gpg -ba <issue>issue.sig
    
    You need a passphrase to unlock the secret key for
    user: "Rsaw Rsaw <rsaw@devnull>"
    2048-bit RSA key, ID 211A2D3E, created 2012-08-24
    
    $ cat issue.sig   
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.12 (GNU/Linux)
    
    iQEcBAABAgAGBQJQoI8zAAoJECZpDtshGi0+x2cH/RsM2LAeXTZkL792jJTVyoyg
    Iz/RT3aBZqnqXu2H4O2YB897Qr4vbnoCc5uaTxm4z4jujkRs5l5vfL184Yui+o9g
    eJW/Q+RegiMdgZMGY48xqz0sJMM1q2nJGy1c5qqX59IuUzslVkw+HxzPnChQHDBV
    B7EraKoIvJS8KzHdXF/sQtUnJAlg4ItKW/uc/gNRz7G2O9tCdyTuddlTA6b3dV0I
    gYCeF3TMgBMpkrDyYmVc9BkheIZDwy9ce1sRDYFmGpbD/Smae4mXeTgurEbe2bFJ
    TqRkB4tMMl4xRd1s+Wtbj3f3hxsLTZn3Wq1n9UlL5Ga/+Tx3gZQAIUYLPwwyD7k=
    =G2Qp
    -----END PGP SIGNATURE-----
    $ gpg --verify issue.sig
    gpg: Signature made Mon 12 Nov 2012 12:54:59 AM EST using RSA key ID 211A2D3E
    gpg: Good signature from "Rsaw Rsaw <rsaw@devnull>"
    $ mv issue.sig my-issue.sig
    $ gpg --verify -v my-issue.sig
    gpg: armor header: Version: GnuPG v1.4.12 (GNU/Linux)
    gpg: no signed data
    gpg: can't hash datafile: file open error
    $ gpg --verify my-issue.sig issue
    gpg: Signature made Mon 12 Nov 2012 12:54:59 AM EST using RSA key ID 211A2D3E
    gpg: Good signature from "Rsaw Rsaw <rsaw@devnull>"
    $ mv my-issue.sig issue.asc
    $ gpg -v --verify issue.asc
    gpg: armor header: Version: GnuPG v1.4.12 (GNU/Linux)
    gpg: assuming signed data in `issue'
    gpg: Signature made Mon 12 Nov 2012 12:54:59 AM EST using RSA key ID 211A2D3E
    gpg: using PGP trust model
    gpg: Good signature from "Rsaw Rsaw <rsaw@devnull>"
    gpg: binary signature, digest algorithm SHA1
    

だからそれはそれをカバーする必要があります。

今後の参考のために、この質問はStackoverflowに投稿されるべきではなく、おそらく移動またはクローズされます。UnixとLinuxまたはスーパーユーザーに属しています。

于 2012-11-12T06:00:01.700 に答える