text: /**
   * Validate that the shell can load certificates from the certificate store and connect to the
   * server.
   */
  
  load('jstests/ssl/libs/ssl_helpers.js');
  
  requireSSLProvider('windows', function() {
      'use strict';
  
      if (_isWindows()) {
          // SChannel backed follows Windows rules and only trusts Root in LocalMachine
          runProgram("certutil.exe", "-addstore", "-f", "Root", "jstests\\libs\\trusted-ca.pem");
  
          // Import a pfx file since it contains both a cert and private key and is easy to import
          // via command line.
          runProgram("certutil.exe",
                     "-importpfx",
                     "-f",
                     "-p",
                     "qwerty",
                     "jstests\\libs\\trusted-client.pfx");
      }
  
      const conn = MongoRunner.runMongod(
          {sslMode: 'requireSSL', sslPEMKeyFile: "jstests\\libs\\trusted-server.pem"});
  
      const testWithCert = function(certSelector) {
          jsTest.log(`Testing with SSL cert ${certSelector}`);
          const argv = [
              'mongo',
              '--ssl',
              '--sslCertificateSelector',
              certSelector,
              '--port',
              conn.port,
              '--eval',
              'db.runCommand({buildInfo: 1})'
          ];
  
          const exitStatus = runMongoProgram.apply(null, argv);
          assert.eq(exitStatus, 0, "successfully connected with SSL");
      };
  
      const trusted_client_thumbprint = cat('jstests/libs/trusted-client.pem.digest.sha1');
  
      assert.doesNotThrow(function() {
          testWithCert("thumbprint=" + trusted_client_thumbprint);
      });
  
      assert.doesNotThrow(function() {
          testWithCert("subject=Trusted Kernel Test Client");
      });
  
      MongoRunner.stopMongod(conn);
  });
  