AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1642520
Accepted
joedotnot
joedotnot
Asked: 2021-04-18 01:29:46 +0800 CST2021-04-18 01:29:46 +0800 CST 2021-04-18 01:29:46 +0800 CST

Qual é o propósito dos arquivos chain.pem?

  • 772

Uma pergunta geral sobre arquivos chaim.pem; Usei um csr obtido do meu host e usei o Certbot do LetsEncrypt para gerar um certificado https; Eu usei o seguinte comando

$ certbot certonly --manual --csr arquivo-com-meu-csr.txt

O certbot produziu 3 arquivos 0000_cert.pem, 0000_chain.pem, 0001_chain.pem; Em seguida, usei o arquivo cert.pem para instalar o certificado de volta no meu host; Tudo funcionou muito bem;

Minha pergunta é para que servem os arquivos "chain", pois não os usei em nenhum lugar; Em que cenários eles serão úteis?

https tls
  • 2 2 respostas
  • 9003 Views

2 respostas

  • Voted
  1. Best Answer
    user1686
    2021-04-18T01:51:49+08:002021-04-18T01:51:49+08:00

    Sua saída do Certbot é um pouco incomum. Você deve ter recebido um arquivo "fullchain.pem" contendo tudo na ordem correta, não como vários arquivos separados.

    (Sem mencionar a própria instalação manual - você terá que automatizar isso.)

    Minha pergunta é quais são os arquivos "chain" usados ​​para

    Todas as autoridades de certificação WebPKI têm pelo menos um sistema de duas camadas:

    1. O certificado CA raiz, armazenado offline com segurança, assina certificados CA intermediários (emitindo).
    2. As CAs intermediárias, armazenadas online, assinam os certificados do servidor (entidade final).

    Por exemplo, aqui está um diagrama de Let's Encrypt , cuja hierarquia geralmente é:

    Root: "DST Root CA X3" (or possibly "ISRG Root X1")
    \-- Issuing: "Let's Encrypt R3"
        \-- End-entity: "letsencrypt.org"
    

    A maioria dos clientes TLS (navegadores, sistemas operacionais) só vem com o certificado raiz pré-instalado. Dessa forma, eles não precisam ser atualizados sempre que uma CA altera sua infraestrutura – somente quando as próprias CAs são adicionadas ou removidas.

    No entanto, para verificar a assinatura de cada certificado, você precisa ter o certificado imediatamente anterior (por exemplo, você não pode verificar diretamente a assinatura do certificado do servidor usando apenas a CA raiz – não há relação criptográfica direta entre os dois).

    Isso significa que o cliente deve ter todos os certificados intermediários para completar a cadeia entre uma CA raiz. Se algum dos intermediários estiver faltando, o cliente não terá mais informações suficientes para verificar o restante.

    Para HTTPS, o método principal é fazer com que o servidor envie todos os seus certificados de cadeia – porque o servidor supostamente já os possui.

    Alguns navegadores da Web têm mecanismos alternativos para isso - por exemplo, o Firefox mantém um cache de intermediários "vistos anteriormente", enquanto o Windows tenta baixar intermediários usando a URL AIA em seu certificado.

    Mas nem todos os navegadores fazem isso e, mais importante, a maioria dos clientes TLS que não são da Web não tem nenhuma dessas alternativas. Embora uma cadeia incompleta geralmente funcione para HTTPS, ela não funcionará para coisas como SMTP ou IRC.

    Em seguida, usei o arquivo cert.pem para instalar o certificado de volta no meu host; Tudo funcionou muito bem

    Provavelmente, funcionou apenas para alguns usuários (principalmente Windows e Firefox), mas muitos outros foram deixados de fora. Não assuma que, por funcionar em seu próprio sistema, deve funcionar em todos os outros.

    Ferramentas como SSL Labs ou gnutls-cli example.com:443irão avisá-lo sobre situações em que o servidor não envia a cadeia completa.

    No entanto, é possível que qualquer que seja o "seu host" também baixe proativamente os intermediários das informações do AIA (suspeito um pouco que o IIS do Windows possa estar fazendo isso), preenchendo as lacunas automaticamente. Mas se isso é feito em qualquer lugar, é bastante raro.

    Uso regular do Certbot

    Normalmente, o Certbot armazena os certificados recebidos no formato "pronto para uso" na /etc/letsencrypt/livepasta, com fullchain.pem contendo o certificado do host e quaisquer certificados pai necessários. Por exemplo, no Apache httpd 2.4.x você usaria:

    SSLCertificateFile    /etc/letsencrypt/live/example.net/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.net/privkey.pem
    
    • 4
  2. Reddy Lutonadio
    2021-04-18T01:42:10+08:002021-04-18T01:42:10+08:00

    Uma explicação simples pode ser encontrada aqui

    Primeiro, o que é um PEM:

    PEM é um formato de arquivo de contêiner frequentemente usado para armazenar chaves criptográficas. É usado para muitas coisas diferentes, pois simplesmente define a estrutura e o tipo de codificação do arquivo usado para armazenar um pouco de dados.

    O que é um arquivo PEM:

    PEM é apenas um padrão; eles contêm texto e o formato determina que os arquivos PEM comecem com…

    Arquivos Pem usados ​​com certificados SSL:

    Arquivos PEM com certificados SSL

    Os arquivos PEM são usados ​​para armazenar certificados SSL e suas chaves privadas associadas. Vários certificados estão na cadeia SSL completa e funcionam nesta ordem:

    O certificado de usuário final, que é atribuído ao seu nome de domínio por uma autoridade de certificação (CA). Este é o arquivo que você usa no nginx e no Apache para criptografar HTTPS. Até quatro certificados intermediários opcionais, concedidos a autoridades de certificação menores por autoridades superiores. O certificado raiz, o certificado mais alto na cadeia, que é autoassinado pela CA primária.

    Então, o que é chain.pem?

    chain.pem é o resto da cadeia; neste caso, é apenas o certificado raiz do LetsEncrypt

    Os chain.pemarquivos contêm seus certificados intermediários.

    Ao instalar um certificado SSL, você deve instalar o certificado do site, mas também os certificados intermediários. Existem importantes. Como dito aqui :

    Um certificado intermediário funciona como um substituto de um certificado raiz porque o certificado raiz tem suas próprias camadas de segurança, garantindo que suas chaves permaneçam inacessíveis. O certificado intermediário desempenha uma “cadeia de confiança” entre um certificado de entidade final e um certificado raiz.

    E aqui :

    Todas as principais Autoridades de Certificação usam certificados intermediários devido ao nível de segurança adicional. Isso ajuda a minimizar e compartimentar os danos em caso de emissão incorreta ou evento de segurança. Em vez de revogar o certificado raiz e literalmente todos os certificados que ele assinou, você apenas revoga o intermediário, o que apenas faz com que o grupo de certificados emitidos por esse intermediário seja desconfiado.

    • 3

relate perguntas

  • Como posso verificar se um arquivo de certificado SSL corresponde ao arquivo de chave?

  • Como tornar o servidor minikube tls-curlable?

  • BitsAdmin URI Query → Unable to add file to job - 0x80070057 O parâmetro está incorreto

  • Como configuro DNS, AWS S3, AWS Cloudfront e AWS Certificate Manager para proteger vários sites

  • wget retorna erro 404

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve