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
- PropertyMetadata.cs
- SecurityKeyUsage.cs
- PermissionRequestEvidence.cs
- OdbcParameterCollection.cs
- SizeValueSerializer.cs
- DataGridAddNewRow.cs
- DataExpression.cs
- SafeFileMappingHandle.cs
- EventHandlerList.cs
- FutureFactory.cs
- Speller.cs
- PropertyAccessVisitor.cs
- MobileSysDescriptionAttribute.cs
- DocumentPage.cs
- SpanIndex.cs
- DependencyPropertyAttribute.cs
- ClientRuntimeConfig.cs
- CustomTypeDescriptor.cs
- BooleanAnimationUsingKeyFrames.cs
- FixedSOMTableRow.cs
- StorageEntityTypeMapping.cs
- COM2EnumConverter.cs
- MultipleViewPatternIdentifiers.cs
- PartialCachingAttribute.cs
- AttributeSetAction.cs
- X509InitiatorCertificateServiceElement.cs
- ExecutionContext.cs
- SharedPerformanceCounter.cs
- HtmlMeta.cs
- ClientFormsIdentity.cs
- DetailsViewModeEventArgs.cs
- BaseTemplateBuildProvider.cs
- Int32RectValueSerializer.cs
- WebConfigurationManager.cs
- XamlBrushSerializer.cs
- FormParameter.cs
- sqlnorm.cs
- Duration.cs
- UrlMappingsSection.cs
- DefaultPropertyAttribute.cs
- PriorityItem.cs
- HostedHttpRequestAsyncResult.cs
- TimeSpanValidator.cs
- SqlCacheDependencyDatabaseCollection.cs
- HttpCapabilitiesEvaluator.cs
- CompressedStack.cs
- TextDecorationCollection.cs
- AttributeQuery.cs
- DoubleLinkList.cs
- SharedPersonalizationStateInfo.cs
- XmlChoiceIdentifierAttribute.cs
- SinglePhaseEnlistment.cs
- RSAOAEPKeyExchangeDeformatter.cs
- Variant.cs
- PermissionToken.cs
- x509store.cs
- RequestCacheManager.cs
- ProfileSection.cs
- CodeValidator.cs
- WorkItem.cs
- CustomValidator.cs
- PersonalizationProvider.cs
- HtmlInputControl.cs
- UpdateCommand.cs
- XamlStream.cs
- FlowDocumentReaderAutomationPeer.cs
- RepeaterItemEventArgs.cs
- UnsafeNativeMethodsMilCoreApi.cs
- SinglePageViewer.cs
- PeerNameRecordCollection.cs
- CollectionConverter.cs
- XPathItem.cs
- FileDialog.cs
- XD.cs
- DiscoveryDocument.cs
- ConstNode.cs
- DataStreamFromComStream.cs
- ReadContentAsBinaryHelper.cs
- HashCoreRequest.cs
- ResumeStoryboard.cs
- EditorZoneBase.cs
- _DomainName.cs
- Speller.cs
- FixedDocument.cs
- WebPartEventArgs.cs
- SurrogateSelector.cs
- RightsManagementEncryptionTransform.cs
- SQLInt32Storage.cs
- XomlDesignerLoader.cs
- DbConnectionPoolGroupProviderInfo.cs
- RowToFieldTransformer.cs
- ArrangedElementCollection.cs
- CompoundFileStorageReference.cs
- XhtmlConformanceSection.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- ConcurrentStack.cs
- VisualBrush.cs
- DefaultBindingPropertyAttribute.cs
- SchemaCollectionPreprocessor.cs
- PropertyInformationCollection.cs