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
- Inline.cs
- PenThreadPool.cs
- RadioButtonList.cs
- DataGridViewButtonCell.cs
- MatrixAnimationUsingPath.cs
- FocusChangedEventArgs.cs
- OracleBFile.cs
- TextEndOfSegment.cs
- ColorPalette.cs
- SoapParser.cs
- SqlDependencyListener.cs
- CodeAssignStatement.cs
- TextEditorDragDrop.cs
- ManagementBaseObject.cs
- XPathMessageFilterElement.cs
- BitConverter.cs
- InvariantComparer.cs
- ConfigXmlSignificantWhitespace.cs
- CroppedBitmap.cs
- GridViewDesigner.cs
- ToolStripMenuItemCodeDomSerializer.cs
- EntityDataSourceEntitySetNameItem.cs
- NavigationFailedEventArgs.cs
- MemberListBinding.cs
- DefaultTextStoreTextComposition.cs
- Hex.cs
- ByValueEqualityComparer.cs
- MediaSystem.cs
- UrlAuthorizationModule.cs
- MobileUITypeEditor.cs
- XmlSchemaSimpleTypeList.cs
- ChannelTokenTypeConverter.cs
- ChannelHandler.cs
- ObjectListDesigner.cs
- ResourceReferenceExpressionConverter.cs
- InternalCache.cs
- base64Transforms.cs
- BrowserCapabilitiesCodeGenerator.cs
- DbParameterCollectionHelper.cs
- ListManagerBindingsCollection.cs
- FrameworkName.cs
- LiteralLink.cs
- DataGridViewImageCell.cs
- PartialCachingControl.cs
- CopyAction.cs
- QuaternionAnimation.cs
- TransactionBridge.cs
- HttpPostLocalhostServerProtocol.cs
- PageCodeDomTreeGenerator.cs
- SelectiveScrollingGrid.cs
- DesignerHost.cs
- assemblycache.cs
- AuthenticateEventArgs.cs
- SimpleRecyclingCache.cs
- TypeLibraryHelper.cs
- ContextMenu.cs
- UnicastIPAddressInformationCollection.cs
- ListArgumentProvider.cs
- InputGestureCollection.cs
- ActivityDesignerLayoutSerializers.cs
- XmlNode.cs
- ExtendedPropertyInfo.cs
- FileNotFoundException.cs
- StylusPointCollection.cs
- WebPartCatalogCloseVerb.cs
- EntityStoreSchemaFilterEntry.cs
- Literal.cs
- AuthenticationService.cs
- AppDomain.cs
- ConnectionStringEditor.cs
- CacheMode.cs
- XmlSchemaInfo.cs
- XamlParser.cs
- FixedElement.cs
- RegexNode.cs
- XmlTextReaderImpl.cs
- SqlInfoMessageEvent.cs
- GreenMethods.cs
- StreamWithDictionary.cs
- COM2ExtendedTypeConverter.cs
- RealizationContext.cs
- HttpListenerRequest.cs
- SoapExtensionTypeElement.cs
- RegexGroup.cs
- EdmComplexTypeAttribute.cs
- ResourcesBuildProvider.cs
- OperationExecutionFault.cs
- TextDecorations.cs
- CollectionTypeElement.cs
- LinqDataSourceDisposeEventArgs.cs
- AppDomainFactory.cs
- PreviewKeyDownEventArgs.cs
- Crc32.cs
- WebServiceClientProxyGenerator.cs
- ConnectionPointCookie.cs
- FontConverter.cs
- UnsafeNativeMethods.cs
- OutputCache.cs
- HttpCapabilitiesEvaluator.cs
- Monitor.cs