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
- Scheduler.cs
- SqlLiftIndependentRowExpressions.cs
- Hash.cs
- Events.cs
- ConcurrencyBehavior.cs
- X509AudioLogo.cs
- MediaElementAutomationPeer.cs
- SuppressMessageAttribute.cs
- SBCSCodePageEncoding.cs
- TemplateControlCodeDomTreeGenerator.cs
- AppDomainFactory.cs
- HtmlTableCellCollection.cs
- CompilationLock.cs
- C14NUtil.cs
- CodeGroup.cs
- DbConnectionPoolIdentity.cs
- BrushConverter.cs
- DataView.cs
- XmlDataSourceView.cs
- Buffer.cs
- TimeoutValidationAttribute.cs
- HtmlForm.cs
- ReachSerializerAsync.cs
- HttpRequestCacheValidator.cs
- StubHelpers.cs
- CatalogZoneBase.cs
- TextBoxBase.cs
- ReferentialConstraint.cs
- SafeLibraryHandle.cs
- RectangleF.cs
- EventLogTraceListener.cs
- Double.cs
- AuthenticationModuleElement.cs
- NavigationWindowAutomationPeer.cs
- BitmapEffect.cs
- HybridDictionary.cs
- OdbcPermission.cs
- SimpleWorkerRequest.cs
- GetPageNumberCompletedEventArgs.cs
- ProfileSection.cs
- CodeArgumentReferenceExpression.cs
- Stack.cs
- AcceleratedTokenProvider.cs
- invalidudtexception.cs
- KerberosSecurityTokenProvider.cs
- DynamicRendererThreadManager.cs
- QilGeneratorEnv.cs
- _AcceptOverlappedAsyncResult.cs
- Mutex.cs
- PersonalizationState.cs
- ColorTransform.cs
- SqlDataReaderSmi.cs
- activationcontext.cs
- XsdCachingReader.cs
- SqlTrackingQuery.cs
- BinaryConverter.cs
- XPathAncestorIterator.cs
- SpoolingTaskBase.cs
- ResourcesGenerator.cs
- RC2CryptoServiceProvider.cs
- PointConverter.cs
- InfoCardAsymmetricCrypto.cs
- SmiMetaDataProperty.cs
- WebPartConnectionsConfigureVerb.cs
- EnvironmentPermission.cs
- SettingsPropertyValueCollection.cs
- ShaderEffect.cs
- TimeoutException.cs
- StringDictionary.cs
- PrePostDescendentsWalker.cs
- RuntimeWrappedException.cs
- InkPresenterAutomationPeer.cs
- Page.cs
- PeerNodeAddress.cs
- PackagingUtilities.cs
- CharEnumerator.cs
- X509Certificate2Collection.cs
- AnnotationAdorner.cs
- RowsCopiedEventArgs.cs
- FixedDocumentSequencePaginator.cs
- QilScopedVisitor.cs
- PeerPresenceInfo.cs
- PrimitiveSchema.cs
- XmlSchemaCompilationSettings.cs
- HtmlTableCellCollection.cs
- IFlowDocumentViewer.cs
- RandomNumberGenerator.cs
- TextBounds.cs
- QualifierSet.cs
- _HeaderInfoTable.cs
- Converter.cs
- Transform.cs
- ResourcesGenerator.cs
- MouseGesture.cs
- ComEventsMethod.cs
- LockRecoveryTask.cs
- ExpressionVisitor.cs
- SecurityVersion.cs
- QilVisitor.cs
- SqlTriggerAttribute.cs