Linha de comando do GnuPG - Verificando a assinatura do KeePass

Linha de comando do GnuPG - Verificando a assinatura do KeePass

Estou tentando verificar a assinatura PGP da versão mais recente do arquivo de configuração do KeePass 2.14 em relação aesseassinatura, mas esta é a saída que recebo:

C:\Program Files (x86)\GNU\GnuPG>gpg.exe --verify C:\Users\User\Desktop\KeePass-2.14-Setup.exe
gpg: no valid OpenPGP data found.
gpg: the signature could not be verified.
Please remember that the signature file (.sig or .asc)
should be the first file given on the command line.

C:\Program Files (x86)\GNU\GnuPG>

encontrei esse comandoaqui, mas não fez menção aos arquivos ".sig" ou ".asc", então percebi que fiz algo errado. Ao ler opáginas de manual, tentei ainda o seguinte:

C:\Program Files (x86)\GNU\GnuPG>gpg.exe --pgpfile C:\Users\User\Desktop\KeePass-2.14-Setup.exe
gpg: Invalid option "--pgpfile"

C:\Program Files (x86)\GNU\GnuPG>

Como você pode ver, os resultados são bastante ofuscantes...

eu dei uma olhadaisso no SuperUser, mas nenhum dos links parecia realmente responder à minha pergunta, pelo menos não diretamente o suficiente para que eu tivesse alguma ideia de como avançar nisso.

Alguém aqui pode me ajudar com a tecnicidade esotérica do OpenPGP e o uso associado do programa GnuPG? Eu me senti muito idiota aprendendo EBF, mas isso é além de humilhante: é absolutamente debilitante e mutilando qualquer confiança que eu tivesse com minhas habilidades de TI (mais uma vez, também não tenho justificativa para me gabar, pois ainda não obtive meu A + Certeza, haha).


ATUALIZAÇÃO 04-04-2011

Ok, cansei de brincar com o Windows e decidi que faria certo inicializando o Ubuntu; isso por si só tornou as coisas muito mais lógicas!

Então aqui está minha lista de comandos e onde estou:

  1. proto@type:~$ cd Desktop/
  2. proto@type:~/Desktop$ gpg --import KeePass-2.14-Setup.exe.asc gpg: no valid OpenPGP data found. gpg: Total number processed: 0
  3. proto@type:~/Desktop$ gpg --import Dominik_Reichl.asc gpg: /home/proto/.gnupg/trustdb.gpg: trustdb created gpg: key FEB7C7BC: public key "Dominik Reichl " imported gpg: Total number processed: 1 gpg: imported: 1
  4. proto@type:~/Desktop$ gpg --verify KeePass-2.14-Setup.exe gpg: no valid OpenPGP data found. gpg: the signature could not be verified. Please remember that the signature file (.sig or .asc) should be the first file given on the command line.
  5. proto@type:~/Desktop$ gpg --verify KeePass-2.14-Setup.exe.asc gpg: Signature made Sun 02 Jan 2011 05:25:24 AM MST using DSA key ID FEB7C7BC gpg: Good signature from "Dominik Reichl " gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 2171 BEEA D0DD 92A1 8065 5626 DCCA A5B3 FEB7 C7BC
  6. proto@type:~/Desktop$ gpg --verify Dominik_Reichl.asc gpg: verify signatures failed: unexpected data

Conforme instruções de Mike, coloquei os arquivos ".exe" e ".asc" no mesmo diretório, sendo esse o Desktop. Como você pode ver no código, também coloquei a chave pública "Dominik_Reichl.asc" no diretório Desktop.

Por favor, seja paciente comigo, pois fui completamente mimado pelo MD5; Estou assumindo que a Etapa 5 acima é o GPG equivalente a isto:

C:\Users\user\>CD Desktop

C:\Users\user\Desktop>MD5Sum KeePass-2.14-Setup.exe
bae59065b24f0a6f2ed4bb9e0d6fc65f *KeePass-2.14-Setup.exe

Digo isso porque o comportamento muda sempre que movo o arquivo "KeePass-2.14-Setup.exe" para uma pasta "temp" na área de trabalho. Quando executo o comando este é o resultado que obtenho:

proto@type:~/Desktop$ gpg --verify KeePass-2.14-Setup.exe.asc
gpg: no signed data
gpg: can't hash datafile: file open error

Esses resultados me levaram a acreditar que devo extrair o "ID da chave DSA" e a "impressão digital da chave primária", da Etapa 5, e compará-los com ovalores no topo da página de assinatura. Então, é aqui que está a semelhança com a verificação MD5? Isso é tudo que existe? Ou há mais um passo? Existe um comando que eu uso para verificaressesdoiscordas? Essas strings são o que eu realmente preciso verificar? O que são essas cordas?



Agora há outro problema que estou tendo que enfrentar. Nos resultados da "Impressão digital da chave primária", tenho 2 espaços entre "8065" e "5626". Quando uso uma planilha para verificar meus resultados com a string na página de assinatura, obtenho um resultado "FALSO" devido ao espaço em branco extra em meus resultados. Verifiquei a origem da página de assinatura para ver se o navegador estava ignorando o espaço em branco extra, mas não é o caso.

2171 BEEA D0DD 92A1 8065 5626 DCCA A5B3 FEB7 C7BC    # From Source of Signature Page
2171 BEEA D0DD 92A1 8065  5626 DCCA A5B3 FEB7 C7BC    # From My Results

Contanto que eu remova esse espaço em branco extra, meus resultados corresponderão aos da página de assinatura, mas não deveriam corresponder sem qualquer intervenção de minha parte? Uma diferença nos espaços em branco deveria ser motivo de alarme?

Infelizmente, as páginas de manual do GPG ainda são bastante obscuras para mim ou, como alguns podem dizer, "hostis ao usuário" (pesquise "gpg hostil ao usuário"), então precisarei de algumas cenouras extras jogadas em minha direção. Eu admito: sou burro. Na verdade, quando eu ainda estava aprendendo a usar a verificação MD5, me debati com ela quase tanto quanto com esta.

Responder1

No primeiro comando fornecido, você deve fazer referência ao arquivo de assinatura .asc - não ao arquivo .exe. O arquivo .exe também deve residir no mesmo diretório que o arquivo .asc.

Na página de manual do gpg:

--verificar
      Suponha que o primeiro argumento seja um arquivo assinado ou uma assinatura separada e verifique-o sem gerar
      qualquer saída. Sem argumentos, o pacote de assinatura é lido no STDIN. Se apenas um arquivo sig for fornecido,
      pode ser uma assinatura completa ou separada, caso em que o material assinado é esperado em um
      arquivo sem a extensão ".sig" ou ".asc". Com mais de 1 argumento, o primeiro deve ser separado
      assinatura e os arquivos restantes são o material assinado. Para ler o material assinado do STDIN, use '-''
      como o segundo nome do arquivo. Por razões de segurança, uma assinatura separada não pode ler o material assinado do
      STDIN sem denotá-lo da maneira acima.

Responder2

Parece que você está complicando demais as coisas :-) Tente fazer uma pesquisa pelo ID da chave DSA FEB7C7BC emhttps://keyserver.pgp.com/vkd/GetWelcomeScreen.evente acho que você entendeu!

Responder3

Esta postagem é principalmente para uma análise "A a Z", dessa forma, qualquer pessoa que esteja travada nisso pode obter uma resposta sem ter que vasculhar todos os comentários. Por favor, não vote nisso; já que o crédito vai para os participantes (Mike Fitzpatrick, grawity e Jan Ivar Beddari).

Outra coisa:não confie neste post! Declaração contra-intuitiva, mas estou postando isso com uma compreensão falha/limitada de como o GPG funciona. Estarei atualizando isso à medida que tiver uma melhor compreensão disso; agora tenho uma ideia vaga de como isso funciona.

  1. Baixe a cópia desejada deKeepPass, o correspondenteAssinatura, e a chave pública para o mesmo diretório na sua distribuição Linux favorita (no meu caso, tenho usado o Ubuntu e tornei o Desktop o diretório de trabalho)
    • Isso é importante!OChave públicano site KeePass não deve ser baixado! Você precisa baixar uma chave pública na qual outros usuários confiem, esperançosamente que esses usuários sejam pessoas em quem você confia. Como você faz isso? Peça a um amigo que tenha uma chave pública confiável para lhe dar uma cópia; mas você pode não necessariamente ter um amigo que tenha isso. Bem, graças ao post de Jan Ivar Beddari, pode-se baixar uma chave pública publicada por Dominik Reichl emaquie use Import the Public Key de lá.
  2. Abra um Terminal ("CTRL+ALT+T" no Ubuntu)
  3. Corrercd Desktop/
  4. Corrergpg --import %KEYNAME%.asc
  5. Corrergpg --verify %SIGNATURE%.asc
  6. Compare a impressão digital da chave resultante com a do site KeePass

Aqui estão meus resultados ao usar a chave pública de keyserver.pgp.com:

proto@type:~$ cd Desktop/

proto@type:~/Desktop$ gpg --import key0xDCCAA5B3FEB7C7BC.asc 
gpg: key FEB7C7BC: public key "Dominik Reichl " imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: no ultimately trusted keys found

proto@type:~/Desktop$ gpg --verify KeePass-2.14-Setup.exe.asc
gpg: Signature made Sun 02 Jan 2011 05:25:24 AM MST using DSA key ID FEB7C7BC
gpg: Good signature from "Dominik Reichl "
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 2171 BEEA D0DD 92A1 8065  5626 DCCA A5B3 FEB7 C7BC

Então aqui estão meus resultados ao usar a chave pública do site KeePass:

proto@type:~$ cd Desktop

proto@type:~/Desktop$ gpg --import Dominik_Reichl.asc
gpg: key FEB7C7BC: public key "Dominik Reichl " imported
gpg: Total number processed: 1
gpg:               imported: 1

proto@type:~/Desktop$ gpg --verify KeePass-2.14-Setup.exe.asc
gpg: Signature made Sun 02 Jan 2011 05:25:24 AM MST using DSA key ID FEB7C7BC
gpg: Good signature from "Dominik Reichl "
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 2171 BEEA D0DD 92A1 8065  5626 DCCA A5B3 FEB7 C7BC

Como você pode ver, os resultados são todos iguais, excluindo a parte "gpg: nenhuma chave confiável encontrada". Não tenho certeza do que fazer com isso, mas as principais impressões digitais correspondem às do site KeePass, o que é importante na verificação do arquivo. No entanto, isso é muito diferente de verificar se a chave pública é confiável. A chave pública é algo que você confia para usar ou não, como se você confia em um estranho. Uma maneira de eles parecerem confiáveis ​​é ter vários indivíduos para atestá-los, o que é o mesmo para a Chave Pública. Novamente, isso é do meu escopo limitado, portanto, a devida diligência também é necessária de sua parte!

Se você puder esperar, editarei lentamente minhas postagens para favorecer uma representação sucinta, simples e, esperançosamente, precisa do uso adequado do GPG na verificação da cópia do KeePass.

Responder4

IMPORTANTE ! Isso é apenas para sua informação. Se você estiver migrando de uma plataforma para outra (por exemplo, de Win. para Linux) e reinstalando o KeepAss, verifique se está instalando o pacote correto. Existe o KeepAssX disponível primeiro em repositórios, mas se você usar o banco de dados KeepAss2 com ele, ocorrerá o erro mencionado acima.Use o pacote KeepAss2 para banco de dados .kbdx.

informação relacionada