EM13c – Console Zertifikat erstellen (3rd-Party)

Allgemein

Step-by-Step Anleitung für das Einbinden eines SSL-Zertifikates (SAN) für die OMS Console auf einer AIX-Plattform. Die verwendeten Tools (wie OpenSSL) sind jedoch Plattformunabhängig nutzbar.

Step-by-Step

OpenSSL-ConfigFile erstellen

$ export stagedir=/orasource/em13stage/san_cert"
$ cd ${stagedir}
$ vi req.conf

reg.conf

[req]
distinguished_name = SAN_NAME
req_extensions = v3_req
prompt = no
[SAN_NAME]
C = CH
ST = BERN
L = RÜFENACHT
O = **FIRMA**
OU = **ABTEILUNG"**
CN = oms13-vip.gabrielkeusen.ch
[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = oms13-vip.gabrielkeusen.ch
DNS.2 = host1.gabrielkeusen.ch
DNS.3 = host2.gabrielkeusen.ch
DNS.4 = host1_alias.gabrielkeusen.ch
DNS.5 = host2_alias.gabrielkeusen.ch

CSR und neuer Private-Key erstellen

Die Schlüssellänge von 2048 Bit ist zum jetzigen Zeitpunkt völlig ausreichend. Dazu kommt noch, dass nicht jeder Browser 4096 Bit lange Schlüssel unterstützt.

$ openssl req -new -out meinCSR.csr -newkey rsa:2048 -nodes -sha256 \
-keyout meinPK.pem -config req.conf
Generating a 2048 bit RSA private key
...................
writing new private key to 'meinPK.key.temp'
-----

CSR verifizieren (OpenSSL und Symantec-WebTool)

Der CSR kann via OpenSSL direkt auf der Shell angezeigt und geprüft werden.

$ openssl req -text -noout -verify -in meinCSR.csr
verify OK
Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=CH, ST=BERN, L=RÜFENACHT, O=**FIRMA**, OU=**ABTEILUNG**, \
CN=oms13-vip.gabrielkeusen.ch
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
XX:XX:XX:XX....
Exponent: 65537 (0x10001)
Attributes:
Requested Extensions:
X509v3 Key Usage:
Key Encipherment, Data Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication
X509v3 Subject Alternative Name:
DNS:oms13-vip.gabrielkeusen.ch, DNS:host1.gabrielkeusen.ch, \
DNS:host2.gabrielkeusen.ch, \
DNS:host1_alias.gabrielkeusen.ch, DNS:host2_alias.gabrielkeusen.ch
Signature Algorithm: sha256WithRSAEncryption
XX:XX:XX:XX....

Zusätzlich kann der CSR auf diversen Websiten getestet werden (Hinweis: Niemals den Private-Key hochladen!)
https://cryptoreport.websecurity.symantec.com/checker/views/csrCheck.jsp
image2018-2-20_14-49-0.png

Wenn alle Daten des CSRs korrekt sind, kann dieser an den SSL-Anbieter der Wahl gesendet werden. Der SSL-Anbieter stellt das Zertifikat aus.

Konvertieren des ausgestellten Zertifikates

Zertifikatskette in das PEM-Format Konvertieren (mit dem Tool der Wahl)
Variante mit OpenSSL:

$ openssl pkcs7 -print_certs -in meinZertifikat.p7b \
-out meinZertifikat.pem

PK und CRT-Kette in ein File zusammenführen

Hinweis: Im nächsten Schritt, wird der Private-Key, die Zertifikats-Kette und das ausgestellte Zertifikat in ein unverschlüsseltes PEM-File zusammengeführt. Unverschlüsselte Private-Keys sollten nach dem Erstellen des Oracle-Wallets von System gelöscht werden. Wie ein privater Schlüssel verschlüsselt werden kann, habe ich im Blogpost „PKI – Private Key sicher ablegen“ beschrieben.

$ cat meinPK.pem > meinZertifikat_mit_Key.pem
$ cat meinZertifikat.pem >> meinZertifikat_mit_Key.pem

Oracle Wallet erstellen

$ openssl pkcs12 -export -in meinZertifikat_mit_Key.pem -out ewallet.p12
Enter Export Password: ******
Verifying - Enter Export Password: ******

$ openssl pkcs12 -export -in meinZertifikat.pem -out ewallet.p12
$ rm meinZertifikat.pem

# Environment setzen
$ export PATH=${PATH}:/u00/app/oracle/product/gc_inst/user_projects/domains/GCDomain/bin
$ .setDomainEnv.sh

$ keytool -importkeystore -deststorepass ***** \
-destkeystore oms13-vip.jks \
-deststoretype JKS -srcstorepass ***** \
-srckeystore ewallet.p12 -srcstoretype PKCS12 -noprompt

$ mkdir ${stagedir}Console
$ export PATH=${PATH}:/u00/app/oracle/product/oms13cr2/oracle_common/bin
$ orapki wallet create -wallet ./Console -auto_login
$ orapki wallet jks_to_pkcs12 -wallet ./Console -pwd ***** \
-keystore oms13-vip.jks -jkspwd *****
$ orapki wallet display -wallet ./Console -pwd *****

Wallet in OMS aktivieren

Hinweis: Es ist sehr empfehlenswert, das aktuelle Oracle-Wallet vorgängig zu sichern (Speicherplatz kostet ja nichts mehr… 🙂 )

$ emctl stop oms -all
$ cd /u00/app/oracle/product/gc_inst/user_projects/domains/GCDomain/config/fmwconfig/components/OHS/instances/ohs1/keystores/console/
$ cp -r console console_bak
$ cp ${stagedir}/Console/ewallet.p12 ./console/
$ cp ${stagedir}/Console/cwallet.sso ./console/
$ emctl start oms
$ emctl status oms -details

Funktionstest

Das CloudControl (https://oms13-vip.gabrielkeusen.ch:7799/em | https://host1.gabrielkeusen.ch:7799/em ) und der BI-Publisher (https://host1.gabrielkeusen.ch:9851/xmlpserver) müssen beide im Browser als „secure“ markiert sein und es dürfen keine Zertifikatswarnungen eingeblendet werden.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s