Configurare SSL per Oracle Access Management 12c

Introduzione

Questa esercitazione descrive come configurare SSL per il dominio Oracle Access Management 12c.

Questa è la sesta esercitazione nella serie Introduzione a Oracle Access Management 12c. Le leggi in sequenza.

Obiettivo

Per configurare SSL per il dominio Oracle Access Management 12c.

Prerequisiti

Crea keystore e certificati

Crea un keystore Java

  1. Avviare una finestra di terminale come oracle ed eseguire il comando seguente per creare un keystore java:

    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>
    

    Ad esempio:

    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>
    

    Sostituire <password> con la password desiderata.

    Nota: CN=oam.example.com deve essere impostato su host.domain del server in cui è installato OAM.

    Prendere nota dei valori per -alias, -keystore, -keypass e -storepass, poiché vengono utilizzati in seguito in questa esercitazione.

Crea una richiesta di firma del certificato

  1. Creare una richiesta di firma del certificato utilizzando il seguente comando:

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

    Ad esempio:

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

    Assicurarsi di utilizzare gli stessi valori -alias, -keypass e storepass dal passo 1.

    Nota: se si visualizza il passo Warning: The JKS keystore uses a proprietary format in questo o sottovalori, è possibile ignorare questo errore.

    L'output deve essere simile al seguente:

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

    Il CSR deve essere simile al seguente:

    $ cat server.csr
    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIC+DCCAeACAQAwgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
    MRcwFQYDVQQHEw5SZWR3b29kIFNob3JlczEYMBYGA1UEChMPRXhhbXBsZSBDb21w
    etc...
    rhEZEIfvX7jTu6b9Vxy2/RR2sYpQpOlKVMWqBdA1E8UdWaFDXtTOAC+d1FcUrZPw
    XybKIozSa3lCW+pJ/HCNN30qWiA3Pb76Vi+hlicgXPcUZeYcN2xNM5VXLzY=
    -----END NEW CERTIFICATE REQUEST-----
    
  2. Per generare un certificato, è necessario inviare la richiesta di firma certificato a un'autorità di certificazione di propria scelta. La CA dovrebbe restituire il certificato del server e i certificati della CA root che hanno firmato il certificato. Ai fini della presente esercitazione, i certificati restituiti vengono salvati rispettivamente come server.crt e ca.crt per il certificato del server e la certificazione CA.

    Nota: se non si dispone di un'autorità di certificazione, è possibile generarne di proprie a scopo di test. Le istruzioni su come eseguire questa operazione si trovano nella sezione successiva.

  3. Una volta ricevuti i certificati, copiarli nella directory /u01/app/oracle/admin/domains/oam_domain/keystore.

Creare un'autorità di certificazione e generare il certificato del server

Nota: questa sezione deve essere seguita solo da assenza di un'autorità di certificazione (CA) e dalla necessità di generare una CA personalizzata a scopo di test.

  1. Creare una directory di lavoro per creare i file CA, ad esempio: /stage/ssl:

    mkdir /stage/ssl
        cd /stage/ssl
    
  2. Generare una chiave privata a 4096 bit (ca.key) per l'autorità di certificazione root (CA):

    openssl genrsa -out ca.key 4096
    

    L'output sarà simile a quanto riportato di seguito.

    Generating RSA private key, 4096 bit long modulus
    ................................................................................................................................................++
    .....................++
    e is 65537 (0x10001)
    
  3. Creare un certificato CA root con firma automatica (ca.crt):

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

    Quando richiesto, immettere i dettagli per creare la CA. Ad esempio:

    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 []:
    

    Non viene visualizzato alcun output sullo schermo.

  4. Utilizzare la CA per generare un certificato dalla richiesta di firma certificato creata nella sezione precedente:

    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
    

    L'output sarà simile a quanto riportato di seguito.

    Signature ok
    subject=/C=US/ST=California/L=Redwood Shores/O=Example Company/OU=Security/CN=oam.example.com
    Getting CA Private Key
    
  5. Copiare server.crt e ca.crt nella directory /u01/app/oracle/admin/domains/oam_domain/keystore/:

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

Importare i certificati nel keystore

  1. Eseguire il comando seguente per importare i certificati nel keystore:

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

    Ad esempio:

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

    L'output sarà simile a quanto riportato di seguito.

    Certificate was added to keystore
    [Storing oam_keystore.jks]
    

    Nota: se nella catena è presente più di un certificato CA, è necessario ripetere quanto riportato sopra per ogni certificato utilizzando un alias diverso ogni volta. Ad esempio:

    keytool -import -v -noprompt -trustcacerts -alias rootcacert2 -file ca2.cer -keystore oam_keystore.jks -storepass <password>
    
  2. Importare il certificato del server nel keystore eseguendo il seguente comando:

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

    Ad esempio:

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

    L'output sarà simile a quanto riportato di seguito.

    Certificate reply was installed in keystore
    [Storing oam_keystore.jks]
    
  3. Visualizzare il contenuto del keystore eseguendo il comando seguente:

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

    L'output sarà simile a quanto riportato di seguito.

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

Configura OAM per SSL

In questa sezione viene configurato OAM AdminServer per utilizzare SSL utilizzando il keystore generato in precedenza.

  1. Avviare un browser e accedere alla console del server WebLogic all'indirizzo http://oam.example.com:7001/console. Accedere come weblogic/<password>.

  2. Nel Centro modifiche fare clic su Blocca e modifica.

  3. Nel riquadro Struttura dominio, in oam_domain passare a Ambiente > Server. Fare clic su AdminServer.

  4. Nella scheda Generale fare clic sulla casella di controllo Porta di ascolto SSL abilitata. Fare clic su Salva:

    Descrizione dell'immagine sslenabled.jpg

  5. Fare clic sulla scheda Keystore. Nella scheda Keystores, in Keystores fare clic su Modifica.

    Descrizione dell'immagine keystores.jpg

  6. Nell'elenco a discesa Keystores, selezionare Identità personalizzata e fiducia personalizzata. Fare clic su Salva.

  7. Compilare i campi del keystore come indicato di seguito e fare clic su Salva:

    Campo Valore
    Keystore identità personalizzato /u01/app/oracle/admin/domains/oam_domain/keystore/oam_keystore.jks
    Tipo di keystore identità personalizzato JKS
    Passphrase keystore identità personalizzato <password>
    Conferma passphrase keystore identità personalizzato <password>
    Keystore sicuro personalizzato /u01/app/oracle/admin/domains/oam_domain/keystore/oam_keystore.jks
    Tipo di keystore sicuro personalizzato JKS
    Passphrase di keystore sicuro personalizzato <password>
    Conferma passphrase keystore sicuro personalizzato <password>

    Ad esempio:

    Descrizione dell'immagine keystorevalues.jpg

  8. Fare clic sulla scheda SSL. Compilare i campi come indicato di seguito e fare clic su Salva:

    Campo Valore
    Alias chiave privata server_cert
    Passphrase chiave privata <password>
    Conferma password chiave privata <password>

    Ad esempio:

    Descrizione dell'immagine ssltab.jpg

  9. Espandere la sezione Avanzate e in Verifica nome host selezionare Nessuno dall'elenco a discesa. Fare clic su Salva.

  10. Nel Centro modifiche fare clic su Attiva modifiche.

  11. Eseguire il test per accedere alla console WLS tramite SSL, ad esempio https://oam.example.com:7002/console. Accedere come weblogic/<password>.

  12. Nel Centro modifiche fare clic su Blocca e modifica.

  13. Nel riquadro Struttura dominio, in oam_domain passare a Ambiente > Server. Fare clic su oam_server1.

  14. Ripetere le operazioni descritte ai punti da 4 a 10 sopra per oam_server1.

  15. Nel Centro modifiche fare clic su Blocca e modifica.

  16. Nel riquadro Struttura dominio, in oam_domain passare a Ambiente > Server. Fare clic su oam_policy_mgr1.

  17. Ripetere le operazioni descritte ai punti da 4 a 10 sopra per oam_policy_mgr1.

  18. Eseguire il test per accedere alla console di Policy Manager tramite SSL, ad esempio https://oam.example.com:14151/access. Accedere come weblogic/<password>.

Modificare le impostazioni di bilanciamento del carico in SSL

  1. Avviare un browser e accedere alla console del server WebLogic all'indirizzo https://oam.example.com:7002/oamconsole. Accedere come weblogic/<password>.

  2. Passare a Configurazione, quindi nella casella Impostazioni selezionare Visualizza > Gestione accessi.

  3. In Bilanciamento del carico e WebGate Traffic Load Balancer impostare quanto segue e fare clic su Applica:

    • Protocollo server OAM: https
    • Porta server OAM: 14101

    Ad esempio:

    Descrizione dell'immagine lbssl.jpg

  4. Riavviare il server oam_server1:

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

Esercitazione successiva

Configura Oracle Unified Directory per Oracle Access Management 12c.

Feedback

Per fornire un feedback su questo tutorial, si prega di contattare idm_user_assistance_ww_grp@oracle.com.

Riconoscimenti