Vorwort
Der Enterprise Manager (EM) Cloud Control ist ein gutes Werkzeug für die Administration und Überwachung von komplexen Umgebungen. Nach der Installation und Konfiguration kann man sich ganz bequem über ein HTTPS-Protokoll mit dem Enterprise Manager verbinden und sofort arbeiten.
Man sollte aber berücksichtigen, dass der EM standardmäßig mit einem Test-SSL-Zertifikat installiert ist. Laut Oracle dient das Zertifikat nur zu Testzwecken und muss für die produktive Umgebung sofort durch ein gültiges, unternehmenssigniertes Zertifikat ersetzt werden.
In diesem Beitrag beschreibe ich alle notwendige Schritte, die für den Austausch des Zertifikates auf der Ebene des Oracle HTTP-Servers notwendig sind.
Schritt 1: Wallet erstellen.
Eine Wallet ist für die Speicherung von Zertifikaten zuständig.
Wallet-Verzeichnis auf der Betriebssystem Ebene erstellen:
mkdir /u01/app/oracle/gc_inst/WebTierIH1/config/OHS/ohs1/keystores/ohs
Wallet generieren:
cd /u01/app/oracle/oms12cr5/oracle_common/bin
export JAVA_HOME=/u01/app/oracle/oms12cr5/jdk16/jdk
./orapki wallet create -wallet /u01/app/oracle/gc_inst/WebTierIH1/config/OHS/ohs1/keystores/ohs -auto_login
Während der Ausführung des Kommandos fragt das Tool nach einem Wallet-Passwort, das mindestens acht Zeichen lang sein muss:
Oracle PKI Tool : Version 11.1.1.7.0
Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
Enter password:
PKI-01002: Invalid password. Passwords must have a minimum length of eight characters and contain alphabetic characters combined with numbers or special characters.
Enter password:
Enter password again:
Passwort: welcome12
Damit ist die Wallet erstellt und kann abgefragt werden.
Wallet abfragen:
cd /u01/app/oracle/oms12cr5/oracle_common/bin
export JAVA_HOME=/u01/app/oracle/oms12cr5/jdk16/jdk
./orapki wallet display -wallet /u01/app/oracle/gc_inst/WebTierIH1/config/OHS/ohs1/keystores/ohs
Ausgabe:
Requested Certificates:
User Certificates:
Trusted Certificates:
Subject: OU=Class 2 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US
Subject: OU=Class 3 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US
Subject: CN=My_Unternehmen Root CA,O=My_Unternehmen,C=DE
Schritt 2: Unternehmens-ROOT-CA-Zertifikat anfordern und in die Wallet importieren:
In unserem Beispiel heißt die Datei: My_Unternehmen_Root-CA.pem
cd /u01/app/oracle/oms12cr5/oracle_common/bin
export JAVA_HOME=/u01/app/oracle/oms12cr5/jdk16/jdk
./orapki wallet add -wallet <Pfad zur Wallet> -trusted_cert -cert <Pfad zu Zertifikat *.pem Datei> -pwd <Wallet Passwort>
Beispiel:
./orapki wallet add -wallet /u01/app/oracle/gc_inst/WebTierIH1/config/OHS/ohs1/keystores/ohs -trusted_cert -cert /var/tmp/My_Unternehmen_Root-CA.pem -pwd welcome12
Wallet abfragen:
cd /u01/app/oracle/oms12cr5/oracle_common/bin
export JAVA_HOME=/u01/app/oracle/oms12cr5/jdk16/jdk
./orapki wallet display -wallet /u01/app/oracle/gc_inst/WebTierIH1/config/OHS/ohs1/keystores/ohs
Ausgabe:
Requested Certificates: User Certificates: Trusted Certificates: Subject: OU=Class 2
Public Primary Certification Authority,O=VeriSign\, Inc.,C=US Subject: OU=Class 3
Public Primary Certification Authority,O=VeriSign\, Inc.,C=US Subject:
CN=My_Unternehmen Root CA,O=My_Unternehmen,C=DE Subject: CN=GTE
CyberTrust Global Root,OU=GTE CyberTrust Solutions\, Inc.,O=GTE Corporation,C=US
Subject: OU=Class 1 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US
Schritt 3: CSR (Certificate Signing Request) erstellen:
Mittels Kommando orapki soll ein server-bezogenes Zertifikat erstellt werden, das später von einer PKI (Public Key Infrastructure) Stelle signiert werden soll:
cd /u01/app/oracle/oms12cr5/oracle_common/bin
export JAVA_HOME=/u01/app/oracle/oms12cr5/jdk16/jdk
./orapki wallet add „“wallet <Pfad zum Wallet> -dn ‚cn=<servername>‘ „“keysize 2048 „“pwd <wallet Passwort>
Beispiel:
./orapki wallet add -wallet /u01/app/oracle/gc_inst/WebTierIH1/config/OHS/ohs1/keystores/ohs -dn ‚cn=my_cloudcontrol_server‘ -keysize 2048 -pwd welcome12
Als Ergebnis wird eine Datei namens „my_cloudcontrol_server.pem“ generiert. Mithilfe des Tools OpenSSL kann der Inhalt der Datei geprüft werden:
openssl req -in /u01/app/oracle/gc_inst/WebTierIH1/config/OHS/ohs1/keystores/console/my_cloudcontrol_server.pem -noout „“text
Ausgabe:
Certificate Request:
Data:
Version: 0 (0x0)
Subject: CN=my_cloudcontrol_server
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Schritt 4: Zertifikat signieren lassen
Diese Datei soll zwecks Signierung an die zuständige Public-Key-Infrastruktur-Abteilung gesendet werden.
Das signierte Zertifikat (in unserem Fall also die Datei „my_cloudcontrol_server.pem“) kann nun in die Wallet importiert werden.
Schritt 4: Signiertes Zertifikat in die Wallet importieren
Die Aktion erfolgt mittels des Kommandos orapki:
cd /u01/app/oracle/oms12cr5/oracle_common/bin
export JAVA_HOME=/u01/app/oracle/oms12cr5/jdk16/jdk
./orapki wallet add „“wallet <Pfad zum Wallet> -user_cert „“cert <Pfad zu signierter Datei> „“pwd <wallet Passwort>
Beispiel:
./orapki wallet add -wallet /u01/app/oracle/gc_inst/WebTierIH1/config/OHS/ohs1/keystores/ohs -user_cert -cert /home/oracle/my_cloudcontrol_server.pem -pwd welcome12
Wallet abfragen:
cd /u01/app/oracle/oms12cr5/oracle_common/bin
export JAVA_HOME=/u01/app/oracle/oms12cr5/jdk16/jdk
./orapki wallet display -wallet /u01/app/oracle/gc_inst/WebTierIH1/config/OHS/ohs1/keystores/ohs
Ausgabe:
Requested Certificates:
User Certificates:
Subject: CN=my_cloudcontrol_server,O=My_Unternehmen,C=DE
Trusted Certificates:
Subject: CN=My_Unternehmen Root CA,O=My_Unternehmen,C=DE
Schritt 5: Datei ssl.conf anpassen
Der Oracle HTTP-Server muss wissen, wo die Wallet gespeichert ist. Dafür muss der Pfad zur Wallet in die Datei ssl.conf eingetragen werden:
SSLWallet file:/u01/app/oracle/gc_inst/WebTierIH1/config/OHS/ohs1/keystores/ohs
Schritt 6: Oracle HTTP-Server neu starten:
cd /u01/app/oracle/gc_inst/WebTierIH1/bin
./opmnctl restartproc ias-component=ohs1
Status prüfen:
./opmnctl status
Processes in Instance: instance1
Processes in Instance: instance1
———————————+——————–+———+———
ias-component | process-type | pid | status
———————————+——————–+———+———
ohs1 | OHS | 17554 | Alive
Schritt 7: Zertifikat überprüfen
Mittels Kommando openssl:
openssl s_client -connect localhost:7802
Ausgabe:
CONNECTED(00000003)
depth=2 C = DE, O = My_Unternehmen, CN =My_Unternehmen Root CA
verify error:num=19:self signed certificate in certificate chain
verify return:0
—
Certificate chain
0 s:/C=DE/O=My_Unternehmen/CN=my_cloudcontrol_server
1 s:/C=DE/O=My_Unternehmen/CN= My_Unternehmen Root CA
i:/C=DE/O=My_Unternehmen/CN= My_Unternehmen Root CA
Und im Browser:
Summary:
Der Austausch von Zertifikaten gehört zu den Kernaufgaben eines Web-Administrators. Eine gute Vorbereitung ist die Voraussetzung für den reibunglosen Ablauf der Tätigkeit.
1 Comment
Hat dies auf change_on_install … an oracle blog rebloggt.