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
- PhonemeEventArgs.cs
- QilIterator.cs
- ChtmlCommandAdapter.cs
- cookieexception.cs
- FormViewPagerRow.cs
- WebBrowserNavigatingEventHandler.cs
- EntityProxyTypeInfo.cs
- SmtpReplyReader.cs
- Math.cs
- FixedSOMTableCell.cs
- ButtonPopupAdapter.cs
- MailDefinitionBodyFileNameEditor.cs
- BaseValidatorDesigner.cs
- EntitySqlQueryCacheKey.cs
- DbConnectionOptions.cs
- Pkcs9Attribute.cs
- DateTimePicker.cs
- SmiEventSink.cs
- MethodInfo.cs
- DummyDataSource.cs
- ServerValidateEventArgs.cs
- ManagedFilter.cs
- RoleManagerEventArgs.cs
- XomlCompilerResults.cs
- XmlQueryContext.cs
- ArrayItemValue.cs
- AttributeCollection.cs
- HtmlInputControl.cs
- RSACryptoServiceProvider.cs
- NodeFunctions.cs
- DriveNotFoundException.cs
- ETagAttribute.cs
- DBConcurrencyException.cs
- DataPagerCommandEventArgs.cs
- DigestTraceRecordHelper.cs
- TreeViewEvent.cs
- InvokePattern.cs
- RoutedCommand.cs
- GridViewColumnHeaderAutomationPeer.cs
- SafeIUnknown.cs
- HighlightVisual.cs
- BitmapSizeOptions.cs
- CdpEqualityComparer.cs
- DataGridViewCellStyle.cs
- CodeGenerator.cs
- InternalTypeHelper.cs
- StylusButtonCollection.cs
- ExtensionCollection.cs
- XComponentModel.cs
- httpserverutility.cs
- RoutedEventArgs.cs
- ConfigUtil.cs
- OleDbException.cs
- VisualStyleElement.cs
- BasicViewGenerator.cs
- OdbcUtils.cs
- Compiler.cs
- IsolatedStorage.cs
- HtmlTextBoxAdapter.cs
- VirtualPathProvider.cs
- ComboBoxRenderer.cs
- Pair.cs
- DateTimeSerializationSection.cs
- VirtualDirectoryMapping.cs
- Pair.cs
- DelayedRegex.cs
- WindowsListViewSubItem.cs
- Type.cs
- TTSEngineTypes.cs
- DataColumnMappingCollection.cs
- MsmqTransportBindingElement.cs
- UnsafeNativeMethods.cs
- ModelPropertyDescriptor.cs
- BitmapScalingModeValidation.cs
- CodeIdentifiers.cs
- XmlConvert.cs
- UnsafeNetInfoNativeMethods.cs
- BevelBitmapEffect.cs
- DataGridLength.cs
- XmlDataImplementation.cs
- TextSelection.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- LicenseException.cs
- ConfigDefinitionUpdates.cs
- QualificationDataItem.cs
- Vector3DCollectionValueSerializer.cs
- SystemPens.cs
- XPathNavigatorReader.cs
- HtmlInputImage.cs
- Section.cs
- QueryCreatedEventArgs.cs
- FastPropertyAccessor.cs
- RegexTree.cs
- AsyncContentLoadedEventArgs.cs
- TreePrinter.cs
- WindowsFont.cs
- FieldTemplateUserControl.cs
- InvokeWebServiceDesigner.cs
- SafeReversePInvokeHandle.cs
- ElementProxy.cs