Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / HashFinalRequest.cs / 1 / HashFinalRequest.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.IO; using System.Diagnostics; using System.Security.Principal; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; // // Summary: // Manages a hash request from the client against a specified cryptosession. // class HashFinalRequest : 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 HashFinalRequest 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 HashFinalRequest( 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" ); } // // Summary: // Attach to the appropriate cryptosession and hash the data. // protected override void OnProcess() { try { HashCryptoSession session = (HashCryptoSession) CryptoSession.Find( m_cryptoSession, CallerPid, RequestorIdentity.User ); m_outBlock = session.HashFinal( 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
- ObjectListSelectEventArgs.cs
- ImpersonateTokenRef.cs
- UserInitiatedRoutedEventPermission.cs
- SatelliteContractVersionAttribute.cs
- HyperLinkColumn.cs
- NumberFunctions.cs
- HashHelper.cs
- AccessKeyManager.cs
- BrowsableAttribute.cs
- UnsignedPublishLicense.cs
- ExceptionDetail.cs
- ValidationHelper.cs
- LongPath.cs
- ExpandedWrapper.cs
- Choices.cs
- SystemKeyConverter.cs
- BaseCodeDomTreeGenerator.cs
- XpsTokenContext.cs
- WSSecureConversation.cs
- OperatingSystem.cs
- CompilerCollection.cs
- SrgsNameValueTag.cs
- WindowsTokenRoleProvider.cs
- AccessDataSource.cs
- GridLengthConverter.cs
- BamlRecordHelper.cs
- CodeObject.cs
- SafeReversePInvokeHandle.cs
- UpdateTranslator.cs
- SmtpNetworkElement.cs
- DesignTableCollection.cs
- TemplateControlParser.cs
- FirstMatchCodeGroup.cs
- ProxyHwnd.cs
- OdbcEnvironment.cs
- ListControlConvertEventArgs.cs
- SamlSecurityTokenAuthenticator.cs
- PtsContext.cs
- Cursor.cs
- Error.cs
- SecureEnvironment.cs
- StatusBarAutomationPeer.cs
- XmlCustomFormatter.cs
- CacheEntry.cs
- FlowLayoutPanel.cs
- XComponentModel.cs
- TreeNode.cs
- UIServiceHelper.cs
- WindowsListViewGroupSubsetLink.cs
- ObjectContext.cs
- MetadataUtil.cs
- IPEndPoint.cs
- UnmanagedMemoryStream.cs
- InvalidTimeZoneException.cs
- __ComObject.cs
- ToolStripDropDownItemDesigner.cs
- Thickness.cs
- BindStream.cs
- XmlnsCache.cs
- DataGridViewTextBoxCell.cs
- HttpModulesInstallComponent.cs
- MetaColumn.cs
- RegexMatch.cs
- BitmapMetadata.cs
- HttpCacheVary.cs
- WizardSideBarListControlItem.cs
- BuildResultCache.cs
- BindingExpressionBase.cs
- ApplicationSecurityManager.cs
- WebSysDescriptionAttribute.cs
- PageCatalogPart.cs
- ArcSegment.cs
- ErrorFormatter.cs
- SymbolType.cs
- ButtonChrome.cs
- ImplicitInputBrush.cs
- ObjectSecurity.cs
- FileNotFoundException.cs
- SecureEnvironment.cs
- SBCSCodePageEncoding.cs
- PolyBezierSegment.cs
- HttpListenerContext.cs
- CounterNameConverter.cs
- RotateTransform.cs
- ModuleConfigurationInfo.cs
- ToolBarTray.cs
- XPathNavigatorKeyComparer.cs
- X509ChainElement.cs
- webeventbuffer.cs
- PartialCachingControl.cs
- DataGridViewTextBoxColumn.cs
- JobDuplex.cs
- XhtmlBasicPanelAdapter.cs
- SerializerWriterEventHandlers.cs
- AbsoluteQuery.cs
- CLSCompliantAttribute.cs
- CodeAssignStatement.cs
- Util.cs
- DesignerSerializerAttribute.cs
- serverconfig.cs