Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Selectors / X509SecurityTokenProvider.cs / 1305376 / X509SecurityTokenProvider.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.IdentityModel.Selectors { using System.IdentityModel.Tokens; using System.Security.Cryptography.X509Certificates; public class X509SecurityTokenProvider : SecurityTokenProvider, IDisposable { X509Certificate2 certificate; public X509SecurityTokenProvider(X509Certificate2 certificate) { if (certificate == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("certificate"); } this.certificate = new X509Certificate2(certificate); } public X509SecurityTokenProvider(StoreLocation storeLocation, StoreName storeName, X509FindType findType, object findValue) { if (findValue == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("findValue"); } X509CertificateStore store = new X509CertificateStore(storeName, storeLocation); X509Certificate2Collection certificates = null; try { store.Open(OpenFlags.ReadOnly); certificates = store.Find(findType, findValue, false); if (certificates.Count < 1) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityTokenException(SR.GetString(SR.CannotFindCert, storeName, storeLocation, findType, findValue))); } if (certificates.Count > 1) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new SecurityTokenException(SR.GetString(SR.FoundMultipleCerts, storeName, storeLocation, findType, findValue))); } this.certificate = new X509Certificate2(certificates[0]); } finally { SecurityUtils.ResetAllCertificates(certificates); store.Close(); } } public X509Certificate2 Certificate { get { return this.certificate; } } protected override SecurityToken GetTokenCore(TimeSpan timeout) { return new X509SecurityToken(this.certificate); } public void Dispose() { this.certificate.Reset(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MexServiceChannelBuilder.cs
- WebPartTransformer.cs
- SafeLibraryHandle.cs
- SoapExtensionReflector.cs
- XmlHierarchicalDataSourceView.cs
- NonDualMessageSecurityOverHttp.cs
- ScriptingWebServicesSectionGroup.cs
- SqlVisitor.cs
- ZipIOModeEnforcingStream.cs
- WindowInteropHelper.cs
- Int32Storage.cs
- ProxyFragment.cs
- AnnotationService.cs
- EventSinkActivityDesigner.cs
- FormatSelectingMessageInspector.cs
- CompositeControl.cs
- ThicknessAnimationUsingKeyFrames.cs
- TraceContextEventArgs.cs
- DigestComparer.cs
- CodeRemoveEventStatement.cs
- DataGridRelationshipRow.cs
- RouteValueDictionary.cs
- TransportSecurityBindingElement.cs
- TriState.cs
- AssemblyName.cs
- HexParser.cs
- _NestedSingleAsyncResult.cs
- SamlSecurityTokenAuthenticator.cs
- UserPreference.cs
- Baml2006SchemaContext.cs
- IPipelineRuntime.cs
- SourceFileBuildProvider.cs
- SqlRemoveConstantOrderBy.cs
- KeyInfo.cs
- LabelTarget.cs
- WorkflowMarkupElementEventArgs.cs
- OrderByBuilder.cs
- GuidTagList.cs
- LocalizableAttribute.cs
- SqlXml.cs
- Screen.cs
- PageContentAsyncResult.cs
- DiscoveryReferences.cs
- Item.cs
- NameValueConfigurationCollection.cs
- XmlSchemaAny.cs
- StringPropertyBuilder.cs
- DataBinding.cs
- ProcessHostConfigUtils.cs
- EntityDataSourceDataSelectionPanel.cs
- AssemblyInfo.cs
- SchemaMerger.cs
- TextTreeRootTextBlock.cs
- VSWCFServiceContractGenerator.cs
- StylusPointProperty.cs
- SimpleHandlerFactory.cs
- XPathQilFactory.cs
- CellIdBoolean.cs
- QualifiedCellIdBoolean.cs
- SchemaCollectionPreprocessor.cs
- TabControlCancelEvent.cs
- DeferredReference.cs
- OrderByLifter.cs
- WebPartsSection.cs
- EventHandlers.cs
- FontStyleConverter.cs
- ListViewSortEventArgs.cs
- ScrollBar.cs
- ProfileProvider.cs
- HtmlAnchor.cs
- PointAnimation.cs
- EndpointIdentityExtension.cs
- Path.cs
- TransformProviderWrapper.cs
- FormatterConverter.cs
- ArgumentsParser.cs
- CompilationAssemblyInstallComponent.cs
- FileInfo.cs
- PKCS1MaskGenerationMethod.cs
- LightweightCodeGenerator.cs
- ClassHandlersStore.cs
- ScrollBarRenderer.cs
- EarlyBoundInfo.cs
- DateTimePicker.cs
- oledbconnectionstring.cs
- CustomErrorCollection.cs
- QueryContinueDragEventArgs.cs
- ScriptingRoleServiceSection.cs
- TemplatedEditableDesignerRegion.cs
- OptionalMessageQuery.cs
- CacheChildrenQuery.cs
- FileLogRecordEnumerator.cs
- ChtmlLinkAdapter.cs
- URIFormatException.cs
- CustomWebEventKey.cs
- NotSupportedException.cs
- ByteFacetDescriptionElement.cs
- DataGridViewControlCollection.cs
- ProtectedConfiguration.cs
- CharacterString.cs