[[!toc levels=4]] Geração e renovação de certificados =================================== Começando --------- Proceda com a [configuração do ambiente de trabalho administrativo](/install). Gerando novas chaves -------------------- Proceda usando o [keyringer](https://keyringer.pw): keyringer $HYDRA genpair ssl ssl/$DOMAIN *.$DOMAIN No caso da chave snakeoil (fornecida quando um atacante acessa https://IP), use keyringer $HYDRA genpair ssl-self ssl/example.org example.org Chaves também podem ser geradas em massa. No caso de certificados simples (não-wildcard): for domain in $DOMAINS; do keyringer $HYDRA genpair ssl ssl/$domain $domain done Registrando mudancas parciais ----------------------------- keyringer $HYDRA git commit keyringer $HYDRA git push Comprando um certificado ------------------------ Em seguida, compre um certificado no registrar, envie a requisição de certificado (arquivo `CSR`) e proceda com a validação. Após a renovação ---------------- cat /path/to/registrar.crt >> /path/to/$DOMAIN.crt cat /path/to/$DOMAIN.crt | keyringer $HYDRA encrypt ssl/$DOMAIN.crt # Registrando e enviando mudancas finais keyringer $HYDRA git commit keyringer $HYDRA git push Informações de fingerprint: openssl x509 -noout -text -in /path/to/$DOMAIN.crt openssl x509 -noout -fingerprint -in /path/to/$DOMAIN.crt openssl x509 -noout -fingerprint -in /path/to/$DOMAIN.crt -md5 Verificando os certificados assinados: openssl verify -verbose -CAfile /path/to/registrar.crt /path/to/$DOMAIN.crt Comunicação ao público: * Modelos de mensagens de email disponível em `templates/certs`. * Notificação para `https://www.$DOMAIN/pt-br/certs` dispínvel em `notices/certs*`. Assine as comunicações com a [chave do grupo](https://protocolos.fluxo.info/trac/wiki/Comunicacao/OpenPGP), por exemplo: GPG_AGENT_INFO="" gpg -b --armor --default-key $KEY_FINGERPRINT -s $FOLDER/doc/notices/certs/$DOMAIN.pt-br.txt GPG_AGENT_INFO="" gpg -b --armor --default-key $KEY_FINGERPRINT -s $FOLDER/doc/notices/certs/$DOMAIN.en.txt Copie as notificações para ser incluída em `https://$DOMAIN/certs`: cp $FOLDER/doc/notices/certs/* $FOLDER/puppet/modules/site_apache/files/htdocs/$MAIN_DOMAIN/certs/ cd $FOLDER/puppet git add modules/site_apache/files/htdocs/$DOMAIN/certs/ git commit -m "Atualizando info sobre certificados" git push Por fim, atualize os `postfix::tlspolicy_snippet` do `$DOMAIN`, caso aplicável. Instalando ---------- Para instalar o certificado num nodo: hydra $HYDRA import-certs