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
- FilterException.cs
- TextRangeEditLists.cs
- DoubleAnimationBase.cs
- X509ThumbprintKeyIdentifierClause.cs
- baseaxisquery.cs
- SimplePropertyEntry.cs
- StickyNoteContentControl.cs
- Message.cs
- SQLBytesStorage.cs
- WindowsProgressbar.cs
- DbgCompiler.cs
- DataGridViewColumnTypeEditor.cs
- WebProxyScriptElement.cs
- NotificationContext.cs
- Translator.cs
- VisualStyleInformation.cs
- UnhandledExceptionEventArgs.cs
- SortKey.cs
- OleDbError.cs
- PageTheme.cs
- IODescriptionAttribute.cs
- BypassElementCollection.cs
- QuestionEventArgs.cs
- StubHelpers.cs
- FontCacheUtil.cs
- MdiWindowListItemConverter.cs
- WindowsEditBoxRange.cs
- DocumentEventArgs.cs
- SqlErrorCollection.cs
- DataShape.cs
- WebPartUserCapability.cs
- EventSinkHelperWriter.cs
- RenderingBiasValidation.cs
- DataGridViewCellStyleEditor.cs
- GridItem.cs
- ObjectParameterCollection.cs
- TextParaClient.cs
- WasEndpointConfigContainer.cs
- Style.cs
- NamedObject.cs
- InvariantComparer.cs
- WindowsListViewItem.cs
- SmtpDateTime.cs
- CodeIdentifier.cs
- ConfigXmlSignificantWhitespace.cs
- FeatureSupport.cs
- PenLineJoinValidation.cs
- IndexerNameAttribute.cs
- DesignerLinkAdapter.cs
- TransformCollection.cs
- TemplateComponentConnector.cs
- SinglePhaseEnlistment.cs
- HtmlInputCheckBox.cs
- TokenCreationException.cs
- SHA512Managed.cs
- PasswordBoxAutomationPeer.cs
- PageEventArgs.cs
- References.cs
- FixedStringLookup.cs
- EntityDataSourceColumn.cs
- Mapping.cs
- _SSPISessionCache.cs
- CaseInsensitiveHashCodeProvider.cs
- TraceRecords.cs
- DeclaredTypeElementCollection.cs
- MorphHelper.cs
- HtmlPageAdapter.cs
- ContextProperty.cs
- HttpTransportSecurityElement.cs
- Wildcard.cs
- SqlIdentifier.cs
- ImageMapEventArgs.cs
- AccessKeyManager.cs
- WinInetCache.cs
- SizeKeyFrameCollection.cs
- BorderSidesEditor.cs
- BitmapSizeOptions.cs
- DataSourceHelper.cs
- IntPtr.cs
- WebResourceAttribute.cs
- PeerEndPoint.cs
- FontCollection.cs
- WmlPhoneCallAdapter.cs
- ModelUIElement3D.cs
- TableLayoutStyleCollection.cs
- XmlSchemaProviderAttribute.cs
- WindowsSpinner.cs
- ToolBar.cs
- PrintControllerWithStatusDialog.cs
- XmlNodeList.cs
- LineProperties.cs
- HebrewCalendar.cs
- WebPartConnectionsEventArgs.cs
- ImportCatalogPart.cs
- IntegerFacetDescriptionElement.cs
- SystemWebExtensionsSectionGroup.cs
- EnumerableValidator.cs
- DescendantQuery.cs
- MemberJoinTreeNode.cs
- MenuItem.cs