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
- InputLanguageCollection.cs
- RawKeyboardInputReport.cs
- TraceHandler.cs
- AdPostCacheSubstitution.cs
- PathParser.cs
- ServiceOperationParameter.cs
- CompilationRelaxations.cs
- CodeGen.cs
- Reference.cs
- BitmapDecoder.cs
- EventPrivateKey.cs
- ListInitExpression.cs
- GeneralTransform3DTo2DTo3D.cs
- PathGeometry.cs
- IssuedTokenClientElement.cs
- PageContentCollection.cs
- NodeInfo.cs
- TypeGeneratedEventArgs.cs
- DocumentsTrace.cs
- XmlHierarchicalDataSourceView.cs
- SQLGuidStorage.cs
- AssociationTypeEmitter.cs
- ToolZone.cs
- __Filters.cs
- Base64Encoder.cs
- InkCanvasFeedbackAdorner.cs
- BinaryFormatterWriter.cs
- Serializer.cs
- MenuStrip.cs
- QilLiteral.cs
- PackageRelationshipCollection.cs
- CertificateElement.cs
- DataGridViewTextBoxEditingControl.cs
- SkewTransform.cs
- XmlTypeMapping.cs
- SweepDirectionValidation.cs
- MailMessageEventArgs.cs
- ResponseStream.cs
- XmlSerializationReader.cs
- OleDbParameterCollection.cs
- AmbientValueAttribute.cs
- ObjectMaterializedEventArgs.cs
- RubberbandSelector.cs
- ValidatingReaderNodeData.cs
- ComboBoxAutomationPeer.cs
- SimpleHandlerBuildProvider.cs
- RemotingAttributes.cs
- HtmlInputText.cs
- StreamAsIStream.cs
- recordstate.cs
- XmlEventCache.cs
- TextBreakpoint.cs
- UnsafeNativeMethods.cs
- WebResourceAttribute.cs
- ParseChildrenAsPropertiesAttribute.cs
- WmlValidationSummaryAdapter.cs
- PropertyKey.cs
- MimeTextImporter.cs
- HtmlWindowCollection.cs
- SessionPageStatePersister.cs
- Freezable.cs
- SqlRecordBuffer.cs
- DBConcurrencyException.cs
- TransformPatternIdentifiers.cs
- ListViewCancelEventArgs.cs
- SQLRoleProvider.cs
- XmlUtilWriter.cs
- ProfileInfo.cs
- JsonFormatWriterGenerator.cs
- LinkButton.cs
- GeometryCombineModeValidation.cs
- HttpWebRequestElement.cs
- ObjectCacheHost.cs
- CellLabel.cs
- OdbcConnectionStringbuilder.cs
- serverconfig.cs
- NetworkAddressChange.cs
- ExpressionWriter.cs
- MultiTrigger.cs
- MessageQueueException.cs
- HtmlUtf8RawTextWriter.cs
- DataSvcMapFile.cs
- Clipboard.cs
- QuaternionAnimationUsingKeyFrames.cs
- ViewCellSlot.cs
- FormsAuthenticationCredentials.cs
- ZeroOpNode.cs
- HtmlDocument.cs
- ImportOptions.cs
- __Filters.cs
- ModelPropertyCollectionImpl.cs
- HtmlInputSubmit.cs
- AlignmentXValidation.cs
- ValuePatternIdentifiers.cs
- LinkTarget.cs
- HttpResponseHeader.cs
- URLString.cs
- MarkupObject.cs
- XamlParser.cs
- AttachedPropertyDescriptor.cs