Skip to content

Instantly share code, notes, and snippets.

@isaqueprofeta
Last active March 12, 2024 12:56
Show Gist options
  • Save isaqueprofeta/8a99e45c3813a164fbcebb4ea935871b to your computer and use it in GitHub Desktop.
Save isaqueprofeta/8a99e45c3813a164fbcebb4ea935871b to your computer and use it in GitHub Desktop.
Passos para instalação de certificados do SERPRO no Ubuntu
# Entrar na pasta de certificados do sistema:
# Ubuntu anterior ao 18:
sudo mkdir /usr/share/ca-certificates/serpro/
sudo cd /usr/share/ca-certificates/serpro/
# Ubuntu 18:
sudo mkdir /usr/local/share/ca-certificates/serpro/
cd /usr/local/share/ca-certificates/serpro/
# Baixar os certificados do repositorio:
wget -r --no-check-certificate https://ccd.serpro.gov.br/serproacf/docs/
# Remover apenas os certificados de interesse:
find ./ccd.serpro.gov.br -name *.crt | sudo xargs -I{} cp -u {} .
# Limpar o restante do wget:
sudo rm -rf ccd.serpro.gov.br/
# Executar compilação dos certificados para o sistema:
sudo update-ca-certificates
# Instalar os certificados nos browsers
sudo apt install libnss3-tools
# Instalar os certificados no google-chrome
for i in $(ls /usr/local/share/ca-certificates/serpro/); do $(certutil -d sql:$HOME/.pki/nssdb -A -t "C,C,C" -n $i -i /usr/local/share/ca-certificates/serpro/$i); done
# Instalar os certificados no firefox
cat ~/.mozilla/firefox/profiles.ini
# Anote o valor do Default no meu caso: yxsfy966.default-release
# [Install4F96D1932A9F858E]
# Default=yxsfy966.default-release
# Locked=1
# O Resultado você subistitui no comando abaixo logo depois do $HOME/.mozilla/firefox/:
for i in $(ls /usr/local/share/ca-certificates/serpro/); do $(certutil -d sql:$HOME/.mozilla/firefox/yxsfy966.default-release -A -t "C,C,C" -n $i -i /usr/local/share/ca-certificates/serpro/$i); done
@CarlosDomingues
Copy link

Herói!

@joellobo
Copy link

Passa o PIX q vai pingar 10 conto ai kkkkkkkkkkkk

@jeziel-pereira
Copy link

Parabéns! Realmente o script é muito massa!

Algumas considerações:

  1. O SERPRO já homologou o Ubuntu 20 nas estações de trabalho. Utilizei as recomendações para o Ubuntu 18. Funcionou perfeitamente.

  2. Para o firefox a linha de instalação dos certificados (linha 36) está incompleta, no final. Presumi que o final deveria ser idêntico ao do Chrome e ficou assim:
    for i in $(ls /usr/local/share/ca-certificates/serpro/); do $(certutil -d sql:$HOME/.mozilla/firefox/yxsfy966.default-release -A -t "C,C,C" -n $i -i /usr/local/share/ca-certificates/serpro/$i); done
    Rodei assim e aparentemente funcionou. Peço a gentileza de verificar se fiz corretamente.

Abraço forte!

@isaqueprofeta
Copy link
Author

isaqueprofeta commented Apr 27, 2021

@jeziel-pereira vlws a revisão!!!

@cpicanco
Copy link

Para resolver o problema de validação das assinaturas no Libre Office 7:

# instalar gerenciador de certificados
sudo apt install libnss3-tools

# inicializar e mudar senha (senha padrão vazio)
mkdir ~/.pki/nssdb
certutil -N -d ~/.pki/nssdb

# adicionar certificado pessoal
pk12util -d ~/.pki/nssdb -i [NOME DA CHAVE].p12

# adicionar cadeia de certificados
certutil -d ~/.pki/nssdb -A -t "C,C,C" -n "Autoridade Certificadora Raiz Brasileira v1" -i v1_ff.der
certutil -d ~/.pki/nssdb -A -t "C,C,C" -n "Autoridade Certificadora Raiz Brasileira v2" -i v2_ff.der
certutil -d ~/.pki/nssdb -A -t "C,C,C" -n "Autoridade Certificadora Raiz Brasileira v5" -i v5_ff.der
certutil -d ~/.pki/nssdb -A -t "C,C,C" -n "Autoridade Certificadora Raiz Brasileira v8" -i v8_ff.der
certutil -d ~/.pki/nssdb -A -t "C,C,C" -n "Autoridade Certificadora Raiz Brasileira v9" -i v9_ff.der

# deletar, caso você escreva o nickname errado
certutil -d ~/.pki/nssdb -D -t "C,C,C" -n "Autoridade Certificadora Raiz Brasileira v9"

# listar 
certutil -L -d ~/.pki/nssdb

# agora você deve abrir o Libre Office e adicionar "~/.pki/nssdb" como pasta nss de certificados, em ferramentas, aba segurança, botão certificados

@isaqueprofeta
Copy link
Author

@cpicanco obrigado pela contribuição!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment