Python lib to get credentials from encrypted file.
Project description
AXDS_CFG - Biblioteca para credenciais
Essa biblioteca tem a função de criar arquivos encriptados que podem ser compartilhados entre os servidores privados da Axiomas Tecnologia LTDA. O uso dessa biblioteca surge da necessidade de não compartilhar as credenciais necessárias à aplicação entre os usuários e/ou desenvolvedores que obtiverem acesso ao código.
Instalação
Para instalar o pacote, utilize o pip, do Python 3:
pip3 install axdscfg
Começando
Os arquivos com credenciais devem ser escritos no formato de configuração de sessões, chaves e valores como o exemplo a seguir:
[sessao-1]
usuario-1 = nome do usuario
senha-1 = senha_secreta_1234!
[sessao-2]
chave = awmfon5#2%$aw4
segredo = fi54643tn43n\f8543&434$33%febeafi5
O arquivo deve ser nomeado como credentials e depois encriptado utilizando uma chave de 32 bytes. Para gerar uma chave, utilize o comando abaixo.
axdscfg -g
O comando acima deve gerar um arquivo nomeado axds_cfg.key. Para encriptar o arquivo com a chave gerada utilize o comando abaixo:
axdscfg -e
O comando acima deve gerar um arquivo nomeado credentials.enc no mesmo diretório.
Pode-se recuperar as credenciais como no exemplo abaixo:
secrets = Credentials(config_path)
usuario = secrets.get_config_param('sessao-1', 'usuario-1')
Testes
Após qualquer alteração, deve-se utilizar o pytest no diretório '/tests' para verificar o funcionamento do projeto.
Apenas faça o upload se as alterações passarem pelos testes.
Dependências
Essa biblioteca é compatível com Python 3.5+. É necessário instalar junto com a biblioteca os seguintos pacotes pip para funcionar:
configparser >= 3.7.4
PyNaCl >= 1.3.0
Observações
Alterar o changelog, sempre que houver alterações, especificando a versão, data e uma descrição do que foi alterado.
Changelog
1.0.1 - 30/04/2020
- Mudanças no README.md.
- Adição do CHANGELOG.md.
- Tratamento do config_path quando estiver terminando com uma barra ('/').
1.0.0 - 30/04/2020
- Versão inicial.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.