diff --git a/src/caosdbcli.cpp b/src/caosdbcli.cpp
index d73eb4498c6dce236eb67a136422a12d872654c3..e2830885418f02938c54f217162507fb1b59bc0a 100644
--- a/src/caosdbcli.cpp
+++ b/src/caosdbcli.cpp
@@ -27,6 +27,7 @@
 #include "caosdb/info/v1alpha1/main.pb.h"
 #include "constants.h"
 #include "connection.h"
+#include "authentication.h"
 #include "utils.h"
 
 auto main() -> int {
@@ -36,24 +37,19 @@ auto main() -> int {
             << caosdb::LIBCAOSDB_VERSION_PATCH << ")" << std::endl;
   std::cout << "We don't miss the H of caos." << std::endl;
 
-  const auto pem_file_path =
-    caosdb::utils::get_env_var("CAOSDB_SERVER_CA_PEM", std::string());
-  std::string pem = caosdb::utils::load_string_file(pem_file_path);
+  const auto pem_file = caosdb::utils::get_env_var("CAOSDB_SERVER_CA_PEM", std::string());
+  const auto host = caosdb::utils::get_env_var("CAOSDB_SERVER_HOST", "localhost");
+  const auto port_str = caosdb::utils::get_env_var("CAOSDB_SERVER_PORT", "8000");
+  const auto port = std::stoi(port_str);
 
-  std::cout << "PEM" << pem << "\n";
-  const std::string host =
-    caosdb::utils::get_env_var("CAOSDB_SERVER_HOST", "localhost");
-  const std::string port_str =
-    caosdb::utils::get_env_var("CAOSDB_SERVER_PORT", "8000");
-  const int port = std::stoi(port_str);
-
-  auto cacert = std::make_shared<caosdb::PemCACertProvider>(pem);
+  auto auth = std::make_shared<caosdb::authentication::PlainPasswordAuthenticator>("tf", "vuY36moa");
+  auto cacert = std::make_shared<caosdb::PemFileCACertProvider>(pem_file);
   auto config =
-    std::make_shared<caosdb::SslCaosDBConnectionConfig>(host, port, cacert);
+    std::make_shared<caosdb::SslCaosDBConnectionConfig>(host, port, cacert, auth);
   caosdb::CaosDBConnection connection(config);
   std::cout << std::endl << connection << std::endl;
   const auto &v_info = connection.getVersionInfo();
-  const auto &build = v_info.build();
+  // const auto &build = v_info.build();
   // std::cout << "BUILD(" << build[0] << ")" << std::endl;
   std::cout << "VersionInfo(" << v_info.major() << "." << v_info.minor() << "."
             << v_info.patch() << ")" << std::endl;