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
- ScriptDescriptor.cs
- PriorityQueue.cs
- PersonalizationStateQuery.cs
- CompiledIdentityConstraint.cs
- ProcessModule.cs
- ExpandSegment.cs
- TypeCacheManager.cs
- ToolStripItemRenderEventArgs.cs
- SqlDelegatedTransaction.cs
- LogStore.cs
- PassportAuthenticationEventArgs.cs
- CommandConverter.cs
- ColumnResizeUndoUnit.cs
- TableCell.cs
- XmlNamespaceMapping.cs
- ProcessHostConfigUtils.cs
- TypeExtensions.cs
- ToolStripSeparatorRenderEventArgs.cs
- FontUnitConverter.cs
- AnnotationObservableCollection.cs
- Psha1DerivedKeyGenerator.cs
- XmlMtomReader.cs
- SamlConstants.cs
- ArrangedElement.cs
- SelectionWordBreaker.cs
- ListViewItem.cs
- EntityCommand.cs
- ThreadStartException.cs
- ImageDrawing.cs
- ApplicationSettingsBase.cs
- DbSource.cs
- PermissionToken.cs
- DesignSurfaceManager.cs
- BamlTreeUpdater.cs
- SpoolingTaskBase.cs
- Size3DValueSerializer.cs
- PrivateFontCollection.cs
- CodeDomDecompiler.cs
- TransformDescriptor.cs
- XmlResolver.cs
- SqlInternalConnectionTds.cs
- ProcessModuleCollection.cs
- _UriSyntax.cs
- TypeBuilderInstantiation.cs
- ExpressionNormalizer.cs
- SiteMapHierarchicalDataSourceView.cs
- COM2ICategorizePropertiesHandler.cs
- XmlILTrace.cs
- SyndicationDeserializer.cs
- QueryPrefixOp.cs
- ManagedIStream.cs
- PageParser.cs
- DocumentPaginator.cs
- ForceCopyBuildProvider.cs
- ThicknessConverter.cs
- HWStack.cs
- WindowsListView.cs
- LassoSelectionBehavior.cs
- FileNotFoundException.cs
- DataGridLinkButton.cs
- SQLDateTime.cs
- InstallerTypeAttribute.cs
- CodeExporter.cs
- PointCollectionValueSerializer.cs
- CachedPathData.cs
- PcmConverter.cs
- OciEnlistContext.cs
- FileReservationCollection.cs
- DynamicValueConverter.cs
- CreateSequenceResponse.cs
- DummyDataSource.cs
- DiscoveryEndpointValidator.cs
- DataDocumentXPathNavigator.cs
- MarkupCompilePass1.cs
- StagingAreaInputItem.cs
- RubberbandSelector.cs
- WebRequestModuleElement.cs
- XmlQueryContext.cs
- SoapObjectInfo.cs
- DesignerView.Commands.cs
- RSAPKCS1SignatureFormatter.cs
- MarkupProperty.cs
- CheckBox.cs
- RelationshipDetailsRow.cs
- InvalidOperationException.cs
- EditBehavior.cs
- Size.cs
- ManipulationLogic.cs
- OperatorExpressions.cs
- CodeEventReferenceExpression.cs
- ProcessManager.cs
- ImageButton.cs
- DesignerUtility.cs
- Point3DAnimation.cs
- DiagnosticStrings.cs
- SkipQueryOptionExpression.cs
- querybuilder.cs
- NavigationPropertyEmitter.cs
- AutoCompleteStringCollection.cs
- CustomCredentialPolicy.cs