Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
mkchain — Ferramenta de código aberto para ajudá-lo a construir uma cadeia de certificados SSL válida. | Kitploit
Ferramentas/GitHubGitHub/trimstray/mkchain
Ferramentas de Criptografia/DescriptografiaCriptografiaUtilitários e Frameworks
GitHubtrimstray/mkchain

mkchain

Ferramenta de código aberto para ajudá-lo a construir uma cadeia de certificados SSL válida.

Ver Repositório
38152há 1 anoRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

mkchain

Ferramenta open source para ajudá-lo a construir uma cadeia de certificados SSL válida.

Travis-CI Version License

Descrição • Como Usar • Parâmetros • Como funciona • Requisitos • Outros • Licença


Master

Descrição

É uma ferramenta open source para ajudá-lo a construir uma cadeia de certificados SSL válida. Também pode ajudar a corrigir a cadeia incompleta e baixar todos os certificados CA ausentes. Você também pode baixar todos os certificados de um servidor remoto e acertar sua cadeia de certificados.

Como Usar

É simples:

root@kitploit:~
# Clone este repositório
git clone https://github.com/trimstray/mkchain

# Entre no repositório
cd mkchain

# Instale
./setup.sh install

# Execute a aplicação
mkchain -i /data/certs -o /data/chain.crt
  • o link simbólico para bin/mkchain é colocado em /usr/local/bin
  • a página de manual é colocada em /usr/local/man/man8

Parâmetros

Fornece as seguintes opções:

root@kitploit:~
  Usage:
    mkchain <option|long-option>

  Examples:
    mkchain --in Root.crt --in Intermediate1.crt --in Server.crt --out bundle_chain_certs.crt
    mkchain --in /tmp/certs --out bundle_chain_certs.crt --with-root
    mkchain -i Server.crt -o bundle_chain_certs.crt
    mkchain -i https://incomplete-chain.badssl.com/ --with-root

  Options:
        --help        show this message
        --debug       displays information on the screen (debug mode)
    -i, --in          add certificates to merge (file, multiple files, directory with ssl certificates
                      or remote domain)
    -o, --out         saves the result (chain) to a file
        --with-root   add root certificate to certificates chain

-o|--out - sem este parâmetro, o mkchain salva a cadeia de saída no diretório mkchain/chains/.

Como Funciona

Antes de ler, veja o artigo sobre Cadeia de Certificados SSL.

Vamos começar com a cadeia de certificados ssllabs. Eles são fornecidos junto com o mkchain e podem ser encontrados no diretório example/ssllabs.com, que adicionalmente contém o diretório all (contendo todos os certificados necessários para montar a cadeia) e o diretório server_certificate (contendo apenas o certificado do servidor).

A cadeia correta para o domínio ssllabs.com (resultado do comando openssl):

root@kitploit:~
Certificate chain
 0 s:/C=US/ST=California/L=Redwood City/O=Qualys, Inc./CN=ssllabs.com
   i:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2012 Entrust, Inc. - for authorized use only/CN=Entrust Certification Authority - L1K
 1 s:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2012 Entrust, Inc. - for authorized use only/CN=Entrust Certification Authority - L1K
   i:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2009 Entrust, Inc. - for authorized use only/CN=Entrust Root Certification Authority - G2
 2 s:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2009 Entrust, Inc. - for authorized use only/CN=Entrust Root Certification Authority - G2
   i:/C=US/O=Entrust, Inc./OU=www.entrust.net/CPS is incorporated by reference/OU=(c) 2006 Entrust, Inc./CN=Entrust Root Certification Authority

O código acima apresenta uma cadeia completa composta por:

  • Certificado de Identidade (Certificado do Servidor)

    emitido para ssllabs.com por Entrust Certification Authority - L1K

  • Certificado Intermediário

    emitido para Entrust Certification Authority - L1K por Entrust Root Certification Authority - G2

  • Certificado Intermediário

    emitido para Entrust Root Certification Authority - G2 por Entrust Root Certification Authority

  • Certificado Raiz (Certificado Autoassinado)

    emitido para Entrust Root Certification Authority por Entrust Root Certification Authority

Cenário 1

Neste cenário, vamos encadear todos os certificados fornecidos. Exemplo de execução da ferramenta:

Master

Cenário 2

Neste cenário, usamos apenas o certificado do servidor e o utilizamos para recuperar os certificados restantes necessários. Depois, como acima, combinaremos todos os certificados fornecidos. Exemplo de execução da ferramenta:

Master

Cadeia de Certificados

Para criar uma cadeia válida, você deve fornecer à ferramenta todos os certificados necessários (se você definir o diretório para o parâmetro -i|--in). Serão:

  • Certificado do Servidor
  • CAs Intermediárias e CAs Raiz

Isso é muito importante porque sem eles você não conseguirá determinar o início e o fim da cadeia.

Se você definir apenas um arquivo de certificado como valor de -i|--in, o mkchain baixará automaticamente todos os certificados necessários.

No entanto, se você olhar dentro da cadeia gerada após a geração com mkchain, não encontrará o certificado raiz lá.

Por quê? Porque certificados raiz autoassinados não precisam/devem ser incluídos na configuração do servidor web. Eles não têm utilidade (os clientes sempre os ignorarão) e causam uma pequena penalidade de desempenho (latência) porque aumentam o tamanho do handshake SSL.

Se você quiser adicionar um certificado raiz à cadeia de certificados, chame o utilitário com o parâmetro --with-root.

Caminhos de Certificação

O mkchain permite o uso de dois caminhos de certificação:

Master

Comentários de Saída

Ao gerar a cadeia de certificados, o mkchain exibe comentários com informações sobre os certificados, incluindo quaisquer erros.

Aqui está uma lista de todas as possibilidades:

certificado de identidade (usuário final, servidor) não encontrado

A mensagem é exibida na ausência de um certificado do servidor que seja o início da cadeia. Este é um caso único porque nesta situação o mkchain encerra sua operação exibindo apenas esta informação. O certificado do servidor é o único certificado necessário para criar corretamente uma cadeia. Sem este certificado, a cadeia correta não será criada.

certificado de identidade (usuário final, servidor) correto encontrado

A situação inversa aqui - mensagem exibida quando um certificado do servidor válido é encontrado.

primeiro certificado intermediário não encontrado

Esta mensagem aparece quando o primeiro dos dois certificados intermediários não é encontrado. Esta informação não especifica explicitamente a ausência de um segundo certificado intermediário e, por outro lado, permite determinar se existe o certificado intermediário para o qual o certificado do servidor foi assinado. Além disso, pode ser exibido se o segundo certificado intermediário tiver sido fornecido.

segundo certificado intermediário não encontrado

Semelhante ao acima, no entanto, diz respeito ao segundo certificado intermediário. No entanto, é possível criar a cadeia corretamente usando o segundo caminho de certificação, por exemplo, usando o primeiro certificado intermediário e substituindo o segundo pelo certificado principal.

um ou mais certificados intermediários não encontrados

Esta mensagem significa que um ou todos os certificados intermediários necessários estão faltando e é exibida na ausência do certificado raiz.

'n' certificado(s) intermediário(s) correto(s) encontrado(s)

Esta mensagem indica o número de certificados intermediários válidos.

certificado raiz correto não encontrado

A falta do certificado raiz é tratada como um aviso. Obviamente, ao configurar certificados no lado do servidor, não é recomendado anexar um certificado raiz, mas se você criá-lo com o mkchain, ele trata a cadeia como incompleta, exibindo informações sobre a criação incorreta da cadeia.

um campo CN vazio foi encontrado em um dos certificados

Esta mensagem não informa sobre o erro e sobre a falta do campo CN, o que pode acontecer com alguns certificados (veja example/google.com). O campo Common Name identifica o nome do host associado ao certificado. Não há exigência na RFC3280 para que um DN do Emissor tenha um CN. A maioria das CAs inclui um CN no DN do Emissor, mas algumas não, como esta CA Equifax.

Requisitos

O mkchain utiliza utilitários externos que devem ser instalados antes da execução:

  • OpenSSL (testado na versão 1.1.0g/h)

Esta ferramenta funciona com:

  • GNU/Linux (testado no Debian e CentOS)
  • Bash (testado na versão 4.4.19)

MacOS/FreeBSD:

  • substitua por getopt(1) que suporta opções longas no estilo GNU (pkg install getopt)
  • também funciona no MacOS com greadlink do coreutils (instalado via homebrew)

Outros

Contribuindo

Veja isto.

Arquitetura do Projeto

Veja isto.

Licença

GPLv3 : http://www.gnu.org/licenses/

Software livre, Yeah!

Baixar ferramenta