Configuración de SSL para Oracle Access Management 12c

Introducción

En este tutorial se muestra cómo configurar SSL para el dominio Oracle Access Management 12c.

Este es el sexto tutorial de la serie Introducción a Oracle Access Management 12c. Leerlas secuencialmente.

Objetivo

Para configurar SSL para el dominio Oracle Access Management 12c.

Requisitos

Creación de almacenes de claves y certificados

Crear un almacén de claves Java

  1. Inicie una ventana de terminal como oracle y ejecute el siguiente comando para crear un almacén de claves 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>
    

    Por ejemplo:

    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>
    

    Sustituya <password> por la contraseña que desee.

    Nota: CN=oam.example.com se debe definir en host.domain del servidor donde está instalado OAM.

    Anote los valores de -alias, -keystore, -keypass y -storepass, ya que se utilizan más adelante en este tutorial.

Creación de una solicitud de firma de certificado

  1. Cree una solicitud de firma de certificado (CSR) con el siguiente comando:

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

    Por ejemplo:

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

    Asegúrese de utilizar los mismos valores -alias, -keypass y storepass del paso 1.

    Nota: Si ve Warning: The JKS keystore uses a proprietary format en este o en los pasos subsiguientes, puede ignorar este error.

    La salida debe ser similar a la siguiente:

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

    La CSR debe ser similar a la siguiente:

    $ cat server.csr
    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIC+DCCAeACAQAwgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
    MRcwFQYDVQQHEw5SZWR3b29kIFNob3JlczEYMBYGA1UEChMPRXhhbXBsZSBDb21w
    etc...
    rhEZEIfvX7jTu6b9Vxy2/RR2sYpQpOlKVMWqBdA1E8UdWaFDXtTOAC+d1FcUrZPw
    XybKIozSa3lCW+pJ/HCNN30qWiA3Pb76Vi+hlicgXPcUZeYcN2xNM5VXLzY=
    -----END NEW CERTIFICATE REQUEST-----
    
  2. La CSR se debe enviar a una autoridad de certificación (CA) de su elección para generar un certificado. La CA debe devolver el certificado del servidor y los certificados de CA raíz que firmaron el certificado. Para los fines de este tutorial, los certificados devueltos se guardan como server.crt y ca.crt para el certificado de servidor y el certificado de CA respectivamente.

    Nota: Si no tiene una CA, puede generar la suya propia para fines de prueba. Las instrucciones sobre cómo hacerlo se incluyen en la siguiente sección.

  3. Una vez recibidos los certificados, cópielos en el directorio /u01/app/oracle/admin/domains/oam_domain/keystore.

Crear una autoridad de certificación y generar el certificado de servidor

Nota: Esta sección solo se debe seguir si no tiene una autoridad de certificación (CA) y necesita generar su propia CA para fines de prueba.

  1. Cree un directorio de trabajo para crear los archivos de CA, por ejemplo: /stage/ssl:

    mkdir /stage/ssl
        cd /stage/ssl
    
  2. Genere una clave privada de 4096 bits (ca.key) para la autoridad de certificación raíz (CA):

    openssl genrsa -out ca.key 4096
    

    La salida será similar a la siguiente:

    Generating RSA private key, 4096 bit long modulus
    ................................................................................................................................................++
    .....................++
    e is 65537 (0x10001)
    
  3. Cree un certificado de CA raíz autofirmado (ca.crt):

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

    Cuando se le solicite, introduzca los detalles para crear la CA. Por ejemplo:

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

    No se devuelve ninguna salida a la pantalla.

  4. Utilice la CA para generar un certificado a partir de la CSR creada en la sección anterior:

    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
    

    La salida será similar a la siguiente:

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

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

Importar los certificados al almacén de claves

  1. Ejecute el siguiente comando para importar los certificados al almacén de claves:

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

    Por ejemplo:

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

    La salida será similar a la siguiente:

    Certificate was added to keystore
    [Storing oam_keystore.jks]
    

    Nota: Si su CA tiene más de un certificado de CA en la cadena, debe repetir lo anterior para cada certificado utilizando un alias diferente cada vez. Por ejemplo:

    keytool -import -v -noprompt -trustcacerts -alias rootcacert2 -file ca2.cer -keystore oam_keystore.jks -storepass <password>
    
  2. Importe el certificado de servidor al almacén de claves ejecutando el siguiente comando:

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

    Por ejemplo:

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

    La salida será similar a la siguiente:

    Certificate reply was installed in keystore
    [Storing oam_keystore.jks]
    
  3. Visualice el contenido del almacén de claves ejecutando el siguiente comando:

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

    La salida será similar a la siguiente:

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

Configuración de OAM para SSL

En esta sección, configurará OAM AdminServer para utilizar SSL utilizando el almacén de claves generado anteriormente.

  1. Inicie un explorador y acceda a la consola del servidor WebLogic en http://oam.example.com:7001/console. Inicie sesión como weblogic/<password>.

  2. En el centro de cambios, haga clic en Activar y editar.

  3. En el panel Estructura de dominio, en oam_domain, navegue hasta Entorno > Servidores. Haga clic en AdminServer.

  4. En el separador General, haga clic en la casilla de control Puerto de recepción SSL activado. Haga clic en Guardar:

    Descripción de la ilustración sslenabled.jpg

  5. Haga clic en la pestaña Almacenes de claves. En el separador Almacenes de claves, en Almacenes de claves, haga clic en Cambiar:

    Descripción de la ilustración keystores.jpg

  6. En la lista desplegable Almacenes de claves, seleccione Identidad personalizada y confianza personalizada. Haga clic en Guardar.

  7. Rellene los campos del almacén de claves de la siguiente manera y haga clic en Guardar:

    Campo Valor
    Almacén de Claves de Identidad Personalizado /u01/app/oracle/admin/domains/oam_domain/keystore/oam_keystore.jks
    Tipo de Almacén de Claves de Identidad Personalizado JKS
    Contraseña del Almacén de Claves de Identidad Personalizado <password>
    Confirmar Contraseña del Almacén de Claves de Identidad Personalizado <password>
    almacén de claves de confianza personalizado /u01/app/oracle/admin/domains/oam_domain/keystore/oam_keystore.jks
    Tipo de Almacén de Claves de Protección Personalizado JKS
    Contraseña del Almacén de Claves de Protección Personalizado <password>
    Confirmar Contraseña del Almacén de Claves de Protección Personalizado <password>

    Por ejemplo:

    Descripción de la ilustración keystorevalues.jpg

  8. Haga clic en el separador SSL. Rellene los campos de la siguiente manera y haga clic en Guardar:

    Campo Valor
    Alias de Clave Privada server_cert
    Contraseña de Clave Privada <password>
    Confirmar frase de contraseña de clave privada <password>

    Por ejemplo:

    Descripción de la ilustración ssltab.jpg

  9. Amplíe la sección Avanzado y, en Verificación de nombre de host, seleccione Ninguno en la lista desplegable. Haga clic en Guardar.

  10. En el centro de cambios haga clic en Activar Cambios.

  11. Pruebe que puede acceder a la consola de WLS a través de SSL, por ejemplo, https://oam.example.com:7002/console. Inicie sesión como weblogic/<password>.

  12. En el centro de cambios, haga clic en Activar y editar.

  13. En el panel Estructura de dominio, en oam_domain, navegue hasta Entorno > Servidores. Haga clic en oam_server1.

  14. Repita los pasos 4 a 10 anteriores para oam_server1.

  15. En el centro de cambios, haga clic en Activar y editar.

  16. En el panel Estructura de dominio, en oam_domain, navegue hasta Entorno > Servidores. Haga clic en oam_policy_mgr1.

  17. Repita los pasos 4 a 10 anteriores para oam_policy_mgr1.

  18. Pruebe que puede acceder a la consola de Policy Manager a través de SSL, por ejemplo, https://oam.example.com:14151/access. Inicie sesión como weblogic/<password>.

Cambiar Valores de Equilibrio de Carga a SSL

  1. Inicie un explorador y acceda a la consola del servidor WebLogic en https://oam.example.com:7002/oamconsole. Inicie sesión como weblogic/<password>.

  2. Vaya a Configuración y, a continuación, en el mosaico Configuración, seleccione Ver > Gestor de acceso.

  3. En Equilibrio de carga y WebGate Equilibrador de carga de tráfico, defina lo siguiente y haga clic en Aplicar:

    • Protocolo del servidor OAM: https
    • Puerto del servidor OAM: 14101

    Por ejemplo:

    Descripción de la ilustración lbssl.jpg

  4. Reinicie el servidor oam_server1:

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

Próximo tutorial

Configurar Oracle Unified Directory para Oracle Access Management 12c.

Comentarios

Para proporcionar comentarios sobre este tutorial, póngase en contacto con idm_user_assistance_ww_grp@oracle.com.

Agradecimientos