Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Tokens / EncryptedKeyIdentifierClause.cs / 1 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PagerSettings.cs
- Size3DValueSerializer.cs
- TableLayoutColumnStyleCollection.cs
- HttpStreamFormatter.cs
- OneOf.cs
- TextServicesCompartmentContext.cs
- ResourceDescriptionAttribute.cs
- Normalizer.cs
- DrawingCollection.cs
- BaseComponentEditor.cs
- SortedList.cs
- DependencyPropertyValueSerializer.cs
- SecurityAppliedMessage.cs
- TaiwanLunisolarCalendar.cs
- CollectionView.cs
- SqlTypesSchemaImporter.cs
- XmlWhitespace.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- FontConverter.cs
- HwndTarget.cs
- FindCriteria.cs
- ExtendedProtectionPolicy.cs
- TextEditorContextMenu.cs
- SpellCheck.cs
- SharedHttpsTransportManager.cs
- PropertyToken.cs
- FloaterBaseParagraph.cs
- ConnectionManagementSection.cs
- DocumentXPathNavigator.cs
- JulianCalendar.cs
- ApplicationGesture.cs
- ComplexBindingPropertiesAttribute.cs
- ActivityExecutor.cs
- CharacterMetricsDictionary.cs
- webbrowsersite.cs
- HuffmanTree.cs
- BaseConfigurationRecord.cs
- DispatcherExceptionFilterEventArgs.cs
- CFStream.cs
- InvalidEnumArgumentException.cs
- Rijndael.cs
- MembershipValidatePasswordEventArgs.cs
- ApplicationContext.cs
- PerfCounters.cs
- EmptyEnumerator.cs
- PropertyCollection.cs
- EmissiveMaterial.cs
- HelpFileFileNameEditor.cs
- ReflectionPermission.cs
- BinaryParser.cs
- SelfSignedCertificate.cs
- DbMetaDataColumnNames.cs
- VoiceInfo.cs
- DataExpression.cs
- WebDisplayNameAttribute.cs
- HtmlTableCell.cs
- ProfilePropertyNameValidator.cs
- EmbeddedMailObject.cs
- ClientTargetCollection.cs
- BinarySerializer.cs
- HandlerBase.cs
- ImageList.cs
- ConfigXmlWhitespace.cs
- Utils.cs
- ToolStripPanelSelectionBehavior.cs
- StorageInfo.cs
- X509Certificate2.cs
- ContainerControl.cs
- Mapping.cs
- OrderedHashRepartitionEnumerator.cs
- EventSinkHelperWriter.cs
- CqlBlock.cs
- EdmSchemaAttribute.cs
- _NestedSingleAsyncResult.cs
- OleDbDataAdapter.cs
- LogStore.cs
- PersonalizationStateInfo.cs
- IncrementalCompileAnalyzer.cs
- PrimitiveType.cs
- DataGridViewHeaderCell.cs
- LeaseManager.cs
- ColorMap.cs
- CryptoConfig.cs
- FixedHyperLink.cs
- RemoteWebConfigurationHostStream.cs
- EntityKey.cs
- MetaTable.cs
- ClientScriptItem.cs
- ManualResetEvent.cs
- HttpRequest.cs
- ResetableIterator.cs
- EnumerableRowCollection.cs
- TextEmbeddedObject.cs
- CodeCatchClause.cs
- SqlDesignerDataSourceView.cs
- LocatorPart.cs
- MessageOperationFormatter.cs
- ColorConverter.cs
- Rect3D.cs
- UnsafeNativeMethods.cs