Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / Selectors / X509SecurityTokenProvider.cs / 1 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ViewGenerator.cs
- TrayIconDesigner.cs
- PixelShader.cs
- AnimationStorage.cs
- Rule.cs
- AutoResetEvent.cs
- AssemblyCache.cs
- WindowShowOrOpenTracker.cs
- StringSource.cs
- Size.cs
- TextSegment.cs
- UniqueIdentifierService.cs
- PageThemeCodeDomTreeGenerator.cs
- CircleEase.cs
- SequenceDesigner.cs
- EventManager.cs
- WebPartChrome.cs
- XmlDocumentViewSchema.cs
- XmlSchemaProviderAttribute.cs
- IncrementalReadDecoders.cs
- TreeViewEvent.cs
- SchemaNotation.cs
- XmlQueryCardinality.cs
- EntityDataSourceSelectingEventArgs.cs
- AgileSafeNativeMemoryHandle.cs
- GridSplitter.cs
- BinaryHeap.cs
- RepeatButtonAutomationPeer.cs
- StaticResourceExtension.cs
- SoapHeaderAttribute.cs
- PaintEvent.cs
- Events.cs
- ArrayWithOffset.cs
- MetabaseServerConfig.cs
- GridEntry.cs
- Convert.cs
- ProcessHostFactoryHelper.cs
- Label.cs
- Rotation3DAnimation.cs
- XamlSerializerUtil.cs
- ProjectionCamera.cs
- ObjectListCommandEventArgs.cs
- ExtensibleClassFactory.cs
- FileUpload.cs
- BoundPropertyEntry.cs
- Slider.cs
- VisualStyleElement.cs
- ChangePasswordDesigner.cs
- AlgoModule.cs
- ViewGenerator.cs
- ComboBox.cs
- printdlgexmarshaler.cs
- ValidatingReaderNodeData.cs
- messageonlyhwndwrapper.cs
- NewItemsContextMenuStrip.cs
- KeyFrames.cs
- RoutedEventArgs.cs
- SmtpReplyReaderFactory.cs
- PackWebResponse.cs
- MatrixTransform.cs
- wgx_render.cs
- UnknownBitmapEncoder.cs
- FacetDescriptionElement.cs
- DbXmlEnabledProviderManifest.cs
- PageAction.cs
- MultipleFilterMatchesException.cs
- SqlRemoveConstantOrderBy.cs
- AutoResetEvent.cs
- CFGGrammar.cs
- TimelineGroup.cs
- EncoderFallback.cs
- DesignTimeHTMLTextWriter.cs
- Encoder.cs
- HttpConfigurationSystem.cs
- ModuleConfigurationInfo.cs
- RequestDescription.cs
- FixedPageProcessor.cs
- ApplicationManager.cs
- PictureBox.cs
- DetailsViewInsertEventArgs.cs
- AsyncSerializedWorker.cs
- storepermissionattribute.cs
- TextServicesContext.cs
- DataColumnMappingCollection.cs
- SqlDataSourceStatusEventArgs.cs
- ColorBlend.cs
- ReaderContextStackData.cs
- RightsManagementEncryptionTransform.cs
- RecommendedAsConfigurableAttribute.cs
- UTF32Encoding.cs
- ArglessEventHandlerProxy.cs
- KeyProperty.cs
- ProviderConnectionPoint.cs
- OutputCacheSettingsSection.cs
- SqlDuplicator.cs
- EmbeddedMailObject.cs
- ControlSerializer.cs
- SendKeys.cs
- OpenFileDialog.cs
- SaveFileDialog.cs