Atualizar um certificado TLS para o Cloud

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

O método usado para especificar o nome do keystore e truststore no host virtual ou no endpoint de destino/servidor de destino determina como você executa a atualização do certificado. É possível especificar o nome do keystore e do truststore usando:

  • Referências: preferida
  • Nomes diretos
  • Variáveis de fluxo

Cada um desses métodos tem repercussões diferentes no processo de atualização do certificado, conforme descrito na tabela a seguir.

Tipo de configuração Como atualizar/substituir um certificado Como atualizar o host virtual, o endpoint/servidor de destino
Referência (recomendado)

Para um keystore, crie um novo keystore com um novo nome e um alias com o mesmo nome do alias antigo.

Para uma truststore, crie um truststore com um novo nome.

Atualize a referência para o keystore ou o truststore.

Não é necessário entrar em contato com o suporte do Apigee Edge.

Variáveis de fluxo (somente endpoint de destino)

Para um keystore, crie um novo keystore com um novo nome e um alias com o mesmo nome ou com um novo nome.

Para uma truststore, crie um truststore com um novo nome.

Transmitir a variável de fluxo atualizada em cada solicitação com o nome do novo keystore, alias ou truststore.

Não é necessário entrar em contato com o suporte do Apigee Edge.

Direto Crie um novo keystore, alias, truststore.

Para hosts virtuais, entre em contato com o suporte do Apigee Edge para reiniciar os roteadores.

Se o truststore for usado por um endpoint/servidor de destino, reimplante o proxy.

Direto Exclua o repositório de chaves ou o truststore e recrie-o com o mesmo nome.

Não é necessário atualizar o host virtual. No entanto, as solicitações de API falham até que o novo keystore e o alias sejam definidos.

Se o keystore for usado para o TLS bidirecional entre o Edge e o serviço de back-end, entre em contato com o suporte do Apigee Edge para reiniciar os processadores de mensagens.

Direto Apenas para truststore, faça upload de um novo certificado para o truststore.

Para hosts virtuais, entre em contato com o suporte do Apigee Edge para reiniciar os roteadores de borda.

Se o truststore for usado por um endpoint/servidor de destino de destino, entre em contato com o suporte do Apigee Edge para reiniciar os processadores de mensagens.

Como testar o certificado antes e depois da atualização

Use os seguintes comandos openssl para testar o certificado atual antes de atualizá-lo:

echo | openssl s_client -servername HOSTNAME -connect ORG-ENV.apigee.net:443 2>/dev/null | openssl x509 -noout -dates -subject

em que HOSTNAME é o alias do host e ORG-ENV é a organização e o ambiente. Exemplo:

echo | openssl s_client -servername example.com -connect myOrg-prod.apigee.net:443 2>/dev/null | openssl x509 -noout -dates -subject

Você verá a saída no formulário:

notBefore=Dec 30 22:11:38 2015 GMT
notAfter=Dec 30 22:11:38 2016 GMT
subject= /OU=Domain Control Validated/CN=*.apigee.net

Use o mesmo comando depois de atualizar o certificado para testá-lo.

Determinar como o host virtual ou o servidor de endpoint/de destino de destino referencia o keystore e o truststore

  1. Faça login na IU de gerenciamento do Edge em https://enterprise.apigee.com.
  2. No menu "IU de gerenciamento de borda", selecione o nome da sua organização.
  3. Para um host virtual, determine como ele especifica o keystore e o truststore.
    1. Dependendo da sua versão da interface do Edge:
      1. Se você estiver usando a IU clássica do Edge: selecione APIs > Configuração do ambiente.
      2. Se você estiver usando a Nova interface do Edge: selecione Administrador > Ambientes.
    2. Selecione a guia Virtual Hosts.
    3. No host virtual específico que você está atualizando, selecione o botão Mostrar para exibir as propriedades dele. A tela inclui as seguintes propriedades:
      1. Key Store: o nome do keystore atual, normalmente especificado como uma referência no de ref://mykeystoreref.

        Como alternativa, ele pode ser especificado por um nome direto, na forma myKeystoreName, ou por uma variável de fluxo, no formato {ssl.keystore}.
      2. Alias de chave. O valor dessa propriedade é o nome do alias no keystore. Seu novo keystore precisa criar um alias com o mesmo nome.
      3. Trust Store: o nome do truststore atual, se houver, normalmente especificado como uma referência no de ref://mytruststoreref.

        Como alternativa, ele pode ser especificado por um nome direto, na forma myTruststoreName, ou por uma variável de fluxo, no formato {ssl.truststorestore}.
  4. Para um endpoint/servidor de destino, determine como o endpoint de destino especifica o keystore e o truststore:
    1. No menu da interface do gerenciamento de borda, selecione APIs.
    2. Selecione o nome do proxy de API.
    3. Selecione a guia Desenvolvimento.
    4. Em Pontos de extremidade de destino, selecione padrão.
    5. Na área do código, a definição TargetEndpoint aparece. Examine o elemento <SSLInfo> para ver como o keystore/truststore está definido.

      Observação: se o endpoint de destino usar um servidor de destino, a definição XML dele vai aparecer como mostrado abaixo, em que a tag <LoadBalancer> especifica os servidores de destino usados pelo proxy de API.
      <TargetEndpoint name="default">
        …
        <HTTPTargetConnection>
          <LoadBalancer>
            <Server name="target1" />
            <Server name="target2" />
          </LoadBalancer>
          <Path>/test</Path>
        </HTTPTargetConnection>
          …
      </TargetEndpoint>
      Examine o elemento <SSLInfo> na definição do servidor de destino para determinar como o keystore/truststore está definido.

Atualizar um certificado TLS em um keystore

Quando um certificado em um keystore expira, não é possível fazer upload de um novo certificado para o keystore. Em vez disso, crie um novo keystore, faça upload do certificado e atualize os hosts virtuais ou o endpoint de servidor/destino para usar o novo keystore.

Normalmente, você cria um novo keystore antes que o certificado atual expire e, em seguida, atualiza os hosts virtuais ou os endpoints de destino para usar o novo keystore. Assim, é possível continuar a atender às solicitações sem interrupção devido a um certificado expirado. Em seguida, exclua o keystore antigo depois de garantir que o novo keystore esteja funcionando corretamente.

Para uma implantação do Edge baseada na nuvem:

  1. Crie um novo keystore e faça upload de um certificado e uma chave, conforme descrito em Como criar keystores e truststore usando a IU do Edge.

    No novo keystore, use o mesmo nome para o alias de chave usado no armazenamento atual.

  2. Para um host virtual usado por uma conexão de entrada, ou seja, uma solicitação de API no Edge:
    1. Se o host virtual usar uma referência ao keystore, atualize a referência.
    2. Se o host virtual usar um nome direto de keystore, entre em contato com o suporte do Apigee Edge.
  3. Para um endpoint/servidor de destino usado por uma conexão de saída, ou seja, da Apigee para um servidor de back-end:
    1. Se o servidor de endpoint/destino de destino usar uma referência ao keystore, atualize a referência. Não é necessária nenhuma reimplantação do proxy.
    2. Se o endpoint/servidor de destino usar uma variável de fluxo, atualize essa variável. Não é necessária nenhuma reimplantação do proxy.
    3. Se o endpoint/servidor de destino usar um nome direto do keystore, atualize a configuração do endpoint/servidor de destino para todos os proxies de API que faziam referência ao keystore antigo e ao alias da chave para fazer referência ao novo keystore e ao alias da chave.

      Em seguida, reimplante o proxy.

  4. Depois de confirmar que o novo keystore está funcionando corretamente, exclua o antigo com o certificado e a chave expirados.

Atualizar um certificado TLS em um truststore

Quando um certificado em um truststore expira, você normalmente cria um novo truststore e faz upload do certificado. Em seguida, atualiza seus hosts virtuais ou endpoint de servidor/destino de destino para usar o novo truststore.

Se um certificado fizer parte de uma cadeia, crie um único arquivo com todos os certificados e faça upload desse arquivo para um único alias ou faça upload de todos os certificados da cadeia separadamente para o truststore usando um alias diferente para cada certificado.

Normalmente, você cria um novo truststore antes do certificado atual expirar e, em seguida, atualiza seus hosts virtuais ou endpoints de destino para usar o novo truststore. Assim, é possível continuar a atender às solicitações sem interrupção devido a um certificado expirado. Em seguida, exclua o truststore antigo depois de garantir que o novo truststore esteja funcionando corretamente.

Para uma implantação do Edge baseada na nuvem:

  1. Crie um novo truststore e faça upload de um certificado, conforme descrito em Como criar keystores e truststore usando a IU do Edge.

    Quando você faz upload do novo certificado para o novo truststore, o nome do alias não importa.

  2. Para um host virtual usado por uma conexão de entrada, ou seja, uma solicitação de API no Edge:
    1. Se o host virtual usar uma referência ao truststore, atualize a referência.
    2. Se o host virtual usar um nome direto do truststore, entre em contato com o suporte do Apigee Edge.
  3. Para um endpoint/servidor de destino usado por uma conexão de saída, ou seja, da Apigee para um servidor de back-end:
    1. Se o servidor de endpoint/destino de destino usar uma referência ao truststore, atualize a referência. Não é necessária nenhuma reimplantação do proxy.
    2. Se o endpoint/servidor de destino usar uma variável de fluxo, atualize essa variável. Não é necessária nenhuma reimplantação do proxy.
    3. Se o endpoint/servidor de destino usar um nome direto do truststore, atualize a configuração do endpoint/servidor de destino para todos os proxies de API que fizeram referência ao truststore antigo para fazer referência ao novo keystore e ao alias da chave.

      Em seguida, reimplante o proxy.

  4. Depois de confirmar que o novo truststore está funcionando corretamente, exclua o antigo com o certificado expirado.