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:

bbb

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.

Alle Beiträge von Neselovskyi, Borys

Borys Neselovskyi is a leading Infrastructure Architect at OPITZ CONSULTING - a German Oracle Platinum Partner. Since Februar 2019 he is an Oracle ACE. Borys field of work includes the conceptual design and implementation of infrastructure solutions based on Oracle Database/Middleware/Engineered Systems/Virtualization. He is also a frequent speaker at conferences (with live demos about Oracle software, sessions, panels, etc.).

Schreibe einen Kommentar