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
- ExpressionPrinter.cs
- XmlNodeReader.cs
- GroupBoxRenderer.cs
- PropertyFilterAttribute.cs
- LayoutUtils.cs
- TaskFactory.cs
- SqlProviderManifest.cs
- GridViewSelectEventArgs.cs
- PointAnimation.cs
- CompilerInfo.cs
- MarkupCompilePass2.cs
- TemplatingOptionsDialog.cs
- VerbConverter.cs
- UnionExpr.cs
- HandlerFactoryWrapper.cs
- IdlingCommunicationPool.cs
- FixedSOMLineCollection.cs
- remotingproxy.cs
- ServiceModelConfigurationElementCollection.cs
- AppLevelCompilationSectionCache.cs
- CommandSet.cs
- PropVariant.cs
- CodeStatementCollection.cs
- AddingNewEventArgs.cs
- SocketPermission.cs
- ProxyGenerator.cs
- DirectoryInfo.cs
- Encoder.cs
- CompiledIdentityConstraint.cs
- DynamicMethod.cs
- SoapObjectInfo.cs
- NavigationPropertyEmitter.cs
- TreeIterator.cs
- MachineKeySection.cs
- XPathMultyIterator.cs
- SizeConverter.cs
- ContentDefinition.cs
- ControlPropertyNameConverter.cs
- SimpleType.cs
- ImageCodecInfo.cs
- FunctionUpdateCommand.cs
- EntityDataSourceDataSelectionPanel.cs
- TreeViewEvent.cs
- PreservationFileWriter.cs
- BaseCollection.cs
- OutputCacheProfile.cs
- ItemsChangedEventArgs.cs
- Point3DConverter.cs
- BoundPropertyEntry.cs
- TraceHandler.cs
- ConditionalAttribute.cs
- SqlDataSourceFilteringEventArgs.cs
- ValidationPropertyAttribute.cs
- InfoCardSymmetricAlgorithm.cs
- SQLInt16.cs
- DbModificationClause.cs
- DesignerTransaction.cs
- DataViewListener.cs
- ObjectStateManager.cs
- StrokeCollectionDefaultValueFactory.cs
- ValidationResult.cs
- CallContext.cs
- SplitterEvent.cs
- BindToObject.cs
- WebPartZoneCollection.cs
- InternalConfigSettingsFactory.cs
- ServiceThrottlingElement.cs
- SqlConnectionHelper.cs
- WebCategoryAttribute.cs
- EventlogProvider.cs
- ActivityDesignerLayoutSerializers.cs
- NavigationExpr.cs
- DetailsViewPageEventArgs.cs
- AssertSection.cs
- Gdiplus.cs
- PackageDigitalSignature.cs
- RuleEngine.cs
- Trace.cs
- DataGridRowAutomationPeer.cs
- DataGridViewCellCollection.cs
- ModelItemImpl.cs
- WarningException.cs
- TabControl.cs
- ToolZone.cs
- InvalidDataException.cs
- EmptyQuery.cs
- TrackingMemoryStreamFactory.cs
- SQLInt16Storage.cs
- XmlAtomErrorReader.cs
- TextDecoration.cs
- DataGridParentRows.cs
- RemoteAsymmetricSignatureFormatter.cs
- XsltQilFactory.cs
- TypographyProperties.cs
- ToolZone.cs
- Formatter.cs
- TypeDescriptionProviderAttribute.cs
- XmlDigitalSignatureProcessor.cs
- NumberAction.cs
- SpeechSynthesizer.cs