public void ValidateIssuerCertStores() { X509 validCertInfo1 = new X509() { ClusterCertificateCommonNames = ConstructServerCns("clusterCN", ""), ServerCertificateCommonNames = ConstructServerCns("serverCN", ""), ClientCertificateCommonNames = new List <ClientCertificateCommonName>() { new ClientCertificateCommonName() { CertificateCommonName = "clientCN", CertificateIssuerThumbprint = "" } }, ClusterCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ClusterIssuer", X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } }, ServerCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ServerIssuer", X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } }, ClientCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(validCertInfo1); }, null); X509 validCertInfo2 = new X509() { ClientCertificateCommonNames = new List <ClientCertificateCommonName>() { new ClientCertificateCommonName() { CertificateCommonName = "clientCN", CertificateIssuerThumbprint = "" }, new ClientCertificateCommonName() { CertificateCommonName = "clientCN", CertificateIssuerThumbprint = "" } }, ClientCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "Issuer1", X509StoreNames = "My" }, new CertificateIssuerStore() { IssuerCommonName = "Issuer2", X509StoreNames = "My" }, new CertificateIssuerStore() { IssuerCommonName = "Issuer3", X509StoreNames = "My" } } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(validCertInfo2); }, null); X509 invalidCertInfo1 = new X509() { ClusterCertificateCommonNames = ConstructServerCns("clusterCN", ""), ServerCertificateCommonNames = ConstructServerCns("serverCN", ""), ClientCertificateCommonNames = new List <ClientCertificateCommonName>() { new ClientCertificateCommonName() { CertificateCommonName = "clientCN", CertificateIssuerThumbprint = "" } }, ClusterCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ClusterIssuer1", X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "ClusterIssuer1", X509StoreNames = "My" } }, ServerCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ServerIssuer", X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } }, ClientCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(invalidCertInfo1); }, ClusterManagementErrorCode.DupIssuerCertificateCN); X509 invalidCertInfo2 = new X509() { ClusterCertificateCommonNames = ConstructServerCns("clusterCN", ""), ServerCertificateCommonNames = ConstructServerCns("serverCN", ""), ClientCertificateCommonNames = new List <ClientCertificateCommonName>() { new ClientCertificateCommonName() { CertificateCommonName = "clientCN", CertificateIssuerThumbprint = "" } }, ClusterCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ClusterIssuer1", X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } }, ServerCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ServerIssuer1", X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "ServerIssuer1", X509StoreNames = "My" } }, ClientCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(invalidCertInfo2); }, ClusterManagementErrorCode.DupIssuerCertificateCN); X509 invalidCertInfo3 = new X509() { ClusterCertificateCommonNames = ConstructServerCns("clusterCN", ""), ServerCertificateCommonNames = ConstructServerCns("serverCN", ""), ClientCertificateCommonNames = new List <ClientCertificateCommonName>() { new ClientCertificateCommonName() { CertificateCommonName = "clientCN", CertificateIssuerThumbprint = "" } }, ClusterCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ClusterIssuer1", X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } }, ServerCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ServerIssuer1", X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "ServerIssuer2", X509StoreNames = "My" } }, ClientCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ClientIssuer1", X509StoreNames = "My" }, new CertificateIssuerStore() { IssuerCommonName = "ClientIssuer1", X509StoreNames = "My, Root" }, } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(invalidCertInfo3); }, ClusterManagementErrorCode.DupIssuerCertificateCN); X509 invalidCertInfo4 = new X509() { ClusterCertificateCommonNames = ConstructServerCns("clusterCN", ""), ServerCertificateCommonNames = ConstructServerCns("serverCN", ""), ClientCertificateCommonNames = new List <ClientCertificateCommonName>() { new ClientCertificateCommonName() { CertificateCommonName = "clientCN", CertificateIssuerThumbprint = "" } }, ClusterCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ClusterIssuer1", X509StoreNames = "My, My" }, new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } }, ServerCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ServerIssuer1", X509StoreNames = "My, Root, InvalidStore" }, new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } }, ClientCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(invalidCertInfo4); }, ClusterManagementErrorCode.DupIssuerCertificateStore); X509 invalidCertInfo5 = new X509() { ClusterCertificateCommonNames = ConstructServerCns("clusterCN", ""), ClusterCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(invalidCertInfo5); }, ClusterManagementErrorCode.IssuerCNCannotBeNull); X509 invalidCertInfo6 = new X509() { ClusterCertificateCommonNames = ConstructServerCns("clusterCN", ""), ClusterCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "" }, new CertificateIssuerStore() { IssuerCommonName = "ClusterIssuer", X509StoreNames = "My" } } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(invalidCertInfo6); }, ClusterManagementErrorCode.IssuerStoreNameCannotBeNull); X509 invalidCertInfo7 = new X509() { ClusterCertificateCommonNames = ConstructServerCns("clusterCN", ""), ClusterCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ClusterIssuer1", X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" }, new CertificateIssuerStore() { IssuerCommonName = "ClusterIssuer2", X509StoreNames = "My" } } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(invalidCertInfo7); }, ClusterManagementErrorCode.IssuerCertStoreCNMoreThan2); X509 invalidCertInfo8 = new X509() { ClusterCertificateCommonNames = ConstructServerCns("clusterCN", ""), ClientCertificateCommonNames = new List <ClientCertificateCommonName>() { new ClientCertificateCommonName() { CertificateCommonName = "clientCN", CertificateIssuerThumbprint = "" } }, ClusterCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ClusterIssuer1", X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } }, ServerCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ServerIssuer1", X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } }, ClientCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(invalidCertInfo8); }, ClusterManagementErrorCode.IssuerCertStoreSpecifiedWithoutCommonNameCertificate); X509 invalidCertInfo9 = new X509() { ClusterCertificateCommonNames = ConstructServerCns("clusterCN", ""), ServerCertificateCommonNames = ConstructServerCns("serverCN", ""), ClientCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(invalidCertInfo9); }, ClusterManagementErrorCode.IssuerCertStoreSpecifiedWithoutCommonNameCertificate); X509 invalidCertInfo10 = new X509() { ClientCertificateCommonNames = new List <ClientCertificateCommonName>() { new ClientCertificateCommonName() { CertificateCommonName = "clientCN", CertificateIssuerThumbprint = "" } }, ClientCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ClientIssuer", X509StoreNames = "My" }, new CertificateIssuerStore() { IssuerCommonName = "ClientIssuer", X509StoreNames = "My" } } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(invalidCertInfo10); }, ClusterManagementErrorCode.DupIssuerCertificateCN); X509 invalidCertInfo11 = new X509() { ClientCertificateCommonNames = new List <ClientCertificateCommonName>() { new ClientCertificateCommonName() { CertificateCommonName = "clientCN", CertificateIssuerThumbprint = "" } }, ClientCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "clientIssuer", X509StoreNames = "My" }, new CertificateIssuerStore() { IssuerCommonName = "ClientIssuer", X509StoreNames = "My" } } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(invalidCertInfo11); }, ClusterManagementErrorCode.DupIssuerCertificateCN); X509 invalidCertInfo12 = new X509() { ClientCertificateCommonNames = new List <ClientCertificateCommonName>() { new ClientCertificateCommonName() { CertificateCommonName = "clientCN", CertificateIssuerThumbprint = "", IsAdmin = true } }, ClientCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ClientIssuer1", X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "ClientIssuer2", X509StoreNames = "Root, root" }, } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(invalidCertInfo12); }, ClusterManagementErrorCode.DupIssuerCertificateStore); X509 invalidCertInfo13 = new X509() { ClusterCertificateCommonNames = ConstructServerCns("clusterCN", "59EC792004C56225DD6691132C713194D28098F1,59EC792004C56225DD6691132C713194D28098F1"), ClusterCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ClusterIssuer1", X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(invalidCertInfo13); }, ClusterManagementErrorCode.IssuerCertStoreAndIssuerPinningCannotBeTogether); X509 invalidCertInfo14 = new X509() { ServerCertificateCommonNames = ConstructServerCns("serverCN", "59EC792004C56225DD6691132C713194D28098F1,59EC792004C56225DD6691132C713194D28098F1"), ServerCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ServerIssuer1", X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "", X509StoreNames = "My" } } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(invalidCertInfo14); }, ClusterManagementErrorCode.IssuerCertStoreAndIssuerPinningCannotBeTogether); X509 invalidCertInfo15 = new X509() { ClientCertificateCommonNames = new List <ClientCertificateCommonName>() { new ClientCertificateCommonName() { CertificateCommonName = "clientCN", CertificateIssuerThumbprint = "59EC792004C56225DD6691132C713194D28098F1,59EC792004C56225DD6691132C713194D28098F1", IsAdmin = true } }, ClientCertificateIssuerStores = new List <CertificateIssuerStore> { new CertificateIssuerStore() { IssuerCommonName = "ClientIssuer1", X509StoreNames = "My, Root" }, new CertificateIssuerStore() { IssuerCommonName = "ClientIssuer2", X509StoreNames = "root" }, } }; this.RunWrapper(delegate { SettingsValidator.ValidateIssuerCertStore(invalidCertInfo15); }, ClusterManagementErrorCode.IssuerCertStoreAndIssuerPinningCannotBeTogether); }