public void EnrollIdemixUser(SampleStore sampleStore) { foreach (SampleOrg sampleOrg in testSampleOrgs) { HFCAClient ca = sampleOrg.CAClient; string orgName = sampleOrg.Name; string mspid = sampleOrg.MSPID; ca.CryptoSuite = Factory.GetCryptoSuite(); if (testConfig.IsRunningFabricTLS()) { //This shows how to get a client TLS certificate from Fabric CA // we will use one client TLS certificate for orderer peers etc. EnrollmentRequest enrollmentRequestTLS = new EnrollmentRequest(); enrollmentRequestTLS.AddHost("localhost"); enrollmentRequestTLS.Profile = "tls"; IEnrollment enroll = ca.Enroll("admin", "adminpw", enrollmentRequestTLS); string tlsCertPEM = enroll.Cert; string tlsKeyPEM = enroll.Key; Properties tlsProperties = new Properties(); tlsProperties["clientKeyBytes"] = tlsKeyPEM; tlsProperties["clientCertBytes"] = tlsCertPEM; clientTLSProperties[sampleOrg.Name] = tlsProperties; //Save in samplestore for follow on tests. sampleStore.StoreClientPEMTLCertificate(sampleOrg, tlsCertPEM); sampleStore.StoreClientPEMTLSKey(sampleOrg, tlsKeyPEM); } HFCAInfo info = ca.Info(); //just check if we connect at all. Assert.IsNotNull(info); string infoName = info.CAName; if (infoName != null && infoName.Length > 0) { Assert.AreEqual(ca.CAName, infoName); } SampleUser admin = sampleStore.GetMember(TEST_ADMIN_NAME, orgName); SampleUser idemixUser = sampleStore.GetMember(testUser1, sampleOrg.Name); EnrollIdemixUser(sampleOrg, idemixUser, admin); sampleOrg.AddUser(idemixUser); } }
public static void doMainSetup(TestContext context) { Util.COut("\n\n\nRUNNING: NetworkConfigIT.\n"); TestUtils.TestUtils.ResetConfig(); configHelper.CustomizeConfig(); // Use the appropriate TLS/non-TLS network config file networkConfig = NetworkConfig.FromYamlFile(testConfig.GetTestNetworkConfigFileYAML()); networkConfig.OrdererNames.ForEach(ordererName => { try { Properties ordererProperties = networkConfig.GetOrdererProperties(ordererName); Properties testProp = testConfig.GetEndPointProperties("orderer", ordererName); ordererProperties.Set("clientCertFile", testProp.Get("clientCertFile")); ordererProperties.Set("clientKeyFile", testProp.Get("clientKeyFile")); networkConfig.SetOrdererProperties(ordererName, ordererProperties); } catch (ArgumentException e) { throw new System.Exception(e.Message, e); } }); networkConfig.PeerNames.ForEach(peerName => { try { Properties peerProperties = networkConfig.GetPeerProperties(peerName); Properties testProp = testConfig.GetEndPointProperties("peer", peerName); peerProperties.Set("clientCertFile", testProp.Get("clientCertFile")); peerProperties.Set("clientKeyFile", testProp.Get("clientKeyFile")); networkConfig.SetPeerProperties(peerName, peerProperties); } catch (ArgumentException e) { throw new System.Exception(e.Message, e); } }); networkConfig.EventHubNames.ForEach(eventhubName => { try { Properties eventHubsProperties = networkConfig.GetEventHubsProperties(eventhubName); Properties testProp = testConfig.GetEndPointProperties("peer", eventhubName); eventHubsProperties.Set("clientCertFile", testProp.Get("clientCertFile")); eventHubsProperties.Set("clientKeyFile", testProp.Get("clientKeyFile")); networkConfig.SetEventHubProperties(eventhubName, eventHubsProperties); } catch (ArgumentException e) { throw new System.Exception(e.Message, e); } }); //Check if we get access to defined CAs! NetworkConfig.OrgInfo org = networkConfig.GetOrganizationInfo("Org1"); NetworkConfig.CAInfo caInfo = org.CertificateAuthorities[0]; HFCAClient hfcaClient = HFCAClient.Create(caInfo); Assert.AreEqual(hfcaClient.CAName, caInfo.CAName); HFCAInfo info = hfcaClient.Info(); //makes actual REST call. Assert.AreEqual(caInfo.CAName, info.CAName); List <NetworkConfig.UserInfo> registrars = caInfo.Registrars; Assert.IsTrue(registrars.Count > 0); NetworkConfig.UserInfo registrar = registrars.First(); registrar.Enrollment = hfcaClient.Enroll(registrar.Name, registrar.EnrollSecret); TestUtils.TestUtils.MockUser mockuser = TestUtils.TestUtils.GetMockUser(org.Name + "_mock_" + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(), registrar.MspId); RegistrationRequest rr = new RegistrationRequest(mockuser.Name, "org1.department1"); mockuser.EnrollmentSecret = hfcaClient.Register(rr, registrar); mockuser.Enrollment = hfcaClient.Enroll(mockuser.Name, mockuser.EnrollmentSecret); orgRegisteredUsers.Add(org.Name, mockuser); org = networkConfig.GetOrganizationInfo("Org2"); caInfo = org.CertificateAuthorities[0]; hfcaClient = HFCAClient.Create(caInfo); Assert.AreEqual(hfcaClient.CAName, caInfo.CAName); info = hfcaClient.Info(); //makes actual REST call. Assert.AreEqual(info.CAName, ""); registrars = caInfo.Registrars; Assert.IsTrue(registrars.Count > 0); registrar = registrars.First(); registrar.Enrollment = hfcaClient.Enroll(registrar.Name, registrar.EnrollSecret); mockuser = TestUtils.TestUtils.GetMockUser(org.Name + "_mock_" + DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(), registrar.MspId); rr = new RegistrationRequest(mockuser.Name, "org1.department1"); mockuser.EnrollmentSecret = hfcaClient.Register(rr, registrar); mockuser.Enrollment = hfcaClient.Enroll(mockuser.Name, mockuser.EnrollmentSecret); orgRegisteredUsers.Add(org.Name, mockuser); DeployChaincodeIfRequired(); }