Um método comum é criar uma assinatura desanexada em um .sig
arquivo (geralmente uma assinatura PGP usando gpg -b
- X.509 é muito incomum) e fornecer os dois arquivos no mesmo local. Por exemplo:
ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-2.0.19.tar.bz2
ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-2.0.19.tar.bz2.sig
Isso pode ser usado com qualquer tipo de arquivo, mas o usuário terá que verificar a assinatura manualmente usando gpg --verify
.
Infelizmente, dos atualmente em uso, nenhum formato de arquivo (que eu saiba) tem suporte para assinaturas internas usando PGP ou X.509. (Isso exclui o CAB, que é usado internamente pelo Windows, mas praticamente em nenhum outro lugar, e é bastante complicado de assinar). O WinRAR 4 conseguiu adicionar um registro de "verificação de autenticidade" usando um formato proprietário, mas usa sua licença do WinRAR como a chave de assinatura, que foi quebrada várias vezes. (Atualização: Este recurso foi removido do WinRAR 5 devido à insegurança.)
No Windows (e em breve no Mac OS X), é possível criar um "arquivo de extração automática" - um executável assinado digitalmente que extrai um arquivo de dentro de si - é assim que os instaladores de software no Windows funcionam, por exemplo. No entanto, os SFXs são limitados a um único sistema operacional, portanto, adequados apenas para a distribuição de programas , não documentos ou fotos. (Os programas Java podem ser assinados e são multiplataforma, mas poucos sistemas ainda têm um tempo de execução Java.)