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
- ObjectListDesigner.cs
- TableSectionStyle.cs
- DataGridViewCellLinkedList.cs
- QilInvoke.cs
- HtmlControlDesigner.cs
- BinaryConverter.cs
- PropertyDescriptorCollection.cs
- AssociationSetMetadata.cs
- TrackingProfileCache.cs
- HtmlTextArea.cs
- BlurBitmapEffect.cs
- KnownAssembliesSet.cs
- SharedDp.cs
- PackageRelationship.cs
- BinaryConverter.cs
- SingleAnimation.cs
- AnimationTimeline.cs
- AnnotationHelper.cs
- HwndProxyElementProvider.cs
- RuleSettingsCollection.cs
- AmbientLight.cs
- LinkLabelLinkClickedEvent.cs
- OperatingSystem.cs
- HtmlMeta.cs
- SudsCommon.cs
- SpeechUI.cs
- Color.cs
- PointAnimation.cs
- Button.cs
- ContentControl.cs
- CriticalExceptions.cs
- StreamResourceInfo.cs
- Visitor.cs
- base64Transforms.cs
- HttpApplicationFactory.cs
- DataTableClearEvent.cs
- ExternalFile.cs
- XsdBuilder.cs
- MarkupExtensionParser.cs
- ControlPropertyNameConverter.cs
- ObjectView.cs
- SingleTagSectionHandler.cs
- ContentElementAutomationPeer.cs
- Variant.cs
- NullReferenceException.cs
- Int64AnimationUsingKeyFrames.cs
- XmlSchemaObject.cs
- LZCodec.cs
- IssuedTokenClientBehaviorsElement.cs
- ConstructorBuilder.cs
- ColumnReorderedEventArgs.cs
- ClientOptions.cs
- ToolStripSplitButton.cs
- BinHexEncoder.cs
- OperatingSystem.cs
- RectConverter.cs
- ScriptBehaviorDescriptor.cs
- Guid.cs
- TemplatedAdorner.cs
- DataServiceKeyAttribute.cs
- CreateUserErrorEventArgs.cs
- ItemCheckedEvent.cs
- Canvas.cs
- PerfService.cs
- ExceptionUtil.cs
- ComponentDispatcher.cs
- CancelAsyncOperationRequest.cs
- WindowsListViewGroupHelper.cs
- MimeTypeAttribute.cs
- HighlightComponent.cs
- StateRuntime.cs
- FixedSOMSemanticBox.cs
- DownloadProgressEventArgs.cs
- StdValidatorsAndConverters.cs
- ClientApiGenerator.cs
- AnnotationMap.cs
- ChannelManager.cs
- SmiEventStream.cs
- panel.cs
- DataSourceProvider.cs
- RootBrowserWindowAutomationPeer.cs
- DependencyObjectCodeDomSerializer.cs
- EntityContainerEmitter.cs
- ListBox.cs
- ImmComposition.cs
- WebServiceParameterData.cs
- IItemProperties.cs
- CompositeScriptReferenceEventArgs.cs
- InputLangChangeEvent.cs
- StickyNoteHelper.cs
- SoapMessage.cs
- WebPartZoneCollection.cs
- DomNameTable.cs
- WorkflowControlEndpoint.cs
- xml.cs
- ConnectionsZoneAutoFormat.cs
- SafeFileHandle.cs
- KeyToListMap.cs
- VirtualDirectoryMappingCollection.cs
- PointUtil.cs