Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlNavigatorStack.cs
- Context.cs
- IdnElement.cs
- DeclarativeCatalogPart.cs
- GeometryGroup.cs
- TransformationRules.cs
- ObjectSet.cs
- DBDataPermissionAttribute.cs
- X509Chain.cs
- Accessible.cs
- PowerModeChangedEventArgs.cs
- ToolStripItemRenderEventArgs.cs
- KeyedQueue.cs
- FileUpload.cs
- DefaultTextStore.cs
- UniqueConstraint.cs
- GenericWebPart.cs
- WriteFileContext.cs
- CanonicalFontFamilyReference.cs
- NewArray.cs
- DataProtectionSecurityStateEncoder.cs
- Set.cs
- TrustManagerPromptUI.cs
- ConnectionStringSettingsCollection.cs
- Visual3D.cs
- CustomAttributeFormatException.cs
- AppDomainManager.cs
- TextTreePropertyUndoUnit.cs
- HttpCacheVaryByContentEncodings.cs
- XamlHttpHandlerFactory.cs
- SystemResourceHost.cs
- BrowserPolicyValidator.cs
- TypeCacheManager.cs
- MemoryFailPoint.cs
- HtmlGenericControl.cs
- WindowsFormsLinkLabel.cs
- PropertyFilterAttribute.cs
- FilteredReadOnlyMetadataCollection.cs
- SharedDp.cs
- ColumnMapCopier.cs
- ClaimTypeRequirement.cs
- ResourceDisplayNameAttribute.cs
- DataGridViewBindingCompleteEventArgs.cs
- EntityContainerAssociationSet.cs
- ProcessHostServerConfig.cs
- SiteIdentityPermission.cs
- VirtualDirectoryMapping.cs
- CompareValidator.cs
- TextCharacters.cs
- DataObjectMethodAttribute.cs
- IdlingCommunicationPool.cs
- GAC.cs
- Part.cs
- QilSortKey.cs
- CodeTypeReferenceCollection.cs
- FormViewPageEventArgs.cs
- RectKeyFrameCollection.cs
- LinearKeyFrames.cs
- FloatMinMaxAggregationOperator.cs
- FilterException.cs
- SqlDataAdapter.cs
- IODescriptionAttribute.cs
- MediaCommands.cs
- XamlFigureLengthSerializer.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- Evidence.cs
- QuotedStringWriteStateInfo.cs
- StringConcat.cs
- MenuRendererClassic.cs
- CustomErrorsSection.cs
- Group.cs
- TabPanel.cs
- GPPOINTF.cs
- QualificationDataAttribute.cs
- TextTabProperties.cs
- ReadOnlyAttribute.cs
- DrawingBrush.cs
- CodeDOMProvider.cs
- URIFormatException.cs
- DifferencingCollection.cs
- CompilationUnit.cs
- ScriptResourceInfo.cs
- ResourceDictionaryCollection.cs
- InputQueue.cs
- WindowsTooltip.cs
- TextContainerChangedEventArgs.cs
- SourceChangedEventArgs.cs
- VBIdentifierTrimConverter.cs
- TextEffect.cs
- Serializer.cs
- DiffuseMaterial.cs
- WindowsButton.cs
- TextBlock.cs
- XmlText.cs
- PKCS1MaskGenerationMethod.cs
- keycontainerpermission.cs
- diagnosticsswitches.cs
- ToolStripDesigner.cs
- Configuration.cs
- QuotedStringFormatReader.cs