Configurar chaves públicas e privadas para uso com o Adobe I/O

O AEM usa pares de chaves públicas/privadas para se comunicar com segurança com o Adobe I/O e outros serviços da Web. Este breve tutorial ilustra como chaves e armazenamentos de chaves compatíveis podem ser gerados usando a ferramenta de linha de comando openssl que funciona com AEM e Adobe I/O.

ATENÇÃO

Este guia cria chaves autoassinadas úteis para desenvolvimento e uso em ambientes inferiores. Em cenários de produção, as chaves são normalmente geradas e gerenciadas pela equipe de segurança de TI de uma organização.

Gerar o par de chaves públicas/privadas

A ferramenta de linha de comando openssl req command pode ser usada para gerar um par de chaves compatível com o Adobe I/O e o Adobe Experience Manager.

$ openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout private.key -out certificate.crt

Para concluir o comando openssl generate, forneça as informações do certificado quando solicitado. Adobe I/O e AEM não se importam com o que são esses valores, no entanto, eles devem se alinhar e descrever sua chave.

Generating a 2048 bit RSA private key
...........................................................+++
...+++
writing new private key to 'private.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:US
State or Province Name (full name) []:CA
Locality Name (eg, city) []:San Jose
Organization Name (eg, company) []:Example Co
Organizational Unit Name (eg, section) []:Digital Marketing
Common Name (eg, fully qualified host name) []:com.example
Email Address []:me@example.com

Adicionar par de chaves a um novo armazenamento de chaves

Os pares de chaves podem ser adicionados a um novo armazenamento de chaves PKCS12. Como parte do comando openssl’s pcks12 , o nome do armazenamento de chaves (via - caname), o nome da chave (via -name) e a senha do armazenamento de chaves (via - passout) são definidos.

Esses valores são necessários para carregar o armazenamento de chaves e as teclas no AEM.

$ openssl pkcs12 -export -caname my-keystore -in certificate.crt -name my-key -inkey private.key -out keystore.p12 -passout pass:my-password

A saída deste comando é um arquivo keystore.p12.

OBSERVAÇÃO

Os valores de parâmetro de my-keystore, my-key e my-password devem ser substituídos por seus próprios valores.

Verificar o conteúdo do armazenamento de chaves

O Java keytool ferramenta de linha de comando fornece visibilidade em um armazenamento de chaves para garantir que as chaves sejam carregadas com êxito no arquivo de armazenamento de chaves (keystore.p12).

$ keytool -keystore keystore.p12 -list

Enter keystore password: my-password

Keystore type: jks
Keystore provider: SUN

Your keystore contains 1 entry

my-key, Feb 5, 2019, PrivateKeyEntry,
Certificate fingerprint (SHA1): 7C:6C:25:BD:52:D3:3B:29:83:FD:A2:93:A8:53:91:6A:25:1F:2D:52

Verificar o armazenamento de chaves no Adobe I/O

Adicionar o repositório de chaves ao AEM

AEM usa a chave privada gerada para se comunicar com segurança com o Adobe I/O e outros serviços da Web. Para que a chave privada seja acessível ao AEM, ela deve ser instalada no repositório de chaves de um usuário AEM.

Navegue até AEM > Ferramentas > Segurança > Usuários e edite o usuário com o qual a chave privada deve ser associada.

Criar um repositório de chaves AEM

Criar KeyStore no
AEM > Ferramentas > Segurança > Usuários > Editar usuário

Se solicitado a criar um armazenamento de chaves, faça isso. Esse armazenamento de chaves existirá somente no AEM e NÃO será o armazenamento de chaves criado por meio do openssl. A senha pode ser qualquer coisa e não precisa ser a mesma que a senha usada no comando openssl.

Instalar a chave privada por meio do keystore

Adicionar chave privada no
AEMUser > Armazenamento de chaves > Adicionar chave privada do armazenamento de chaves

No console do repositório de chaves do usuário, clique em Adicionar chave privada do arquivo KeyStore e adicione as seguintes informações:

  • Novo alias: o alias da chave em AEM. Pode ser qualquer coisa e não precisa corresponder ao nome do repositório de chaves criado com o comando openssl.
  • Arquivo KeyStore: a saída do comando openssl pkcs12 (keystore.p12)
  • Senha do arquivo KeyStore: A senha definida no comando openssl pkcs12 por meio do -passout argumento .
  • Alias da chave privada: O valor fornecido para o -name argumento no comando openssl pkcs12 acima (ou seja, my-key).
  • Senha da chave privada: A senha definida no comando openssl pkcs12 por meio do -passout argumento .
ATENÇÃO

A Senha do Arquivo KeyStore e a Senha da Chave Privada são iguais para ambas as entradas. Inserir uma senha incompatível resultará na importação da chave.

Verifique se a chave privada está carregada no armazenamento de chaves AEM

Verificar chave privada no
AEMUser > Armazenamento de chaves

Quando a chave privada é carregada com êxito do armazenamento de chaves fornecido no armazenamento de chaves AEM, os metadados da chave privada são exibidos no console de armazenamento de chaves do usuário.

Adicionar a chave pública ao Adobe I/O

A chave pública correspondente deve ser carregada no Adobe I/O para permitir que o usuário do serviço de AEM, que tem a chave pública privada correspondente, se comunique com segurança.

Criar uma nova integração do Adobe I/O

Criar uma nova integração do Adobe I/O

Criar integração do Adobe I/O > Nova integração

Criar uma nova integração no Adobe I/O requer o upload de um certificado público. Carregue o certificate.crt gerado pelo comando openssl req.

Verifique se as chaves públicas estão carregadas no Adobe I/O

Verificar chaves públicas no Adobe I/O

As chaves públicas instaladas e suas datas de expiração estão listadas no console Integrations no Adobe I/O. Várias chaves públicas podem ser adicionadas por meio do botão Add a public key .

Agora, AEM a chave privada e a integração do Adobe I/O mantém a chave pública correspondente, permitindo que AEM se comunique com o Adobe I/O de forma segura.

Nesta página