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
- DataTableReader.cs
- ItemContainerGenerator.cs
- TableParagraph.cs
- Enum.cs
- CrossSiteScriptingValidation.cs
- TypedDataSourceCodeGenerator.cs
- RequestCachePolicy.cs
- SmtpFailedRecipientsException.cs
- DictionaryItemsCollection.cs
- UInt32Storage.cs
- PointAnimationClockResource.cs
- AdCreatedEventArgs.cs
- UIElement.cs
- CodeDomLoader.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- WindowsTab.cs
- MailDefinition.cs
- DataRow.cs
- SearchExpression.cs
- EqualityComparer.cs
- CollectionDataContractAttribute.cs
- Scanner.cs
- CodeParameterDeclarationExpressionCollection.cs
- ModelItemDictionaryImpl.cs
- Transform3DGroup.cs
- mactripleDES.cs
- DesignTimeVisibleAttribute.cs
- Part.cs
- InlineUIContainer.cs
- ComponentDispatcherThread.cs
- WithStatement.cs
- RemoteWebConfigurationHostStream.cs
- XmlSchemaProviderAttribute.cs
- _DigestClient.cs
- SimpleWebHandlerParser.cs
- cookie.cs
- SuppressIldasmAttribute.cs
- InstanceContext.cs
- PauseStoryboard.cs
- ElementAction.cs
- TextViewSelectionProcessor.cs
- TypeFieldSchema.cs
- ActivityTypeDesigner.xaml.cs
- XmlDownloadManager.cs
- CompositeKey.cs
- EntityKeyElement.cs
- ParenthesizePropertyNameAttribute.cs
- HtmlInputImage.cs
- EventLogInformation.cs
- WindowsStartMenu.cs
- XPathArrayIterator.cs
- CreateParams.cs
- XmlQualifiedNameTest.cs
- FormsAuthenticationModule.cs
- ParameterElementCollection.cs
- TypeNameConverter.cs
- ConstraintEnumerator.cs
- StrokeIntersection.cs
- HttpBufferlessInputStream.cs
- PolicyImporterElementCollection.cs
- BreadCrumbTextConverter.cs
- InternalMappingException.cs
- CommandHelpers.cs
- ProfileSettingsCollection.cs
- SelectionPattern.cs
- ListViewInsertedEventArgs.cs
- TraceContextEventArgs.cs
- ProtocolElementCollection.cs
- ReferenceCountedObject.cs
- Int16KeyFrameCollection.cs
- ObjectSecurity.cs
- XmlTextReaderImpl.cs
- ControlDesigner.cs
- WebPartEditVerb.cs
- HostnameComparisonMode.cs
- SrgsElementList.cs
- ListItemCollection.cs
- TabControlToolboxItem.cs
- UInt16.cs
- BitmapFrame.cs
- ClientFormsIdentity.cs
- TimeSpanConverter.cs
- AttachedAnnotationChangedEventArgs.cs
- HtmlInputPassword.cs
- BuildProviderCollection.cs
- HtmlTitle.cs
- ParameterModifier.cs
- CompilerTypeWithParams.cs
- Converter.cs
- ConfigurationLocation.cs
- LocalizedNameDescriptionPair.cs
- TableItemProviderWrapper.cs
- TrailingSpaceComparer.cs
- TransformCollection.cs
- TypeUnloadedException.cs
- DataRecord.cs
- ObjectSet.cs
- SafeNativeMethods.cs
- InvalidateEvent.cs