Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Configuration / IssuedTokenServiceElement.cs / 1 / IssuedTokenServiceElement.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Configuration { using System; using System.Configuration; using System.IdentityModel.Selectors; using System.IdentityModel.Tokens; using System.Security.Cryptography.X509Certificates; using System.ServiceModel; using System.ServiceModel.Security; using System.Xml; public sealed partial class IssuedTokenServiceElement : ConfigurationElement { public IssuedTokenServiceElement() { } [ConfigurationProperty(ConfigurationStrings.AllowedAudienceUris)] public AllowedAudienceUriElementCollection AllowedAudienceUris { get { return (AllowedAudienceUriElementCollection)base[ConfigurationStrings.AllowedAudienceUris]; } } [ConfigurationProperty(ConfigurationStrings.AudienceUriMode, DefaultValue = IssuedTokenServiceCredential.DefaultAudienceUriMode)] [ServiceModelEnumValidator(typeof(AudienceUriModeValidationHelper))] public AudienceUriMode AudienceUriMode { get { return (AudienceUriMode)base[ConfigurationStrings.AudienceUriMode]; } set { base[ConfigurationStrings.AudienceUriMode] = value; } } [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 = IssuedTokenServiceCredential.DefaultCertificateValidationMode)] [ServiceModelEnumValidator(typeof(X509CertificateValidationModeHelper))] public X509CertificateValidationMode CertificateValidationMode { get { return (X509CertificateValidationMode)base[ConfigurationStrings.CertificateValidationMode]; } set { base[ConfigurationStrings.CertificateValidationMode] = value; } } [ConfigurationProperty(ConfigurationStrings.RevocationMode, DefaultValue = IssuedTokenServiceCredential.DefaultRevocationMode)] [StandardRuntimeEnumValidator(typeof(X509RevocationMode))] public X509RevocationMode RevocationMode { get { return (X509RevocationMode)base[ConfigurationStrings.RevocationMode]; } set { base[ConfigurationStrings.RevocationMode] = value; } } [ConfigurationProperty(ConfigurationStrings.TrustedStoreLocation, DefaultValue = IssuedTokenServiceCredential.DefaultTrustedStoreLocation)] [StandardRuntimeEnumValidator(typeof(StoreLocation))] public StoreLocation TrustedStoreLocation { get { return (StoreLocation)base[ConfigurationStrings.TrustedStoreLocation]; } set { base[ConfigurationStrings.TrustedStoreLocation] = value; } } [ConfigurationProperty(ConfigurationStrings.SamlSerializerType, DefaultValue = "")] [StringValidator(MinLength = 0)] public string SamlSerializerType { get { return (string)base[ConfigurationStrings.SamlSerializerType]; } set { if (String.IsNullOrEmpty(value)) { value = String.Empty; } base[ConfigurationStrings.SamlSerializerType] = value; } } [ConfigurationProperty(ConfigurationStrings.KnownCertificates)] public X509CertificateTrustedIssuerElementCollection KnownCertificates { get { return (X509CertificateTrustedIssuerElementCollection)base[ConfigurationStrings.KnownCertificates]; } } [ConfigurationProperty(ConfigurationStrings.AllowUntrustedRsaIssuers, DefaultValue = IssuedTokenServiceCredential.DefaultAllowUntrustedRsaIssuers)] public bool AllowUntrustedRsaIssuers { get { return (bool)base[ConfigurationStrings.AllowUntrustedRsaIssuers]; } set { base[ConfigurationStrings.AllowUntrustedRsaIssuers] = value; } } public void Copy(IssuedTokenServiceElement from) { if (this.IsReadOnly()) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException(SR.GetString(SR.ConfigReadOnly))); } if (null == from) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("from"); } this.SamlSerializerType = from.SamlSerializerType; #pragma warning suppress 56506 // [....]; ElementInformation is never null. PropertyInformationCollection propertyInfo = from.ElementInformation.Properties; if (propertyInfo[ConfigurationStrings.KnownCertificates].ValueOrigin != PropertyValueOrigin.Default) { this.KnownCertificates.Clear(); foreach (X509CertificateTrustedIssuerElement src in from.KnownCertificates) { X509CertificateTrustedIssuerElement copy = new X509CertificateTrustedIssuerElement(); copy.Copy(src); this.KnownCertificates.Add(copy); } } if (propertyInfo[ConfigurationStrings.AllowedAudienceUris].ValueOrigin != PropertyValueOrigin.Default) { this.AllowedAudienceUris.Clear(); foreach (AllowedAudienceUriElement src in from.AllowedAudienceUris) { AllowedAudienceUriElement copy = new AllowedAudienceUriElement(); copy.AllowedAudienceUri = src.AllowedAudienceUri; this.AllowedAudienceUris.Add(copy); } } this.AllowUntrustedRsaIssuers = from.AllowUntrustedRsaIssuers; this.CertificateValidationMode = from.CertificateValidationMode; this.AudienceUriMode = from.AudienceUriMode; this.CustomCertificateValidatorType = from.CustomCertificateValidatorType; this.RevocationMode = from.RevocationMode; this.TrustedStoreLocation = from.TrustedStoreLocation; } internal void ApplyConfiguration(IssuedTokenServiceCredential issuedToken) { if (issuedToken == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("issuedToken"); } issuedToken.CertificateValidationMode = this.CertificateValidationMode; issuedToken.RevocationMode = this.RevocationMode; issuedToken.TrustedStoreLocation = this.TrustedStoreLocation; issuedToken.AudienceUriMode = this.AudienceUriMode; if (!string.IsNullOrEmpty(this.CustomCertificateValidatorType)) { Type type = System.Type.GetType(this.CustomCertificateValidatorType, true); if (!typeof(X509CertificateValidator).IsAssignableFrom(type)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.ConfigInvalidCertificateValidatorType, this.CustomCertificateValidatorType, typeof(X509CertificateValidator).ToString()))); } issuedToken.CustomCertificateValidator = (X509CertificateValidator)Activator.CreateInstance(type); } if (!string.IsNullOrEmpty(this.SamlSerializerType)) { Type type = System.Type.GetType(this.SamlSerializerType, true); if (!typeof(SamlSerializer).IsAssignableFrom(type)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ConfigurationErrorsException( SR.GetString(SR.ConfigInvalidSamlSerializerType, this.SamlSerializerType, typeof(SamlSerializer).ToString()))); } issuedToken.SamlSerializer = (SamlSerializer)Activator.CreateInstance(type); } PropertyInformationCollection propertyInfo = this.ElementInformation.Properties; if (propertyInfo[ConfigurationStrings.KnownCertificates].ValueOrigin != PropertyValueOrigin.Default) { foreach (X509CertificateTrustedIssuerElement src in this.KnownCertificates) { issuedToken.KnownCertificates.Add(SecurityUtils.GetCertificateFromStore(src.StoreName, src.StoreLocation, src.X509FindType, src.FindValue, null)); } } if (propertyInfo[ConfigurationStrings.AllowedAudienceUris].ValueOrigin != PropertyValueOrigin.Default) { foreach (AllowedAudienceUriElement src in this.AllowedAudienceUris) { issuedToken.AllowedAudienceUris.Add(src.AllowedAudienceUri); } } issuedToken.AllowUntrustedRsaIssuers = this.AllowUntrustedRsaIssuers; } } } // 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
- XmlILOptimizerVisitor.cs
- X509Utils.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- DropDownButton.cs
- XmlTypeMapping.cs
- OneToOneMappingSerializer.cs
- DependencyPropertyValueSerializer.cs
- SchemaInfo.cs
- SynchronizedDispatch.cs
- SynchronizationValidator.cs
- InfoCardKeyedHashAlgorithm.cs
- WindowsListView.cs
- TrackingServices.cs
- NameTable.cs
- MessagingActivityHelper.cs
- SpAudioStreamWrapper.cs
- TabControlAutomationPeer.cs
- Set.cs
- AppModelKnownContentFactory.cs
- DependencyPropertyAttribute.cs
- CellCreator.cs
- DataError.cs
- ClientTargetSection.cs
- PerfCounterSection.cs
- ChildTable.cs
- Knowncolors.cs
- DependencyObject.cs
- SQlBooleanStorage.cs
- NumericPagerField.cs
- NumericExpr.cs
- DataControlFieldCell.cs
- ListViewDeleteEventArgs.cs
- TokenizerHelper.cs
- LinqDataSourceHelper.cs
- SafeFileMappingHandle.cs
- ConstrainedDataObject.cs
- SecurityKeyIdentifier.cs
- XmlSchema.cs
- StyleSheetRefUrlEditor.cs
- ReflectionTypeLoadException.cs
- WriteableOnDemandPackagePart.cs
- NullReferenceException.cs
- FileLogRecordHeader.cs
- TargetConverter.cs
- MediaContextNotificationWindow.cs
- MouseGestureConverter.cs
- CodeTryCatchFinallyStatement.cs
- WebEventTraceProvider.cs
- FillErrorEventArgs.cs
- EnumMember.cs
- FlowDocumentPaginator.cs
- WebPartEditorOkVerb.cs
- StoreContentChangedEventArgs.cs
- Storyboard.cs
- SettingsPropertyNotFoundException.cs
- QuaternionRotation3D.cs
- XmlHierarchicalDataSourceView.cs
- ModelPropertyCollectionImpl.cs
- SchemaImporter.cs
- PropertyChangingEventArgs.cs
- DataRowComparer.cs
- TransformDescriptor.cs
- ComboBox.cs
- IdentifierCollection.cs
- COM2EnumConverter.cs
- TextParagraph.cs
- SqlInternalConnectionSmi.cs
- login.cs
- InputLangChangeRequestEvent.cs
- CreateUserWizardStep.cs
- MatrixAnimationUsingKeyFrames.cs
- VectorAnimation.cs
- DateTimeConverter2.cs
- HtmlTableCellCollection.cs
- Nullable.cs
- BinaryObjectReader.cs
- Bitmap.cs
- HostingEnvironment.cs
- MatchingStyle.cs
- WebPartEditorCancelVerb.cs
- PenContext.cs
- ProfileProvider.cs
- ProjectionCamera.cs
- XsltFunctions.cs
- ConfigurationManagerInternalFactory.cs
- ImageButton.cs
- WsatEtwTraceListener.cs
- TableCellAutomationPeer.cs
- ProgressChangedEventArgs.cs
- TableRowCollection.cs
- DiagnosticSection.cs
- DataGridDetailsPresenterAutomationPeer.cs
- Matrix3D.cs
- UIntPtr.cs
- WebConvert.cs
- XmlSchemaSequence.cs
- WebPartZone.cs
- InvokePattern.cs
- Variable.cs
- CommonObjectSecurity.cs