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
- HttpListenerException.cs
- CodeCommentStatement.cs
- ClientSettingsStore.cs
- TypeInitializationException.cs
- ThreadPool.cs
- GeneratedView.cs
- XmlBindingWorker.cs
- QilStrConcat.cs
- ConnectionManagementSection.cs
- WebPartConnectionCollection.cs
- UrlPropertyAttribute.cs
- SrgsOneOf.cs
- BrowserCapabilitiesFactoryBase.cs
- Condition.cs
- FixedSOMGroup.cs
- HandlerBase.cs
- WebServiceEnumData.cs
- GetReadStreamResult.cs
- DataGridColumnHeadersPresenter.cs
- cookie.cs
- WebConfigurationHostFileChange.cs
- GenerateHelper.cs
- FloaterParagraph.cs
- Base64Encoder.cs
- XamlValidatingReader.cs
- DataTableTypeConverter.cs
- RowsCopiedEventArgs.cs
- ping.cs
- CompositionAdorner.cs
- MultiBindingExpression.cs
- EpmSyndicationContentSerializer.cs
- SqlInfoMessageEvent.cs
- DataGridViewCellValidatingEventArgs.cs
- SqlPersonalizationProvider.cs
- NavigationHelper.cs
- sqlcontext.cs
- BindStream.cs
- TextFindEngine.cs
- RotateTransform3D.cs
- DocumentPageView.cs
- ListBox.cs
- SizeConverter.cs
- CompModSwitches.cs
- Int64KeyFrameCollection.cs
- FontWeight.cs
- PatternMatcher.cs
- TreeNodeCollection.cs
- SelfIssuedAuthRSAPKCS1SignatureDeformatter.cs
- XmlValueConverter.cs
- Bits.cs
- WindowsMenu.cs
- HMACRIPEMD160.cs
- UserPreferenceChangedEventArgs.cs
- ChtmlTextBoxAdapter.cs
- ExpandoClass.cs
- _NegotiateClient.cs
- DataRelationPropertyDescriptor.cs
- SqlServices.cs
- SendSecurityHeaderElement.cs
- UnsafeNativeMethodsCLR.cs
- SmtpSection.cs
- InstancePersistenceCommandException.cs
- TextSchema.cs
- ContentControl.cs
- ExecutedRoutedEventArgs.cs
- DataServiceStreamResponse.cs
- BitmapEffect.cs
- ObjectCloneHelper.cs
- EncodingInfo.cs
- RotateTransform.cs
- CompoundFileDeflateTransform.cs
- QueuedDeliveryRequirementsMode.cs
- EditCommandColumn.cs
- OpenFileDialog.cs
- ListViewCommandEventArgs.cs
- AudioFormatConverter.cs
- IdentityNotMappedException.cs
- MessageAction.cs
- WizardPanelChangingEventArgs.cs
- FlowDocument.cs
- IIS7WorkerRequest.cs
- MemoryMappedFile.cs
- DataConnectionHelper.cs
- CharacterString.cs
- CellTreeNodeVisitors.cs
- EndPoint.cs
- TextLineResult.cs
- TabRenderer.cs
- ErrorEventArgs.cs
- TextInfo.cs
- WebPartConnection.cs
- FileController.cs
- WhitespaceSignificantCollectionAttribute.cs
- SortQuery.cs
- ToolboxComponentsCreatedEventArgs.cs
- EntityKey.cs
- RadioButton.cs
- BaseDataBoundControl.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- SpellCheck.cs