Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / infocard / Client / System / IdentityModel / Selectors / InfoCardProofToken.cs / 1305376 / InfoCardProofToken.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.IdentityModel.Selectors { using System; using System.IdentityModel.Tokens; using System.IdentityModel.Policy; using System.IdentityModel.Claims; using System.Collections.Generic; using System.Collections.ObjectModel; // // Summary: // This class implements a SecurityToken to wrap a remoted crypto key. It provides indirect // access to the private proof key associated with a released token. // internal class InfoCardProofToken : SecurityToken, IDisposable { string m_id; DateTime m_expiration; ReadOnlyCollectionm_securityKeys; SecurityKey m_securityKey; public InfoCardProofToken( AsymmetricCryptoHandle cryptoHandle, DateTime expiration ) : this( expiration ) { InitCrypto( new InfoCardAsymmetricCrypto( cryptoHandle ) ); } public InfoCardProofToken( SymmetricCryptoHandle cryptoHandle, DateTime expiration ) : this( expiration ) { InitCrypto( new InfoCardSymmetricCrypto( cryptoHandle ) ); } private InfoCardProofToken( DateTime expiration ) : base() { m_id = Guid.NewGuid().ToString(); m_expiration = expiration.ToUniversalTime(); } public override string Id { get { return m_id; } } public override ReadOnlyCollection SecurityKeys { get { return m_securityKeys; } } public override DateTime ValidTo { get { return m_expiration; } } public override DateTime ValidFrom { get { return DateTime.UtcNow; } } private void InitCrypto(SecurityKey securityKey) { m_securityKey = securityKey; List securityKeys = new List (1); securityKeys.Add(securityKey); m_securityKeys = securityKeys.AsReadOnly(); } public void Dispose() { m_securityKeys = null; ((IDisposable)m_securityKey).Dispose(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.IdentityModel.Selectors { using System; using System.IdentityModel.Tokens; using System.IdentityModel.Policy; using System.IdentityModel.Claims; using System.Collections.Generic; using System.Collections.ObjectModel; // // Summary: // This class implements a SecurityToken to wrap a remoted crypto key. It provides indirect // access to the private proof key associated with a released token. // internal class InfoCardProofToken : SecurityToken, IDisposable { string m_id; DateTime m_expiration; ReadOnlyCollection m_securityKeys; SecurityKey m_securityKey; public InfoCardProofToken( AsymmetricCryptoHandle cryptoHandle, DateTime expiration ) : this( expiration ) { InitCrypto( new InfoCardAsymmetricCrypto( cryptoHandle ) ); } public InfoCardProofToken( SymmetricCryptoHandle cryptoHandle, DateTime expiration ) : this( expiration ) { InitCrypto( new InfoCardSymmetricCrypto( cryptoHandle ) ); } private InfoCardProofToken( DateTime expiration ) : base() { m_id = Guid.NewGuid().ToString(); m_expiration = expiration.ToUniversalTime(); } public override string Id { get { return m_id; } } public override ReadOnlyCollection SecurityKeys { get { return m_securityKeys; } } public override DateTime ValidTo { get { return m_expiration; } } public override DateTime ValidFrom { get { return DateTime.UtcNow; } } private void InitCrypto(SecurityKey securityKey) { m_securityKey = securityKey; List securityKeys = new List (1); securityKeys.Add(securityKey); m_securityKeys = securityKeys.AsReadOnly(); } public void Dispose() { m_securityKeys = null; ((IDisposable)m_securityKey).Dispose(); } } } // 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
- SystemInformation.cs
- DistributedTransactionPermission.cs
- ProfilePropertyNameValidator.cs
- Timer.cs
- ModuleBuilderData.cs
- XPathNodeIterator.cs
- SimplePropertyEntry.cs
- documentsequencetextcontainer.cs
- MenuItemCollection.cs
- ProxyGenerationError.cs
- TextServicesManager.cs
- ResourceExpression.cs
- InternalConfigHost.cs
- BaseHashHelper.cs
- XmlSchemaGroup.cs
- AudioLevelUpdatedEventArgs.cs
- FrameworkContextData.cs
- ComponentEditorForm.cs
- EntityDataSourceDesigner.cs
- ProcessModuleCollection.cs
- GenericEnumConverter.cs
- XmlSerializerSection.cs
- _TransmitFileOverlappedAsyncResult.cs
- ViewBox.cs
- FrugalList.cs
- ScriptingProfileServiceSection.cs
- CqlParserHelpers.cs
- XmlIlGenerator.cs
- KeyboardEventArgs.cs
- XmlEntity.cs
- ConfigurationSectionGroup.cs
- RadioButtonFlatAdapter.cs
- NamespaceExpr.cs
- QueryServiceConfigHandle.cs
- KeyValuePairs.cs
- StylusPoint.cs
- ClientOptions.cs
- XmlNode.cs
- XmlHierarchyData.cs
- EasingKeyFrames.cs
- CompositeActivityDesigner.cs
- RootBrowserWindowAutomationPeer.cs
- objectresult_tresulttype.cs
- SafeCertificateStore.cs
- TreeNodeCollection.cs
- MemberHolder.cs
- DefaultAutoFieldGenerator.cs
- CodeMemberMethod.cs
- FormView.cs
- RawTextInputReport.cs
- SimpleWebHandlerParser.cs
- WebBrowserHelper.cs
- BooleanSwitch.cs
- AccessDataSource.cs
- SiteOfOriginPart.cs
- ObjectDataSourceStatusEventArgs.cs
- HwndAppCommandInputProvider.cs
- HostedHttpRequestAsyncResult.cs
- SqlTypesSchemaImporter.cs
- pingexception.cs
- TextEffect.cs
- BinHexEncoding.cs
- EFTableProvider.cs
- DnsEndpointIdentity.cs
- Helpers.cs
- HebrewNumber.cs
- DataGridViewDataErrorEventArgs.cs
- ArrayHelper.cs
- DataTableMappingCollection.cs
- ListItemsCollectionEditor.cs
- DateTimePicker.cs
- BitmapData.cs
- sqlcontext.cs
- ObjectHelper.cs
- ArrayWithOffset.cs
- Durable.cs
- ToolStripContentPanelRenderEventArgs.cs
- CLRBindingWorker.cs
- OutputScopeManager.cs
- RegexMatchCollection.cs
- RegisteredArrayDeclaration.cs
- TableLayoutSettings.cs
- CodeSubDirectory.cs
- ReadOnlyPropertyMetadata.cs
- DynamicFilter.cs
- InputReportEventArgs.cs
- TypeLibraryHelper.cs
- OperatingSystem.cs
- XmlILOptimizerVisitor.cs
- ProxyGenerationError.cs
- SecUtil.cs
- LoadMessageLogger.cs
- EventMappingSettingsCollection.cs
- TextServicesContext.cs
- FontWeight.cs
- SecurityTokenProvider.cs
- FieldNameLookup.cs
- XmlNamespaceManager.cs
- ConfigXmlDocument.cs
- InkCanvasInnerCanvas.cs