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
- CalendarDesigner.cs
- RC2CryptoServiceProvider.cs
- FlowDocumentView.cs
- Transactions.cs
- ObjectListCommandEventArgs.cs
- XmlObjectSerializerWriteContext.cs
- AsyncCompletedEventArgs.cs
- MouseGesture.cs
- AnnotationElement.cs
- NavigateEvent.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- SecUtil.cs
- NativeMethods.cs
- TaiwanLunisolarCalendar.cs
- AesCryptoServiceProvider.cs
- FormsAuthenticationConfiguration.cs
- ErrorReporting.cs
- CharKeyFrameCollection.cs
- ParamArrayAttribute.cs
- ParallelTimeline.cs
- OleDbCommandBuilder.cs
- GlyphTypeface.cs
- PatternMatcher.cs
- CreateUserErrorEventArgs.cs
- MailMessageEventArgs.cs
- SamlAuthenticationStatement.cs
- _HeaderInfo.cs
- ClientClassGenerator.cs
- ValidationManager.cs
- UnsafeNativeMethods.cs
- ScaleTransform3D.cs
- XmlCDATASection.cs
- PrintEvent.cs
- NullableDoubleSumAggregationOperator.cs
- Util.cs
- DefinitionBase.cs
- SchemaElementDecl.cs
- ProtectedConfiguration.cs
- InternalBase.cs
- LocationUpdates.cs
- OpenCollectionAsyncResult.cs
- MissingManifestResourceException.cs
- StatusCommandUI.cs
- NetTcpBindingCollectionElement.cs
- FileBasedResourceGroveler.cs
- StorageEntityContainerMapping.cs
- FrameworkElementFactory.cs
- ImageMap.cs
- TypePropertyEditor.cs
- WsdlWriter.cs
- ObjectItemCollection.cs
- PropertyPath.cs
- CollectionChangedEventManager.cs
- TableStyle.cs
- InputQueueChannelAcceptor.cs
- Simplifier.cs
- OwnerDrawPropertyBag.cs
- DataObject.cs
- CellNormalizer.cs
- UrlPath.cs
- SelectionBorderGlyph.cs
- XmlDocumentSurrogate.cs
- SettingsProperty.cs
- FieldMetadata.cs
- LinkedList.cs
- CollectionConverter.cs
- CollectionType.cs
- TextTreeTextNode.cs
- Clock.cs
- DependencyObject.cs
- XPathNodeInfoAtom.cs
- Selection.cs
- ReadOnlyNameValueCollection.cs
- SafeThemeHandle.cs
- NonParentingControl.cs
- Shape.cs
- SoapServerProtocol.cs
- SessionEndedEventArgs.cs
- DbModificationCommandTree.cs
- DataList.cs
- ExpressionBuilder.cs
- ParenthesizePropertyNameAttribute.cs
- RadioButton.cs
- XmlCompatibilityReader.cs
- Condition.cs
- WeakReferenceEnumerator.cs
- TreeView.cs
- DataGridViewAutoSizeModeEventArgs.cs
- Encoder.cs
- DeclaredTypeElementCollection.cs
- MimeTextImporter.cs
- ResourceType.cs
- InternalPermissions.cs
- TextFormattingConverter.cs
- HtmlControlAdapter.cs
- NameHandler.cs
- EntityDataSourceMemberPath.cs
- DateTimeUtil.cs
- CodeIterationStatement.cs
- AutomationProperties.cs