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
- MenuItemBinding.cs
- PageWrapper.cs
- SyndicationSerializer.cs
- PropertySegmentSerializationProvider.cs
- followingquery.cs
- HebrewNumber.cs
- SID.cs
- XamlReader.cs
- DataRelation.cs
- GuidelineCollection.cs
- ShaderEffect.cs
- Stacktrace.cs
- Base64Stream.cs
- Utilities.cs
- FlowDocumentScrollViewer.cs
- RequestCache.cs
- SizeConverter.cs
- TypeNameConverter.cs
- IApplicationTrustManager.cs
- IDQuery.cs
- EnvironmentPermission.cs
- ListControlConvertEventArgs.cs
- ResponseStream.cs
- Timer.cs
- TypeFieldSchema.cs
- ToolStripButton.cs
- UdpUtility.cs
- codemethodreferenceexpression.cs
- OciLobLocator.cs
- HwndKeyboardInputProvider.cs
- StrongBox.cs
- DataGridColumn.cs
- StorageEntityTypeMapping.cs
- ProcessModelInfo.cs
- LabelDesigner.cs
- CodeCatchClause.cs
- OdbcReferenceCollection.cs
- PropertyHelper.cs
- EventPrivateKey.cs
- SaveFileDialog.cs
- DataTableMapping.cs
- SqlComparer.cs
- StatusBar.cs
- DelegatingTypeDescriptionProvider.cs
- QueryPrefixOp.cs
- SerializableAttribute.cs
- ExpandCollapsePattern.cs
- GridViewRow.cs
- ArgIterator.cs
- CryptoProvider.cs
- Point4DValueSerializer.cs
- DoubleAnimationBase.cs
- ByteAnimationBase.cs
- Section.cs
- ServerValidateEventArgs.cs
- ControlValuePropertyAttribute.cs
- OperatingSystemVersionCheck.cs
- DataGridCellAutomationPeer.cs
- DbParameterHelper.cs
- PerformanceCounterLib.cs
- DateTime.cs
- _AutoWebProxyScriptHelper.cs
- EditorPartDesigner.cs
- WorkflowValidationFailedException.cs
- ObjectStateManager.cs
- TreeBuilderBamlTranslator.cs
- SslStream.cs
- WebRequestModuleElementCollection.cs
- ChildChangedEventArgs.cs
- HealthMonitoringSectionHelper.cs
- XamlInt32CollectionSerializer.cs
- GradientSpreadMethodValidation.cs
- mediaclock.cs
- SqlInternalConnection.cs
- DataBindingCollection.cs
- PolyLineSegment.cs
- InputReport.cs
- InstallerTypeAttribute.cs
- ResourcesChangeInfo.cs
- SqlInternalConnection.cs
- activationcontext.cs
- CompilerGlobalScopeAttribute.cs
- SmtpDigestAuthenticationModule.cs
- TimeZoneInfo.cs
- WebContext.cs
- TranslateTransform.cs
- ContentElementAutomationPeer.cs
- FormViewActionList.cs
- MemberCollection.cs
- DockPanel.cs
- State.cs
- PropertyFilter.cs
- ListControlDataBindingHandler.cs
- XmlAutoDetectWriter.cs
- InputReferenceExpression.cs
- MaterialGroup.cs
- DataControlField.cs
- PaintValueEventArgs.cs
- TextTreeFixupNode.cs
- JoinElimination.cs