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
- FormsAuthenticationEventArgs.cs
- SqlMultiplexer.cs
- ObjectSelectorEditor.cs
- __Filters.cs
- BaseUriWithWildcard.cs
- MatcherBuilder.cs
- Pair.cs
- DrawingDrawingContext.cs
- CorrelationService.cs
- HttpListenerResponse.cs
- PropertyKey.cs
- PersonalizablePropertyEntry.cs
- XmlSchemaExporter.cs
- CreateUserErrorEventArgs.cs
- PartialList.cs
- StateWorkerRequest.cs
- ADMembershipProvider.cs
- PersonalizationStateQuery.cs
- Style.cs
- ContentTextAutomationPeer.cs
- CellTreeNode.cs
- XmlMemberMapping.cs
- ParallelLoopState.cs
- DesignerCategoryAttribute.cs
- ResetableIterator.cs
- UserControlCodeDomTreeGenerator.cs
- AtomServiceDocumentSerializer.cs
- XmlMemberMapping.cs
- XmlSchemaAttributeGroup.cs
- OdbcReferenceCollection.cs
- WebHttpBinding.cs
- HashCodeCombiner.cs
- StatusBarPanelClickEvent.cs
- DataGridCell.cs
- Brush.cs
- IpcServerChannel.cs
- InfiniteTimeSpanConverter.cs
- CompositeCollection.cs
- CommandSet.cs
- hebrewshape.cs
- StringExpressionSet.cs
- ColorInterpolationModeValidation.cs
- PriorityQueue.cs
- DoubleStorage.cs
- XmlStreamStore.cs
- EntityDataSourceSelectingEventArgs.cs
- RelOps.cs
- WCFModelStrings.Designer.cs
- ADMembershipUser.cs
- Fonts.cs
- ContentIterators.cs
- XmlCountingReader.cs
- ResXResourceWriter.cs
- SurrogateEncoder.cs
- IRCollection.cs
- RootBrowserWindowProxy.cs
- TemplateField.cs
- DataConnectionHelper.cs
- ConsoleTraceListener.cs
- CellPartitioner.cs
- CodeArrayCreateExpression.cs
- ContainerUIElement3D.cs
- InstanceLockLostException.cs
- ExpandSegment.cs
- InstanceKeyCollisionException.cs
- OracleDateTime.cs
- RequestStatusBarUpdateEventArgs.cs
- QilReplaceVisitor.cs
- CommonDialog.cs
- XmlSchemaDatatype.cs
- IPEndPoint.cs
- GridViewRowPresenterBase.cs
- ConfigurationSettings.cs
- LinkGrep.cs
- ParagraphVisual.cs
- CodeSnippetExpression.cs
- TraceSwitch.cs
- TextView.cs
- HttpNamespaceReservationInstallComponent.cs
- PrintPreviewDialog.cs
- EpmHelper.cs
- SignatureToken.cs
- PersonalizablePropertyEntry.cs
- _ListenerRequestStream.cs
- _SpnDictionary.cs
- CanonicalFontFamilyReference.cs
- GrammarBuilderWildcard.cs
- PocoPropertyAccessorStrategy.cs
- shaperfactory.cs
- HtmlInputFile.cs
- RNGCryptoServiceProvider.cs
- translator.cs
- SharedPerformanceCounter.cs
- OleDbConnectionFactory.cs
- RevocationPoint.cs
- ComAdminInterfaces.cs
- Transactions.cs
- TableParaClient.cs
- SystemResourceKey.cs
- MailWebEventProvider.cs