Menu

Importar certificado para firefox

Anonymous
2020-10-07
2022-06-07
  • Anonymous

    Anonymous - 2020-10-07

    Bom dia meu caro Eduardo! Existe a possibilidade de importar um certificado de um caminho da rede para que o mozilla firefox busque esse certificado durante o login do usuário.

    Att,
    André

     
    • Eduardo Moraes

      Eduardo Moraes - 2020-11-26

      Saudações, André!

      Para importar certificados aos navegadores você vai precisar do utilitário certutil instalado em sua distribuição. Nas derivadas do Debian eUbuntu ele pode ser obtido através do pacote libnss3-tools.

      Uma vez instalado, você pode copiar o arquivo do certificado para o Netlogon e adaptar o seguinte código em seu script logon_root.sh para automatizar a importação:

      certdir='/usr/share/ca-certificates/mozilla'
      certpath="${NETLOGON}/CAMINHO_DO_CERTIFICADO_SEM_EXTENSÃO"
      certname="${certpath##*/}"
      
      if [ -f ${certpath}.cer -a ! -f ${certdir}/${certname}.crt ]; then
          [ -d "${certdir}" ] || mkdir -p "${certdir}"
      
          cp -fv ${certpath}.cer ${certdir}/${certname}.crt && chmod 644 ${certdir}/${certname}.crt
      
          [ "$(grep -w "${certname}.crt" /etc/ca-certificates.conf)" ] || echo "${certdir##*ca-certificates/}/${certname}.crt" >> /etc/ca-certificates.conf
      
          [ "$(command -v update-ca-certificates)" ] && update-ca-certificates
      
          if [ "$(command -v certutil)" ]; then
              [ -d "${USERPROFILE}/.pki/nssdb" ] || mkdir -p "${USERPROFILE}/.pki/nssdb"
      
              certutil -A -n "$certname" -t "TCu,Cu,Tu" -i ${certpath}.cer -d sql:${USERPROFILE}/.pki/nssdb
          fi
      fi
      
       
  • André Luiz Matos Pinto

    Bom dia Eduardo! Estou fazendo alguns testes para verificar a execução deste script, observei que a copia do certificado para o path certdir não está recebendo a cópia do NETLOGON. Poderia me auxiliar para acertar a finalidade do script?

    Att,

    André Matos

     
    • Eduardo Moraes

      Eduardo Moraes - 2022-04-19

      Boa tarde, André!

      Esse script foi atualizado. Crie uma pasta com o nome certs no Netlogon, coloque o certificado de sua CA dentro dela e utilize o seguinte código em logon_root.sh:

      PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
      
      # Nome do certificado
      crt_f='CA-CERT-FILE.crt'
      
      app_d='/usr/share'
      crt_d="${app_d}/ca-certificates/mozilla"
      ssl_d='/etc/ssl/certs'
      caLst_f='/etc/ca-certificates.conf'
      
      if [ -f "${NETLOGON}/certs/$crt_f" ] && [ ! -f "${ssl_d}/${crt_f%.*}.pem" ]; then
          [ -d "${crt_d}" ] || mkdir -p "${crt_d}"
          [ ! -f "${crt_d}/$crt_f" ] && cp -fv "${NETLOGON}/certs/$crt_f" "${crt_d}/$crt_f" && chmod 644 "${crt_d}/$crt_f"
      
          if ! grep -xq "${crt_d##*/}/$crt_f" "$caLst_f"; then echo "${crt_d##*/}/$crt_f" >> "$caLst_f"; fi
      
          [ "$(command -v update-ca-certificates)" ] && update-ca-certificates
      fi
      

      E o seguinte código no script logon.sh:

      # Nome do certificado
      crt_f='CA-CERT-FILE.crt'
      
      if [ "$(command -v certutil)" ]; then
          if ! certutil -L -n "${crt_f%.*}" -d "sql:${USERPROFILE}/.pki/nssdb" >/dev/null 2>&1; then
              [ -d "${USERPROFILE}/.pki/nssdb" ] || mkdir -p "${USERPROFILE}/.pki/nssdb"
      
              certutil -A -n "${crt_f%.*}" -t "CT,C,c" -i "${NETLOGON}/certs/$crt_f" -d "sql:${USERPROFILE}/.pki/nssdb"
          fi
      fi
      
       
      • Anderson Lopez

        Anderson Lopez - 2022-06-06

        Boa tarde Eduardo.

        No caso eu teria varios certificados para fazer importação, teria como fazer um loop para instalar eles, ou teria que ser um if para cada certificado?

         
        • Eduardo Moraes

          Eduardo Moraes - 2022-06-07

          Boa tarde, Anderson. Pode sim! Fica a seu critério.

           
  • André Luiz Matos Pinto

    Boa tarde Eduardo! Muito obrigado!

     

Anonymous
Anonymous

Add attachments
Cancel