設定 Oracle Access Management 12c 的 SSL
簡介
本教學課程示範如何設定 Oracle Access Management 12c 網域的 SSL。
這是 Oracle Access Management 12c 入門系列中的第六個教學課程。依序讀取。
- Oracle Access Management 12c 系列入門 - 簡介
- 安裝 Oracle Database for Oracle Access Management 12c
- 建立適用於 Oracle Access Management 12c 的 Oracle Database
- 安裝 Oracle Access Management 12c
- 設定 Oracle Access Management 12c
- 設定 Oracle Access Management 12c 的 SSL
- 設定 Oracle Access Management 12c 的 Oracle Unified Directory
- 安裝並設定 Oracle HTTP Server for Oracle Access Management 12c
- 建立並設定 WebGate
- 使用 Oracle Access Management 12c 保護 WebLogic 伺服器中部署的應用程式
目標
設定 Oracle Access Management 12c 網域的 SSL。
必要條件
- 遵循設定 Oracle Access Management 12c
- OpenSSL 1.0.2 或更新版本。這只有在需要產生自己的「憑證授權機構」以進行測試時才需要。
建立金鑰存放區和憑證
建立 Java 金鑰存放區
-
以
oracle形式啟動終端機視窗,並執行下列命令以建立 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>例如:
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>請將
<password>取代為您選擇的密碼。注意:
CN=oam.example.com應設為安裝 OAM 之伺服器的 host.domain。請記下
-alias、-keystore、-keypass和-storepass的值,因為這些值稍後會用於本教學課程中。
建立憑證簽署要求
-
使用下列命令建立憑證簽署要求 (CSR):
keytool -certreq -v -alias <alias> -file <filename> -sigalg SHA256withRSA -keypass <password> -storepass <password> -keystore <keystore>例如:
keytool -certreq -v -alias server_cert -file server.csr -sigalg SHA256withRSA -keypass <password> -storepass <password> -keystore oam_keystore.jks請確定使用步驟 1 中相同的
-alias、-keypass及storepass。注意:如果在此或後續步驟中看到
Warning: The JKS keystore uses a proprietary format,您可以忽略此錯誤。輸出看起來應該與下列類似:
Certification request stored in file <server.csr> Submit this to your CACSR 的外觀如下:
$ cat server.csr -----BEGIN NEW CERTIFICATE REQUEST----- MIIC+DCCAeACAQAwgYIxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh MRcwFQYDVQQHEw5SZWR3b29kIFNob3JlczEYMBYGA1UEChMPRXhhbXBsZSBDb21w etc... rhEZEIfvX7jTu6b9Vxy2/RR2sYpQpOlKVMWqBdA1E8UdWaFDXtTOAC+d1FcUrZPw XybKIozSa3lCW+pJ/HCNN30qWiA3Pb76Vi+hlicgXPcUZeYcN2xNM5VXLzY= -----END NEW CERTIFICATE REQUEST----- -
CSR 應傳送至您選擇的憑證授權機構 (CA),以產生憑證。CA 應傳送簽署憑證的伺服器憑證與根 CA 憑證。在此自學課程中,傳回的憑證會分別儲存為伺服器憑證和 CA 憑證的
server.crt和ca.crt。注意:如果您沒有 CA,您可以自行產生供測試之用。如何執行此操作的指示位於下一節。
-
憑證收到之後,就會複製到
/u01/app/oracle/admin/domains/oam_domain/keystore目錄中。
建立憑證授權機構並產生伺服器憑證
注意:只有在沒有憑證授權機構 (CA) 且需要產生自己的 CA 進行測試時,才應該遵循此區段。
-
建立工作目錄以建立 CA 檔案,例如:
/stage/ssl:mkdir /stage/ssl cd /stage/ssl -
產生根憑證授權機構 (CA) 的 4096 位元私密金鑰 (
ca.key):openssl genrsa -out ca.key 4096輸出與下列類似:
Generating RSA private key, 4096 bit long modulus ................................................................................................................................................++ .....................++ e is 65537 (0x10001) -
建立自行簽署的根 CA 憑證 (
ca.crt):openssl req -new -x509 -days 3650 -key ca.key -out ca.crt提示輸入詳細資訊以建立您的 CA。例如:
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 []:不會傳回任何輸出至畫面。
-
使用 CA 從上一個區段中建立的 CSR 產生憑證:
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輸出與下列類似:
Signature ok subject=/C=US/ST=California/L=Redwood Shores/O=Example Company/OU=Security/CN=oam.example.com Getting CA Private Key -
將
server.crt和ca.crt複製到/u01/app/oracle/admin/domains/oam_domain/keystore/目錄:cp server.crt ca.crt /u01/app/oracle/admin/domains/oam_domain/keystore/
將憑證匯入金鑰存放區
-
執行下列命令,將憑證匯入金鑰存放區:
cd /u01/app/oracle/admin/domains/oam_domain/keystore/ keytool -import -v -noprompt -trustcacerts -alias <alias> -file <rootca_file> -keystore <keystore> -storepass <password>例如:
keytool -import -v -noprompt -trustcacerts -alias rootcacert -file ca.crt -keystore oam_keystore.jks -storepass <password>輸出與下列類似:
Certificate was added to keystore [Storing oam_keystore.jks]注意:如果您的 CA 在鏈中有多個 CA 憑證,則每次使用不同的別名來對每個憑證重複上述。例如:
keytool -import -v -noprompt -trustcacerts -alias rootcacert2 -file ca2.cer -keystore oam_keystore.jks -storepass <password> -
執行下列命令,將伺服器憑證匯入您的金鑰存放區:
keytool -import -v -alias <alias> -file <server_cert_file> -keystore <keystore> -keypass <password> -storepass <password>例如:
keytool -import -v -alias server_cert -file server.crt -keystore oam_keystore.jks -keypass <password> -storepass <password>輸出與下列類似:
Certificate reply was installed in keystore [Storing oam_keystore.jks] -
執行下列命令,檢視金鑰存放區的內容:
keytool -list -v -keystore oam_keystore.jks -storepass <PASSWORD>輸出與下列類似:
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 以進行 SSL
您可以在此區段中設定 OAM AdminServer,使用先前產生的金鑰存放區使用 SSL。
-
啟動瀏覽器並存取位於
http://oam.example.com:7001/console的 WebLogic 伺服器主控台。以weblogic/<password>身分登入。 -
在「變更中心」,按一下鎖定和編輯。
-
在「網域結構」窗格中,oam_domain 下瀏覽至環境 > 伺服器。按一下 AdminServer。
-
在一般頁籤中,按一下啟用 SSL 監聽連接埠核取方塊。按一下儲存:

-
按一下 Keystores 標籤。在金鑰存放區頁籤中,按一下「金鑰存放區」下的變更:

-
在「金鑰存放區」下拉式清單中,選取自訂識別和自訂信任。按一下儲存。
-
依照下列方式填寫「金鑰存放區」欄位,然後按一下儲存:
欄位 值 自訂識別金鑰存放區 /u01/app/oracle/admin/domains/oam_domain/keystore/oam_keystore.jks自訂識別金鑰存放區類型 JKS自訂識別金鑰存放區密碼 <password>確認自訂識別金鑰儲存庫密碼 <password>自訂信任金鑰存放區 /u01/app/oracle/admin/domains/oam_domain/keystore/oam_keystore.jks自訂信任金鑰存放區類型 JKS自訂信任金鑰存放區密碼詞組 <password>確認自訂信任金鑰儲存庫密碼 <password>例如:

-
按一下 SSL 頁籤。依照下列方式填寫欄位,然後按一下儲存:
欄位 值 私密金鑰別名 server_cert私密金鑰密碼詞組 <password>確認私密金鑰密碼 <password>例如:

-
展開進階區段,然後在主機名稱驗證底下選取無。按一下儲存。
-
在變更中心中,按一下啟動變更。
-
測試您可以透過 SSL 存取「WLS 主控台」,例如
https://oam.example.com:7002/console。以weblogic/<password>身分登入。 -
在「變更中心」,按一下鎖定和編輯。
-
在「網域結構」窗格中,oam_domain 下瀏覽至環境 > 伺服器。按一下 oam_server1。
-
針對 oam_server1 重複上述步驟 4-10。
-
在「變更中心」,按一下鎖定和編輯。
-
在「網域結構」窗格中,oam_domain 下瀏覽至環境 > 伺服器。按一下 oam_policy_mgr1。
-
針對 oam_policy_mgr1 重複上述步驟 4-10。
-
測試您可以透過 SSL 存取 Policy Manager 主控台,例如
https://oam.example.com:14151/access。以weblogic/<password>身分登入。
將負載平衡設定值變更為 SSL
-
啟動瀏覽器並存取位於
https://oam.example.com:7002/oamconsole的 WebLogic 伺服器主控台。以weblogic/<password>身分登入。 -
瀏覽至組態,然後在設定值磚塊下方選取檢視 > 存取管理員。
-
在負載平衡和 WebGate 流量負載平衡器底下設定下列項目,然後按一下套用:
- OAM 伺服器協定:
https - OAM 伺服器連接埠:
14101
例如:

- OAM 伺服器協定:
-
重新啟動
oam_server1伺服器:cd /u01/app/oracle/admin/domains/oam_domain/bin ./stopManagedWebLogic.sh oam_server1 ./startManagedWebLogic.sh oam_server1
下一個教學課程
設定 Oracle Access Management 12c 的 Oracle Unified Directory。
意見
若要對此教學課程提供意見,請聯絡 idm_user_assistance_ww_grp@oracle.com。
致謝
- 作者 - 俄羅斯霍德孫
Configure SSL for Oracle Access Management 12c
F59411-01
June 2022
Copyright © 2022, Oracle and/or its affiliates.