Sobre o projeto

O CFSSL (canivete suíço de PKI/TLS da Cloudflare) é um kit de ferramentas open source projetado para gerenciar Infraestrutura de Chave Pública (PKI) e Transport Layer Security (TLS). Ele funciona tanto como uma ferramenta de interface de linha de comando (CLI) quanto como um servidor de API HTTP, permitindo que os usuários assinem, verifiquem e agrupem certificados TLS de forma eficiente. Componentes principais: - cfssl: O utilitário CLI primário para executar várias operações de PKI, como assinar certificados, gerar chaves, criar bundles e iniciar o servidor de API. - multirootca: Um servidor de autoridade certificadora capaz de usar múltiplas chaves de assinatura, oferecendo endpoints para assinatura, assinatura autenticada e recuperação de informações. - mkbundle: Um utilitário para construir bundles de certificados raiz e intermediários, verificando revogação e expiração. - cfssljson: Uma ferramenta auxiliar que converte a saída JSON do CFSSL em arquivos PEM separados para chaves, certificados, CSRs e bundles. Capacidades principais: 1. Assinatura de certificados: Os usuários podem assinar Certificate Signing Requests (CSRs) usando uma CA local ou remota. A ferramenta permite sobrescrever hostnames e especificar detalhes do assunto por meio de configuração JSON. 2. Agrupamento de certificados: O CFSSL pode construir cadeias de certificados com diferentes modos (optimal, ubiquitous, force) com base na força criptográfica e na compatibilidade com navegadores. Ele suporta obter certificados diretamente de domínios. 3. Geração de chaves e CSR: Gera chaves privadas e CSRs ou certificados autoassinados correspondentes usando modelos JSON que definem algoritmos de chave, tamanhos e informações do assunto. 4. Suporte a OCSP: Gera respostas OCSP para certificados emitidos e as serve por meio de um respondedor OCSP. 5. Servidor de API: Inicia um servidor de API baseado em HTTP para operações remotas de certificados, configurável com endereços personalizados, portas, níveis de log e configurações de banco de dados. A instalação requer Go 1.20+ devido a dependências de cgo. Binários pré-compilados estão disponíveis nos releases do GitHub. O kit de ferramentas é amplamente usado em infraestrutura para automatizar o gerenciamento do ciclo de vida de certificados TLS.