Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / X509CertificateTokenFactoryCredential.cs / 1 / X509CertificateTokenFactoryCredential.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.IO; using System.Security.Cryptography.X509Certificates; using System.Security.Cryptography.Xml; using System.Text; internal class X509CertificateTokenFactoryCredential : TokenFactoryCredential { X509Certificate2 m_cert; string m_contextKey; string m_portName; UIAgentRequest m_request; bool m_disposed = false; object m_sync = new object(); public X509CertificateTokenFactoryCredential( UIAgentRequest request ) : base( TokenFactoryCredentialType.X509CertificateCredential ) { m_request = request; } // // Get/Set the context key for the credential. // public string ContextKey { get{ return m_contextKey; } } // // Summary: // Get/Set the Rpc Port name // public string PortName { get{ return m_portName; } } // // Summary: // Get/Set certificate // public X509Certificate2 Certificate { get{ return m_cert; } } // // Summary: // Populate class members from reader // protected override void DeserializeData( BinaryReader reader ) { m_portName = Utility.DeserializeString( reader ); m_contextKey = Utility.DeserializeString( reader ); byte[] certBytes = new byte[ reader.ReadInt32() ]; reader.Read( certBytes, 0, certBytes.Length ); m_cert = new X509Certificate2( certBytes ); m_cert.PrivateKey = new RemoteCryptoRsaServiceProvider( this, m_request ); } public override void Dispose( bool disposing ) { if ( m_disposed ) { return; } lock( m_sync ) { if( m_disposed ) { return; } try { if( disposing ) { // // Dispose managed resources // // // This internall calls PrivateKey.Dispose which in turn closes the // smartcard context // this.m_cert.PrivateKey.Clear(); this.m_cert.PublicKey.Key.Clear(); } // // Dispose unmanaged resources // m_disposed = true; } finally { base.Dispose( disposing ); } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UrlAuthFailureHandler.cs
- OutputCacheSettings.cs
- ToolStripItemTextRenderEventArgs.cs
- PathStreamGeometryContext.cs
- FileLevelControlBuilderAttribute.cs
- TreeBuilderBamlTranslator.cs
- ObjectTypeMapping.cs
- ToolBar.cs
- LayoutEngine.cs
- WizardPanel.cs
- GroupBox.cs
- ConnectionProviderAttribute.cs
- WebExceptionStatus.cs
- SpeechEvent.cs
- JsonDeserializer.cs
- ResourceReferenceKeyNotFoundException.cs
- RepeaterItem.cs
- StorageComplexTypeMapping.cs
- mansign.cs
- AuthenticationModuleElementCollection.cs
- NTAccount.cs
- FrameworkContentElement.cs
- DataListItemCollection.cs
- ListenerSessionConnection.cs
- FieldInfo.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- LinkButton.cs
- UserControlCodeDomTreeGenerator.cs
- AspCompat.cs
- AutomationEvent.cs
- PostBackOptions.cs
- EntitySqlQueryCacheKey.cs
- ObjectDataSource.cs
- SafeIUnknown.cs
- PersonalizationDictionary.cs
- ContentElementAutomationPeer.cs
- Formatter.cs
- ObjectDataSourceMethodEventArgs.cs
- PlatformNotSupportedException.cs
- IsolatedStoragePermission.cs
- RedistVersionInfo.cs
- ValuePattern.cs
- ZoneIdentityPermission.cs
- ScriptReferenceBase.cs
- TextEditorContextMenu.cs
- WebServiceParameterData.cs
- Drawing.cs
- XmlHierarchicalEnumerable.cs
- StoryFragments.cs
- WebPartChrome.cs
- OutKeywords.cs
- LogExtentCollection.cs
- PermissionToken.cs
- StoragePropertyMapping.cs
- TextRange.cs
- SqlDataSource.cs
- DoubleKeyFrameCollection.cs
- NodeInfo.cs
- TemplateXamlTreeBuilder.cs
- CodeTypeReferenceCollection.cs
- SoapSchemaExporter.cs
- InputLangChangeEvent.cs
- QueryCursorEventArgs.cs
- FileIOPermission.cs
- Page.cs
- StorageMappingFragment.cs
- propertytag.cs
- RadioButtonAutomationPeer.cs
- LocalizabilityAttribute.cs
- MatrixAnimationUsingKeyFrames.cs
- WebConfigurationFileMap.cs
- CellLabel.cs
- EntityClassGenerator.cs
- NamespaceList.cs
- IOThreadScheduler.cs
- AssertFilter.cs
- ContravarianceAdapter.cs
- ChannelServices.cs
- DecimalKeyFrameCollection.cs
- bidPrivateBase.cs
- FixedDocument.cs
- ContentHostHelper.cs
- XmlSerializerVersionAttribute.cs
- ResXBuildProvider.cs
- DesignBindingPicker.cs
- CompilerTypeWithParams.cs
- FileSystemInfo.cs
- FileDialogCustomPlaces.cs
- OracleConnection.cs
- HtmlGenericControl.cs
- ObfuscationAttribute.cs
- BindingSource.cs
- ListViewSelectEventArgs.cs
- Keywords.cs
- iisPickupDirectory.cs
- SqlGenericUtil.cs
- OrCondition.cs
- Paragraph.cs
- RepeatInfo.cs
- DataSetUtil.cs