Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / TransformFinalBlockRequest.cs / 1 / TransformFinalBlockRequest.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.IO; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; using System.Security.Principal; using System.Diagnostics; // // Summary: // Manages an encryption request from the client against a specified cryptosession. // class TransformFinalBlockRequest : ClientRequest { // // The cryptosession id we are attaching to. // int m_cryptoSession; // // The cleartext data we wish to transfrom // byte[] m_inBlock; // // The transformed data. // byte[] m_outBlock; // // Sumamry: // Construct an TransformFinalBlockRequest 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 TransformFinalBlockRequest( Process callingProcess, WindowsIdentity callingIdentity, IntPtr rpcHandle, Stream inArgs, Stream outArgs ) : base( callingProcess, callingIdentity, rpcHandle, inArgs, outArgs ) { IDT.TraceDebug( "Intiating an Encrypt request" ); } protected override void OnMarshalInArgs() { IDT.DebugAssert( null != InArgs, "null inargs" ); BinaryReader reader = new InfoCardBinaryReader( InArgs ); m_cryptoSession = reader.ReadInt32(); int count = reader.ReadInt32(); m_inBlock = reader.ReadBytes( count ); IDT.ThrowInvalidArgumentConditional( 0 == m_cryptoSession, "cryptoSession" ); IDT.ThrowInvalidArgumentConditional( null == m_inBlock || 0 == m_inBlock.Length, "inBlock" ); } // // Summary: // Attach to the appropriate cryptosession and encrypt/decrypt the data. // protected override void OnProcess() { try { TransformCryptoSession session = (TransformCryptoSession) CryptoSession.Find( m_cryptoSession, CallerPid, RequestorIdentity.User ); m_outBlock = session.TransformFinalBlock( m_inBlock ); } finally { Array.Clear( m_inBlock, 0, m_inBlock.Length ); } } protected override void OnMarshalOutArgs() { IDT.DebugAssert( null != OutArgs, "Null out args" ); IDT.DebugAssert( null != m_outBlock, "null outBlock buffer" ); BinaryWriter writer = new BinaryWriter( OutArgs ); Utility.SerializeBytes( writer, m_outBlock ); } } } // 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
- CodeAttributeArgumentCollection.cs
- Visual3D.cs
- Asn1Utilities.cs
- RequestStatusBarUpdateEventArgs.cs
- PersistChildrenAttribute.cs
- Popup.cs
- MsmqChannelListenerBase.cs
- XmlSerializerFactory.cs
- DataRow.cs
- SecurityResources.cs
- InputScopeConverter.cs
- GenericAuthenticationEventArgs.cs
- DataControlField.cs
- RegexWorker.cs
- TypeConverterBase.cs
- ZipIOCentralDirectoryFileHeader.cs
- ComboBoxRenderer.cs
- ProcessModelInfo.cs
- LinearKeyFrames.cs
- SqlUdtInfo.cs
- EventsTab.cs
- MdiWindowListStrip.cs
- WebConfigurationHost.cs
- ClipboardData.cs
- DragDeltaEventArgs.cs
- DataListItem.cs
- ScriptModule.cs
- PageClientProxyGenerator.cs
- AnimationClockResource.cs
- ViewBase.cs
- SqlFunctionAttribute.cs
- StorageConditionPropertyMapping.cs
- HMACRIPEMD160.cs
- InstanceDataCollection.cs
- LinkLabel.cs
- SafeLocalMemHandle.cs
- HtmlControl.cs
- DataError.cs
- Help.cs
- UIElement3DAutomationPeer.cs
- XslTransform.cs
- PackagePart.cs
- ObjectCloneHelper.cs
- Trace.cs
- CacheRequest.cs
- ListItemConverter.cs
- CmsInterop.cs
- ClickablePoint.cs
- SingleStorage.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- InlineUIContainer.cs
- CacheMemory.cs
- MarkupProperty.cs
- ToolStripComboBox.cs
- DispatcherOperation.cs
- DocumentPage.cs
- DataGridViewCellMouseEventArgs.cs
- HotSpot.cs
- PenThreadPool.cs
- NamedPipeConnectionPoolSettings.cs
- TimelineCollection.cs
- CqlErrorHelper.cs
- ColumnMap.cs
- DesignBindingEditor.cs
- Axis.cs
- MergeLocalizationDirectives.cs
- TransactionContextValidator.cs
- ExtensionCollection.cs
- Compiler.cs
- CngKeyBlobFormat.cs
- StylusButtonEventArgs.cs
- MetadataItemEmitter.cs
- SingletonConnectionReader.cs
- SourceSwitch.cs
- SqlTypeSystemProvider.cs
- EdmType.cs
- ErrorWebPart.cs
- BaseParaClient.cs
- TextProperties.cs
- ElementUtil.cs
- XamlToRtfParser.cs
- StorageComplexTypeMapping.cs
- ConfigurationManagerInternalFactory.cs
- TextBoxAutomationPeer.cs
- DataGridToolTip.cs
- safelink.cs
- ValidationVisibilityAttribute.cs
- TypeDependencyAttribute.cs
- ObjectStateFormatter.cs
- Cursors.cs
- WebPartsPersonalizationAuthorization.cs
- PreProcessInputEventArgs.cs
- XPathSingletonIterator.cs
- ContainerSelectorBehavior.cs
- XsltSettings.cs
- EndOfStreamException.cs
- EncryptedPackageFilter.cs
- CommonObjectSecurity.cs
- FacetValues.cs
- TextRange.cs