private static SSLFactory getSSLFactoryIfRequired(VerifiableProperties verifiableProperties) throws Exception {
    ClusterMapConfig clusterMapConfig = new ClusterMapConfig(verifiableProperties);
    boolean sslRequired = new NettyConfig(verifiableProperties).nettyServerEnableSSL
        || clusterMapConfig.clusterMapSslEnabledDatacenters.length() > 0;
    return sslRequired ? SSLFactory.getNewInstance(new SSLConfig(verifiableProperties)) : null;
  }
Instantiate an {@link SSLFactory} if any components require it.
@param verifiableProperties The {@link VerifiableProperties} to check if any components require it.
@return the {@link SSLFactory}, or {@code null} if no components require it.
@throws GeneralSecurityException
@throws IOException
ambry-rest/src/main/java/com/github/ambry/rest/RestServerMain.java