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
- Icon.cs
- SqlCacheDependencyDatabase.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- UseManagedPresentationBindingElement.cs
- ComPlusTypeLoader.cs
- PageParser.cs
- SmiXetterAccessMap.cs
- MessageSecurityException.cs
- EventlogProvider.cs
- AttachedAnnotationChangedEventArgs.cs
- Activator.cs
- X509SecurityToken.cs
- MetadataArtifactLoaderCompositeFile.cs
- InplaceBitmapMetadataWriter.cs
- PageParser.cs
- Mouse.cs
- TextFormatterImp.cs
- ProgressChangedEventArgs.cs
- WebException.cs
- SQlBooleanStorage.cs
- FileDialogCustomPlacesCollection.cs
- XamlPointCollectionSerializer.cs
- JpegBitmapDecoder.cs
- DataGridHelper.cs
- SecureEnvironment.cs
- TableAdapterManagerNameHandler.cs
- RichTextBox.cs
- Panel.cs
- SimpleFileLog.cs
- FilteredReadOnlyMetadataCollection.cs
- XmlElement.cs
- InfoCardCryptoHelper.cs
- SimpleFieldTemplateUserControl.cs
- SiteMapHierarchicalDataSourceView.cs
- SettingsBase.cs
- DataObjectAttribute.cs
- InkCanvas.cs
- WebPartsSection.cs
- DrawingGroupDrawingContext.cs
- ToolStripItemClickedEventArgs.cs
- SingleStorage.cs
- DataListItemCollection.cs
- BreadCrumbTextConverter.cs
- XPathScanner.cs
- NativeMethods.cs
- InteropBitmapSource.cs
- ImageListStreamer.cs
- GenericTextProperties.cs
- RequiredFieldValidator.cs
- EventTrigger.cs
- MetadataItemEmitter.cs
- Section.cs
- CollectionBuilder.cs
- DocumentPageHost.cs
- WebServiceMethodData.cs
- ArcSegment.cs
- ConfigurationSectionGroup.cs
- ExpressionsCollectionEditor.cs
- TreeBuilderXamlTranslator.cs
- XmlUnspecifiedAttribute.cs
- TextMessageEncodingBindingElement.cs
- OdbcCommand.cs
- MessageSecurityOverHttpElement.cs
- SqlInternalConnectionSmi.cs
- CommandBindingCollection.cs
- AppLevelCompilationSectionCache.cs
- AutomationElement.cs
- ObfuscateAssemblyAttribute.cs
- ListDesigner.cs
- SchemaAttDef.cs
- MobileContainerDesigner.cs
- OutputScopeManager.cs
- WebServiceResponse.cs
- ProxyWebPartConnectionCollection.cs
- BitFlagsGenerator.cs
- HtmlGenericControl.cs
- CmsInterop.cs
- RoutedEventValueSerializer.cs
- DataListItemEventArgs.cs
- UrlMappingCollection.cs
- HttpRuntimeSection.cs
- UrlAuthorizationModule.cs
- AuthorizationPolicyTypeElementCollection.cs
- SqlRetyper.cs
- AsymmetricSignatureFormatter.cs
- PowerModeChangedEventArgs.cs
- Soap12ProtocolImporter.cs
- SQLInt32Storage.cs
- VisualTreeHelper.cs
- RuntimeIdentifierPropertyAttribute.cs
- TreeView.cs
- SiteMembershipCondition.cs
- BulletedListEventArgs.cs
- ReadOnlyDataSourceView.cs
- SqlClientFactory.cs
- WebPartManagerInternals.cs
- QilCloneVisitor.cs
- Pen.cs
- StorageFunctionMapping.cs
- WebEventTraceProvider.cs