Configuring Self Certificate and SSL in Weblogic

1. open command prompt and change the directory as you weblogic domain home directory by typing following command:

C:\Users\kunalku> D:\Weblogic10.3.6\user_projects\domains\hgbu_domain\bin
C:\Users\kunalku>d:

2. Then execute the setDomainEnv command as follows:

D:\Weblogic10.3.6\user_projects\domains\hgbu_domain\bin>setDomainEnv.cmd

3. Generate you self certificate by following command

D:\Weblogic10.3.6\user_projects\domains\hgbu_domain>keytool -genkey -alias mykey -keyalg RSA -keysize 2048 -validity 365 -keypass privatepassword -keystore identity.jks -storepass password

it will ask you some question as follows:

What is your first and last name?
  [Unknown]:  localhost
What is the name of your organizational unit?
  [Unknown]:  wls
What is the name of your organization?
  [Unknown]:  wls
What is the name of your City or Locality?
  [Unknown]:  Bangalore
What is the name of your State or Province?
  [Unknown]:  Karnataka
What is the two-letter country code for this unit?
  [Unknown]:  IN
Is CN=localhost, OU=wls, O=wls, L=Bangalore, ST=Karnataka, C=IN correct?
  [no]:  yes

This will create the certificate files.

Now we need to create custom identity store. To create this issue following command:

4. D:\Weblogic10.3.6\user_projects\domains\hgbu_domain>keytool  -export -alias mykey -file root.cer -keystore identity.jks -storepass password

you will get following message:

Certificate stored in file <root.cer>

then we need to create the truststore as follows:

5.  D:\Weblogic10.3.6\user_projects\domains\hgbu_domain>keytool -import -alias mykey -file root.cer -keystore trust.jks -storepass password

You can see the following message

Owner: CN=localhost, OU=wls, O=wls, L=Bangalore, ST=Karnataka, C=IN
Issuer: CN=localhost, OU=wls, O=wls, L=Bangalore, ST=Karnataka, C=IN
Serial number: 12a493b8
Valid from: Mon Jun 22 14:52:24 IST 2015 until: Tue Jun 21 14:52:24 IST 2016
Certificate fingerprints:
         MD5:  2A:C7:02:22:8E:C2:8A:C2:E6:3C:95:88:A5:F0:06:37
         SHA1: 3A:CC:C7:04:9E:D9:82:84:2B:9A:FC:0C:EA:18:B9:43:4C:73:4E:6E
         SHA256: A5:D0:E8:F2:7E:09:06:1D:61:7B:F9:6F:9E:B0:4C:7F:6E:32:06:62:BD:
DE:AB:49:C9:71:31:AC:67:52:CC:49
         Signature algorithm name: SHA256withRSA
         Version: 3

Extensions:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 18 FF C2 49 37 9C 81 39   2D C3 2B 63 54 81 E1 D9  ...I7..9-.+cT...
0010: B6 74 BE C1                                        .t..
]
]

Trust this certificate? [no]:  yes
Certificate was added to keystore


You can verify the certificate by following command:

6. D:\Weblogic10.3.6\user_projects\domains\hgbu_domain>keytool -list -v -keystore identity.jks -storepass password

It will print following output

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: mykey
Creation date: Jun 22, 2015
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=localhost, OU=wls, O=wls, L=Bangalore, ST=Karnataka, C=IN
Issuer: CN=localhost, OU=wls, O=wls, L=Bangalore, ST=Karnataka, C=IN
Serial number: 12a493b8
Valid from: Mon Jun 22 14:52:24 IST 2015 until: Tue Jun 21 14:52:24 IST 2016
Certificate fingerprints:
         MD5:  2A:C7:02:22:8E:C2:8A:C2:E6:3C:95:88:A5:F0:06:37
         SHA1: 3A:CC:C7:04:9E:D9:82:84:2B:9A:FC:0C:EA:18:B9:43:4C:73:4E:6E
         SHA256: A5:D0:E8:F2:7E:09:06:1D:61:7B:F9:6F:9E:B0:4C:7F:6E:32:06:62:BD:
DE:AB:49:C9:71:31:AC:67:52:CC:49
         Signature algorithm name: SHA256withRSA
         Version: 3

Extensions:

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 18 FF C2 49 37 9C 81 39   2D C3 2B 63 54 81 E1 D9  ...I7..9-.+cT...
0010: B6 74 BE C1                                        .t..
]
]

verify that it has created the following files in the domain directory or not:



Login to Weblogic Admin console --> Environment --> Servers -->
Configuration -> General --> SSL Listen Port Enabled ( Check ) and select the port as 9443 as shown below in screenshot  and then click on save.



Click on Keystores tab under " Configuration " tab :
Click on the change button next to Keystores and sleect " Custom Identity and Custom Trust "  from dropdown and click on save.



Now on keystore tab select the identity and truststore that you have created and click on save.


---Identity---
Custom Identity Keystore : < location of identity keystore that you have created>
NOTE : By default WLS will look for this keystore file in domain_home location.
 Custom Identity Keystore Type : jks
 Custom Identity Keystore Passphrase: password
 ---Trust---
 Custom Trust Keystore : < location of identity keystore that you have created>
NOTE : By default WLS will look for this keystore file in domain_home location.
 Custom Trust Keystore Type : jks
 Custom Trust Keystore Passphrase: password



Then go to SSL tab and change the private key alias as follows:



Now click on the "Advance" link and check the checkbox "Use JSSE SSL" as shown below and click on save.





Now restart the server and then invoke the url https://localhost:7001/console from browser and see if you are able to see the SSL certificate as shown below:




 Happy Coding :)

Comments

Popular posts from this blog

Setting up the environment for Angular2 and Hello World Example in Angular2

Build a Simple ReactJS application using react-cli

Customizing the ReactJS sample application created using react-cli