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
- RuleAction.cs
- ComponentConverter.cs
- CustomValidator.cs
- GridViewRowCollection.cs
- TimelineCollection.cs
- GroupItemAutomationPeer.cs
- ListManagerBindingsCollection.cs
- RTLAwareMessageBox.cs
- GeometryCombineModeValidation.cs
- WorkflowRuntimeSection.cs
- ColumnCollection.cs
- BitArray.cs
- RequestCacheEntry.cs
- WebPartEditVerb.cs
- TextDecorationCollectionConverter.cs
- DataColumn.cs
- ComponentConverter.cs
- AmbientValueAttribute.cs
- SystemResourceHost.cs
- RepeaterItem.cs
- SqlStatistics.cs
- ProviderUtil.cs
- DataPagerFieldItem.cs
- _NTAuthentication.cs
- SchemaNotation.cs
- SqlDelegatedTransaction.cs
- BamlResourceDeserializer.cs
- TreeNode.cs
- AttributeUsageAttribute.cs
- DbLambda.cs
- AspNetPartialTrustHelpers.cs
- IIS7WorkerRequest.cs
- tabpagecollectioneditor.cs
- NetTcpSecurity.cs
- InputBuffer.cs
- HttpConfigurationContext.cs
- FieldDescriptor.cs
- Model3DCollection.cs
- ZipIOCentralDirectoryFileHeader.cs
- DecimalAnimationUsingKeyFrames.cs
- dbenumerator.cs
- ConstantCheck.cs
- GPRECT.cs
- SingleStorage.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- TreeNodeBindingCollection.cs
- DynamicRenderer.cs
- Error.cs
- SingleObjectCollection.cs
- WebServiceData.cs
- Literal.cs
- EntityContainerAssociationSet.cs
- PartialTrustHelpers.cs
- Border.cs
- _ListenerAsyncResult.cs
- SqlComparer.cs
- UIElement3D.cs
- SiteIdentityPermission.cs
- DbParameterCollectionHelper.cs
- dataprotectionpermissionattribute.cs
- OperationResponse.cs
- Binding.cs
- MetaType.cs
- X509Certificate2Collection.cs
- DataGridrowEditEndingEventArgs.cs
- ArgumentNullException.cs
- DataConnectionHelper.cs
- SQLCharsStorage.cs
- XmlBinaryReaderSession.cs
- XamlSerializer.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- SqlDependency.cs
- RuntimeCompatibilityAttribute.cs
- ReliableMessagingVersion.cs
- EntityProviderServices.cs
- TriState.cs
- ACL.cs
- TableLayoutStyleCollection.cs
- AccessDataSourceView.cs
- XPathAncestorQuery.cs
- RowType.cs
- ImageIndexConverter.cs
- ScrollChrome.cs
- EUCJPEncoding.cs
- ForeignConstraint.cs
- DesignerAutoFormat.cs
- SelectionUIHandler.cs
- OletxVolatileEnlistment.cs
- Point3DCollection.cs
- UnknownBitmapEncoder.cs
- ValidatingReaderNodeData.cs
- OdbcReferenceCollection.cs
- DataDocumentXPathNavigator.cs
- SizeFConverter.cs
- GetPageCompletedEventArgs.cs
- TransportContext.cs
- ScrollEventArgs.cs
- DocumentXmlWriter.cs
- ResourceAttributes.cs
- TextFormatter.cs