The documentation for the Java Apache Arrow (v11.0.0) FlightClient.Builder has several methods related to constructing a TLS-enabled client:
clientCertificate(InputStream clientCertificate, InputStream clientKey)useTls()overrideHostname(String hostname)trustedCertificates(InputStream stream)verifyServer(boolean verifyServer)
The descriptions aren't detailed enough for me to understand which ones are needed to enable and use TLS in connections with a FlightServer. There could easily be some gap in my understanding of TLS that would help me more easily consume this documentation.
Do I need to use all of these? Are some of them redundant? How are they related?