AEM utiliza pares de claves pública y privada para comunicarse de forma segura con el Adobe I/O y otros servicios web. Este breve tutorial ilustra cómo se pueden generar claves y almacenes de claves compatibles mediante la herramienta de línea de comandos openssl que funciona tanto con AEM como con Adobe I/O.
Esta guía crea claves con firma personal útiles para el desarrollo y uso en entornos más bajos. En los casos de producción, el equipo de seguridad de TI de una organización suele generar y administrar las claves.
El openssl comando🔗 de la herramienta de línea de comandos req se puede utilizar para generar un par de claves compatible con Adobe I/O y Adobe Experience Manager.
$ openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout private.key -out certificate.crt
Para completar el comando openssl generate, proporcione la información del certificado cuando se solicite. A Adobe I/O y AEM no les importa cuáles sean estos valores, sin embargo, deberían alinearse con y describir su clave.
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
Se pueden agregar pares de claves a un nuevo almacén de claves PKCS12. Como parte del comando openssl’s pcks12 , se definen el nombre del almacén de claves (a través de - caname
), el nombre de la clave (a través de -name
) y la contraseña del almacén de claves (a través de - passout
).
Estos valores son necesarios para cargar el almacén de claves y las claves en AEM.
$ openssl pkcs12 -export -caname my-keystore -in certificate.crt -name my-key -inkey private.key -out keystore.p12 -passout pass:my-password
El resultado de este comando es un archivo keystore.p12
.
Los valores de parámetro de my-keystore, my-key y my-password se reemplazarán por sus propios valores.
La herramienta de línea de comandos keytool Java proporciona visibilidad en un almacén de claves para garantizar que las claves se carguen correctamente en el archivo de almacén de claves (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
AEM utiliza la clave privada generada para comunicarse de forma segura con el Adobe I/O y otros servicios web. Para que la clave privada sea accesible para AEM, debe instalarse en el almacén de claves de un usuario AEM.
Vaya a AEM > Herramientas > Seguridad > Usuarios y edite el usuario con el que se va a asociar la clave privada.
AEM > Herramientas > Seguridad > Usuarios > Editar usuario
Si se le solicita que cree un almacén de claves, hágalo. Este almacén de claves solo existirá en AEM y NO es el almacén de claves creado mediante openssl. La contraseña puede ser cualquier cosa y no tiene por qué ser la misma que la contraseña utilizada en el comando openssl.
AEMUser > Almacén de claves > Añadir clave privada del almacén de claves
En la consola del almacén de claves del usuario, haga clic en Agregar clave privada del archivo KeyStore y agregue la siguiente información:
-passout
argumento .-name
argumento en el comando openssl pkcs12 anterior (es decir, my-key
).-passout
argumento .La contraseña del archivo KeyStore y la contraseña de clave privada son las mismas para ambas entradas. Si se introduce una contraseña que no coincide, la clave no se importa.
AEMUser > Almacén de claves
Cuando la clave privada se carga correctamente desde el almacén de claves proporcionado al almacén de claves de AEM, los metadatos de la clave privada se muestran en la consola del almacén de claves del usuario.
La clave pública coincidente debe cargarse en el Adobe I/O para permitir que el usuario del servicio de AEM, que tiene la clave pública correspondiente como privada, se comunique de forma segura.
Crear integración de Adobe I/O > Nueva integración
La creación de una nueva integración en Adobe I/O requiere la carga de un certificado público. Cargue el certificate.crt generado por el comando openssl req
.
Las claves públicas instaladas y sus fechas de caducidad se enumeran en la consola Integrations en el Adobe I/O. Se pueden agregar varias claves públicas mediante el botón Add a public key.
Ahora AEM mantener la clave privada y la integración del Adobe I/O contiene la clave pública correspondiente, lo que permite AEM comunicarse de forma segura con el Adobe I/O.