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
- DeflateEmulationStream.cs
- GeometryHitTestParameters.cs
- XamlTemplateSerializer.cs
- ConfigurationConverterBase.cs
- RenderCapability.cs
- RegexMatchCollection.cs
- FlowDocumentPage.cs
- GridEntryCollection.cs
- WebPartEditVerb.cs
- NamespaceDecl.cs
- MemberRelationshipService.cs
- BufferedReceiveElement.cs
- ComponentConverter.cs
- FlowchartSizeFeature.cs
- Vector3D.cs
- DataMisalignedException.cs
- GridViewDeleteEventArgs.cs
- WindowsGraphicsCacheManager.cs
- WindowsFormsHost.cs
- RequestStatusBarUpdateEventArgs.cs
- Point3D.cs
- KnownBoxes.cs
- RestrictedTransactionalPackage.cs
- TableItemPattern.cs
- ExpressionStringBuilder.cs
- CachedBitmap.cs
- ColumnReorderedEventArgs.cs
- SharedUtils.cs
- Registry.cs
- CompiledIdentityConstraint.cs
- KeyboardDevice.cs
- QueryRelOp.cs
- SspiSecurityTokenProvider.cs
- WinInetCache.cs
- XmlElementAttribute.cs
- MembershipPasswordException.cs
- ContentValidator.cs
- LocalClientSecuritySettingsElement.cs
- UdpSocketReceiveManager.cs
- SQLMembershipProvider.cs
- StrokeCollectionConverter.cs
- XmlSchemaAny.cs
- ItemCheckedEvent.cs
- UIElementPropertyUndoUnit.cs
- EmbeddedMailObject.cs
- CookieProtection.cs
- BuildProviderAppliesToAttribute.cs
- StylusPointCollection.cs
- SuppressIldasmAttribute.cs
- WsatEtwTraceListener.cs
- PagerSettings.cs
- AttachedPropertyBrowsableAttribute.cs
- EditBehavior.cs
- ResourceDescriptionAttribute.cs
- TransactionTable.cs
- EntityDataSourceValidationException.cs
- DateTimeStorage.cs
- Missing.cs
- EndEvent.cs
- PeerObject.cs
- Wizard.cs
- OptimizedTemplateContent.cs
- ContainerControlDesigner.cs
- MessagePartDescription.cs
- IdnElement.cs
- StyleBamlRecordReader.cs
- DynamicObjectAccessor.cs
- _NestedSingleAsyncResult.cs
- ClipboardData.cs
- ActivityPreviewDesigner.cs
- Timeline.cs
- XmlTextReaderImplHelpers.cs
- SrgsGrammar.cs
- FormView.cs
- EntityDesignerDataSourceView.cs
- DelegateSerializationHolder.cs
- WebPartActionVerb.cs
- MonthCalendar.cs
- StorageEndPropertyMapping.cs
- ExtensionFile.cs
- TextTreeUndoUnit.cs
- IpcClientManager.cs
- figurelength.cs
- StrokeNodeOperations2.cs
- SetState.cs
- FigureParaClient.cs
- BevelBitmapEffect.cs
- ScriptHandlerFactory.cs
- SqlNodeAnnotations.cs
- NullToBooleanConverter.cs
- InstanceLockTracking.cs
- MetricEntry.cs
- PrinterResolution.cs
- ExecutionContext.cs
- HideDisabledControlAdapter.cs
- LineUtil.cs
- UnionExpr.cs
- SqlAliaser.cs
- SqlBuffer.cs
- XmlHierarchicalEnumerable.cs