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
- SettingsPropertyValue.cs
- RawMouseInputReport.cs
- XMLSchema.cs
- AuthorizationSection.cs
- MsmqIntegrationChannelFactory.cs
- FileDialog_Vista_Interop.cs
- TextSerializer.cs
- MD5.cs
- GridItemCollection.cs
- RepeaterItem.cs
- Animatable.cs
- InlineObject.cs
- PostBackTrigger.cs
- PagedControl.cs
- PersonalizationProviderHelper.cs
- WebPartConnectionsCloseVerb.cs
- ActivityDesigner.cs
- GlobalizationSection.cs
- LockCookie.cs
- BamlRecordWriter.cs
- XPathChildIterator.cs
- SymbolEqualComparer.cs
- CLRBindingWorker.cs
- PersonalizableAttribute.cs
- PolicyFactory.cs
- MetadataArtifactLoaderCompositeResource.cs
- BuildProvider.cs
- TypeSystem.cs
- SelectionProviderWrapper.cs
- ContentPathSegment.cs
- FormatVersion.cs
- EventLogEntryCollection.cs
- SplineQuaternionKeyFrame.cs
- LineVisual.cs
- OleDbReferenceCollection.cs
- InternalTransaction.cs
- ADMembershipProvider.cs
- ListControlActionList.cs
- ErrorFormatterPage.cs
- Speller.cs
- ObjectParameter.cs
- Double.cs
- StringConverter.cs
- ProviderConnectionPoint.cs
- TransformerTypeCollection.cs
- DbXmlEnabledProviderManifest.cs
- RecordBuilder.cs
- StrokeCollectionDefaultValueFactory.cs
- AbsoluteQuery.cs
- ImageSourceValueSerializer.cs
- Point3DAnimationUsingKeyFrames.cs
- RealProxy.cs
- EntityDataSourceDataSelectionPanel.cs
- RightsManagementInformation.cs
- EventLogConfiguration.cs
- LinearGradientBrush.cs
- ProtocolsSection.cs
- WebPartConnectionsConfigureVerb.cs
- XPathDocumentNavigator.cs
- ExpressionPrefixAttribute.cs
- NetCodeGroup.cs
- WpfKnownMemberInvoker.cs
- WebConvert.cs
- LoginCancelEventArgs.cs
- HostProtectionPermission.cs
- EntityDataSourceView.cs
- AsyncPostBackErrorEventArgs.cs
- Merger.cs
- Registry.cs
- Mutex.cs
- WindowsFormsLinkLabel.cs
- HttpApplication.cs
- CodeTypeParameterCollection.cs
- WorkflowServiceOperationListItem.cs
- XmlFormatReaderGenerator.cs
- MetadataArtifactLoaderResource.cs
- WindowsStatusBar.cs
- SourceFileInfo.cs
- SecUtil.cs
- XmlName.cs
- GenericAuthenticationEventArgs.cs
- Task.cs
- TextElement.cs
- ToolStripSeparator.cs
- HostExecutionContextManager.cs
- SystemBrushes.cs
- ContextDataSourceView.cs
- CustomDictionarySources.cs
- DeviceContexts.cs
- XmlSchemaImporter.cs
- NameTable.cs
- StateRuntime.cs
- SoapAttributes.cs
- PaintEvent.cs
- ResXResourceWriter.cs
- KeyProperty.cs
- AutomationTextAttribute.cs
- HotCommands.cs
- DeploymentSection.cs
- cache.cs