Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ // 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
- FigureParagraph.cs
- Animatable.cs
- StreamUpdate.cs
- DetailsViewModeEventArgs.cs
- ImageClickEventArgs.cs
- UnknownWrapper.cs
- CombinedGeometry.cs
- GiveFeedbackEventArgs.cs
- ProfilePropertyMetadata.cs
- GuidelineSet.cs
- ObfuscationAttribute.cs
- MasterPageCodeDomTreeGenerator.cs
- DataPagerField.cs
- RangeValidator.cs
- LogicalTreeHelper.cs
- HostVisual.cs
- PriorityQueue.cs
- JsonEncodingStreamWrapper.cs
- NullableDecimalMinMaxAggregationOperator.cs
- ForceCopyBuildProvider.cs
- BindingSource.cs
- SvcMapFileSerializer.cs
- CodeConditionStatement.cs
- MessageBox.cs
- XslVisitor.cs
- FileUtil.cs
- NamespaceEmitter.cs
- ParserHooks.cs
- Ref.cs
- XamlFrame.cs
- ValidationSummary.cs
- DataServiceException.cs
- Table.cs
- SecurityDocument.cs
- CodeCatchClause.cs
- SqlNotificationRequest.cs
- VisualTarget.cs
- ObjectItemCachedAssemblyLoader.cs
- QueryRelOp.cs
- GacUtil.cs
- StreamingContext.cs
- InvalidMessageContractException.cs
- Int16KeyFrameCollection.cs
- ServiceChannelManager.cs
- ContainerAction.cs
- ClosableStream.cs
- ClientEventManager.cs
- DataGridViewUtilities.cs
- TimeSpanMinutesConverter.cs
- DocumentPageView.cs
- iisPickupDirectory.cs
- PersianCalendar.cs
- TranslateTransform.cs
- unitconverter.cs
- AppModelKnownContentFactory.cs
- ResolveResponseInfo.cs
- ProcessHost.cs
- Timer.cs
- LinkDescriptor.cs
- WindowsTokenRoleProvider.cs
- FontFamilyValueSerializer.cs
- ProgressBar.cs
- ControlParameter.cs
- QilInvokeLateBound.cs
- QilName.cs
- StyleSheetComponentEditor.cs
- RecordBuilder.cs
- SecurityTokenSerializer.cs
- FileFormatException.cs
- MessageBox.cs
- EllipseGeometry.cs
- IpcClientChannel.cs
- XmlEncodedRawTextWriter.cs
- LiteralControl.cs
- HwndMouseInputProvider.cs
- DecoderNLS.cs
- HttpCookiesSection.cs
- AnnotationService.cs
- GeneralTransform3DTo2D.cs
- IgnoreDeviceFilterElement.cs
- TreeIterator.cs
- PerformanceCounterLib.cs
- ListViewItem.cs
- UiaCoreProviderApi.cs
- Behavior.cs
- UniformGrid.cs
- XmlDataSourceNodeDescriptor.cs
- ISFClipboardData.cs
- TextParaLineResult.cs
- ViewPort3D.cs
- EmptyEnumerator.cs
- SmtpException.cs
- WorkflowServiceBehavior.cs
- ColumnResizeUndoUnit.cs
- TraceContextEventArgs.cs
- SoapReflectionImporter.cs
- Nodes.cs
- RSAPKCS1SignatureDeformatter.cs
- SQLDecimal.cs
- ServiceHost.cs