class CertificateManager {

  public String getCACertificateChainContent() {
    String serverCertDir = configs.getProperty(Configuration.SRVR_KSTR_DIR);

    // Attempt to send the explicit CA certificate chain file.
    String serverCertChainName = configs.getProperty(Configuration.SRVR_CRT_CHAIN_NAME);
    File certChainFile = new File(serverCertDir, serverCertChainName);
    if(certChainFile.exists()) {
      try {
        return new String(Files.readAllBytes(certChainFile.toPath()));
      } catch (IOException e) {
        LOG.error(e.getMessage());
      }
    }

    // Fall back to the original way things were done and send the server's SSL certificate as the
    // Certificate chain file.
    String serverCertName = configs.getProperty(Configuration.SRVR_CRT_NAME);
    File certFile = new File(serverCertDir, serverCertName);
    if(certFile.canRead()) {
      try {
        return new String(Files.readAllBytes(certFile.toPath()));
      } catch (IOException e) {
        LOG.error(e.getMessage());
      }
    }

    // If all else fails, send nothing...
    return null;
  }

}