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
- NameSpaceEvent.cs
- JournalNavigationScope.cs
- CodeTypeReferenceExpression.cs
- DrawingBrush.cs
- SamlEvidence.cs
- XmlNode.cs
- KoreanCalendar.cs
- BuiltInPermissionSets.cs
- StyleHelper.cs
- MenuCommands.cs
- KeyboardNavigation.cs
- ObjectPropertyMapping.cs
- LoginUtil.cs
- GetParentChain.cs
- ScriptServiceAttribute.cs
- HttpsHostedTransportConfiguration.cs
- StylusEventArgs.cs
- UrlMappingCollection.cs
- ResolvedKeyFrameEntry.cs
- Executor.cs
- InputManager.cs
- PolyLineSegment.cs
- securitycriticaldata.cs
- Function.cs
- ObjectDataSourceStatusEventArgs.cs
- XPathDocumentIterator.cs
- DCSafeHandle.cs
- FormsAuthenticationUserCollection.cs
- BlockUIContainer.cs
- StylusOverProperty.cs
- KnownBoxes.cs
- SystemWebCachingSectionGroup.cs
- ScrollChrome.cs
- FileLogRecordHeader.cs
- CheckedListBox.cs
- ValuePattern.cs
- ByeOperationCD1AsyncResult.cs
- PointCollection.cs
- OleDbConnectionFactory.cs
- XmlIncludeAttribute.cs
- XPathNavigator.cs
- TlsnegoTokenAuthenticator.cs
- EmptyStringExpandableObjectConverter.cs
- AuthenticodeSignatureInformation.cs
- SoapServerMethod.cs
- CqlLexer.cs
- StorageComplexTypeMapping.cs
- ObjectDisposedException.cs
- DataListItemCollection.cs
- DocumentViewerConstants.cs
- _ShellExpression.cs
- ConstraintCollection.cs
- HtmlInputFile.cs
- MenuAdapter.cs
- externdll.cs
- GradientStop.cs
- RichTextBoxConstants.cs
- SignatureDescription.cs
- LiteralDesigner.cs
- EntityContainerEntitySetDefiningQuery.cs
- ItemsControlAutomationPeer.cs
- BrowserDefinitionCollection.cs
- QueryableFilterUserControl.cs
- ReliableOutputSessionChannel.cs
- PropertyIDSet.cs
- TraceUtils.cs
- TextSimpleMarkerProperties.cs
- FontCacheUtil.cs
- LocalizationCodeDomSerializer.cs
- ClassicBorderDecorator.cs
- HttpInputStream.cs
- SoapReflector.cs
- OutputWindow.cs
- DropSource.cs
- AssociationSetMetadata.cs
- ClientCultureInfo.cs
- TextDocumentView.cs
- MethodRental.cs
- NamespaceInfo.cs
- CultureSpecificStringDictionary.cs
- ExpressionValueEditor.cs
- RepeaterItemEventArgs.cs
- ProxyWebPartManager.cs
- GatewayDefinition.cs
- Content.cs
- RegexCaptureCollection.cs
- AppDomainFactory.cs
- EventHandlerList.cs
- TextViewElement.cs
- ClientOptions.cs
- DXD.cs
- BaseDataList.cs
- SystemInfo.cs
- SupportsEventValidationAttribute.cs
- Action.cs
- GenericEnumConverter.cs
- PeerNearMe.cs
- XmlSerializationWriter.cs
- ObjectDataProvider.cs
- WinInetCache.cs