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
- BufferBuilder.cs
- MetaType.cs
- EmptyEnumerable.cs
- DataException.cs
- TemplateInstanceAttribute.cs
- JoinTreeNode.cs
- SHA512.cs
- SqlDataSourceQueryEditorForm.cs
- InlineUIContainer.cs
- WizardForm.cs
- LayoutTable.cs
- SharedDp.cs
- PersonalizationStateQuery.cs
- SimpleTableProvider.cs
- TextServicesManager.cs
- MessageQueueCriteria.cs
- PartialCachingControl.cs
- BinaryWriter.cs
- CompiledIdentityConstraint.cs
- SourceInterpreter.cs
- CultureTable.cs
- DataRelationCollection.cs
- DtcInterfaces.cs
- TextDecorationLocationValidation.cs
- SafeArrayTypeMismatchException.cs
- NativeMethods.cs
- CompilationUtil.cs
- _SecureChannel.cs
- TargetControlTypeAttribute.cs
- TimeSpanConverter.cs
- WindowsImpersonationContext.cs
- SessionEndingEventArgs.cs
- ControlIdConverter.cs
- QueryLifecycle.cs
- Transform3DGroup.cs
- SmiEventSink.cs
- CursorInteropHelper.cs
- FixedSOMTable.cs
- IPPacketInformation.cs
- EnvelopedPkcs7.cs
- AssociationTypeEmitter.cs
- CodeSubDirectoriesCollection.cs
- _AuthenticationState.cs
- CreateUserWizard.cs
- StorageComplexPropertyMapping.cs
- DataListCommandEventArgs.cs
- HttpListenerRequest.cs
- ScalarOps.cs
- BeginEvent.cs
- TypeGeneratedEventArgs.cs
- IndependentAnimationStorage.cs
- MsmqProcessProtocolHandler.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- CssTextWriter.cs
- PolyBezierSegment.cs
- SmiGettersStream.cs
- BehaviorEditorPart.cs
- PaintValueEventArgs.cs
- ThaiBuddhistCalendar.cs
- XhtmlBasicValidatorAdapter.cs
- XmlTextReaderImpl.cs
- IDReferencePropertyAttribute.cs
- SafeEventLogWriteHandle.cs
- _DynamicWinsockMethods.cs
- GAC.cs
- RegexCharClass.cs
- GreaterThanOrEqual.cs
- contentDescriptor.cs
- TdsParameterSetter.cs
- AsmxEndpointPickerExtension.cs
- BufferAllocator.cs
- BamlBinaryWriter.cs
- ShimAsPublicXamlType.cs
- Part.cs
- CodeSubDirectoriesCollection.cs
- ClusterSafeNativeMethods.cs
- GroupItemAutomationPeer.cs
- CodeTypeReferenceCollection.cs
- NameValuePermission.cs
- HMACRIPEMD160.cs
- EmptyCollection.cs
- SoundPlayerAction.cs
- cache.cs
- DetailsViewInsertEventArgs.cs
- MemoryRecordBuffer.cs
- ComPersistableTypeElementCollection.cs
- XmlSchemaSimpleTypeUnion.cs
- InputLangChangeRequestEvent.cs
- EventProxy.cs
- InputReport.cs
- WebEventCodes.cs
- NameValueCollection.cs
- SQLBinaryStorage.cs
- EndEvent.cs
- UpdatePanelTriggerCollection.cs
- HttpDebugHandler.cs
- ProcessThreadDesigner.cs
- UriSection.cs
- Vector3DAnimationBase.cs
- XmlIgnoreAttribute.cs