code: @Nonnull
      public static SSLSocketFactory getSSLSocketFactory(@Nullable String keyStore, @Nullable String keyStorePassword, @Nullable String trustStore, @Nullable String trustStorePassword) {
          SSLContext sslContext = getSslContext(keyStore, keyStorePassword, trustStore, trustStorePassword);
          return sslContext.getSocketFactory();
      }
docs: Build an {@link SSLSocketFactory} with the given trust store and key store.
  
  @param keyStore           path to the given JKS key store. Can be a classpath resource ("classpath:com/example/keystore.jks") of file system related. Optional, if {code null}, then the JVM key store is used.
  @param keyStorePassword   password to open the key store
  @param trustStore         path to the given JKS trust store. Can be a classpath resource ("classpath:com/example/keystore.jks") of file system related. Optional, if {code null}, then the JVM key store is used.
  @param trustStorePassword password to open the trust store
  @return the {@link SSLSocketFactory}