private TestUtilities DefaultUtilities()
        {
            TestUtilities        utils = new TestUtilities();
            CertificateUtilities certificateUtilities = new CertificateUtilities();
            ConfigurationOptions config = utils.Collector.Config;
            // verify test credentials work
            AzureResourceManager arm = new AzureResourceManager(config);

            _appCertificate = certificateUtilities.GetClientCertificate(TestUtilities.TestProperties.AzureClientCertificate);
            //_appCertificate = new X509Certificate2(Convert.FromBase64String(TestUtilities.TestProperties.AzureClientCertificate),
            //    TestUtilities.TestProperties.adminPassword,
            //    X509KeyStorageFlags.Exportable);
            Assert.IsNotNull(_appCertificate);

            _clientCertificate = certificateUtilities.GetClientCertificate(TestUtilities.TestProperties.testAzClientCertificate);
            //_clientCertificate = new X509Certificate2(Convert.FromBase64String(TestUtilities.TestProperties.testAzClientCertificate),
            //    TestUtilities.TestProperties.adminPassword,
            //    X509KeyStorageFlags.Exportable);
            Assert.IsNotNull(_clientCertificate);

            config.AzureResourceGroup         = TestUtilities.TestProperties.AzureResourceGroup;
            config.AzureResourceGroupLocation = TestUtilities.TestProperties.AzureResourceGroupLocation;
            config.AzureSubscriptionId        = TestUtilities.TestProperties.AzureSubscriptionId;
            config.AzureTenantId = TestUtilities.TestProperties.AzureTenantId;

            // config.AzureClientSecret = TestUtilities.TestProperties.AzureClientSecret;
            config.AzureClientId          = TestUtilities.TestProperties.testAzClientId;
            config.AzureClientCertificate = TestUtilities.TestProperties.testAzClientCertificate;

            arm.Authenticate(true);

            config.SasKey                 = TestUtilities.TestProperties.SasKey;
            config.CacheLocation          = TestUtilities.TempDir;
            config.StartTimeStamp         = DateTime.MinValue.ToString("o");
            config.EndTimeStamp           = DateTime.Now.ToString("o");
            config.AzureClientId          = TestUtilities.TestProperties.AzureClientId;
            config.AzureClientCertificate = TestUtilities.TestProperties.AzureClientCertificate;
            config.AzureClientSecret      = TestUtilities.TestProperties.AzureClientSecret;
            config.AzureKeyVault          = TestUtilities.TestProperties.AzureKeyVault;

            config.List       = true;
            config.GatherType = FileTypesEnum.trace.ToString();
            return(utils);
        }
        public void AzureClientCertificateX509withPassword()
        {
            TestUtilities        utils  = DefaultUtilities();
            ConfigurationOptions config = utils.ConfigurationOptions;

            utils.ConfigurationOptions.Validate();
            DeleteTokenCache();

            ProcessOutput results = utils.ExecuteTest((config) =>
            {
                CertificateUtilities certificateUtilities = new CertificateUtilities();
                certificateUtilities.SetSecurePassword(TestUtilities.TestProperties.testAdminPassword);

                config.ClientCertificate = certificateUtilities.GetClientCertificate(TestUtilities.TestProperties.AzureClientCertificate);// _appCertificate;
                config.AzureKeyVault     = "";
                Assert.IsTrue(config.IsClientIdConfigured(), "test configuration invalid");
                return(config.ValidateAad());
            }, utils.Collector.Config);

            Assert.IsTrue(results.ExitBool);
            Assert.IsTrue(!results.HasErrors(), results.ToString());
        }