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
- TextDecorationCollectionConverter.cs
- ACE.cs
- Control.cs
- UnicodeEncoding.cs
- FixedSOMImage.cs
- ProjectionRewriter.cs
- FieldToken.cs
- CanExecuteRoutedEventArgs.cs
- DataGridItemCollection.cs
- SmtpAuthenticationManager.cs
- Array.cs
- ExtractedStateEntry.cs
- _LocalDataStoreMgr.cs
- LinkLabelLinkClickedEvent.cs
- TypeUsage.cs
- KeyboardDevice.cs
- EnvironmentPermission.cs
- OleDbRowUpdatingEvent.cs
- DataControlLinkButton.cs
- NumberFunctions.cs
- MaskDesignerDialog.cs
- SerializerProvider.cs
- QueryProcessor.cs
- XmlSchema.cs
- ToolboxItemAttribute.cs
- __Error.cs
- ServicePoint.cs
- TimeSpanFormat.cs
- WebPartManager.cs
- ClientEventManager.cs
- MultiPartWriter.cs
- SqlCharStream.cs
- CodeCompileUnit.cs
- ISO2022Encoding.cs
- TempFiles.cs
- ButtonStandardAdapter.cs
- DataGridLength.cs
- XmlIlVisitor.cs
- XmlSignatureManifest.cs
- WebRequestModuleElement.cs
- ReflectionUtil.cs
- UrlMappingsSection.cs
- mediapermission.cs
- ValidateNames.cs
- DefaultParameterValueAttribute.cs
- FindCriteriaApril2005.cs
- isolationinterop.cs
- PeerName.cs
- XmlCharType.cs
- TableCell.cs
- LoginUtil.cs
- KnownColorTable.cs
- StylusEventArgs.cs
- ReachNamespaceInfo.cs
- PathSegment.cs
- ControlCollection.cs
- DeferredTextReference.cs
- ClonableStack.cs
- FontSizeConverter.cs
- ScrollPatternIdentifiers.cs
- QilExpression.cs
- WindowsGraphics.cs
- httpstaticobjectscollection.cs
- Border.cs
- ListBoxAutomationPeer.cs
- SelectionRange.cs
- WindowsListView.cs
- ContainerParaClient.cs
- TextRunProperties.cs
- TextDecoration.cs
- WebPartVerb.cs
- ProcessManager.cs
- sitestring.cs
- SemanticBasicElement.cs
- IOThreadTimer.cs
- HtmlWindow.cs
- CodeVariableDeclarationStatement.cs
- SQLByteStorage.cs
- CacheEntry.cs
- Automation.cs
- CodeSnippetCompileUnit.cs
- CmsInterop.cs
- Page.cs
- AsyncStreamReader.cs
- CachingHintValidation.cs
- XmlSchemaObjectCollection.cs
- Light.cs
- InternalConfigConfigurationFactory.cs
- SspiSafeHandles.cs
- ToolboxDataAttribute.cs
- DockAndAnchorLayout.cs
- ArrayTypeMismatchException.cs
- baseaxisquery.cs
- MimePart.cs
- FileUtil.cs
- HelpProvider.cs
- Task.cs
- DesignObjectWrapper.cs
- ToolStripSystemRenderer.cs
- HostingEnvironmentSection.cs