AEM verwendet Public/Private Key Paare, um sicher mit Adobe I/O und anderen Webdiensten zu kommunizieren. In diesem kurzen Tutorial wird veranschaulicht, wie kompatible Schlüssel und Keystores mithilfe der openssl Befehlszeilen-Tool, das sowohl mit AEM als auch mit Adobe I/O funktioniert.
In diesem Handbuch werden selbstsignierte Schlüssel erstellt, die für die Entwicklung und Verwendung in niedrigeren Umgebungen nützlich sind. In Produktionsszenarios werden Schlüssel in der Regel vom IT-Sicherheitsteam eines Unternehmens generiert und verwaltet.
Die openssl Befehlszeilen-Tool req command kann verwendet werden, um ein Schlüsselpaar zu generieren, das mit Adobe I/O und Adobe Experience Manager kompatibel ist.
$ openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout private.key -out certificate.crt
So schließen Sie die openssl generate -Befehl, geben Sie bei Bedarf die Zertifikatinformationen an. Adobe I/O und AEM kümmern sich nicht darum, was diese Werte sind, sollten jedoch mit Ihrem Schlüssel übereinstimmen und ihn beschreiben.
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
Schlüsselpaare können einem neuen PKCS12 Keystore. Als Teil von openssl’s pcks12 Befehl, den Namen des Keystore (über - caname
), der Name des Schlüssels (über -name
) und das Kennwort des Keystore (über - passout
) definiert werden.
Diese Werte sind erforderlich, um den Keystore und die Schlüssel in AEM zu laden.
$ openssl pkcs12 -export -caname my-keystore -in certificate.crt -name my-key -inkey private.key -out keystore.p12 -passout pass:my-password
Die Ausgabe dieses Befehls ist ein keystore.p12
-Datei.
Die Parameterwerte von my-keystore, my-key und my-password durch Ihre eigenen Werte ersetzt werden.
Das Java™ keytool Befehlszeilen-Tool bietet Einblick in einen Keystore, um sicherzustellen, dass die Schlüssel erfolgreich in die Keystore-Datei geladen werden (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 verwendet die generierte privater Schlüssel zur sicheren Kommunikation mit Adobe I/O und anderen Webdiensten. Damit der private Schlüssel für AEM zugänglich ist, muss er im Keystore eines AEM Benutzers installiert sein.
Navigieren Sie zu AEM > Instrumente > Sicherheit > Benutzer und Bearbeiten des Benutzers der private Schlüssel zugeordnet werden soll.
AEM > Instrumente > Sicherheit > Benutzer > Benutzer bearbeiten
Wenn Sie dazu aufgefordert werden, einen Keystore zu erstellen, tun Sie dies. Dieser Keystore existiert nur in AEM und ist NICHT der Keystore, der über openssl erstellt wurde. Das Kennwort kann beliebig sein und muss nicht mit dem im openssl Befehl.
Benutzer > Keystore > Privaten Schlüssel aus Keystore hinzufügen
Klicken Sie in der Keystore-Konsole des Benutzers auf Fügen Sie die KeyStore-Datei mit privatem Schlüssel hinzu und fügen Sie die folgenden Informationen hinzu:
-passout
-Argument.-name
-Argument im oben genannten Befehl openssl pkcs12 (d. h. my-key
).-passout
-Argument.Das Kennwort für die KeyStore-Datei und das Kennwort für den privaten Schlüssel sind für beide Eingaben identisch. Wenn Sie ein nicht übereinstimmendes Kennwort eingeben, wird der Schlüssel nicht importiert.
Benutzer > Keystore
Wenn der private Schlüssel erfolgreich aus dem bereitgestellten Keystore in den AEM-Keystore geladen wurde, werden die Metadaten des privaten Schlüssels in der Keystore-Konsole des Benutzers angezeigt.
Der entsprechende öffentliche Schlüssel muss in Adobe I/O hochgeladen werden, damit der AEM-Dienstbenutzer, der über den privaten Schlüssel des öffentlichen Schlüssels verfügt, sicher kommunizieren kann.
Adobe I/O-Integration erstellen > Neue Integration
Für das Erstellen einer Integration in Adobe I/O ist das Hochladen eines öffentlichen Zertifikats erforderlich. Hochladen der certificate.crt von openssl req
Befehl.
Die installierten öffentlichen Schlüssel und ihre Ablaufdaten werden im Abschnitt Integrationen -Konsole auf Adobe I/O. Mehrere öffentliche Schlüssel können über die Hinzufügen eines öffentlichen Schlüssels Schaltfläche.
Jetzt enthält AEM den privaten Schlüssel, und die Adobe I/O-Integration enthält den entsprechenden öffentlichen Schlüssel, sodass AEM sicher mit der Adobe I/O kommunizieren können.