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
- IteratorFilter.cs
- SchemaCollectionCompiler.cs
- NotSupportedException.cs
- XamlPathDataSerializer.cs
- DataGridColumnHeader.cs
- Wizard.cs
- Span.cs
- ToolStripComboBox.cs
- Binding.cs
- util.cs
- OverflowException.cs
- WebControl.cs
- ScrollBarAutomationPeer.cs
- ValidationManager.cs
- VariableQuery.cs
- NameTable.cs
- DragEventArgs.cs
- CompensationExtension.cs
- HMACMD5.cs
- ScriptRegistrationManager.cs
- XmlQueryCardinality.cs
- PreviewPrintController.cs
- HostedHttpContext.cs
- DBSqlParserTableCollection.cs
- Geometry3D.cs
- ElementProxy.cs
- Configuration.cs
- ClientSettings.cs
- processwaithandle.cs
- Bold.cs
- TextEffectCollection.cs
- Vector.cs
- XmlTextWriter.cs
- QueryStack.cs
- SupportsPreviewControlAttribute.cs
- WCFModelStrings.Designer.cs
- Fonts.cs
- shaperfactory.cs
- InternalTypeHelper.cs
- TransformedBitmap.cs
- WrappedIUnknown.cs
- AstTree.cs
- PopupRoot.cs
- TheQuery.cs
- ClassValidator.cs
- CompModSwitches.cs
- ReadingWritingEntityEventArgs.cs
- XmlSchemaAnnotated.cs
- AspProxy.cs
- WindowsSolidBrush.cs
- RuntimeHelpers.cs
- MembershipValidatePasswordEventArgs.cs
- DetailsViewDeletedEventArgs.cs
- WebPartCloseVerb.cs
- CheckBox.cs
- UxThemeWrapper.cs
- XamlVector3DCollectionSerializer.cs
- TableLayoutRowStyleCollection.cs
- XmlSchemaImport.cs
- QuotedPairReader.cs
- KeyValueInternalCollection.cs
- arclist.cs
- PlatformCulture.cs
- ImageMapEventArgs.cs
- ColumnResult.cs
- filewebrequest.cs
- GenericTextProperties.cs
- ZipPackage.cs
- DefaultValueTypeConverter.cs
- TextServicesProperty.cs
- AesCryptoServiceProvider.cs
- MaterialCollection.cs
- HostedAspNetEnvironment.cs
- ProviderIncompatibleException.cs
- PrimitiveXmlSerializers.cs
- ForeignConstraint.cs
- Model3DCollection.cs
- IMembershipProvider.cs
- GridViewItemAutomationPeer.cs
- DrawingCollection.cs
- ChannelListenerBase.cs
- CodeChecksumPragma.cs
- WmlControlAdapter.cs
- LocatorPart.cs
- FtpCachePolicyElement.cs
- Ipv6Element.cs
- StylusPlugin.cs
- DirectoryInfo.cs
- ObjectDisposedException.cs
- Html32TextWriter.cs
- ProfilePropertyMetadata.cs
- ParserHooks.cs
- XpsThumbnail.cs
- SqlDataSourceSelectingEventArgs.cs
- PasswordPropertyTextAttribute.cs
- SerializationUtilities.cs
- TripleDESCryptoServiceProvider.cs
- EmptyControlCollection.cs
- ThreadAttributes.cs
- QueryCacheKey.cs