Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / EncryptedKeyIdentifierClause.cs / 1305376 / EncryptedKeyIdentifierClause.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.IdentityModel.Tokens { using System.Globalization; sealed public class EncryptedKeyIdentifierClause : BinaryKeyIdentifierClause { readonly string carriedKeyName; readonly string encryptionMethod; readonly SecurityKeyIdentifier encryptingKeyIdentifier; public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod) : this(encryptedKey, encryptionMethod, null) { } public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier) : this(encryptedKey, encryptionMethod, encryptingKeyIdentifier, null) { } public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName) : this(encryptedKey, encryptionMethod, encryptingKeyIdentifier, carriedKeyName, true, null, 0) { } public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName, byte[] derivationNonce, int derivationLength) : this(encryptedKey, encryptionMethod, encryptingKeyIdentifier, carriedKeyName, true, derivationNonce, derivationLength) { } internal EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName, bool cloneBuffer, byte[] derivationNonce, int derivationLength) : base("http://www.w3.org/2001/04/xmlenc#EncryptedKey", encryptedKey, cloneBuffer, derivationNonce, derivationLength) { if (encryptionMethod == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("encryptionMethod"); } this.carriedKeyName = carriedKeyName; this.encryptionMethod = encryptionMethod; this.encryptingKeyIdentifier = encryptingKeyIdentifier; } public string CarriedKeyName { get { return this.carriedKeyName; } } public SecurityKeyIdentifier EncryptingKeyIdentifier { get { return this.encryptingKeyIdentifier; } } public string EncryptionMethod { get { return this.encryptionMethod; } } public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause) { EncryptedKeyIdentifierClause that = keyIdentifierClause as EncryptedKeyIdentifierClause; // PreSharp Bug: Parameter 'that' to this public method must be validated: A null-dereference can occur here. #pragma warning suppress 56506 return ReferenceEquals(this, that) || (that != null && that.Matches(this.GetRawBuffer(), this.encryptionMethod, this.carriedKeyName)); } public bool Matches(byte[] encryptedKey, string encryptionMethod, string carriedKeyName) { return Matches(encryptedKey) && this.encryptionMethod == encryptionMethod && this.carriedKeyName == carriedKeyName; } public byte[] GetEncryptedKey() { return GetBuffer(); } public override string ToString() { return string.Format(CultureInfo.InvariantCulture, "EncryptedKeyIdentifierClause(EncryptedKey = {0}, Method '{1}')", Convert.ToBase64String(GetRawBuffer()), this.EncryptionMethod); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.IdentityModel.Tokens { using System.Globalization; sealed public class EncryptedKeyIdentifierClause : BinaryKeyIdentifierClause { readonly string carriedKeyName; readonly string encryptionMethod; readonly SecurityKeyIdentifier encryptingKeyIdentifier; public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod) : this(encryptedKey, encryptionMethod, null) { } public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier) : this(encryptedKey, encryptionMethod, encryptingKeyIdentifier, null) { } public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName) : this(encryptedKey, encryptionMethod, encryptingKeyIdentifier, carriedKeyName, true, null, 0) { } public EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName, byte[] derivationNonce, int derivationLength) : this(encryptedKey, encryptionMethod, encryptingKeyIdentifier, carriedKeyName, true, derivationNonce, derivationLength) { } internal EncryptedKeyIdentifierClause(byte[] encryptedKey, string encryptionMethod, SecurityKeyIdentifier encryptingKeyIdentifier, string carriedKeyName, bool cloneBuffer, byte[] derivationNonce, int derivationLength) : base("http://www.w3.org/2001/04/xmlenc#EncryptedKey", encryptedKey, cloneBuffer, derivationNonce, derivationLength) { if (encryptionMethod == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("encryptionMethod"); } this.carriedKeyName = carriedKeyName; this.encryptionMethod = encryptionMethod; this.encryptingKeyIdentifier = encryptingKeyIdentifier; } public string CarriedKeyName { get { return this.carriedKeyName; } } public SecurityKeyIdentifier EncryptingKeyIdentifier { get { return this.encryptingKeyIdentifier; } } public string EncryptionMethod { get { return this.encryptionMethod; } } public override bool Matches(SecurityKeyIdentifierClause keyIdentifierClause) { EncryptedKeyIdentifierClause that = keyIdentifierClause as EncryptedKeyIdentifierClause; // PreSharp Bug: Parameter 'that' to this public method must be validated: A null-dereference can occur here. #pragma warning suppress 56506 return ReferenceEquals(this, that) || (that != null && that.Matches(this.GetRawBuffer(), this.encryptionMethod, this.carriedKeyName)); } public bool Matches(byte[] encryptedKey, string encryptionMethod, string carriedKeyName) { return Matches(encryptedKey) && this.encryptionMethod == encryptionMethod && this.carriedKeyName == carriedKeyName; } public byte[] GetEncryptedKey() { return GetBuffer(); } public override string ToString() { return string.Format(CultureInfo.InvariantCulture, "EncryptedKeyIdentifierClause(EncryptedKey = {0}, Method '{1}')", Convert.ToBase64String(GetRawBuffer()), this.EncryptionMethod); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SignatureToken.cs
- AsymmetricKeyExchangeFormatter.cs
- ProfileSettingsCollection.cs
- Enum.cs
- Visual3D.cs
- ProxyGenerator.cs
- WebBrowserUriTypeConverter.cs
- ConfigXmlComment.cs
- ImportRequest.cs
- HttpBindingExtension.cs
- Listbox.cs
- SolidBrush.cs
- XPathMessageFilterTable.cs
- DefaultBindingPropertyAttribute.cs
- Barrier.cs
- PointLight.cs
- SelectedGridItemChangedEvent.cs
- SourceChangedEventArgs.cs
- Nullable.cs
- ResourceReferenceKeyNotFoundException.cs
- MULTI_QI.cs
- CodeDomSerializerException.cs
- XpsColorContext.cs
- Utils.cs
- ToolStripContainer.cs
- IsolatedStorageFileStream.cs
- RenderOptions.cs
- WebServiceResponse.cs
- PopupControlService.cs
- EntityDataSourceWizardForm.cs
- CodeCatchClauseCollection.cs
- Types.cs
- DbMetaDataFactory.cs
- UIElement3D.cs
- UserControlCodeDomTreeGenerator.cs
- Helper.cs
- SafeNativeMethodsMilCoreApi.cs
- ShapingWorkspace.cs
- AutomationElement.cs
- CompositeActivityTypeDescriptor.cs
- ToolStripActionList.cs
- ExpressionPrefixAttribute.cs
- DescendantBaseQuery.cs
- ComponentResourceKeyConverter.cs
- _AcceptOverlappedAsyncResult.cs
- CollectionTypeElement.cs
- HttpSessionStateBase.cs
- Literal.cs
- ImageDrawing.cs
- EmbeddedObject.cs
- path.cs
- WebEventTraceProvider.cs
- DataGridViewRow.cs
- TableProviderWrapper.cs
- DayRenderEvent.cs
- XmlAnyAttributeAttribute.cs
- XamlTypeMapper.cs
- X509Certificate2.cs
- NavigationFailedEventArgs.cs
- PublishLicense.cs
- TreeViewBindingsEditorForm.cs
- PropertyReference.cs
- DataObjectEventArgs.cs
- CheckBoxRenderer.cs
- PopOutPanel.cs
- ValueOfAction.cs
- Array.cs
- LineSegment.cs
- TransactionManager.cs
- ExpanderAutomationPeer.cs
- DataGridViewDataConnection.cs
- XmlSchemaDocumentation.cs
- TextContainerChangedEventArgs.cs
- InfoCardRequestException.cs
- ScriptComponentDescriptor.cs
- DefinitionBase.cs
- DataGridViewRowPostPaintEventArgs.cs
- WebPartDisplayModeCancelEventArgs.cs
- WinFormsUtils.cs
- XmlSchemaSimpleContent.cs
- StringBuilder.cs
- InteropBitmapSource.cs
- AppDomainAttributes.cs
- EntityDataSourceUtil.cs
- UserControlDocumentDesigner.cs
- RowsCopiedEventArgs.cs
- TextTreeNode.cs
- CustomAttributeBuilder.cs
- ExpiredSecurityTokenException.cs
- PlatformNotSupportedException.cs
- XmlName.cs
- PropertyValueUIItem.cs
- AttachedAnnotationChangedEventArgs.cs
- DebuggerService.cs
- ObjectStorage.cs
- SQLStringStorage.cs
- XmlDocumentFragment.cs
- SerialReceived.cs
- LockedActivityGlyph.cs
- InputLanguageEventArgs.cs