【问题标题】:Validate crypted file with public key使用公钥验证加密文件
【发布时间】:2015-09-25 01:42:03
【问题描述】:

我在主机中有一台带有 gnupg 模块的服务器,一切正常。用户可以用我的公钥加密消息(这个过程应该在本地进行,而不是在服务器中)并将这些消息上传到我的服务器中。我想验证“文件”是用我的公钥加密的

用户输入类似的内容,然后他们将文件上传到我的服务器。

gpg --encrypt --recipient 12345678 file.txt  

我不想在这个服务器上共享我的私钥,所以我无法验证我是否可以解密。我的问题是,我可以验证哪个文件是用我自己的公钥加密的吗??

对不起我的英语

【问题讨论】:

    标签: public-key-encryption gnupg


    【解决方案1】:

    使用 gpg --decrypt 但不要提供你的私钥,gpg 会告诉你所有加密的密钥:

    wwalker@hatter:~$ gpg --decrypt foo.asc
    
    You need a passphrase to unlock the secret key for
    user: "Wayne Walker (Ruby Hacker) <wwalker@bybent.com>"
    4096-bit ELG-E key, ID 39D0C3D7, created 2007-12-31 (main key ID A62B624A)
    
    gpg: cancelled by user
    gpg: encrypted with 1024-bit ELG-E key, ID 70DAE878, created 2015-10-15
          "Puppet Vault (Used for targeted secrets exchanges) <puppet@pumhost2.lbl.gov>"
    gpg: encrypted with 1024-bit ELG-E key, ID 9426026B, created 2015-10-15
          "Puppet Vault (Used for targeted secrets exchanges) <puppet@jenkins.lbl.gov>"
    gpg: encrypted with 4096-bit ELG-E key, ID 39D0C3D7, created 2007-12-31
          "Wayne Walker (Ruby Hacker) <wwalker@bybent.com>"
    gpg: public key decryption failed: bad passphrase
    gpg: decryption failed: secret key not available
    

    如果您已经在使用 gpg-agent 并且您的密钥已经在代理中:

    (unset GPG_AGENT_INFO; gpg --decrypt foo.asc)
    

    【讨论】:

      猜你喜欢
      • 2017-01-04
      • 2011-03-30
      • 2021-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-11
      • 2018-11-26
      • 2017-09-25
      相关资源
      最近更新 更多