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
- SatelliteContractVersionAttribute.cs
- ReturnValue.cs
- PackUriHelper.cs
- MessageFormatterConverter.cs
- HostedElements.cs
- XmlSchemaAnyAttribute.cs
- SvcFileManager.cs
- ContextStaticAttribute.cs
- DispatcherOperation.cs
- ManifestBasedResourceGroveler.cs
- EqualityComparer.cs
- XmlSchemaNotation.cs
- DSASignatureFormatter.cs
- COMException.cs
- SortDescriptionCollection.cs
- NameScope.cs
- ExtensionDataObject.cs
- ProfileService.cs
- AssociatedControlConverter.cs
- OpCodes.cs
- SiteMap.cs
- TreeNodeCollection.cs
- ChtmlTextWriter.cs
- InputScopeManager.cs
- _ListenerRequestStream.cs
- RoleService.cs
- SerializationSectionGroup.cs
- LocalizationParserHooks.cs
- SqlDataSourceFilteringEventArgs.cs
- BitmapDecoder.cs
- VectorAnimationUsingKeyFrames.cs
- CodeSnippetTypeMember.cs
- SqlDependencyListener.cs
- DesignerCategoryAttribute.cs
- AppSettingsReader.cs
- TypeContext.cs
- PenCursorManager.cs
- PeerNameRegistration.cs
- TdsRecordBufferSetter.cs
- ellipse.cs
- BmpBitmapDecoder.cs
- BasicExpressionVisitor.cs
- RefreshPropertiesAttribute.cs
- Journal.cs
- DataSourceXmlElementAttribute.cs
- Point3DAnimationBase.cs
- PaginationProgressEventArgs.cs
- ExpressionCopier.cs
- SafeNativeMethodsMilCoreApi.cs
- InheritedPropertyChangedEventArgs.cs
- CompilerError.cs
- HandleCollector.cs
- Misc.cs
- MarkupWriter.cs
- _NtlmClient.cs
- SrgsNameValueTag.cs
- RuntimeResourceSet.cs
- EditorPartDesigner.cs
- DbSetClause.cs
- SpecularMaterial.cs
- WebPartCatalogCloseVerb.cs
- Array.cs
- StorageSetMapping.cs
- SqlConnectionHelper.cs
- SqlRowUpdatedEvent.cs
- CapabilitiesPattern.cs
- ConfigPathUtility.cs
- XmlAtomicValue.cs
- PhoneCallDesigner.cs
- RectangleGeometry.cs
- TemplateBindingExpression.cs
- dbdatarecord.cs
- ScrollItemPatternIdentifiers.cs
- TransformerTypeCollection.cs
- AttributeUsageAttribute.cs
- log.cs
- IdentifierElement.cs
- SmiGettersStream.cs
- SingleStorage.cs
- XmlElementAttribute.cs
- ImageMetadata.cs
- CorrelationTokenTypeConvertor.cs
- XmlSerializationWriter.cs
- DecimalSumAggregationOperator.cs
- ProcessingInstructionAction.cs
- SchemaComplexType.cs
- RC2CryptoServiceProvider.cs
- Enlistment.cs
- ContentType.cs
- InternalControlCollection.cs
- _HTTPDateParse.cs
- EncoderParameter.cs
- DataGridViewCellStyle.cs
- DropDownHolder.cs
- TableCellCollection.cs
- LinkTarget.cs
- GuidelineSet.cs
- TextDataBindingHandler.cs
- SystemTcpStatistics.cs
- EntryWrittenEventArgs.cs