***************************************************************************
* Description: Created self-signed certificate for WebLogic managed server
* Date: 11:44 AM EST, 03/02/2021
***************************************************************************
<1> After creating domain and managed server, the admin server & managed server's HTTPS port is assigned with an WebLogic integrated Demo Certs:
|
|__ o. Those Demo certs could not be used in production environment, and vulnerbility scan will be alerting this as well.
|
|__ o. If CA certificates could not be purchased, a self-signed certificate is recommanded.
<2> Several utilities could create self-signed certificate, and in this case, KEYTOOL is preferred:
|
|__ $ which keytool
/usr/java/jdk1.8.0_261-amd64/bin/keytool
<3> Creating a Key Pair in a key store, and a .jks keystore file will be created physically:
|
|__ $ keytool -genkey -keyalg RSA -alias snflwr -keystore /u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/identity.jks \
-dname "CN=`hostname`, OU=HHS, O=HHS, L=Rockville, ST=MD, C=US" -storepass Oracle2019 -validity 3600 -keysize 2048 -keypass Oracle2019
Warning: The JKS keystore uses a proprietary format.
It is recommended to migrate to PKCS12 which is an industry standard format using
"keytool -importkeystore -srckeystore /u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/identity.jks \
-destkeystore /u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/identity.jks -deststoretype pkcs12".
<4> Creating a self-signed identity certificate, and saved in the keystore. The certificate info will be saved in physical keystore file as well:
|
|__ $ keytool -selfcert -v -alias snflwr -keypass Oracle2019 -keystore /u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/identity.jks \
-storepass Oracle2019 -storetype jks -validity 3600
New certificate (self-signed):
[
[
Version: V3
Subject: CN=suflwr.emeralit.com, OU=DDS, O=DDS, L=McLean, ST=VA, C=US
Signature Algorithm: SHA256withRSA, OID = 1.2.840.113549.1.1.11
Key: Sun RSA public key, 2048 bits
params: null
modulus: 2088893171860531144544091571977442900781920883519
public exponent: 65547
Validity: [From: Thu Feb 25 10:50:57 EST 2021,
To: Sat Jan 04 10:50:57 EST 2031]
Issuer: CN=suflwr.emeralit.com, OU=DDS, O=DDS, L=McLean, ST=VA, C=US
SerialNumber: [ 01bad90f]
Certificate Extensions: 1
[1]: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 3A EF 13 C3 95 5B 21 80 53 A7 A6 09 23 E8 09 9A :....[!.S...#...
0010: 5D D5 3B 61 ].=a
]
]
]
Algorithm: [SHA256withRSA]
Signature:
0000: 53 95 6D 87 DF C4 67 25 DD F7 B2 DE E7 8D 1C 51 S.m...g%.......Q
0010: 20 B8 37 B5 27 00 05 0A 44 99 80 00 57 C3 ED 57 .7.'...D...W..W
0020: 80 50 57 70 F0 F0 54 32 A4 A7 CB 69 98 F1 D7 10 .PWp..T2...i....
0030: C8 CD C4 A0 03 8C 66 30 3F 1A 2B 68 06 D1 CE 00 ......f0?.+h....
0040: 99 2D 00 A7 7F 52 CC 5F 67 09 D2 D4 F0 3D 7E EE .-...R._g....=..
0050: 9A 43 1C 03 D1 6D 0B E9 5E 9E FA 66 FB 69 79 18 .C...m..^..f.iy.
0060: 34 5D 30 09 7D C3 CB 79 F7 61 7E 6E CA CD 13 EE 4]0.N..T.a.n....
0070: BE 64 21 2D 73 AF 6C 99 5C B9 C0 76 DB 1E 3A 25 .d!-s.l.\..v..:%
0080: 6F BB D8 79 D5 CE D2 E4 29 44 32 BA 02 EC E2 EC o..N....)D2.....
0090: 4E 11 51 EB 08 C8 3D F6 CC 9B 33 66 6C 1B D7 90 N.Q...=...3fl...
00A0: 24 F2 0E 0A 2D B9 09 63 77 C1 0D 44 78 50 4C E5 $...-..cw..DxPL.
00B0: 85 6A 65 10 56 D0 C5 3F CA 1C 15 28 21 DE 68 CE .je.V..?...(!.h.
00C0: 63 48 59 E8 CC D3 ED 44 5C F8 9A 28 B0 5E E8 64 cHY....D\..(.^.d
00D0: 0C 51 FA 4A 43 71 FD 55 98 75 4C 6F AC AB 38 47 .Q.JKq.U.uLo..8G
00E0: 7D F5 95 F0 41 0C D3 07 DA 73 20 E7 B5 6D 1C 85 ....A....s ..m..
00F0: B1 6D CE 12 A2 38 4B B8 23 AD 3A 12 65 95 EF 1B .m...8K.#.:.e...
]
[Storing /u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/identity.jks]
Warning:
The JKS keystore uses a proprietary format.
It is recommended to migrate to PKCS12 which is an industry standard format using
"keytool -importkeystore -srckeystore /u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/identity.jks \
-destkeystore /u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/identity.jks -deststoretype pkcs12".
<5> Export the identity certificate, from keystore, into a physical file with extension .der:
|
|__ $ keytool -export -v -alias snflwr -file "`hostname`-rootCA.der" \
-keystore /u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/identity.jks -storepass Oracle2019
Certificate stored in file
Warning:
The JKS keystore uses a proprietary format.
It is recommended to migrate to PKCS12 which is an industry standard format using
"keytool -importkeystore -srckeystore /u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/identity.jks \
-destkeystore /u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/identity.jks -deststoretype pkcs12".
You have mail in /var/spool/mail/oracle
<6> Import the same self-signed identity certificate into trust keystore as a ROOT certificate, simutenously, it will create trust keystore as physical file trust.jks:
|
|__ $ keytool -import -v -trustcacerts -alias snflwr \
-file "/u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/`hostname`-rootCA.der" \
-keystore /u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/trust.jks -storepass Oracle2019 -noprompt
Certificate was added to keystore
[Storing /u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/trust.jks]
<7> Configure SSL for the managed server via WebLogic console:
|
|__ o. Domain Structure => Servers => => Keystores => Click on "Change" => To "Custon Identify and Custon Trust" => Go to Tab "SSL" to give alias & Key Passphrase:
<8> Add below info into Node Manager config file, otherwise Admin Server could not communicate with Managed Server via Node Manager:
|
|__ o. /u01/app/oracle/middleware/config/user_projects/domains/pmisd/nodemanager/nodemanager.properties
KeyStores=CustomIdentityAndCustomTrust
CustomIdentityKeystoreType=jks
CustomIdentityKeyStoreFileName=/u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/identity.jks
CustomIdentityKeyStorePassPhrase=Oracle2021
CustomIdentityPrivateKeyPassPhrase=Oracle2021
CustomIdentityAlias=snflwr
CustomTrustKeystoreType=jks
CustomTrustKeyStoreFileName=/u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/trust.jks
CustomTrustKeyStorePassPhrase=Oracle2021
<9> But, following error comes up, when starting Managed Server via OEM "unable to find valid certification path to requested", but can boot it via command line:
|
|__ o. The reason is since the WebLogic domain or servers are running based on the Java on OS level /usr/bin/java, not Oracle Fusion Middleware integrated Java.
|
|__ o. So, the cert needs to be imported into OS Java Keystore as well by root user:
|
|__ $ sudo keytool -importcert -keystore /usr/java/jdk1.8.0_261-amd64/jre/lib/security/cacerts -storepass changeit \
-file /u01/app/oracle/middleware/config/user_projects/domains/pmisd/servers/Sunflower/keystore/snflwr.emeralit.com-rootCA.der -alias "snflwr"
Enter keystore password:
Owner: CN=snflwr.emeralit.com, OU=DDS, O=DDS, L=McLean, ST=VA, C=US
Issuer: CN=snflwr.emeralit.com, OU=DDS, O=DDS, L=McLean, ST=VA, C=US
Serial number: 1bad90f
Valid from: Thu Feb 25 10:50:57 EST 2021 until: Sat Jan 04 10:50:57 EST 2031
Certificate fingerprints:
MD5: A7:87:AC:32:D0:B1:8B:92:4C:50:98:97:34:08:E0:19
SHA1: DE:A5:3D:7E:5B:20:B0:C8:96:B3:F6:6D:1F:71:5D:C4:16:DD:6F:19
SHA256: 7D:D7:14:16:D7:5D:E9:6F:33:5D:ED:0A:4D:22:1B:53:67:B7:28:37:F2:FB:16:3F:B5:1B:0A:06:A5:A8:E9:D3
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 3A EF 13 C7 95 5B 21 80 58 A7 A1 09 43 E8 09 9A :....[!.S...#...
0010: 5D D5 3D 61 ].=a
]
]
Trust this certificate? [no]: yes
Certificate was added to keystore
Reference:
|
|__ o. https://oracle-base.com/articles/11g/weblogic-configure-ssl-for-a-managed-server
Your Comments