Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ // 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
- SmiEventSink.cs
- HebrewNumber.cs
- GrammarBuilderPhrase.cs
- ToolStripDropDownClosingEventArgs.cs
- TimelineGroup.cs
- LogArchiveSnapshot.cs
- WindowsStreamSecurityUpgradeProvider.cs
- DataTemplateSelector.cs
- QuaternionConverter.cs
- HttpCachePolicy.cs
- ApplicationFileParser.cs
- ListChangedEventArgs.cs
- RMPermissions.cs
- Triplet.cs
- DrawingContextWalker.cs
- IdentifierCollection.cs
- TypeNameConverter.cs
- ActivityCodeGenerator.cs
- OdbcPermission.cs
- ECDiffieHellmanCng.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- AccessorTable.cs
- SpanIndex.cs
- IconHelper.cs
- XPathScanner.cs
- LogicalMethodInfo.cs
- MDIControlStrip.cs
- DiagnosticTrace.cs
- Formatter.cs
- JournalEntryStack.cs
- EventLogInternal.cs
- ScrollChrome.cs
- ListControlConvertEventArgs.cs
- FamilyTypefaceCollection.cs
- EntityClientCacheEntry.cs
- XsdBuildProvider.cs
- SqlConnectionManager.cs
- NavigationService.cs
- DesignerTextWriter.cs
- EntityDataSourceContainerNameConverter.cs
- Int32Animation.cs
- DefaultTextStoreTextComposition.cs
- XmlILModule.cs
- RoutedCommand.cs
- TraceProvider.cs
- DecimalFormatter.cs
- FillBehavior.cs
- ParamArrayAttribute.cs
- Attributes.cs
- AlternationConverter.cs
- _NetRes.cs
- HMAC.cs
- WebRequestModuleElement.cs
- ExecutionContext.cs
- AudioStateChangedEventArgs.cs
- OneToOneMappingSerializer.cs
- EpmTargetTree.cs
- QilTernary.cs
- HostSecurityManager.cs
- TiffBitmapEncoder.cs
- ModelServiceImpl.cs
- ArrangedElementCollection.cs
- CodeArrayCreateExpression.cs
- ColorConvertedBitmap.cs
- IteratorDescriptor.cs
- Set.cs
- XPathNodeInfoAtom.cs
- OutputCacheSettingsSection.cs
- SecureUICommand.cs
- XpsImage.cs
- ToolZone.cs
- PhoneCall.cs
- BStrWrapper.cs
- LayoutSettings.cs
- Typography.cs
- TimerEventSubscriptionCollection.cs
- ExpressionBindings.cs
- BeginStoryboard.cs
- LayoutSettings.cs
- PropertyTab.cs
- CodeComment.cs
- CanExpandCollapseAllConverter.cs
- GlyphElement.cs
- RegisteredScript.cs
- IndicShape.cs
- SchemaNamespaceManager.cs
- CheckBoxStandardAdapter.cs
- DesignTimeParseData.cs
- TemplateNodeContextMenu.cs
- HtmlSelect.cs
- EditorAttribute.cs
- COM2PropertyBuilderUITypeEditor.cs
- KeyTimeConverter.cs
- OrCondition.cs
- PipelineComponent.cs
- WindowsToolbar.cs
- X509RawDataKeyIdentifierClause.cs
- DataGridViewComboBoxColumn.cs
- OdbcRowUpdatingEvent.cs
- DefaultSettingsSection.cs