title: How to configure Liberty servers server.xml file
body: <p>In Liberty profile, How can we remove the default keystore and add new keystore file ? in server.xml file we have onlydefault configuration and we have below requirement.</p>
  
  <p>1) we created a new keystore file using ikeyman named ccm.jks
  2) opened the ccm.jks keystore file using ikeyman and under "personal certificate" content, created a new self signed certificate with common name as servers FQDN name and given the key alias name as "ccm". Now the personel certificate displays "ccm" certificate. (Refer Screenshot1)
  2) we created a new truststore file using ikeyman named ccmtrust.jks
  3) then we edited the server.xml values with new parameters as below.</p>
  
  <pre><code>       &lt;!-- Enable features --&gt;
  &lt;featureManager&gt;
      &lt;feature&gt;monitor-1.0&lt;/feature&gt;
      &lt;feature&gt;jsp-2.2&lt;/feature&gt;
      &lt;feature&gt;servlet-3.0&lt;/feature&gt;
      &lt;feature&gt;ssl-1.0&lt;/feature&gt;
      &lt;feature&gt;appSecurity-2.0&lt;/feature&gt;
      &lt;feature&gt;adminCenter-1.0&lt;/feature&gt;
  &lt;/featureManager&gt;
  
  &lt;ssl id="defaultSSLConfig" keyStoreRef="defaultKeyStore" trustStoreRef="defaultTrustStore" sslProtocol="SSL" enabledCiphers="TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 TLS_RSA_WITH_AES_128_CBC_SHA256 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA TLS_DHE_RSA_WITH_AES_128_CBC_SHA TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"/&gt;
  
  &lt;keyStore id="defaultKeyStore" location="${server.config.dir}/resources/security/CCM.jks" type="JKS" password="changeme"/&gt;
  &lt;keyStore id="defaultTrustStore" location="${server.config.dir}/resources/security/ccmtrust.jks" type="JKS" password="changeme"/&gt;
  &lt;httpEndpoint id="defaultHttpEndpoint"
          host="*"
          httpPort="9080"
          httpsPort="9443" /&gt;
  </code></pre>
  
  <p>4) Since we have to enable ssl trusting with our client DB server, we imported the DB servers self signed certificate to the the created truststore.jks file using ikeyman , signer certificate session (screenshot2).</p>
  
  <p>5) All these setup we restarted the service and when we tried to connect the DB, getting the below error.</p>
  
  <p>Caused by: java.security.cert.CertPathBuilderException: unable to find valid certification path to requested target
      at com.ibm.security.cert.PKIXCertPathBuilderImpl.buildCertPath(PKIXCertPathBuilderImpl.java:654)
      at com.ibm.security.cert.PKIXCertPathBuilderImpl.engineBuild(PKIXCertPathBuilderImpl.java:368)
      at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:268)
      at com.ibm.jsse2.util.f.a(f.java:61)</p>
  
  <p>Please let us know if we missed something there in the configuration.</p>
  
  <p>Also we couldnt identify that whether the server.xml configuration which we made are reflecting . ?</p>