SSL für Oracle Access Management 12c konfigurieren

Einführung

In diesem Tutorial wird gezeigt, wie Sie SSL für die Oracle Access Management 12c-Domain konfigurieren.

Dies ist das sechste Tutorial der Reihe Erste Schritte mit Oracle Access Management 12c. Lies sie sequenziell.

Zielsetzung

So konfigurieren Sie SSL für die Oracle Access Management 12c-Domain.

Voraussetzungen

Keystores und Zertifikate erstellen

Java-Keystore erstellen

  1. Starten Sie ein Terminalfenster als oracle, und führen Sie den folgenden Befehl aus, um einen Java Keystore zu erstellen:

    mkdir /u01/app/oracle/admin/domains/oam_domain/keystore
    cd /u01/app/oracle/admin/domains/oam_domain/keystore
    keytool -genkey -alias <alias> -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -dname <dn> -keypass <password> -keystore <keystore> -storepass <password>
    

    Beispiel:

    mkdir /u01/app/oracle/admin/domains/oam_domain/keystore
    cd /u01/app/oracle/admin/domains/oam_domain/keystore
    keytool -genkey -alias server_cert -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -validity 36500 \
    -dname "CN=oam.example.com,OU=Security,O=Example Company,L=Redwood Shores,ST=California,C=US" \
    -keypass <password> -keystore oam_keystore.jks -storepass <password>
    

    Ersetzen Sie <password> mit einem Kennwort Ihrer Wahl.

    Hinweis: CN=oam.example.com muss auf die host.domain des Servers gesetzt werden, auf dem OAM installiert ist.

    Notieren Sie sich die Werte für -alias, -keystore, -keypass und -storepass, da diese später in diesem Tutorial verwendet werden.

Zertifikatssignieranforderung erstellen

  1. Erstellen Sie mit dem folgenden Befehl eine Certificate Signing Request (CSR):

    keytool -certreq -v -alias <alias> -file <filename> -sigalg SHA256withRSA -keypass <password> -storepass <password> -keystore <keystore>
    

    Beispiel:

    keytool -certreq -v -alias server_cert -file server.csr -sigalg SHA256withRSA -keypass <password> -storepass <password> -keystore oam_keystore.jks
    

    Stellen Sie sicher, dass Sie dieselben -alias, -keypass und storepass aus Schritt 1 verwenden.

    Hinweis: Wenn Warning: The JKS keystore uses a proprietary format in diesen Schritten oder Teilabschnitten angezeigt wird, können Sie diesen Fehler ignorieren.

    Die Ausgabe sollte wie folgt aussehen:

    Certification request stored in file <server.csr>
    Submit this to your CA
    

    Die CSR sollte wie folgt aussehen:

    $ cat server.csr
    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIC+DCCAeACAQAwgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
    MRcwFQYDVQQHEw5SZWR3b29kIFNob3JlczEYMBYGA1UEChMPRXhhbXBsZSBDb21w
    etc...
    rhEZEIfvX7jTu6b9Vxy2/RR2sYpQpOlKVMWqBdA1E8UdWaFDXtTOAC+d1FcUrZPw
    XybKIozSa3lCW+pJ/HCNN30qWiA3Pb76Vi+hlicgXPcUZeYcN2xNM5VXLzY=
    -----END NEW CERTIFICATE REQUEST-----
    
  2. Die CSR sollte an eine von Ihnen gewählte Certificate Authority (CA) gesendet werden, um ein Zertifikat zu generieren. Die CA muss das Serverzertifikat und das oder die Root-CA-Zertifikat(e) zurücksenden, die das Zertifikat signiert haben. Im Rahmen dieses Tutorials werden die zurückgegebenen Zertifikate als server.crt und CA.crt für das Serverzertifikat bzw. das CA-Zertifikat gespeichert.

    Hinweis: Wenn Sie über keine CA verfügen, können Sie Ihre eigene zu Testzwecken generieren. Anweisungen dazu finden Sie im nächsten Abschnitt.

  3. Nachdem die Zertifikate empfangen wurden, kopieren Sie sie in das Verzeichnis /u01/app/oracle/admin/domains/oam_domain/keystore.

Certificate Authority erstellen und Serverzertifikat generieren

Hinweis: Dieser Abschnitt sollte nur befolgt werden, wenn Sie keine Certificate Authority (CA) haben und Ihre eigene CA zu Testzwecken generieren müssen.

  1. Erstellen Sie ein Arbeitsverzeichnis, um die CA-Dateien zu erstellen. Beispiel: /stage/ssl:

    mkdir /stage/ssl
        cd /stage/ssl
    
  2. Generieren Sie einen 4096-Bit-Private Key (ca.key) für die Root Certificate Authority (CA):

    openssl genrsa -out ca.key 4096
    

    Die Ausgabe sollte wie folgt aussehen:

    Generating RSA private key, 4096 bit long modulus
    ................................................................................................................................................++
    .....................++
    e is 65537 (0x10001)
    
  3. Erstellen Sie ein selbstsigniertes Root-CA-Zertifikat (CA.crt):

    openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
    

    Wenn Sie dazu aufgefordert werden, geben Sie die Details zum Erstellen Ihrer CA ein. Beispiel:

    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [XX]:US
    State or Province Name (full name) []:California
    Locality Name (eg, city) [Default City]:Redwood City
    Organization Name (eg, company) [Default Company Ltd]:Example Company
    Organizational Unit Name (eg, section) []:Security
    Common Name (eg, your name or your server's hostname) []: Example Company Certificate Authority
    Email Address []:
    

    Auf dem Bildschirm wird keine Ausgabe zurückgegeben.

  4. Verwenden Sie die CA, um ein Zertifikat aus der im vorherigen Abschnitt erstellten CSR zu generieren:

    openssl x509 -req -days 36500 -in /u01/app/oracle/admin/domains/oam_domain/keystore/server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
    

    Die Ausgabe sollte wie folgt aussehen:

    Signature ok
    subject=/C=US/ST=California/L=Redwood Shores/O=Example Company/OU=Security/CN=oam.example.com
    Getting CA Private Key
    
  5. Kopieren Sie server.crt und ca.crt in das Verzeichnis /u01/app/oracle/admin/domains/oam_domain/keystore/:

    cp server.crt ca.crt /u01/app/oracle/admin/domains/oam_domain/keystore/
    

Zertifikate in den Keystore importieren

  1. Führen Sie den folgenden Befehl aus, um die Zertifikate in den Keystore zu importieren:

    cd /u01/app/oracle/admin/domains/oam_domain/keystore/
    keytool -import -v -noprompt -trustcacerts -alias <alias> -file <rootca_file> -keystore <keystore> -storepass <password>
    

    Beispiel:

    keytool -import -v -noprompt -trustcacerts -alias rootcacert -file ca.crt -keystore oam_keystore.jks -storepass <password>
    

    Die Ausgabe sollte wie folgt aussehen:

    Certificate was added to keystore
    [Storing oam_keystore.jks]
    

    Hinweis: Wenn Ihre CA mehrere CA-Zertifikate in der Kette hat, müssen Sie die oben genannten für jedes Zertifikat mit jeweils einem anderen Alias wiederholen. Beispiel:

    keytool -import -v -noprompt -trustcacerts -alias rootcacert2 -file ca2.cer -keystore oam_keystore.jks -storepass <password>
    
  2. Importieren Sie das Serverzertifikat in den Keystore, indem Sie den folgenden Befehl ausführen:

    keytool -import -v -alias <alias> -file <server_cert_file> -keystore <keystore> -keypass <password> -storepass <password>
    

    Beispiel:

    keytool -import -v -alias server_cert -file server.crt -keystore oam_keystore.jks -keypass <password> -storepass <password>
    

    Die Ausgabe sollte wie folgt aussehen:

    Certificate reply was installed in keystore
    [Storing oam_keystore.jks]
    
  3. Zeigen Sie den Inhalt des Keystores an, indem Sie den folgenden Befehl ausführen:

    keytool -list -v -keystore oam_keystore.jks -storepass <PASSWORD>
    

    Die Ausgabe sollte wie folgt aussehen:

    Keystore type: JKS
    Keystore provider: SUN
    
    Your keystore contains 2 entries
    
    Alias name: rootcacert
    Creation date: Jun 1, 2022
    Entry type: trustedCertEntry
    
    Owner: CN=Example Company Certificate Authority, OU=Security, O=Example Company, L=Redwood City, ST=California, C=US
    Issuer: CN=Example Company Certificate Authority, OU=Security, O=Example Company, L=Redwood City, ST=California, C=US
    Serial number: c3ed8cc19663b1c5
    Valid from: Wed Jun 01 09:44:06 GMT 2022 until: Sat May 29 09:44:06 GMT 2032
    Certificate fingerprints:
    	    SHA1: 5F:F8:C0:B9:CE:1C:75:85:04:C0:23:D0:63:5E:CC:3B:B4:1F:13:B6
    	    SHA256: BA:8B:9E:E2:16:BD:59:EF:BC:77:4D:10:F7:9C:D3:7B:A6:77:B7:CF:8F:E3:DB:14:44:1E:75:5E:BD:A8:A0:28
    Signature algorithm name: SHA256withRSA
    Subject Public Key Algorithm: 4096-bit RSA key
    Version: 3
    
    Extensions: 
    
    #1: ObjectId: 2.5.29.35 Criticality=false
    AuthorityKeyIdentifier [
    KeyIdentifier [
    0000: FD D2 44 11 5F BE 18 12   59 A0 2B 89 37 68 E2 2D  ..D._...Y.+.7h.-
    0010: 5D 00 D3 5D                                        ]..]
    ]
    ]
    
    #2: ObjectId: 2.5.29.19 Criticality=false
    BasicConstraints:[
      CA:true
      PathLen:2147483647
    ]
    
    #3: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: FD D2 44 11 5F BE 18 12   59 A0 2B 89 37 68 E2 2D  ..D._...Y.+.7h.-
    0010: 5D 00 D3 5D                                        ]..]
    ]
    ]
    
     *******************************************
     *******************************************
    
    Alias name: server_cert
    Creation date: Jun 1, 2022
    Entry type: PrivateKeyEntry
    Certificate chain length: 2
    Certificate[1]:
    Owner: CN=oam.example.com, OU=Security, O=Example Company, L=Redwood Shores, ST=California, C=US
    Issuer: CN=Example Company Certificate Authority, OU=Security, O=Example Company, L=Redwood City, ST=California, C=US
    Serial number: 1
    Valid from: Wed Jun 01 10:28:02 GMT 2022 until: Fri May 08 10:28:02 GMT 2122
    Certificate fingerprints:
    	    SHA1: C3:5B:FC:E1:38:60:9A:62:D1:C8:07:CC:36:6F:60:8E:BF:A8:B9:25
    	    SHA256: 4A:29:8F:85:D0:5E:9A:49:94:AE:10:F6:77:36:36:BC:4E:75:45:ED:F6:4F:B3:5E:E0:FE:FC:83:1D:DB:BC:9E
    Signature algorithm name: SHA256withRSA
    Subject Public Key Algorithm: 2048-bit RSA key
    Version: 1
    Certificate[2]:
    Owner: CN=Example Company Certificate Authority, OU=Security, O=Example Company, L=Redwood City, ST=California, C=US
    Issuer: CN=Example Company Certificate Authority, OU=Security, O=Example Company, L=Redwood City, ST=California, C=US
    Serial number: c3ed8cc19663b1c5
    Valid from: Wed Jun 01 09:44:06 GMT 2022 until: Sat May 29 09:44:06 GMT 2032
    Certificate fingerprints:
    	    SHA1: 5F:F8:C0:B9:CE:1C:75:85:04:C0:23:D0:63:5E:CC:3B:B4:1F:13:B6
    	    SHA256: BA:8B:9E:E2:16:BD:59:EF:BC:77:4D:10:F7:9C:D3:7B:A6:77:B7:CF:8F:E3:DB:14:44:1E:75:5E:BD:A8:A0:28
    Signature algorithm name: SHA256withRSA
    Subject Public Key Algorithm: 4096-bit RSA key
    Version: 3
    
    Extensions: 
    
    #1: ObjectId: 2.5.29.35 Criticality=false
    AuthorityKeyIdentifier [
    KeyIdentifier [
    0000: FD D2 44 11 5F BE 18 12   59 A0 2B 89 37 68 E2 2D  ..D._...Y.+.7h.-
    0010: 5D 00 D3 5D                                        ]..]
    ]
    ]
    
    #2: ObjectId: 2.5.29.19 Criticality=false
    BasicConstraints:[
      CA:true
      PathLen:2147483647
    ]
    
    #3: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: FD D2 44 11 5F BE 18 12   59 A0 2B 89 37 68 E2 2D  ..D._...Y.+.7h.-
    0010: 5D 00 D3 5D                                        ]..]
    ]
    ]
    
     *******************************************
     *******************************************
    

OAM für SSL konfigurieren

In diesem Abschnitt konfigurieren Sie OAM AdminServer so, dass SSL mit dem zuvor generierten Keystore verwendet wird.

  1. Starten Sie einen Browser, und greifen Sie auf die WebLogic-Serverkonsole unter http://oam.example.com:7001/console zu. Melden Sie sich als weblogic/<password> an.

  2. Klicken Sie im Change Center auf Sperren und bearbeiten.

  3. Navigieren Sie im Bereich "Domainstruktur" unter oam_domain zu Umgebung > Server. Klicken Sie auf AdminServer.

  4. Klicken Sie in der Registerkarte Allgemein auf das Kontrollkästchen SSL-Listenport aktiviert. Klicken Sie auf Speichern:

    Beschreibung der Abbildung sslenabled.jpg

  5. Klicken Sie auf die Registerkarte Schlüssel. Klicken Sie in der Registerkarte Keystores unter "Keystores" auf Ändern:

    Beschreibung der Abbildung keystores.jpg

  6. Wählen Sie in der Dropdown-Liste "Keystores" die Option Benutzerdefinierte Identität und benutzerdefiniertes Vertrauen aus. Klicken Sie auf Speichern.

  7. Füllen Sie die Keystore-Felder wie folgt aus, und klicken Sie auf Speichern:

    Feld Wert
    Benutzerdefinierter Identity Keystore /u01/app/oracle/admin/domains/oam_domain/keystore/oam_keystore.jks
    Benutzerdefinierter Identity Keystore-Typ JKS
    Benutzerdefinierte Identity Keystore Passphrase <password>
    Passphrase des benutzerdefinierten Identity Keystores bestätigen <password>
    Benutzerdefinierter Trust Keystore /u01/app/oracle/admin/domains/oam_domain/keystore/oam_keystore.jks
    Benutzerdefinierter Trust Keystore-Typ JKS
    Benutzerdefinierte Trust Keystore Passphrase <password>
    Passphrase des benutzerdefinierten Trust Keystores bestätigen <password>

    Beispiel:

    Beschreibung der Abbildung keystorevalues.jpg

  8. Klicken Sie auf die Registerkarte SSL. Füllen Sie die Felder wie folgt aus, und klicken Sie auf Speichern:

    Feld Wert
    Private-Key-Aliasname server_cert
    Private Key Passphrase <password>
    Private Key Passphrase bestätigen <password>

    Beispiel:

    Beschreibung der Abbildung ssltab.jpg

  9. Blenden Sie den Abschnitt Erweitert ein, und wählen Sie unter Hostnamenverifizierung die Option Kein Wert aus der Dropdown-Liste aus. Klicken Sie auf Speichern.

  10. Klicken Sie im Change Center auf Änderungen aktivieren.

  11. Testen Sie, ob Sie über SSL auf die WLS-Konsole zugreifen können, z.B. https://oam.example.com:7002/console. Melden Sie sich als weblogic/<password> an.

  12. Klicken Sie im Change Center auf Sperren und bearbeiten.

  13. Navigieren Sie im Bereich "Domainstruktur" unter oam_domain zu Umgebung > Server. Klicken Sie auf oam_server1.

  14. Wiederholen Sie die Schritte 4-10 oben für oam_server1.

  15. Klicken Sie im Change Center auf Sperren und bearbeiten.

  16. Navigieren Sie im Bereich "Domainstruktur" unter oam_domain zu Umgebung > Server. Klicken Sie auf oam_policy_mgr1.

  17. Wiederholen Sie die Schritte 4-10 oben für oam_policy_mgr1.

  18. Testen Sie, ob Sie über SSL auf die Policy Manager-Konsole zugreifen können, z.B. https://oam.example.com:14151/access. Melden Sie sich als weblogic/<password> an.

Load Balancing-Einstellungen in SSL ändern

  1. Starten Sie einen Browser, und greifen Sie auf die WebLogic-Serverkonsole unter https://oam.example.com:7002/oamconsole zu. Melden Sie sich als weblogic/<password> an.

  2. Navigieren Sie zu Konfiguration, und wählen Sie in der Kachel Einstellungen die Option Anzeigen > Zugriffsmanager aus.

  3. Legen Sie unter Load Balancing und WebGate Traffic Load Balancer Folgendes fest, und klicken Sie auf Anwenden:

    • OAM-Serverprotokoll: https
    • OAM-Serverport: 14101

    Beispiel:

    Beschreibung der Abbildung lbssl.jpg

  4. Starten Sie den oam_server1-Server neu:

    cd /u01/app/oracle/admin/domains/oam_domain/bin
    ./stopManagedWebLogic.sh oam_server1
    ./startManagedWebLogic.sh oam_server1
    

Nächstes Tutorial

Oracle Unified Directory für Oracle Access Management 12c konfigurieren.

Rückmeldung

Um Feedback zu diesem Tutorial abzugeben, wenden Sie sich bitte an idm_user_assistance_ww_grp@oracle.com.

Danksagungen