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
- WindowsHyperlink.cs
- FileStream.cs
- hresults.cs
- ListBox.cs
- FirstQueryOperator.cs
- Animatable.cs
- MaskedTextProvider.cs
- Evaluator.cs
- UIElementParaClient.cs
- FontCollection.cs
- StructuredTypeEmitter.cs
- MailBnfHelper.cs
- XmlConvert.cs
- ScriptDescriptor.cs
- ExpandedWrapper.cs
- DataSetMappper.cs
- Vector3DAnimation.cs
- TouchPoint.cs
- InputBuffer.cs
- MenuStrip.cs
- SafeFileMappingHandle.cs
- GC.cs
- ExceptionUtil.cs
- MenuItemBinding.cs
- SyntaxCheck.cs
- EntityDataSourceChangingEventArgs.cs
- AncestorChangedEventArgs.cs
- MessagePartDescription.cs
- SignatureDescription.cs
- ApplicationInterop.cs
- VariableValue.cs
- MgmtConfigurationRecord.cs
- LoadRetryAsyncResult.cs
- SequenceDesigner.cs
- TypeSystemHelpers.cs
- ClientProxyGenerator.cs
- ToolStripControlHost.cs
- XPathBinder.cs
- MonthChangedEventArgs.cs
- PkcsMisc.cs
- SqlVersion.cs
- UriParserTemplates.cs
- Helper.cs
- DataRowCollection.cs
- FontFamilyIdentifier.cs
- EditorPartCollection.cs
- WindowsSpinner.cs
- CroppedBitmap.cs
- TextEffectCollection.cs
- ThreadStateException.cs
- ExpandSegmentCollection.cs
- TextEndOfParagraph.cs
- DetailsViewUpdateEventArgs.cs
- WebFormDesignerActionService.cs
- ListViewItem.cs
- Unit.cs
- OperatingSystem.cs
- ListViewDeleteEventArgs.cs
- ButtonChrome.cs
- Baml2006Reader.cs
- WaitHandle.cs
- KnownIds.cs
- SignedXml.cs
- ApplicationFileCodeDomTreeGenerator.cs
- NativeMethods.cs
- RenderingEventArgs.cs
- DiscoveryClientOutputChannel.cs
- PKCS1MaskGenerationMethod.cs
- BypassElementCollection.cs
- InternalCache.cs
- OracleParameter.cs
- ColorTransformHelper.cs
- IgnoreSectionHandler.cs
- ImportContext.cs
- Button.cs
- ErrorEventArgs.cs
- WorkflowQueue.cs
- IgnoreDataMemberAttribute.cs
- ValidationHelper.cs
- HttpResponse.cs
- ViewSimplifier.cs
- Geometry3D.cs
- _NestedSingleAsyncResult.cs
- ConsumerConnectionPoint.cs
- DataGridViewUtilities.cs
- SspiSecurityTokenParameters.cs
- Image.cs
- NetworkStream.cs
- RuntimeConfigLKG.cs
- FormattedText.cs
- ElementHostPropertyMap.cs
- RequestCacheManager.cs
- DataGridViewRowCancelEventArgs.cs
- ProvideValueServiceProvider.cs
- ParsedAttributeCollection.cs
- KeyEventArgs.cs
- RIPEMD160.cs
- ConstNode.cs
- ContextItemManager.cs
- ConfigurationManagerInternalFactory.cs