Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Security / X509CertificateRecipientClientCredential.cs / 1 / X509CertificateRecipientClientCredential.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Security { using System.Collections.Generic; using System.ServiceModel; using System.IdentityModel.Selectors; using System.Runtime.Serialization; using System.Net; using System.Security.Principal; using System.ServiceModel.Security.Tokens; using System.Security.Cryptography.X509Certificates; using System.Web.Security; public sealed class X509CertificateRecipientClientCredential { X509ServiceCertificateAuthentication authentication; internal const StoreLocation DefaultStoreLocation = StoreLocation.CurrentUser; internal const StoreName DefaultStoreName = StoreName.My; internal const X509FindType DefaultFindType = X509FindType.FindBySubjectDistinguishedName; X509Certificate2 defaultCertificate; DictionaryscopedCertificates; bool isReadOnly; internal X509CertificateRecipientClientCredential() { this.authentication = new X509ServiceCertificateAuthentication(); this.scopedCertificates = new Dictionary (); } internal X509CertificateRecipientClientCredential(X509CertificateRecipientClientCredential other) { this.authentication = new X509ServiceCertificateAuthentication(other.authentication); this.defaultCertificate = other.defaultCertificate; this.scopedCertificates = new Dictionary (); foreach (Uri uri in other.ScopedCertificates.Keys) { this.scopedCertificates.Add(uri, other.ScopedCertificates[uri]); } this.isReadOnly = other.isReadOnly; } public X509Certificate2 DefaultCertificate { get { return this.defaultCertificate; } set { ThrowIfImmutable(); this.defaultCertificate = value; } } public Dictionary ScopedCertificates { get { return this.scopedCertificates; } } public X509ServiceCertificateAuthentication Authentication { get { return this.authentication; } } public void SetDefaultCertificate(string subjectName, StoreLocation storeLocation, StoreName storeName) { if (subjectName == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("subjectName"); } SetDefaultCertificate(storeLocation, storeName, DefaultFindType, subjectName); } public void SetDefaultCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, object findValue) { if (findValue == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("findValue"); } ThrowIfImmutable(); this.defaultCertificate = SecurityUtils.GetCertificateFromStore(storeName, storeLocation, findType, findValue, null); } public void SetScopedCertificate(string subjectName, StoreLocation storeLocation, StoreName storeName, Uri targetService) { if (subjectName == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("subjectName"); } SetScopedCertificate(DefaultStoreLocation, DefaultStoreName, DefaultFindType, subjectName, targetService); } public void SetScopedCertificate(StoreLocation storeLocation, StoreName storeName, X509FindType findType, object findValue, Uri targetService) { if (findValue == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("findValue"); } if (targetService == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("targetService"); } ThrowIfImmutable(); X509Certificate2 certificate = SecurityUtils.GetCertificateFromStore(storeName, storeLocation, findType, findValue, null); ScopedCertificates[targetService] = certificate; } internal void MakeReadOnly() { this.isReadOnly = true; this.Authentication.MakeReadOnly(); } void ThrowIfImmutable() { if (this.isReadOnly) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); } } } } // 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
- DiagnosticTraceSchemas.cs
- Message.cs
- XmlSchema.cs
- WindowsTokenRoleProvider.cs
- PageParserFilter.cs
- SerialStream.cs
- TdsEnums.cs
- FunctionGenerator.cs
- BulletChrome.cs
- ToolStripDropDownButton.cs
- Bidi.cs
- SocketElement.cs
- ControlAdapter.cs
- BinaryVersion.cs
- RoutedEvent.cs
- XmlLanguage.cs
- StreamWriter.cs
- WorkingDirectoryEditor.cs
- WebPartConnectionsDisconnectVerb.cs
- ServiceMemoryGates.cs
- PopupEventArgs.cs
- EncoderReplacementFallback.cs
- DependencyPropertyValueSerializer.cs
- QuaternionValueSerializer.cs
- XPathAxisIterator.cs
- CodeNamespace.cs
- SettingsBindableAttribute.cs
- TrackingAnnotationCollection.cs
- UdpDiscoveryMessageFilter.cs
- GifBitmapEncoder.cs
- Timer.cs
- WebPartTransformer.cs
- WebPartTransformerAttribute.cs
- _ListenerAsyncResult.cs
- Authorization.cs
- glyphs.cs
- HttpResponseHeader.cs
- UrlMappingCollection.cs
- StackSpiller.Generated.cs
- Model3DCollection.cs
- PropertyGrid.cs
- RegistryPermission.cs
- TabletCollection.cs
- PropertyOverridesDialog.cs
- TextTreeExtractElementUndoUnit.cs
- TemplatedAdorner.cs
- PropertyTabAttribute.cs
- SessionEndedEventArgs.cs
- TreeNodeCollection.cs
- WebBrowser.cs
- ConfigurationConverterBase.cs
- XmlILTrace.cs
- RelationshipSet.cs
- RegularExpressionValidator.cs
- DBSqlParserColumnCollection.cs
- HighlightComponent.cs
- PrimitiveXmlSerializers.cs
- BoundConstants.cs
- AssemblyAssociatedContentFileAttribute.cs
- TemplatePartAttribute.cs
- HtmlWindow.cs
- HitTestDrawingContextWalker.cs
- RSACryptoServiceProvider.cs
- ConfigWriter.cs
- SelectionManager.cs
- Geometry.cs
- ContentFileHelper.cs
- IndentedWriter.cs
- SmtpNtlmAuthenticationModule.cs
- TimeIntervalCollection.cs
- SystemTcpConnection.cs
- StdRegProviderWrapper.cs
- ComponentResourceManager.cs
- MonthCalendar.cs
- ResourcesBuildProvider.cs
- COM2IPerPropertyBrowsingHandler.cs
- InitializationEventAttribute.cs
- FileEnumerator.cs
- TreeViewCancelEvent.cs
- DrawingAttributes.cs
- BeginStoryboard.cs
- XD.cs
- CompModSwitches.cs
- ContextMenuAutomationPeer.cs
- oledbmetadatacolumnnames.cs
- SolidColorBrush.cs
- ValidatorCollection.cs
- MatrixTransform.cs
- OciLobLocator.cs
- CorruptingExceptionCommon.cs
- CorruptingExceptionCommon.cs
- PanelDesigner.cs
- EventHandlersStore.cs
- CodeArrayIndexerExpression.cs
- SHA256.cs
- InternalConfigHost.cs
- EpmSourcePathSegment.cs
- ClosureBinding.cs
- SubMenuStyle.cs
- HtmlInputCheckBox.cs