private static bool AreSecurityKeyIdentifiersEqual(SecurityKeyIdentifier ski1, SecurityKeyIdentifier ski2, CompareContext context) { if (ski1.GetType() == ski1.GetType()) { return(false); } if (ski1.Count != ski2.Count) { return(false); } return(true); }
/// <summary> /// Write the SamlSubject SecurityKeyIdentifier to the XmlWriter. /// </summary> /// <param name="writer">XmlWriter to write the SecurityKeyIdentifier.</param> /// <param name="subjectSki">SecurityKeyIdentifier to serialize.</param> /// <exception cref="ArgumentNullException">The inpur parameter 'writer' or 'subjectSki' is null.</exception> protected virtual void WriteSubjectKeyInfo(XmlWriter writer, SecurityKeyIdentifier subjectSki) { if (writer == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("writer"); } if (subjectSki == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("subjectSki"); } if (KeyInfoSerializer.CanWriteKeyIdentifier(subjectSki)) { KeyInfoSerializer.WriteKeyIdentifier(writer, subjectSki); return; } throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("subjectSki", SR.GetString(SR.ID4091, subjectSki.GetType())); }
protected override void WriteKeyIdentifierCore(XmlWriter writer, SecurityKeyIdentifier keyIdentifier) { bool wroteKeyIdentifier = false; XmlDictionaryWriter localWriter = XmlDictionaryWriter.CreateDictionaryWriter(writer); for (int i = 0; i < this.keyIdentifierEntries.Count; ++i) { KeyIdentifierEntry keyIdentifierEntry = this.keyIdentifierEntries[i]; if (keyIdentifierEntry.SupportsCore(keyIdentifier)) { try { keyIdentifierEntry.WriteKeyIdentifierCore(localWriter, keyIdentifier); } #pragma warning suppress 56500 // covered by FxCOP catch (Exception e) { if (Fx.IsFatal(e)) throw; if (!ShouldWrapException(e)) { throw; } throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(SR.GetString(SR.ErrorSerializingKeyIdentifier), e)); } wroteKeyIdentifier = true; break; } } if (!wroteKeyIdentifier) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.StandardsManagerCannotWriteObject, keyIdentifier.GetType()))); localWriter.Flush(); }
protected override void WriteKeyIdentifierCore(XmlWriter writer, SecurityKeyIdentifier keyIdentifier) { bool flag = false; XmlDictionaryWriter writer2 = XmlDictionaryWriter.CreateDictionaryWriter(writer); for (int i = 0; i < this.keyIdentifierEntries.Count; i++) { KeyIdentifierEntry entry = this.keyIdentifierEntries[i]; if (entry.SupportsCore(keyIdentifier)) { try { entry.WriteKeyIdentifierCore(writer2, keyIdentifier); } catch (Exception exception) { if (!this.ShouldWrapException(exception)) { throw; } throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(System.ServiceModel.SR.GetString("ErrorSerializingKeyIdentifier"), exception)); } flag = true; break; } } if (!flag) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(System.ServiceModel.SR.GetString("StandardsManagerCannotWriteObject", new object[] { keyIdentifier.GetType() }))); } writer2.Flush(); }