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
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.