Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / X509ClientCertificateAuthenticationElement.cs / 1 / X509ClientCertificateAuthenticationElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System; using System.ServiceModel; using System.Configuration; using System.ServiceModel.Channels; using System.ServiceModel.Security; using System.Xml; using System.Security.Cryptography.X509Certificates; using System.IdentityModel.Selectors; public sealed partial class X509ClientCertificateAuthenticationElement : ConfigurationElement { public X509ClientCertificateAuthenticationElement() { } [ConfigurationProperty(ConfigurationStrings.CustomCertificateValidatorType, DefaultValue = "")] [StringValidator(MinLength = 0)] public string CustomCertificateValidatorType { get { return (string)base[ConfigurationStrings.CustomCertificateValidatorType]; } set { if (String.IsNullOrEmpty(value)) { value = String.Empty; } base[ConfigurationStrings.CustomCertificateValidatorType] = value; } } [ConfigurationProperty(ConfigurationStrings.CertificateValidationMode, DefaultValue = X509ClientCertificateAuthentication.DefaultCertificateValidationMode)] [ServiceModelEnumValidator(typeof(X509CertificateValidationModeHelper))] public X509CertificateValidationMode CertificateValidationMode { get { return (X509CertificateValidationMode)base[ConfigurationStrings.CertificateValidationMode]; } set { base[ConfigurationStrings.CertificateValidationMode] = value; } } [ConfigurationProperty(ConfigurationStrings.RevocationMode, DefaultValue = X509ClientCertificateAuthentication.DefaultRevocationMode)] [StandardRuntimeEnumValidator(typeof(X509RevocationMode))] public X509RevocationMode RevocationMode { get { return (X509RevocationMode)base[ConfigurationStrings.RevocationMode]; } set { base[ConfigurationStrings.RevocationMode] = value; } } [ConfigurationProperty(ConfigurationStrings.TrustedStoreLocation, DefaultValue = X509ClientCertificateAuthentication.DefaultTrustedStoreLocation)] [StandardRuntimeEnumValidator(typeof(StoreLocation))] public StoreLocation TrustedStoreLocation { get { return (StoreLocation)base[ConfigurationStrings.TrustedStoreLocation]; } set { base[ConfigurationStrings.TrustedStoreLocation] = value; } } [ConfigurationProperty(ConfigurationStrings.IncludeWindowsGroups, DefaultValue = SspiSecurityTokenProvider.DefaultExtractWindowsGroupClaims)] public bool IncludeWindowsGroups { get { return (bool)base[ConfigurationStrings.IncludeWindowsGroups]; } set { base[ConfigurationStrings.IncludeWindowsGroups] = value; } } [ConfigurationProperty(ConfigurationStrings.MapClientCertificateToWindowsAccount, DefaultValue = X509ClientCertificateAuthentication.DefaultMapCertificateToWindowsAccount)] public bool MapClientCertificateToWindowsAccount { get { return (bool)base[ConfigurationStrings.MapClientCertificateToWindowsAccount]; } set { base[ConfigurationStrings.MapClientCertificateToWindowsAccount] = value; } } public void Copy(X509ClientCertificateAuthenticationElement from) { if (this.IsReadOnly()) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException(SR.GetString(SR.ConfigReadOnly))); } if (null == from) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("from"); } this.CertificateValidationMode = from.CertificateValidationMode; this.RevocationMode = from.RevocationMode; this.TrustedStoreLocation = from.TrustedStoreLocation; this.IncludeWindowsGroups = from.IncludeWindowsGroups; this.MapClientCertificateToWindowsAccount = from.MapClientCertificateToWindowsAccount; this.CustomCertificateValidatorType = from.CustomCertificateValidatorType; } internal void ApplyConfiguration(X509ClientCertificateAuthentication cert) { if (cert == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("cert"); } cert.CertificateValidationMode = this.CertificateValidationMode; cert.RevocationMode = this.RevocationMode; cert.TrustedStoreLocation = this.TrustedStoreLocation; cert.IncludeWindowsGroups = this.IncludeWindowsGroups; cert.MapClientCertificateToWindowsAccount = this.MapClientCertificateToWindowsAccount; if (!string.IsNullOrEmpty(this.CustomCertificateValidatorType)) { Type validatorType = System.Type.GetType(this.CustomCertificateValidatorType, true); if (!typeof(X509CertificateValidator).IsAssignableFrom(validatorType)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.ConfigInvalidCertificateValidatorType, this.CustomCertificateValidatorType, typeof(X509CertificateValidator).ToString()))); } cert.CustomCertificateValidator = (X509CertificateValidator)Activator.CreateInstance(validatorType); } } } } // 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
- SiteMapPath.cs
- EntityContainerRelationshipSet.cs
- Debugger.cs
- TypeToTreeConverter.cs
- HttpCacheParams.cs
- Mappings.cs
- MailDefinition.cs
- SearchExpression.cs
- SymbolMethod.cs
- SecurityElement.cs
- DecoderNLS.cs
- LicenseContext.cs
- HMACSHA1.cs
- UInt16.cs
- UnknownWrapper.cs
- MarshalByValueComponent.cs
- ClusterSafeNativeMethods.cs
- TextPenaltyModule.cs
- TriggerCollection.cs
- SelectionBorderGlyph.cs
- DrawingImage.cs
- loginstatus.cs
- UnsafeNativeMethods.cs
- TimerEventSubscriptionCollection.cs
- GenericWebPart.cs
- MyContact.cs
- ApplicationDirectory.cs
- CallTemplateAction.cs
- StylusButton.cs
- TableCellCollection.cs
- Trigger.cs
- XpsPackagingException.cs
- WinEventQueueItem.cs
- DomainUpDown.cs
- MobileCategoryAttribute.cs
- SingleAnimationUsingKeyFrames.cs
- DBDataPermissionAttribute.cs
- Point3DAnimationBase.cs
- DataSet.cs
- DtdParser.cs
- SecurityStandardsManager.cs
- wgx_render.cs
- SqlTopReducer.cs
- SystemInfo.cs
- ListControl.cs
- MetadataException.cs
- AnnotationService.cs
- ListViewUpdateEventArgs.cs
- Wrapper.cs
- ProjectedWrapper.cs
- Html32TextWriter.cs
- mediaeventargs.cs
- EmptyEnumerator.cs
- StrokeNodeOperations2.cs
- DataGridState.cs
- DemultiplexingDispatchMessageFormatter.cs
- InheritanceUI.cs
- ModelPerspective.cs
- ExtendedPropertyCollection.cs
- ExtentJoinTreeNode.cs
- LocalizedNameDescriptionPair.cs
- XmlReflectionMember.cs
- InkCanvas.cs
- SiteMapNode.cs
- GridView.cs
- ISAPIWorkerRequest.cs
- Attributes.cs
- MimePart.cs
- Compiler.cs
- Panel.cs
- Underline.cs
- ScriptControlManager.cs
- TypeName.cs
- ContentType.cs
- StringToken.cs
- ByteStorage.cs
- XmlComplianceUtil.cs
- RenderingBiasValidation.cs
- ParallelEnumerableWrapper.cs
- FormParameter.cs
- ImageKeyConverter.cs
- EmptyEnumerator.cs
- StylusTip.cs
- RangeBaseAutomationPeer.cs
- FileLogRecordHeader.cs
- SQLStringStorage.cs
- Dynamic.cs
- XmlSchemaAll.cs
- DeferredTextReference.cs
- MobileUITypeEditor.cs
- DispatchChannelSink.cs
- CodeCatchClauseCollection.cs
- XmlCharacterData.cs
- assemblycache.cs
- XmlSerializationGeneratedCode.cs
- IssuanceLicense.cs
- GeneralTransform2DTo3DTo2D.cs
- ExceptionNotification.cs
- ContextDataSourceContextData.cs
- M3DUtil.cs