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
- SortFieldComparer.cs
- ToolStripItemRenderEventArgs.cs
- TreeViewItem.cs
- DispatchChannelSink.cs
- RecordBuilder.cs
- ExpressionBinding.cs
- MissingMethodException.cs
- DriveNotFoundException.cs
- NativeRightsManagementAPIsStructures.cs
- InternalRelationshipCollection.cs
- TransformerTypeCollection.cs
- DependsOnAttribute.cs
- X509Certificate2Collection.cs
- Compiler.cs
- HierarchicalDataSourceDesigner.cs
- OutgoingWebRequestContext.cs
- Normalizer.cs
- MemoryFailPoint.cs
- Operator.cs
- StandardToolWindows.cs
- WorkflowServiceBuildProvider.cs
- Claim.cs
- Rectangle.cs
- IPEndPoint.cs
- ResourceBinder.cs
- XmlHierarchicalDataSourceView.cs
- RenderOptions.cs
- AspCompat.cs
- CodeAttributeArgument.cs
- TransformerTypeCollection.cs
- ThreadLocal.cs
- BamlRecords.cs
- XmlSchemaObject.cs
- DNS.cs
- Cursor.cs
- FragmentQuery.cs
- SessionStateItemCollection.cs
- ClientTargetSection.cs
- TypeUsage.cs
- PageBreakRecord.cs
- NoPersistProperty.cs
- Animatable.cs
- SurrogateEncoder.cs
- IntersectQueryOperator.cs
- SqlUserDefinedTypeAttribute.cs
- BCryptSafeHandles.cs
- updatecommandorderer.cs
- SqlNodeTypeOperators.cs
- VectorValueSerializer.cs
- MoveSizeWinEventHandler.cs
- TextEffectCollection.cs
- DataColumnCollection.cs
- VariableAction.cs
- WinCategoryAttribute.cs
- FrameworkContentElementAutomationPeer.cs
- RightsManagementLicense.cs
- CustomLineCap.cs
- KeyFrames.cs
- SQLInt64.cs
- WebPermission.cs
- BinaryNode.cs
- ServiceDesigner.xaml.cs
- ValueTable.cs
- PageVisual.cs
- BlobPersonalizationState.cs
- FixedSOMSemanticBox.cs
- RequestQueue.cs
- UserControl.cs
- MergeLocalizationDirectives.cs
- Module.cs
- MouseButton.cs
- CompositeDataBoundControl.cs
- Query.cs
- SwitchLevelAttribute.cs
- PageFunction.cs
- TickBar.cs
- WebRequest.cs
- DotAtomReader.cs
- DbConnectionStringBuilder.cs
- DeadLetterQueue.cs
- GiveFeedbackEventArgs.cs
- ToolZone.cs
- XpsResourcePolicy.cs
- QueryOpcode.cs
- WinEventWrap.cs
- MobileControlsSection.cs
- Math.cs
- EncryptedKeyIdentifierClause.cs
- MemberInfoSerializationHolder.cs
- ByteRangeDownloader.cs
- LogSwitch.cs
- ObjectView.cs
- XmlDataSourceDesigner.cs
- ZipIORawDataFileBlock.cs
- UnsafeNativeMethods.cs
- HtmlTextArea.cs
- Composition.cs
- ResourceAttributes.cs
- XmlSchemaInferenceException.cs
- ObjectDataSourceStatusEventArgs.cs