Mudanças entre as edições de "GnuPG"
Linha 21: | Linha 21: | ||
O construtor recebe uma série de parâmetros opcionais, [https://python-gnupg.readthedocs.org/en/latest/gnupg.html veja aqui] mais detalhes. |
O construtor recebe uma série de parâmetros opcionais, [https://python-gnupg.readthedocs.org/en/latest/gnupg.html veja aqui] mais detalhes. |
||
− | Para encriptar uma cadeia de caracteres, utilize o método |
+ | Para encriptar uma cadeia de caracteres, utilize o método ''encrypt(data, *recipients)'', sendo ''recipients'' o key ID do destinatário: |
: str = "Texto a encriptar" |
: str = "Texto a encriptar" |
||
Linha 27: | Linha 27: | ||
: encr = str(gpg.encrypt(str, rcpt)) |
: encr = str(gpg.encrypt(str, rcpt)) |
||
: print(encr) |
: print(encr) |
||
+ | |||
+ | Obs: o key ID (ou fingerprint) do destinatário pode ser recuperado através do comando: |
||
+ | |||
+ | : gpg -k |
||
+ | |||
+ | Ou através da API python, através do método ''list_keys(secret=False)'': |
||
+ | |||
+ | : gpg.list_keys() |
||
+ | |||
+ | Para descriptografar uma informação, utilize o método ''decrypt(data)'': |
||
+ | |||
+ | : encr = str(gpg.encrypt(str, rcpt)) |
||
+ | : decr = str(gpg.decrypt(encr)) |
||
+ | : print(decr) |
||
== Software == |
== Software == |
Edição das 19h41min de 13 de novembro de 2013
GnuPG ou GNU Privacy Guard é uma implementação livre do padrão OpenPGP (RFC 4880).
O GnuPG é uma aplicação de linha de comando, mas existem diversos aplicativos gráficos que facilitam suas principais operações.
Linha de Comando
Artigo explicando como assinar uma chave de outra pessoa via linha de comando: http://www.phildev.net/pgp/gpgsigning.html
Python-gnupg
Python-gnupg é um módulo Python para executar comandos GPG. Para instalá-lo, uma opção é via PIP [1]:
- pip install gnupg
O primeiro passo é importar o módulo "gnupg", e criar uma instância da classe "GPG":
- import gnupg
- gpg = gnupg.GPG()
O construtor recebe uma série de parâmetros opcionais, veja aqui mais detalhes.
Para encriptar uma cadeia de caracteres, utilize o método encrypt(data, *recipients), sendo recipients o key ID do destinatário:
- str = "Texto a encriptar"
- rcpt = "81CA572B"
- encr = str(gpg.encrypt(str, rcpt))
- print(encr)
Obs: o key ID (ou fingerprint) do destinatário pode ser recuperado através do comando:
- gpg -k
Ou através da API python, através do método list_keys(secret=False):
- gpg.list_keys()
Para descriptografar uma informação, utilize o método decrypt(data):
- encr = str(gpg.encrypt(str, rcpt))
- decr = str(gpg.decrypt(encr))
- print(decr)
Software
- GnuPG - The GNU Privacy Guard (software básico)
- http://gnupg.org/
- GPG Front-ends (aplicativos para vários sistemas)
- http://gnupg.org/related_software/frontends.html
- GPG Tools (aplicativos para Mac OSX)
- https://gpgtools.org/
Referências
- RFC 4880 - OpenPGP Message Format
- https://tools.ietf.org/html/rfc4880
- PGP - Pretty Good Privacy, Simson Garfinkel (livro)
- http://shop.oreilly.com/product/9781565920989.do
- GnuPG - wiki do Ubuntu Brasil
- http://wiki.ubuntu-br.org/GnuPG
- Python-gnupg
- https://python-gnupg.readthedocs.org/en/latest/index.html