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
- ClientConfigurationSystem.cs
- DocumentGridContextMenu.cs
- Options.cs
- DescriptionAttribute.cs
- HtmlMeta.cs
- ApplicationContext.cs
- Accessible.cs
- CookieParameter.cs
- Soap12ProtocolReflector.cs
- TabControlEvent.cs
- TextBreakpoint.cs
- InputLanguageEventArgs.cs
- SamlSerializer.cs
- IISMapPath.cs
- FontCollection.cs
- SystemParameters.cs
- HttpCapabilitiesBase.cs
- X509ChainElement.cs
- COM2DataTypeToManagedDataTypeConverter.cs
- ProtocolViolationException.cs
- HashCodeCombiner.cs
- AttributeEmitter.cs
- PointConverter.cs
- ServiceX509SecurityTokenProvider.cs
- VectorConverter.cs
- Stacktrace.cs
- HttpHandlerAction.cs
- XslCompiledTransform.cs
- DataControlLinkButton.cs
- ImmutableObjectAttribute.cs
- AsyncDataRequest.cs
- ParenthesizePropertyNameAttribute.cs
- StrongNamePublicKeyBlob.cs
- DataSourceControl.cs
- UserValidatedEventArgs.cs
- Slider.cs
- LinkLabelLinkClickedEvent.cs
- CopyNodeSetAction.cs
- EntityDataSourceWrapper.cs
- InternalSafeNativeMethods.cs
- PTManager.cs
- ToolStripStatusLabel.cs
- Transform3DGroup.cs
- EntityTypeBase.cs
- webclient.cs
- HtmlInputFile.cs
- Int32Converter.cs
- TableLayoutSettings.cs
- SafeWaitHandle.cs
- Scene3D.cs
- ProfileParameter.cs
- XmlQueryContext.cs
- Effect.cs
- ApplicationException.cs
- GuidelineCollection.cs
- DESCryptoServiceProvider.cs
- DictionarySectionHandler.cs
- KerberosSecurityTokenAuthenticator.cs
- Oid.cs
- ErrorView.xaml.cs
- ClientApiGenerator.cs
- DesignerProperties.cs
- IPAddress.cs
- ResourceExpressionEditor.cs
- DebugView.cs
- StackSpiller.cs
- QuaternionAnimation.cs
- Geometry.cs
- DrawingGroupDrawingContext.cs
- PreservationFileReader.cs
- BindingContext.cs
- EncryptedPackage.cs
- HttpApplicationFactory.cs
- OracleDataAdapter.cs
- Semaphore.cs
- SegmentTree.cs
- QueryComponents.cs
- AlternationConverter.cs
- XdrBuilder.cs
- DataDocumentXPathNavigator.cs
- CurrentChangedEventManager.cs
- HyperLinkStyle.cs
- Directory.cs
- NullableIntAverageAggregationOperator.cs
- DbConnectionStringBuilder.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- GridViewUpdatedEventArgs.cs
- _Events.cs
- StreamReader.cs
- ClientTargetSection.cs
- ShaperBuffers.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- Automation.cs
- DataProtection.cs
- EdmConstants.cs
- MgmtResManager.cs
- FileDialog.cs
- DataGridViewToolTip.cs
- SmtpTransport.cs
- AnimatedTypeHelpers.cs