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
- HttpModulesSection.cs
- SoapParser.cs
- RuntimeHandles.cs
- EventWaitHandleSecurity.cs
- InvalidChannelBindingException.cs
- __ConsoleStream.cs
- PointKeyFrameCollection.cs
- ILGenerator.cs
- BitConverter.cs
- StringValueConverter.cs
- BufferBuilder.cs
- RemoteWebConfigurationHostServer.cs
- CmsUtils.cs
- PassportAuthenticationModule.cs
- MemoryResponseElement.cs
- ProxyWebPart.cs
- SqlDataSourceCache.cs
- FunctionImportElement.cs
- ParallelTimeline.cs
- Pens.cs
- InputBinding.cs
- UnrecognizedAssertionsBindingElement.cs
- SafeCertificateStore.cs
- DbConnectionFactory.cs
- ResXResourceWriter.cs
- DateBoldEvent.cs
- ObjectMemberMapping.cs
- StructuredType.cs
- HandleExceptionArgs.cs
- ScrollContentPresenter.cs
- LineServices.cs
- View.cs
- DesignerToolboxInfo.cs
- dtdvalidator.cs
- ViewGenerator.cs
- RegisteredExpandoAttribute.cs
- SafeNativeMethods.cs
- MetadataPropertyvalue.cs
- PermissionListSet.cs
- SqlDelegatedTransaction.cs
- AxisAngleRotation3D.cs
- AttachedAnnotation.cs
- PointAnimation.cs
- PolyBezierSegment.cs
- Internal.cs
- SelectiveScrollingGrid.cs
- TaiwanCalendar.cs
- StatusBar.cs
- WsdlHelpGeneratorElement.cs
- SafeNativeMethods.cs
- Expression.DebuggerProxy.cs
- TimeSpanValidatorAttribute.cs
- SystemWebCachingSectionGroup.cs
- ObjectQueryProvider.cs
- WSUtilitySpecificationVersion.cs
- DataGridViewRowPrePaintEventArgs.cs
- M3DUtil.cs
- IPPacketInformation.cs
- AuthenticodeSignatureInformation.cs
- FormatPage.cs
- CalendarData.cs
- HiddenFieldPageStatePersister.cs
- OracleRowUpdatingEventArgs.cs
- TextSerializer.cs
- LambdaCompiler.ControlFlow.cs
- IndentedWriter.cs
- HierarchicalDataSourceControl.cs
- Win32Exception.cs
- StructuredCompositeActivityDesigner.cs
- RichTextBox.cs
- DynamicQueryableWrapper.cs
- WindowsIdentity.cs
- PropertyToken.cs
- ContactManager.cs
- VBIdentifierTrimConverter.cs
- RemoteWebConfigurationHost.cs
- EncodingTable.cs
- StoreItemCollection.Loader.cs
- LongValidator.cs
- CustomAttribute.cs
- BookmarkScopeManager.cs
- QilFactory.cs
- EncodingDataItem.cs
- WindowInteropHelper.cs
- ApplicationException.cs
- NamespaceImport.cs
- mactripleDES.cs
- AutomationProperty.cs
- DictionaryContent.cs
- ActivityTypeDesigner.xaml.cs
- Helper.cs
- BaseHashHelper.cs
- Evidence.cs
- FontFaceLayoutInfo.cs
- FillBehavior.cs
- MethodBody.cs
- Psha1DerivedKeyGenerator.cs
- BoundsDrawingContextWalker.cs
- AutomationPatternInfo.cs
- COM2FontConverter.cs