Oracle weblogic 12.2.1.3.0 Oracle Report Server / Windows 2016
Aufgaben: Der Aufruf von Oracle Reports Berichten soll mit SSL geschützt werden und per HTTPS ohne Port Angabe aufrufbar sein.
Ablauf:
In meiner Umgebung traten diverse Probleme in deren Folgen mit der folgenden Lösung ein Erfolg erzielt wurde.
Vermutlich kann das aber auch viel einfacher umgesetzt werden.
In ersten Schritte wurde versucht ein WildCard Zertifikat zu verwenden, allerdings ist mir nicht gelungen den Private Key von diesem Zertifikat in den Keystore zu importieren
In Folge daher einen Zertifikatsrequest über die Oberfläche erstellt und bearbeitet und dann diese erzeugen Keystore aus WebLogic exportiert, diesen dann wiederum in die Konfiguration eingebunden.
Theoretisch müsste dieser Schritt überflüssig sein, allerdings ist mir nicht gelungen direkt den erzeugten Keystore aus der Weblogic Oberfläche anzusprechen.
Verzeichniss für den Keystore anlegen:
mkdir E:\oracle\keystore
An der Admin Oberfläche anmelden.
Über „Weblogic Domain“ / „Securtiy“ / „Keysore“ die Key Store Seite öffnen.
Über den Button „+Create Keystore“ einen neue Keystore anlegen:
Komando Zeile aufrufen:
E:\oracle\fmw\oracle_common\common\bin> .\wlst.cmd wls:/offline> wls:/offline> connect('weblogic','xxxxxxx','localhost:7001') Connecting to t3://localhost:7001 with userid weblogic ... wls:/ReportPisa/serverConfig/> svc = getOpssService(name='KeyStoreService') wls:/ReportPisa/domainRuntime/> svc.exportKeyStore(appStripe='system', name='reportServer', password='xxxxxxxx',aliases='repServ.gpi.local', keypasswords='xxxxxx', type='JKS',filepath=E:\oracle\keystore\identity.jks') Keystore exported. Check the logs if any entry was skipped. wls:/ReportPisa/domainRuntime/> exit()
Inhalt anzeigen lassen:
E:\oracle\fmw\oracle_common\common\bin> keytool.exe -list -keystore E:\oracle\keystore\identity.jks -storepass xxxxxxxxxx Keystore type: JKS Keystore provider: SUN Your keystore contains 1 entry repServ.gpi.local, 06.10.2020, PrivateKeyEntry, Certificate fingerprint (SHA1): xx:xx: .... xx
PS E:\oracle\fmw\oracle_common\common\bin> keytool.exe -import -v -trustcacerts -alias repServer.gpi.local -file "E:\oracle\keystore\gpi-rootCA.der" -keystore E:\oracle\keystore\trust.jks -storepass xxxxxx -noprompt Certificate was added to keystore [Storing E:\oracle\keystore\trust.jks]
In einem Weblogic Cluster die erzeugten Dateien auf allen Knoten verteilen.
Für jeden definierten Server in der Domain.
In der Admin Oberfläche den WLS_REPORTS Server ausswählen.
„Home“ / „Administration“ / „Keystores“ einen eigenen Key Store definieren.
Trust hinterlegen:
Managed Server neu starten
Testen über http://repServer.gpi.local/reports/rwservlet/showenv
Datei „E:\oracle\fmw\user_projects\domains\ReportGPI\nodemanager\nodemanager.properties“ edititeren
KeyStores=CustomIdentityAndCustomTrust CustomIdentityKeystoreType=jks CustomIdentityKeyStoreFileName=E\:\\oracle\\keystore\\identity.jks CustomIdentityKeyStorePassPhrase=xxxxxxxxxx CustomIdentityPrivateKeyPassPhrase=xxxxxxx CustomIdentityAlias=repServer.gpi.local CustomTrustKeystoreType=jks CustomTrustKeyStoreFileName=E\:\\oracle\\keystore\\trust.jks CustomTrustKeyStorePassPhrase=
Neu starten
Parameter um das Logging für SSL zu aktiveren:
-Dweblogic.debug.DebugSecuritySSL=true -Dweblogic.debug.DebugSSL=true -Dweblogic.StdoutDebugEnabled=true -Dweblogic.log.StdoutSeverityLevel=Debug -Dweblogic.log.LogSeverity=Debug
In dieser Umgebung wird der Report Aufruf über eine Hauseigene Applikation „getunnelt“, da der Aufruf nun in SSL erfolgt muss in Tomcat auch das Root CA Zertifikat hinterlegt werden.
CA Zertifikat hinterlegen auf einem Keystore mit keinem hinterlegten Passwort „Dummy -storepass „changeit“ übergeben!“ mit:
keytool -import -noprompt -trustcacerts -alias repServer.gpi.local -file ""E:\oracle\keystore\gpi-rootCA.der" -keystore "E:\server\jdk1.8.0_161\jre\lib\security\cacerts" -storepass "changeit"
Web:
Support Node: