Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / WSSecurityPolicy11.cs / 1 / WSSecurityPolicy11.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Security { using System; using System.Collections.Generic; using System.ServiceModel.Channels; using System.ServiceModel.Description; using System.Text; using System.Xml; class WSSecurityPolicy11 : WSSecurityPolicy { public const string WsspNamespace = @"http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"; public override string WsspNamespaceUri { get { return WSSecurityPolicy11.WsspNamespace; } } public override bool IsSecurityVersionSupported(MessageSecurityVersion version) { return version == MessageSecurityVersion.WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10 || version == MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11 || version == MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10; } public override MessageSecurityVersion GetSupportedMessageSecurityVersion(SecurityVersion version) { return (version == SecurityVersion.WSSecurity10) ? MessageSecurityVersion.WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10 : MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10; } public override TrustDriver TrustDriver { get { return new WSTrustFeb2005.DriverFeb2005(new SecurityStandardsManager(MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11, WSSecurityTokenSerializer.DefaultInstance)); } } // WS-SecurityPolicy 11 should still use the mssp namespace for MustNotSendCancel public override XmlElement CreateWsspMustNotSendCancelAssertion(bool requireCancel) { if (!requireCancel) { XmlElement result = CreateMsspAssertion(MustNotSendCancelName); return result; } else { return null; } } // WS-SecurityPolicy 11 should still use the mssp namespace for MustNotSendCancel public override bool TryImportWsspMustNotSendCancelAssertion(ICollectionassertions, out bool requireCancellation) { requireCancellation = !TryImportMsspAssertion(assertions, MustNotSendCancelName); return true; } public override XmlElement CreateWsspHttpsTokenAssertion(MetadataExporter exporter, HttpsTransportBindingElement httpsBinding) { XmlElement result = CreateWsspAssertion(HttpsTokenName); result.SetAttribute(RequireClientCertificateName, httpsBinding.RequireClientCertificate ? TrueName : FalseName); return result; } public override bool TryImportWsspHttpsTokenAssertion(MetadataImporter importer, ICollection assertions, HttpsTransportBindingElement httpsBinding) { if (assertions == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("assertions"); } bool result; XmlElement assertion; if (TryImportWsspAssertion(assertions, HttpsTokenName, out assertion)) { result = true; string v = assertion.GetAttribute(RequireClientCertificateName); try { httpsBinding.RequireClientCertificate = XmlUtil.IsTrue(v); } catch (Exception e) { if (DiagnosticUtility.IsFatal(e)) throw; if (e is NullReferenceException) throw; importer.Errors.Add(new MetadataConversionError(SR.GetString(SR.UnsupportedBooleanAttribute, RequireClientCertificateName, e.Message), false)); result = false; } } else { result = false; } return result; } public override XmlElement CreateWsspTrustAssertion(MetadataExporter exporter, SecurityKeyEntropyMode keyEntropyMode) { return CreateWsspTrustAssertion(Trust10Name, exporter, keyEntropyMode); } public override bool TryImportWsspTrustAssertion(MetadataImporter importer, ICollection assertions, SecurityBindingElement binding, out XmlElement assertion) { return TryImportWsspTrustAssertion(Trust10Name, importer, assertions, binding, out assertion); } } } // 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
- ExpressionWriter.cs
- UInt16Storage.cs
- WindowsScroll.cs
- ArrayWithOffset.cs
- ActivityTypeDesigner.xaml.cs
- ProcessHostFactoryHelper.cs
- Line.cs
- SqlDataSourceFilteringEventArgs.cs
- InfoCardProofToken.cs
- RegisteredScript.cs
- DataBoundControlAdapter.cs
- OLEDB_Enum.cs
- CheckedListBox.cs
- ObjectStateEntryDbDataRecord.cs
- ImmComposition.cs
- DecimalConstantAttribute.cs
- ConfigXmlCDataSection.cs
- ProtocolsConfigurationHandler.cs
- JsonDeserializer.cs
- Serializer.cs
- MailAddress.cs
- MembershipSection.cs
- BaseUriHelper.cs
- TableDetailsCollection.cs
- KeyEventArgs.cs
- WebConvert.cs
- SessionStateModule.cs
- Attributes.cs
- Vertex.cs
- SqlClientPermission.cs
- ScriptManager.cs
- XmlNavigatorStack.cs
- VarRemapper.cs
- ToolStripDropDownItem.cs
- DataFormats.cs
- BitConverter.cs
- UDPClient.cs
- ThousandthOfEmRealPoints.cs
- SimpleWebHandlerParser.cs
- RefreshPropertiesAttribute.cs
- ExtensionSimplifierMarkupObject.cs
- SourceInterpreter.cs
- SelfIssuedAuthRSAPKCS1SignatureFormatter.cs
- BaseValidatorDesigner.cs
- DataViewManager.cs
- RelatedPropertyManager.cs
- IsolatedStorageFile.cs
- DBDataPermissionAttribute.cs
- DataGridView.cs
- SetStoryboardSpeedRatio.cs
- TextComposition.cs
- DataBindingHandlerAttribute.cs
- ContextMarshalException.cs
- HwndAppCommandInputProvider.cs
- DispatcherProcessingDisabled.cs
- UIElementAutomationPeer.cs
- XamlInt32CollectionSerializer.cs
- OptimisticConcurrencyException.cs
- WebRequest.cs
- Empty.cs
- CustomCredentialPolicy.cs
- UnicodeEncoding.cs
- SimpleWebHandlerParser.cs
- MetadataItemEmitter.cs
- XmlDataSourceView.cs
- ImageFormat.cs
- CodeTryCatchFinallyStatement.cs
- Visual3DCollection.cs
- DataListCommandEventArgs.cs
- ControlType.cs
- ExpandableObjectConverter.cs
- RoleGroupCollectionEditor.cs
- FormViewPageEventArgs.cs
- ScriptDescriptor.cs
- DeviceSpecificDialogCachedState.cs
- WebPartMinimizeVerb.cs
- XmlAttributeOverrides.cs
- CompositionAdorner.cs
- BamlBinaryReader.cs
- AssemblyCollection.cs
- MembershipUser.cs
- DesignRelationCollection.cs
- ControlValuePropertyAttribute.cs
- ListViewItem.cs
- PerformanceCounterManager.cs
- BadImageFormatException.cs
- ProgressBarHighlightConverter.cs
- CustomAttributeSerializer.cs
- FunctionOverloadResolver.cs
- ClockGroup.cs
- RoamingStoreFile.cs
- EntityDataSourceChangingEventArgs.cs
- MenuCommand.cs
- FileBasedResourceGroveler.cs
- ToolStripItemDesigner.cs
- XmlSchemaAttributeGroupRef.cs
- CachedRequestParams.cs
- Grid.cs
- TextDecoration.cs
- Char.cs