/// <summary> /// Gets the endpoint identity from the configuration file /// </summary> /// <param name="element"></param> /// <returns></returns> private EndpointIdentity GetIdentity(IdentityElement element) { PropertyInformationCollection properties = element.ElementInformation.Properties; EndpointIdentity rev = GetEndpointIdentity(element, properties) ?? GetEndpointIdentityByCertificate(element, properties); return(rev); }
public bool GetItemElement(int itemLogicID, out IdentityElement itemElement) { itemElement = null; if (!_mItemElementList.TryGetValue(itemLogicID, out itemElement)) { return(false); } return(true); }
static QualifiedElement AttachName(IDiscriminatedElement element, params string[] names) { var q = new QualifiedElement(element); foreach (var name in names) { _ = new IdentityElement(q, name); } return(q); }
static QualifiedElement AttachName(IDiscriminatedElement target, params string[] names) { var ret = new QualifiedElement(target); foreach (var name in names) { _ = new IdentityElement(ret, name); } return(ret); }
static IQualified AttachName(IDiscriminatedElement target, params string[] name) { var q = new QualifiedElement(target); foreach (var s in name) { _ = new IdentityElement(q, s); } return(q); }
protected override IEnumerable <(InterfaceElement sample, IDiscriminatedElement errSample)> GenerateErrSample() { var ns = new NameSpaceElement(new PhysicalStorage(PathA)); var q = AttachName(ns, NameSpaceA); var errSample = new IdentityElement(q, "Err"); var sample = new InterfaceElement(ns, ScopeCategories.Public, false, false); AttachName(sample, "Name"); yield return(sample, errSample); }
private EndpointIdentity GetIdentity(IdentityElement element) { EndpointIdentity result = null; PropertyInformationCollection properties = element.ElementInformation.Properties; if (properties == null) { throw new ArgumentNullException("获取终结点标识属性错误"); } var propertyInformation = properties["userPrincipalName"]; if (propertyInformation != null && propertyInformation.ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateUpnIdentity(element.UserPrincipalName.Value)); } var information = properties["servicePrincipalName"]; if (information != null && information.ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateSpnIdentity(element.ServicePrincipalName.Value)); } var propertyInformation1 = properties["dns"]; if (propertyInformation1 != null && propertyInformation1.ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateDnsIdentity(element.Dns.Value)); } var information1 = properties["rsa"]; if (information1 != null && information1.ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateRsaIdentity(element.Rsa.Value)); } var propertyInformation2 = properties["certificate"]; if (propertyInformation2 != null && propertyInformation2.ValueOrigin == PropertyValueOrigin.Default) { return(null); } X509Certificate2Collection x509Certificate2Collection = new X509Certificate2Collection(); x509Certificate2Collection.Import(Convert.FromBase64String(element.Certificate.EncodedValue)); if (x509Certificate2Collection.Count == 0) { throw new InvalidOperationException("UnableToLoadCertificateIdentity"); } X509Certificate2 primaryCertificate = x509Certificate2Collection[0]; x509Certificate2Collection.RemoveAt(0); return(EndpointIdentity.CreateX509CertificateIdentity(primaryCertificate, x509Certificate2Collection)); }
protected override IEnumerable <(IIdentity x, IIdentity y, IIdentity z)> GenerateTransitiveSample() { foreach (var elem in FastEnum.GetValues <IdentityCategories>()) { foreach (var scope in FastEnum.GetValues <ScopeCategories>()) { var x = new IdentityElement(new QualifiedElement(), scope, elem, scope.ToString() + elem.ToString()); var y = new IdentityElement(new QualifiedElement(), scope, elem, scope.ToString() + elem.ToString()); var z = new IdentityElement(new QualifiedElement(), scope, elem, scope.ToString() + elem.ToString()); yield return(x, y, z); } } }
public bool GetItemElement(string avatarIconName, out IdentityElement itemElement) { itemElement = null; foreach (IdentityElement identityElement in _mItemElementList.Values) { if (identityElement.StrIcon == avatarIconName) { itemElement = identityElement; return(true); } } return(false); }
GenerateLogicallyInEquivalentSample() { var storage = new PhysicalStorage(PathA); var x = new NameSpaceElement(storage); var q = new QualifiedElement(x); _ = new IdentityElement(q, "Tokeiya3"); var y = new NameSpaceElement(storage); _ = new IdentityElement(new QualifiedElement(y), "tokeiya3"); yield return(x, y); }
public static IdentityElement CreateCertificateIdentity( StoreLocation storeLocation, StoreName storeName, X509FindType findType, string findValue, bool isChainIncluded = false) { var ie = new IdentityElement(); ie.CertificateReference.StoreLocation = storeLocation; ie.CertificateReference.StoreName = storeName; ie.CertificateReference.X509FindType = findType; ie.CertificateReference.FindValue = findValue; ie.CertificateReference.IsChainIncluded = isChainIncluded; return(ie); }
private EndpointIdentity GetIdentity(IdentityElement element) { EndpointIdentity identity = null; PropertyInformationCollection properties = element.ElementInformation.Properties; if (properties["userPrincipalName"].ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateUpnIdentity(element.UserPrincipalName.Value)); } if (properties["servicePrincipalName"].ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateSpnIdentity(element.ServicePrincipalName.Value)); } if (properties["dns"].ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateDnsIdentity(element.Dns.Value)); } if (properties["rsa"].ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateRsaIdentity(element.Rsa.Value)); } if (properties["certificate"].ValueOrigin != PropertyValueOrigin.Default) { X509Certificate2Collection supportingCertificates = new X509Certificate2Collection(); supportingCertificates.Import(Convert.FromBase64String(element.Certificate.EncodedValue)); if (supportingCertificates.Count == 0) { throw new InvalidOperationException("UnableToLoadCertificateIdentity"); } X509Certificate2 primaryCertificate = supportingCertificates[0]; supportingCertificates.RemoveAt(0); return(EndpointIdentity.CreateX509CertificateIdentity(primaryCertificate, supportingCertificates)); } return(identity); }
protected override IEnumerable <(EnumElement sample, IQualified expected)> GenerateQualifiedNameSample() { var ns = new NameSpaceElement(new PhysicalStorage(PathA)); AttachName(ns, NameSpaceA); var sample = new EnumElement(ns, ScopeCategories.Public); AttachName(sample, "Sample"); var expected = new QualifiedElement(); _ = new IdentityElement(expected, ScopeCategories.Public, IdentityCategories.Namespace, NameSpaceA); _ = new IdentityElement(expected, ScopeCategories.Public, IdentityCategories.Enum, "Sample"); yield return(sample, expected); }
/// <summary> /// 得到EndpointIdentity /// </summary> /// <param name="element"></param> /// <param name="properties"></param> /// <returns></returns> protected virtual EndpointIdentity GetEndpointIdentityByCertificate(IdentityElement element, PropertyInformationCollection properties) { if (properties["certificate"] != null && properties["certificate"].ValueOrigin != PropertyValueOrigin.Default) { return(null); } var supportingCertificates = new X509Certificate2Collection(); supportingCertificates.Import(Convert.FromBase64String(element.Certificate.EncodedValue)); if (supportingCertificates.Count == 0) { return(null); } var primaryCertificate = supportingCertificates[0]; supportingCertificates.RemoveAt(0); return(EndpointIdentity.CreateX509CertificateIdentity(primaryCertificate, supportingCertificates)); }
public void OrderedEquivalentTest() { var x = new QualifiedElement(); var y = new QualifiedElement(); _ = new IdentityElement(x, ScopeCategories.Public, IdentityCategories.Namespace, "Foo"); _ = new IdentityElement(y, ScopeCategories.Public, IdentityCategories.Namespace, "Foo"); _ = new IdentityElement(x, ScopeCategories.Public, IdentityCategories.Namespace, "Bar"); _ = new IdentityElement(y, ScopeCategories.Public, IdentityCategories.Namespace, "Hoge"); x.IsEquivalentTo(y, 1).IsTrue(); y.IsEquivalentTo(x, 1).IsTrue(); x.IsEquivalentTo(y, 2).IsFalse(); y.IsEquivalentTo(x, 2).IsFalse(); Assert.Throws <ArgumentOutOfRangeException>(() => x.IsEquivalentTo(y, 0)); }
private bool LoadItemElement(SecurityElement element, out IdentityElement itemElement) { itemElement = new IdentityElement(); string attribute = element.Attribute("Identity_ID"); if (attribute != null) { itemElement.nID = StrParser.ParseDecInt(attribute, -1); } attribute = element.Attribute("Need_Ingot"); if (attribute != null) { itemElement.nPay = StrParser.ParseDecInt(attribute, 0); } attribute = element.Attribute("Identity_Name"); if (attribute != null) { itemElement.StrName = StrParser.ParseStr(attribute, ""); } attribute = element.Attribute("Identity_Describe"); if (attribute != null) { itemElement.StrDesc = StrParser.ParseStr(attribute, ""); } attribute = element.Attribute("Identity_Icon"); if (attribute != null) { itemElement.StrIcon = StrParser.ParseStr(attribute, ""); } if (itemElement.nID <= 100) { nCount = itemElement.nID; } return(true); }
/// <summary> /// 得到EndpointIdentity /// </summary> /// <param name="element"></param> /// <param name="properties"></param> /// <returns></returns> protected virtual EndpointIdentity GetEndpointIdentity(IdentityElement element, PropertyInformationCollection properties) { if (properties["userPrincipalName"] != null && properties["userPrincipalName"].ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateUpnIdentity(element.UserPrincipalName.Value)); } if (properties["servicePrincipalName"] != null && properties["servicePrincipalName"].ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateSpnIdentity(element.ServicePrincipalName.Value)); } if (properties["dns"] != null && properties["dns"].ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateDnsIdentity(element.Dns.Value)); } if (properties["rsa"] != null && properties["rsa"].ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateRsaIdentity(element.Rsa.Value)); } return(null); }
internal static EndpointAddress GetEnpointAddressWithIdentity(Uri address, IdentityElement idElem) { if (address == null) { return(null); } if (idElem == null) { return(new EndpointAddress(address)); } if (!string.IsNullOrWhiteSpace(idElem.Certificate?.EncodedValue)) { return(new EndpointAddress(address, new X509CertificateEndpointIdentity( new X509Certificate2(Convert.FromBase64String(idElem.Certificate.EncodedValue))))); } if (!string.IsNullOrWhiteSpace(idElem.Dns?.Value)) { return(new EndpointAddress(address, new DnsEndpointIdentity(idElem.Dns.Value))); } if (!string.IsNullOrWhiteSpace(idElem.Rsa?.Value)) { return(new EndpointAddress(address, new RsaEndpointIdentity(idElem.Rsa.Value))); } if (!string.IsNullOrWhiteSpace(idElem.UserPrincipalName?.Value)) { return(new EndpointAddress(address, new UpnEndpointIdentity(idElem.UserPrincipalName.Value))); } if (!string.IsNullOrWhiteSpace(idElem.ServicePrincipalName?.Value)) { return(new EndpointAddress(address, new SpnEndpointIdentity(idElem.ServicePrincipalName.Value))); } return(new EndpointAddress(address)); }
/// <summary> /// Creates the endpoint identity. /// </summary> /// <returns></returns> public EndpointIdentity CreateEndpointIdentity() { if (_identity != null) { return(_identity); } lock (SyncLock) { if (_identity != null) { return(_identity); } var element = new IdentityElement(); Deserialize(element); _identity = (EndpointIdentity)_methodLoadIdentity.Invoke(null, new object[] { element }); return(_identity); } }
GeneratePhysicallyInEqualitySample() { var x = new NameSpaceElement(new PhysicalStorage(PathA)); var q = new QualifiedElement(x); _ = new IdentityElement(q, "Tokeiya3"); var y = new NameSpaceElement(new PhysicalStorage(PathA)); _ = new IdentityElement(new QualifiedElement(y), "tokeiya3"); yield return(x, y); x = new NameSpaceElement(new PhysicalStorage(PathA)); _ = new IdentityElement(new QualifiedElement(x), "Tokeiya3"); y = new NameSpaceElement(new PhysicalStorage(PathB)); _ = new IdentityElement(new QualifiedElement(y), "Tokeiya3"); yield return(x, y); }
protected override IEnumerable <(IIdentity x, IIdentity y)> GenerateInEquivalentSample() { var q = new QualifiedElement(); var x = new IdentityElement(q, ScopeCategories.Public, IdentityCategories.Namespace, "Hoge"); var y = new IdentityElement(q, ScopeCategories.Public, IdentityCategories.Namespace, "Hoge"); yield return(x, y); x = new IdentityElement(new QualifiedElement(), ScopeCategories.Public, IdentityCategories.Namespace, "Hoge"); y = new IdentityElement(new QualifiedElement(), ScopeCategories.Public, IdentityCategories.Class, "Hoge"); yield return(x, y); x = new IdentityElement(new QualifiedElement(), ScopeCategories.Public, IdentityCategories.Class, "Foo"); y = new IdentityElement(new QualifiedElement(), ScopeCategories.Public, IdentityCategories.Class, "Bar"); yield return(x, y); x = new IdentityElement(new QualifiedElement(), ScopeCategories.Internal, IdentityCategories.Class, "Foo"); y = new IdentityElement(new QualifiedElement(), ScopeCategories.Public, IdentityCategories.Class, "Foo"); yield return(x, y); }
private EndpointIdentity method_3(IdentityElement identityElement_0) { EndpointIdentity endpointIdentity = null; PropertyInformationCollection properties = identityElement_0.ElementInformation.Properties; EndpointIdentity result; if (properties["userPrincipalName"].ValueOrigin != PropertyValueOrigin.Default) { result = EndpointIdentity.CreateUpnIdentity(identityElement_0.UserPrincipalName.Value); } else if (properties["servicePrincipalName"].ValueOrigin != PropertyValueOrigin.Default) { result = EndpointIdentity.CreateSpnIdentity(identityElement_0.ServicePrincipalName.Value); } else if (properties["dns"].ValueOrigin != PropertyValueOrigin.Default) { result = EndpointIdentity.CreateDnsIdentity(identityElement_0.Dns.Value); } else if (properties["rsa"].ValueOrigin != PropertyValueOrigin.Default) { result = EndpointIdentity.CreateRsaIdentity(identityElement_0.Rsa.Value); } else if (properties["certificate"].ValueOrigin != PropertyValueOrigin.Default) { X509Certificate2Collection x509Certificate2Collection = new X509Certificate2Collection(); x509Certificate2Collection.Import(Convert.FromBase64String(identityElement_0.Certificate.EncodedValue)); if (x509Certificate2Collection.Count == 0) { throw new InvalidOperationException("UnableToLoadCertificateIdentity"); } X509Certificate2 primaryCertificate = x509Certificate2Collection[0]; x509Certificate2Collection.RemoveAt(0); result = EndpointIdentity.CreateX509CertificateIdentity(primaryCertificate, x509Certificate2Collection); } else { result = endpointIdentity; } return(result); }
protected override IEnumerable <(InterfaceElement sample, IQualified expected)> GenerateQualifiedNameSample() { IDiscriminatedElement parent = new NameSpaceElement(new PhysicalStorage(PathA)); AttachName(parent, "NameSpace"); parent = new ClassElement(parent, ScopeCategories.Public, false, false, false, false, false); AttachName(parent, "Class"); var sample = new InterfaceElement(parent, ScopeCategories.Public, false, false); AttachName(sample, "ISample"); var expected = new QualifiedElement(); _ = new IdentityElement(expected, ScopeCategories.Public, IdentityCategories.Namespace, "NameSpace"); _ = new IdentityElement(expected, ScopeCategories.Public, IdentityCategories.Class, "Class"); _ = new IdentityElement(expected, ScopeCategories.Public, IdentityCategories.Interface, "ISample"); yield return(sample, expected); }
GenerateDescendantsSample() { var expected = new List <IDiscriminatedElement>(); var sample = new NameSpaceElement(new PhysicalStorage(PathA)); var name = new QualifiedElement(sample); var elem = new IdentityElement(name, "Tokeiya3"); expected.Add(name); expected.Add(elem); var a = new NameSpaceElement(sample); name = new QualifiedElement(a); elem = new IdentityElement(name, "SharpSourceFinder"); expected.Add(a); expected.Add(name); expected.Add(elem); yield return(sample, expected); }
protected override IEnumerable <(IQualified x, IQualified y)> GenerateInEquivalentSample() { var x = new QualifiedElement(); var y = new QualifiedElement(); _ = new IdentityElement(x, ScopeCategories.Public, IdentityCategories.Class, "Hoge"); _ = new IdentityElement(y, ScopeCategories.Public, IdentityCategories.Delegate, "Hoge"); yield return(x, y); x = new QualifiedElement(); y = new QualifiedElement(); _ = new IdentityElement(x, ScopeCategories.Public, IdentityCategories.Namespace, "Hoge"); _ = new IdentityElement(y, ScopeCategories.Public, IdentityCategories.Namespace, "hoge"); yield return(x, y); x = new QualifiedElement(); y = new QualifiedElement(); _ = new IdentityElement(x, ScopeCategories.Public, IdentityCategories.Class, "Hoge"); _ = new IdentityElement(y, ScopeCategories.Internal, IdentityCategories.Class, "Hoge"); yield return(x, y); }
private EndpointIdentity GetIdentity( IdentityElement element) { EndpointIdentity identity = null; PropertyInformationCollection properties = element.ElementInformation.Properties; if (properties["userPrincipalName"].ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateUpnIdentity(element.UserPrincipalName.Value)); } if (properties["servicePrincipalName"].ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateSpnIdentity(element.ServicePrincipalName.Value)); } if (properties["dns"].ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateDnsIdentity(element.Dns.Value)); } if (properties["rsa"].ValueOrigin != PropertyValueOrigin.Default) { return(EndpointIdentity.CreateRsaIdentity(element.Rsa.Value)); } if (properties["certificate"].ValueOrigin != PropertyValueOrigin.Default) { X509Certificate2Collection certCollection = new X509Certificate2Collection(); certCollection.Import(Convert.FromBase64String(element.Certificate.EncodedValue)); if (certCollection.Count == 0) { throw new InvalidOperationException(MigrationToolkitResources.ErrorCannotLoadCertificateIdentity); } X509Certificate2 primaryCertificate = certCollection[0]; certCollection.RemoveAt(0); return(EndpointIdentity.CreateX509CertificateIdentity(primaryCertificate, certCollection)); } return(identity); }
GeneratePhysicallyTransitiveSample() { var x = new NameSpaceElement(new PhysicalStorage(PathA)); var q = new QualifiedElement(x); _ = new IdentityElement(q, "Tokeiya3"); _ = new IdentityElement(q, "SharpSourceFinder"); var y = new NameSpaceElement(new PhysicalStorage(PathA)); q = new QualifiedElement(y); _ = new IdentityElement(q, "Tokeiya3"); _ = new IdentityElement(q, "SharpSourceFinder"); var z = new NameSpaceElement(new PhysicalStorage(PathA)); q = new QualifiedElement(z); _ = new IdentityElement(q, "Tokeiya3"); _ = new IdentityElement(q, "SharpSourceFinder"); yield return(x, y, z); }
private EndpointIdentity GetIdentity(IdentityElement element) { return(typeof(EndpointIdentity).InvokeMember("LoadIdentity", BindingFlags.InvokeMethod | BindingFlags.NonPublic | BindingFlags.Static, null, null, new Object[] { element }) as EndpointIdentity); }
public Identity() { element = new IdentityElement("Identity"); }