Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / GetCryptoTransformRequest.cs / 1 / GetCryptoTransformRequest.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.Collections; using System.Diagnostics; using System.Security.Principal; using System.Threading; //ManualResetEvent using System.ComponentModel; //Win32Exception using System.IO; //Stream using System.Security.Cryptography; using System.Text; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; // // Summary: // Wraps a request to get a remoted ICryptoTransform interface based on a SymmetricCryptoSession. // class GetCryptoTransformRequest : ClientRequest { // // The cryptosession id we are attaching to. // int m_cryptoSession; // // The cipher mode being requested. // CipherMode m_mode; // // The padding mode being requested. // PaddingMode m_padding; // // The feedback size being requested // int m_feedbackSize; // // Is Encryption or Decryption being requested. // SymmetricCryptoSession.Direction m_direction; // // The intialization vector. // byte[] m_iv; // // The returned transform session. // TransformCryptoSession m_transformSession; // // Sumamry: // Construct a GetCryptoTransformRequest object // // Arguments: // callingProcess - The process in which the caller originated. // callingIdentity - The WindowsIdentity of the caller // rpcHandle - The handle of the native RPC request // inArgs - The stream to read input data from // outArgs - The stream to write output data to // public GetCryptoTransformRequest( Process callingProcess, WindowsIdentity callingIdentity, IntPtr rpcHandle, Stream inArgs, Stream outArgs ) : base( callingProcess, callingIdentity, rpcHandle, inArgs, outArgs ) { IDT.TraceDebug( "Intiating a GetCryptoTransform request" ); } protected override void OnMarshalInArgs() { IDT.DebugAssert( null != InArgs, "null inargs" ); BinaryReader reader = new InfoCardBinaryReader( InArgs, Encoding.Unicode ); m_cryptoSession = reader.ReadInt32(); m_mode = (CipherMode)reader.ReadInt32(); m_padding = (PaddingMode)reader.ReadInt32(); m_feedbackSize = reader.ReadInt32(); m_direction = (SymmetricCryptoSession.Direction)reader.ReadInt32(); m_iv = reader.ReadBytes( reader.ReadInt32() ); IDT.ThrowInvalidArgumentConditional( 0 == m_feedbackSize, "feedbackSize" ); } // // Summary: // Attach to the appropriate cryptosession and get a CryptoTransform // protected override void OnProcess() { SymmetricCryptoSession session = ( SymmetricCryptoSession )CryptoSession.Find( m_cryptoSession, CallerPid, RequestorIdentity.User ); m_transformSession = session.GetCryptoTransform( m_mode, m_padding, m_feedbackSize, m_direction, m_iv ); } // // Summary: // Return the TransformCryptoSession // protected override void OnMarshalOutArgs() { IDT.DebugAssert( null != OutArgs, "Null out args" ); BinaryWriter writer = new BinaryWriter( OutArgs, Encoding.Unicode ); IDT.DebugAssert( null != m_transformSession, "unexpected null outgoing transfromSession" ); m_transformSession.Write( writer ); writer.Flush(); } } } // 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
- EventsTab.cs
- WebEvents.cs
- BamlStream.cs
- ToolStripPanelRow.cs
- Send.cs
- CroppedBitmap.cs
- FormattedText.cs
- XmlUrlEditor.cs
- NullableBoolConverter.cs
- Helper.cs
- DocumentCollection.cs
- SoapCodeExporter.cs
- RemotingAttributes.cs
- ValueUnavailableException.cs
- LogicalExpressionEditor.cs
- XmlQualifiedName.cs
- OleDbErrorCollection.cs
- Win32Exception.cs
- UnicastIPAddressInformationCollection.cs
- RemoteCryptoRsaServiceProvider.cs
- RelationshipEndCollection.cs
- TransformerConfigurationWizardBase.cs
- TabControl.cs
- RunClient.cs
- EnumType.cs
- XmlMemberMapping.cs
- ContentDisposition.cs
- WsatRegistrationHeader.cs
- Point3DConverter.cs
- UpnEndpointIdentityExtension.cs
- BindingExpression.cs
- TransactedBatchContext.cs
- securestring.cs
- InstanceDataCollection.cs
- XmlSchemaSimpleContentRestriction.cs
- PageContent.cs
- RectIndependentAnimationStorage.cs
- ChtmlTextWriter.cs
- ScrollViewer.cs
- DataGridViewCellCollection.cs
- PngBitmapDecoder.cs
- IDataContractSurrogate.cs
- SoundPlayerAction.cs
- HttpFileCollection.cs
- HtmlInputSubmit.cs
- FrameworkTextComposition.cs
- VisualBrush.cs
- WebRequestModuleElementCollection.cs
- SqlPersonalizationProvider.cs
- MarkupExtensionSerializer.cs
- InfoCardTraceRecord.cs
- newitemfactory.cs
- UIElement.cs
- TrustManagerPromptUI.cs
- WebPartConnection.cs
- CorrelationManager.cs
- ServerReliableChannelBinder.cs
- WinCategoryAttribute.cs
- FormViewUpdateEventArgs.cs
- PropertyMetadata.cs
- DropDownList.cs
- HostingPreferredMapPath.cs
- _HTTPDateParse.cs
- ByteRangeDownloader.cs
- TextEditorParagraphs.cs
- DocobjHost.cs
- AdornerLayer.cs
- SaveFileDialog.cs
- UTF8Encoding.cs
- ScrollChrome.cs
- AlternateViewCollection.cs
- OutputCacheProfile.cs
- ControlIdConverter.cs
- PerformanceCounterPermission.cs
- ModifierKeysConverter.cs
- ECDiffieHellman.cs
- QuaternionAnimationBase.cs
- SqlDataSourceCustomCommandPanel.cs
- RSAOAEPKeyExchangeDeformatter.cs
- XmlSerializerAssemblyAttribute.cs
- XPathSelfQuery.cs
- ContentDisposition.cs
- CatalogPartCollection.cs
- ToolStripItemEventArgs.cs
- TouchesCapturedWithinProperty.cs
- ReadOnlyDataSource.cs
- UnknownBitmapDecoder.cs
- UpdateExpressionVisitor.cs
- MaxValueConverter.cs
- SourceLocationProvider.cs
- HostVisual.cs
- Profiler.cs
- CodeSubDirectory.cs
- QueryableFilterRepeater.cs
- ArrangedElement.cs
- BindingExpressionUncommonField.cs
- OleDbFactory.cs
- SrgsSubset.cs
- NameSpaceEvent.cs
- ThreadPool.cs