Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / WSSecurityOneDotOneReceiveSecurityHeader.cs / 1 / WSSecurityOneDotOneReceiveSecurityHeader.cs
//---------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Security { using System.IO; using System.ServiceModel.Channels; using System.ServiceModel; using System.ServiceModel.Description; using System.IdentityModel.Claims; using System.IdentityModel.Policy; using System.IdentityModel.Tokens; using System.Security.Cryptography; using System.ServiceModel.Security.Tokens; using System.Text; using System.Xml; using System.ServiceModel.Diagnostics; class WSSecurityOneDotOneReceiveSecurityHeader : WSSecurityOneDotZeroReceiveSecurityHeader { public WSSecurityOneDotOneReceiveSecurityHeader(Message message, string actor, bool mustUnderstand, bool relay, SecurityStandardsManager standardsManager, SecurityAlgorithmSuite algorithmSuite, int headerIndex, MessageDirection direction) : base(message, actor, mustUnderstand, relay, standardsManager, algorithmSuite, headerIndex, direction) { } protected override DecryptedHeader DecryptHeader(XmlDictionaryReader reader, WrappedKeySecurityToken wrappedKeyToken) { EncryptedHeaderXml headerXml = new EncryptedHeaderXml(this.Version); headerXml.SecurityTokenSerializer = this.StandardsManager.SecurityTokenSerializer; headerXml.ReadFrom(reader, MaxReceivedMessageSize); // The Encrypted Headers MustUnderstand, Relay and Actor attributes should match the // Security Headers value. if (headerXml.MustUnderstand != this.MustUnderstand) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MessageSecurityException(SR.GetString(SR.EncryptedHeaderAttributeMismatch, XD.MessageDictionary.MustUnderstand.Value, headerXml.MustUnderstand, this.MustUnderstand))); if (headerXml.Relay != this.Relay) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MessageSecurityException(SR.GetString(SR.EncryptedHeaderAttributeMismatch, XD.Message12Dictionary.Relay.Value, headerXml.Relay, this.Relay))); if (headerXml.Actor != this.Actor) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new MessageSecurityException(SR.GetString(SR.EncryptedHeaderAttributeMismatch, this.Version.Envelope.DictionaryActor, headerXml.Actor, this.Actor))); SecurityToken token; if (wrappedKeyToken == null) { token = ResolveKeyIdentifier(headerXml.KeyIdentifier, this.CombinedPrimaryTokenResolver, false); } else { token = wrappedKeyToken; } RecordEncryptionToken(token); using (SymmetricAlgorithm algorithm = CreateDecryptionAlgorithm(token, headerXml.EncryptionMethod, this.AlgorithmSuite)) { headerXml.SetUpDecryption(algorithm); return new DecryptedHeader( headerXml.GetDecryptedBuffer(), this.SecurityVerifiedMessage.GetEnvelopeAttributes(), this.SecurityVerifiedMessage.GetHeaderAttributes(), this.Version, this.StandardsManager.IdManager, this.ReaderQuotas); } } } } // 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
- ThreadStateException.cs
- ObjectToIdCache.cs
- HtmlWindow.cs
- TableCell.cs
- Debug.cs
- Sequence.cs
- CompleteWizardStep.cs
- Rfc2898DeriveBytes.cs
- FontStyles.cs
- XPathMultyIterator.cs
- MostlySingletonList.cs
- Compiler.cs
- ScalarConstant.cs
- CheckoutException.cs
- SchemaTableColumn.cs
- IndividualDeviceConfig.cs
- XmlWriter.cs
- PackageFilter.cs
- PolicyLevel.cs
- SecurityUtils.cs
- Crc32Helper.cs
- JournalEntryStack.cs
- QueryStatement.cs
- TriggerCollection.cs
- HostedElements.cs
- UIEndRequest.cs
- PersonalizationDictionary.cs
- PlatformNotSupportedException.cs
- SID.cs
- SimpleApplicationHost.cs
- SHA384Managed.cs
- SerializationEventsCache.cs
- GeneralTransformGroup.cs
- Error.cs
- ListViewDeletedEventArgs.cs
- translator.cs
- sqlinternaltransaction.cs
- SingleKeyFrameCollection.cs
- CompletedAsyncResult.cs
- tooltip.cs
- FormatConvertedBitmap.cs
- DataShape.cs
- SignedPkcs7.cs
- SqlBulkCopy.cs
- AssociationEndMember.cs
- VectorConverter.cs
- PasswordRecovery.cs
- ConnectionStringsExpressionBuilder.cs
- TypedReference.cs
- ParallelEnumerableWrapper.cs
- SqlMethodCallConverter.cs
- TreeNodeMouseHoverEvent.cs
- HandledMouseEvent.cs
- CategoryNameCollection.cs
- Emitter.cs
- CodeConditionStatement.cs
- CodeSubDirectoriesCollection.cs
- GeometryDrawing.cs
- DbConnectionPoolGroupProviderInfo.cs
- HtmlInputControl.cs
- HttpContextWrapper.cs
- AppDomainUnloadedException.cs
- DomainConstraint.cs
- TreeNode.cs
- EntityViewGenerationConstants.cs
- VersionedStream.cs
- DataGridParentRows.cs
- PropertyRef.cs
- XamlReader.cs
- ServiceErrorHandler.cs
- FormsAuthenticationEventArgs.cs
- BoolExpressionVisitors.cs
- HandlerMappingMemo.cs
- CSharpCodeProvider.cs
- TokenizerHelper.cs
- DesignerLoader.cs
- BitmapInitialize.cs
- Buffer.cs
- Ticks.cs
- ServiceBehaviorElementCollection.cs
- KeyMatchBuilder.cs
- DbMetaDataFactory.cs
- _NegotiateClient.cs
- BeginEvent.cs
- GroupBox.cs
- PresentationSource.cs
- SqlDataSourceEnumerator.cs
- HwndKeyboardInputProvider.cs
- BitmapSizeOptions.cs
- ConfigurationManagerInternalFactory.cs
- TimeoutException.cs
- TextParagraphView.cs
- GridViewDeleteEventArgs.cs
- FixedStringLookup.cs
- XmlTextEncoder.cs
- XmlLinkedNode.cs
- ExeConfigurationFileMap.cs
- EnvironmentPermission.cs
- ClientTarget.cs
- shaperfactoryquerycacheentry.cs