code: public SslContextBuilder keyManager(KeyManagerFactory keyManagerFactory) {
          if (forServer) {
              checkNotNull(keyManagerFactory, "keyManagerFactory required for servers");
          }
          keyCertChain = null;
          key = null;
          keyPassword = null;
          this.keyManagerFactory = keyManagerFactory;
          return this;
      }
docs: Identifying manager for this host. {@code keyManagerFactory} may be {@code null} for
  client contexts, which disables mutual authentication. Using a {@link KeyManagerFactory}
  is only supported for {@link SslProvider#JDK} or {@link SslProvider#OPENSSL} / {@link SslProvider#OPENSSL_REFCNT}
  if the used openssl version is 1.0.1+. You can check if your openssl version supports using a
  {@link KeyManagerFactory} by calling {@link OpenSsl#supportsKeyManagerFactory()}. If this is not the case
  you must use {@link #keyManager(File, File)} or {@link #keyManager(File, File, String)}.
  
  If you use {@link SslProvider#OPENSSL} or {@link SslProvider#OPENSSL_REFCNT} consider using
  {@link OpenSslX509KeyManagerFactory} or {@link OpenSslCachingX509KeyManagerFactory}.