public void Component_PrivatePropertyIsMarkedAsDataMember_ItIsSerialized() { //Arrange long expectedValue = 2137; AttributeClass toSerialize = _fixture.Create <AttributeClass>(); typeof(AttributeClass) .GetFields(BindingFlags.NonPublic | BindingFlags.Instance).FirstOrDefault(f => f.Name.Contains("privateProperty"))? .SetValue(toSerialize, expectedValue); //Act var result = AvroConvert.Serialize(toSerialize); var deserialized = AvroConvert.Deserialize <AttributeClass>(result); //Assert Assert.NotNull(result); Assert.NotNull(deserialized); var resultValue = typeof(AttributeClass) .GetFields(BindingFlags.NonPublic | BindingFlags.Instance).FirstOrDefault(f => f.Name.Contains("privateProperty"))? .GetValue(deserialized); Assert.Equal(expectedValue, resultValue); }
internal bool IsSecurityAttribute(CSharpCompilation compilation) { if (_lazyIsSecurityAttribute == ThreeState.Unknown) { Debug.Assert(!this.HasErrors); // CLI spec (Partition II Metadata), section 21.11 "DeclSecurity : 0x0E" states: // SPEC: If the attribute's type is derived (directly or indirectly) from System.Security.Permissions.SecurityAttribute then // SPEC: it is a security custom attribute and requires special treatment. // NOTE: The native C# compiler violates the above and considers only those attributes whose type derives from // NOTE: System.Security.Permissions.CodeAccessSecurityAttribute as security custom attributes. // NOTE: We will follow the specification. // NOTE: See Devdiv Bug #13762 "Custom security attributes deriving from SecurityAttribute are not treated as security attributes" for details. // Well-known type SecurityAttribute is optional. // Native compiler doesn't generate a use-site error if it is not found, we do the same. var wellKnownType = compilation.GetWellKnownType(WellKnownType.System_Security_Permissions_SecurityAttribute); Debug.Assert(AttributeClass is object); HashSet <DiagnosticInfo>?useSiteDiagnostics = null; _lazyIsSecurityAttribute = AttributeClass.IsDerivedFrom(wellKnownType, TypeCompareKind.ConsiderEverything, useSiteDiagnostics: ref useSiteDiagnostics).ToThreeState(); } return(_lazyIsSecurityAttribute.Value()); }
public void Component_AvroAttributeClass_ResultIsEqualToInput() { //Arrange AttributeClass toSerialize = new AttributeClass { AndAnotherString = "anotherString", NullableIntProperty = 1, NullableIntPropertyWithDefaultValue = null, NullableStringProperty = "nullableString" }; string schema = AvroConvert.GenerateSchema(typeof(AttributeClass)); //Act var result = AvroConvert.SerializeHeadless(toSerialize, schema); var deserialized = AvroConvert.DeserializeHeadless <AttributeClass>(result, schema); //Assert Assert.NotNull(result); Assert.NotNull(deserialized); Assert.Equal(toSerialize.NullableIntProperty, deserialized.NullableIntProperty); Assert.Equal(toSerialize.AndAnotherString, deserialized.AndAnotherString); Assert.Equal(toSerialize.NullableStringProperty, deserialized.NullableStringProperty); Assert.Equal(2137, deserialized.NullableIntPropertyWithDefaultValue); }
public static int Main() { var attr = new AttributeClass(); attr.TestMethod(); return(1); }
private protected sealed override bool IsStringProperty(string memberName) { if (AttributeClass is object) { foreach (var member in AttributeClass.GetMembers(memberName)) { if (member is PropertySymbol { Type: { SpecialType: SpecialType.System_String } })
private byte[] CoSignBuffer(byte[] data, byte[] signdata) { X509Certificate2 m_cert = cbCerts.SelectedItem as X509Certificate2; if (m_cert == null) { MessageBox.Show("не найден сертификат!"); return(null); } SignedData signedData = new SignedDataClass(); Utilities utilities = new UtilitiesClass(); byte[] array = data; Signer signer = new SignerClass(); IStore store = new StoreClass(); bool flag2 = false; store.Open(CAPICOM_STORE_LOCATION.CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_MODE.CAPICOM_STORE_OPEN_READ_ONLY); foreach (ICertificate certificate in store.Certificates) { if (certificate.Thumbprint == m_cert.Thumbprint) { signer.Certificate = certificate; flag2 = true; break; } } if (!flag2) { throw new Exception("Не удалось найти сертификат подписи!"); } CapiComRCW.Attribute attribute = new AttributeClass(); attribute.Name = CAPICOM_ATTRIBUTE.CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME; attribute.Value = DateTime.Now.ToUniversalTime(); signer.AuthenticatedAttributes.Add(attribute); byte[] array3; byte[] array2 = signdata; ((CapiComRCW.ISignedData)signedData).set_Content(utilities.ByteArrayToBinaryString(array)); signedData.Verify(Convert.ToBase64String(array2), true, CAPICOM_SIGNED_DATA_VERIFY_FLAG.CAPICOM_VERIFY_SIGNATURE_ONLY); Store store2 = new StoreClass(); store2.Open(CAPICOM_STORE_LOCATION.CAPICOM_CURRENT_USER_STORE, "AddressBook", CAPICOM_STORE_OPEN_MODE.CAPICOM_STORE_OPEN_READ_WRITE); for (int i = 1; i <= signedData.Signers.Count; i++) { Signer signer2 = (Signer)signedData.Signers[i]; Certificate pVal = (Certificate)signer2.Certificate; store2.Add(pVal); } store2.Close(); string s = signedData.CoSign(signer, CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64); array3 = Convert.FromBase64String(s); return(array3); }
private void addToFormsToolStripMenuItem_Click(object sender, EventArgs e) { // Define which attribute is the reference attribute var possibleAttributes = attributeSelector1.Attributes; foreach (var fi in listView1.CheckedItems.Cast <ListViewItem>().Select(i => (FormInfo)i.Tag)) { for (int i = possibleAttributes.Count - 1; i >= 0; i--) { if (!fi.HasAttribute(possibleAttributes[i].LogicalName)) { possibleAttributes.Remove(possibleAttributes[i]); } } } var selector = new ReferenceAttributeSelector(possibleAttributes); if (selector.ShowDialog(this) == DialogResult.OK) { foreach (ListViewItem item in listView1.CheckedItems) { var fi = (FormInfo)item.Tag; var source = selector.SelectedAttribute.LogicalName; foreach (var amd in attributeSelector1.SelectedAttributes) { try { fi.AddAttribute(amd.LogicalName, AttributeClass.GetClassId(amd).ToString("B"), amd.DisplayName, source); source = amd.LogicalName; AddLogItem(attributeSelector1.SelectedEntity.LogicalName, fi.ToString(), "Attribute " + amd.LogicalName + " added to form", false); item.SubItems[item.SubItems.Count - 1].Text = true.ToString(); tslInfo.Visible = true; } catch (Exception error) { AddLogItem(attributeSelector1.SelectedEntity.LogicalName, fi.ToString(), error.Message, true); } } } } }
public void Component_ClassContainsAvroAttributes_IgnoredPropertiesAreNotSerialized() { //Arrange AttributeClass toSerialize = _fixture.Create <AttributeClass>(); //Act var result = AvroConvert.Serialize(toSerialize); var deserialized = AvroConvert.Deserialize <AttributeClass>(result); //Assert Assert.NotNull(result); Assert.NotNull(deserialized); Assert.Null(deserialized.IgnoredProperty); }
public void WriteAndReadObjectWithHdf5Attributes() { string filename = Path.Combine(folder, "testHdf5Attribute.H5"); var attObject = new AttributeClass(); try { var fileId = Hdf5.CreateFile(filename); Assert.IsTrue(fileId > 0); Hdf5.WriteObject(fileId, attObject, "anObject"); Assert.IsTrue(Hdf5.CloseFile(fileId) == 0); } catch (Exception ex) { CreateExceptionAssert(ex); } }
public void Component_SerializeBiggerAvroObjectAndReadSmaller_NoError() { //Arrange AttributeClass toSerialize = _fixture.Create <AttributeClass>(); //Act var result = AvroConvert.Serialize(toSerialize); var deserialized = AvroConvert.Deserialize <SmallerAttributeClass>(result); //Assert Assert.NotNull(result); Assert.NotNull(deserialized); Assert.Equal(toSerialize.StringProperty, deserialized.StringProperty); Assert.Equal(toSerialize.NullableIntProperty, deserialized.NullableIntProperty); }
public void TestEncoderOptions() { AttributeClass aClass = new AttributeClass() { excludedField = 4, propertyValue = 10, privateField = 4 }; //Should only encode the property value string temp = JSON.Dump(aClass); Assert.AreEqual("{\"@type\":\"TestClassType+AttributeClass\",\"propertyValue\":10}", JSON.Dump(aClass)); //Should only encode the field value Assert.AreEqual("{\"@type\":\"TestClassType+AttributeClass\",\"excludedField\":4}", JSON.Dump(aClass, EncodeOptions.IgnoreAttributes)); //Should encode excludedField and propertyValue Assert.AreEqual("{\"@type\":\"TestClassType+AttributeClass\",\"propertyValue\":10}", JSON.Dump(aClass, EncodeOptions.Default)); }
public void Component_ClassContainsAvroAttributes_AttributeValuesAreResolved() { //Arrange AttributeClass toSerialize = _fixture.Create <AttributeClass>(); //Act var result = AvroConvert.Serialize(toSerialize); var deserialized = AvroConvert.Deserialize <User>(result); //Assert Assert.NotNull(result); Assert.NotNull(deserialized); Assert.Equal(toSerialize.NullableIntProperty, deserialized.favorite_number); Assert.Equal(toSerialize.StringProperty, deserialized.name); Assert.Equal(toSerialize.AndAnotherString, deserialized.favorite_color); }
public void WriteAndReadObjectWithHdf5Attributes() { string groupName = "anObject"; string filename = Path.Combine(folder, "testHdf5Attribute.H5"); var attObject = new AttributeClass(); try { var fileId = Hdf5.CreateFile(filename); Assert.IsTrue(fileId > 0); Hdf5.WriteObject(fileId, attObject, groupName); Assert.IsTrue(Hdf5.CloseFile(fileId) == 0); } catch (Exception ex) { CreateExceptionAssert(ex); } var OpenFileId = Hdf5.OpenFile(filename); var data = Hdf5.ReadObject <AttributeClass>(OpenFileId, groupName); Assert.IsTrue(Math.Abs(data.noAttribute - 10.0f) < 0.001); }
private void SignFile(string sFileIn) { if (Path.GetExtension(sFileIn).ToUpper().Equals(".ZIP")) { SignZip(sFileIn); if (!cbExtSignZIP.Checked) { return; } } X509Certificate2 m_cert = cbCerts.SelectedItem as X509Certificate2; if (m_cert == null) { throw new ApplicationException("Сформировать ЭЦП невозможно: не найден действительный сертификат отправителя!"); } SignedData signedData = new SignedDataClass(); Utilities utilities = new UtilitiesClass(); byte[] array; using (FileStream fileStream = new FileStream(sFileIn, FileMode.Open, FileAccess.Read)) { array = new byte[fileStream.Length]; fileStream.Position = 0L; fileStream.Read(array, 0, (int)fileStream.Length); fileStream.Close(); } byte[] array2 = null; bool flag = false; if (File.Exists(sFileIn + ".sig")) { flag = true; using (FileStream fileStream = new FileStream(sFileIn + ".sig", FileMode.Open, FileAccess.Read)) { array2 = new byte[fileStream.Length]; fileStream.Position = 0L; fileStream.Read(array2, 0, (int)fileStream.Length); fileStream.Close(); } } Signer signer = new SignerClass(); IStore store = new StoreClass(); bool flag2 = false; store.Open(CAPICOM_STORE_LOCATION.CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_MODE.CAPICOM_STORE_OPEN_READ_ONLY); foreach (ICertificate certificate in store.Certificates) { if (certificate.Thumbprint == m_cert.Thumbprint) { signer.Certificate = certificate; flag2 = true; break; } } if (!flag2) { throw new Exception("Не удалось найти сертификат подписи!"); } CapiComRCW.Attribute attribute = new AttributeClass(); attribute.Name = CAPICOM_ATTRIBUTE.CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME; attribute.Value = DateTime.Now.ToUniversalTime(); signer.AuthenticatedAttributes.Add(attribute); byte[] array3; if (flag) { // signedData.Content = ""; //signedData.Content = Marshal.PtrToStringBSTR( utilities.ByteArrayToBinaryString(array)); ((CapiComRCW.ISignedData)signedData).set_Content(utilities.ByteArrayToBinaryString(array)); try { signedData.Verify(Convert.ToBase64String(array2), true, CAPICOM_SIGNED_DATA_VERIFY_FLAG.CAPICOM_VERIFY_SIGNATURE_ONLY); } catch (Exception e) { errlist.Add("Ошибка проверки подписи!" + sFileIn + ":" + e.Message); } Store store2 = new StoreClass(); store2.Open(CAPICOM_STORE_LOCATION.CAPICOM_CURRENT_USER_STORE, "AddressBook", CAPICOM_STORE_OPEN_MODE.CAPICOM_STORE_OPEN_READ_WRITE); for (int i = 1; i <= signedData.Signers.Count; i++) { Signer signer2 = (Signer)signedData.Signers[i]; Certificate pVal = (Certificate)signer2.Certificate; store2.Add(pVal); } store2.Close(); string s = signedData.CoSign(signer, CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64); array3 = Convert.FromBase64String(s); } else { //signedData.Content = utilities.ByteArrayToBinaryString(array); ((CapiComRCW.ISignedData)signedData).set_Content(utilities.ByteArrayToBinaryString(array)); string s = signedData.Sign(signer, true, CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64); array3 = Convert.FromBase64String(s); } using (FileStream fileStream = new FileStream(sFileIn + ".sig", FileMode.Create, FileAccess.Write)) { fileStream.Write(array3, 0, array3.Length); fileStream.Close(); } }
private byte[] SignBuffer(byte[] arr) { X509Certificate2 m_cert = cbCerts.SelectedItem as X509Certificate2; if (m_cert == null) { MessageBox.Show("не найден сертификат!"); return(null); } SignedData signedData = new SignedDataClass(); Utilities utilities = new UtilitiesClass(); byte[] array = arr; //using (FileStream fileStream = new FileStream(sFileIn, FileMode.Open, FileAccess.Read)) //{ // array = new byte[fileStream.Length]; // fileStream.Position = 0L; // fileStream.Read(array, 0, (int)fileStream.Length); // fileStream.Close(); //} //byte[] array2 = null; //bool flag = false; //if (File.Exists(sFileIn + ".sig")) //{ // flag = true; // using (FileStream fileStream = new FileStream(sFileIn + ".sig", FileMode.Open, FileAccess.Read)) // { // array2 = new byte[fileStream.Length]; // fileStream.Position = 0L; // fileStream.Read(array2, 0, (int)fileStream.Length); // fileStream.Close(); // } //} Signer signer = new SignerClass(); IStore store = new StoreClass(); bool flag2 = false; store.Open(CAPICOM_STORE_LOCATION.CAPICOM_CURRENT_USER_STORE, "My", CAPICOM_STORE_OPEN_MODE.CAPICOM_STORE_OPEN_READ_ONLY); foreach (ICertificate certificate in store.Certificates) { if (certificate.Thumbprint == m_cert.Thumbprint) { signer.Certificate = certificate; flag2 = true; break; } } if (!flag2) { throw new Exception("Не удалось найти сертификат подписи!"); } CapiComRCW.Attribute attribute = new AttributeClass(); attribute.Name = CAPICOM_ATTRIBUTE.CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME; attribute.Value = DateTime.Now.ToUniversalTime(); signer.AuthenticatedAttributes.Add(attribute); byte[] array3; //if (flag) //{ // ((CapiComRCW.ISignedData)signedData).set_Content(utilities.ByteArrayToBinaryString(array)); // signedData.Verify(Convert.ToBase64String(array2), true, CAPICOM_SIGNED_DATA_VERIFY_FLAG.CAPICOM_VERIFY_SIGNATURE_ONLY); // Store store2 = new StoreClass(); // store2.Open(CAPICOM_STORE_LOCATION.CAPICOM_CURRENT_USER_STORE, "AddressBook", CAPICOM_STORE_OPEN_MODE.CAPICOM_STORE_OPEN_READ_WRITE); // for (int i = 1; i <= signedData.Signers.Count; i++) // { // Signer signer2 = (Signer)signedData.Signers[i]; // Certificate pVal = (Certificate)signer2.Certificate; // store2.Add(pVal); // } // store2.Close(); // string s = signedData.CoSign(signer, CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64); // array3 = Convert.FromBase64String(s); //} // else { //signedData.Content = utilities.ByteArrayToBinaryString(array); ((CapiComRCW.ISignedData)signedData).set_Content(utilities.ByteArrayToBinaryString(array)); string s = signedData.Sign(signer, true, CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64); array3 = Convert.FromBase64String(s); } return(array3); //using (FileStream fileStream = new FileStream(sFileIn + ".sig", FileMode.Create, FileAccess.Write)) //{ // fileStream.Write(array3, 0, array3.Length); // fileStream.Close(); //} }
/** * Constructs an AttributeList object * @param attrClass an instance of AttributeClass enum */ public AttributeListImpl(AttributeClass attrClass) { this.attrClass = attrClass; }
public AttributeList(AttributeClass attrClass) { this.attrClass = attrClass; Mode = Mode.STATIC; _List = new List<IAttribute>(); }
public AttributeList(AttributeClass attrClass) { this.attrClass = attrClass; Mode = Mode.STATIC; _List = new List <IAttribute>(); }
private static String ImportModel(XmlElement modelgraph, String modelname) { IDMap idmap = new IDMap(); int nextenumval = 1000; foreach (XmlElement nodeelem in modelgraph.GetElementsByTagName("node")) { String nodetype = GetTypeName(nodeelem); // skip unknown elements int hashchar = nodetype.IndexOf('#'); if (hashchar == -1 || !nodetype.Substring(0, hashchar).EndsWith("gxl-1.0.gxl")) { continue; } String id = nodeelem.GetAttribute("id"); nodetype = nodetype.Substring(hashchar + 1); switch (nodetype) { case "Bool": idmap[id] = new Thing(id, ThingKind.Domain, "boolean"); break; case "Int": idmap[id] = new Thing(id, ThingKind.Domain, "int"); break; case "Float": idmap[id] = new Thing(id, ThingKind.Domain, "double"); break; case "String": idmap[id] = new Thing(id, ThingKind.Domain, "string"); break; case "Enum": { String name; if (id.StartsWith("DM_enum_")) { name = id.Substring(8); } else { name = id; } idmap[id] = new Thing(id, ThingKind.EnumDomain, new EnumDomain(name)); break; } case "EnumVal": { int val; if (id.StartsWith("EV_")) { int ind = id.IndexOf('_', 4); if (id[3] == '_') { val = -int.Parse(id.Substring(4, ind - 4)); } else { val = int.Parse(id.Substring(3, ind - 3)); } } else { val = nextenumval++; } String name = GetGXLAttr(nodeelem, "value", "string"); idmap[id] = new Thing(id, ThingKind.EnumValue, new EnumMember(val, name)); break; } case "AttributeClass": { String name = GetGXLAttr(nodeelem, "name", "string"); idmap[id] = new Thing(id, ThingKind.AttributeClass, new AttributeClass(name)); break; } case "NodeClass": { String name = GetGXLAttr(nodeelem, "name", "string"); bool isabstract = GetGXLAttr(nodeelem, "isabstract", "bool") == "true"; idmap[id] = new Thing(id, ThingKind.NodeClass, new NodeClass(name, isabstract)); break; } case "EdgeClass": { String name = GetGXLAttr(nodeelem, "name", "string"); bool isabstract = GetGXLAttr(nodeelem, "isabstract", "bool") == "true"; bool isdirected = GetGXLAttr(nodeelem, "isdirected", "bool") == "true"; idmap[id] = new Thing(id, ThingKind.EdgeClass, new EdgeClass(name, isabstract, isdirected)); break; } } } foreach (XmlElement edgeelem in modelgraph.GetElementsByTagName("edge")) { String edgetype = GetTypeName(edgeelem); // skip unknown elements int hashchar = edgetype.IndexOf('#'); if (hashchar == -1 || !edgetype.Substring(0, hashchar).EndsWith("gxl-1.0.gxl")) { continue; } String fromid = edgeelem.GetAttribute("from"); String toid = edgeelem.GetAttribute("to"); edgetype = edgetype.Substring(hashchar + 1); switch (edgetype) { case "hasDomain": { AttributeClass attrClass = idmap[fromid].AttributeClass; String attrKind = idmap[toid].AttributeKind; attrClass.Type = attrKind; break; } case "containsValue": { EnumDomain enumDomain = idmap[fromid].EnumDomain; EnumMember enumMember = idmap[toid].EnumValue; enumDomain.Members.Add(enumMember); break; } case "isA": { NodeClass nodeClass = idmap[fromid].NodeOrEdgeClass; nodeClass.SuperClasses.Add(toid); break; } case "hasAttribute": { NodeClass nodeClass = idmap[fromid].NodeOrEdgeClass; AttributeClass attrClass = idmap[toid].AttributeClass; nodeClass.AttrList.Add(attrClass); break; } } } String model = BuildModel(idmap); String modelfilename = modelname + "__gxl.gm"; using (StreamWriter writer = new StreamWriter(modelfilename)) writer.Write(model); return(modelfilename); }