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
- IdentityModelDictionary.cs
- WindowsTreeView.cs
- QilUnary.cs
- HtmlEmptyTagControlBuilder.cs
- NullToBooleanConverter.cs
- Evidence.cs
- CheckBoxField.cs
- MappingItemCollection.cs
- UserPersonalizationStateInfo.cs
- StylusShape.cs
- ExpressionEditorSheet.cs
- OletxTransactionFormatter.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- TransformDescriptor.cs
- StaticSiteMapProvider.cs
- ExclusiveCanonicalizationTransform.cs
- DataGridViewCellValueEventArgs.cs
- SQLInt64.cs
- DocComment.cs
- SqlInternalConnectionTds.cs
- cookieexception.cs
- LogPolicy.cs
- Vertex.cs
- DataControlLinkButton.cs
- SynchronizedInputAdaptor.cs
- OleDbWrapper.cs
- IconConverter.cs
- MergeFilterQuery.cs
- CompositeFontFamily.cs
- ElementProxy.cs
- DecimalFormatter.cs
- MediaTimeline.cs
- followingquery.cs
- DataViewSettingCollection.cs
- HtmlTableRowCollection.cs
- SafeNativeMethods.cs
- Color.cs
- XmlSerializationReader.cs
- ImportDesigner.xaml.cs
- PageCodeDomTreeGenerator.cs
- TextSimpleMarkerProperties.cs
- QueryContinueDragEvent.cs
- BitHelper.cs
- CharAnimationUsingKeyFrames.cs
- ThousandthOfEmRealDoubles.cs
- FormatException.cs
- SystemResources.cs
- BuildDependencySet.cs
- SessionStateItemCollection.cs
- SqlCacheDependencyDatabase.cs
- InvokeMethodActivity.cs
- WindowsMenu.cs
- XmlObjectSerializerReadContext.cs
- LinkedList.cs
- Compress.cs
- DesignerDataRelationship.cs
- GridItemPattern.cs
- MetafileHeaderWmf.cs
- Border.cs
- ExpressionEditorAttribute.cs
- MasterPageParser.cs
- UpdatePanelControlTrigger.cs
- Conditional.cs
- XmlTextWriter.cs
- BinaryCommonClasses.cs
- CodePageUtils.cs
- SevenBitStream.cs
- SqlCacheDependencyDatabaseCollection.cs
- RawStylusSystemGestureInputReport.cs
- EnumValidator.cs
- TabOrder.cs
- ClipboardProcessor.cs
- XomlSerializationHelpers.cs
- SqlTopReducer.cs
- PropertyValueChangedEvent.cs
- WebEvents.cs
- SmtpException.cs
- HtmlWindow.cs
- columnmapkeybuilder.cs
- ExceptionCollection.cs
- RoutingEndpointTrait.cs
- ViewSimplifier.cs
- FigureHelper.cs
- ResourceDescriptionAttribute.cs
- PKCS1MaskGenerationMethod.cs
- DataListItem.cs
- DataBindingHandlerAttribute.cs
- Int32CollectionValueSerializer.cs
- Convert.cs
- MruCache.cs
- URLString.cs
- lengthconverter.cs
- MachineKeyConverter.cs
- PropertyDescriptorComparer.cs
- LingerOption.cs
- DrawingGroup.cs
- ControlParameter.cs
- DataColumnChangeEvent.cs
- OleDbException.cs
- GeometryCollection.cs