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
- SafeBitVector32.cs
- CaretElement.cs
- SourceFileInfo.cs
- OrderedDictionary.cs
- ReliableChannelBinder.cs
- SecurityTokenException.cs
- ExeConfigurationFileMap.cs
- SqlInfoMessageEvent.cs
- StickyNote.cs
- EmptyQuery.cs
- ZipPackagePart.cs
- HttpResponseWrapper.cs
- XmlElementAttributes.cs
- DataSourceHelper.cs
- CounterCreationData.cs
- SqlTypesSchemaImporter.cs
- Calendar.cs
- WebUtil.cs
- ClientScriptManagerWrapper.cs
- HttpListenerResponse.cs
- ClientReliableChannelBinder.cs
- EntityCommandCompilationException.cs
- ModelItemCollectionImpl.cs
- NetSectionGroup.cs
- HttpProxyCredentialType.cs
- RIPEMD160.cs
- safemediahandle.cs
- SqlConnectionHelper.cs
- FileLogRecordHeader.cs
- SQLDecimalStorage.cs
- shaperfactoryquerycacheentry.cs
- ToolboxItemAttribute.cs
- DockPatternIdentifiers.cs
- ProviderBase.cs
- TextRangeEditLists.cs
- PropertyChangingEventArgs.cs
- _HelperAsyncResults.cs
- TextSelectionProcessor.cs
- ActivityCodeDomSerializationManager.cs
- DataSourceDesigner.cs
- PackagePartCollection.cs
- MonthChangedEventArgs.cs
- SchemaMerger.cs
- BoundingRectTracker.cs
- ProcessHostServerConfig.cs
- SingleAnimationUsingKeyFrames.cs
- EntityDataSourceContainerNameItem.cs
- MetafileHeader.cs
- TokenBasedSetEnumerator.cs
- XPathSingletonIterator.cs
- MailWriter.cs
- ListenerTraceUtility.cs
- XXXOnTypeBuilderInstantiation.cs
- HttpListenerElement.cs
- AnnotationService.cs
- Scene3D.cs
- ToolStripDropDownClosedEventArgs.cs
- DoubleUtil.cs
- DirectoryGroupQuery.cs
- SimpleMailWebEventProvider.cs
- GlyphInfoList.cs
- DataListItemEventArgs.cs
- FixedStringLookup.cs
- RawStylusActions.cs
- ConditionChanges.cs
- QilValidationVisitor.cs
- ToolboxItem.cs
- ModelTreeEnumerator.cs
- counter.cs
- cryptoapiTransform.cs
- MatrixAnimationUsingPath.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- InteropExecutor.cs
- RenderDataDrawingContext.cs
- CollectionExtensions.cs
- SHA384CryptoServiceProvider.cs
- Ref.cs
- DataControlFieldHeaderCell.cs
- SR.cs
- BamlRecordReader.cs
- DataServiceHost.cs
- StateDesigner.Helpers.cs
- WinFormsSecurity.cs
- TitleStyle.cs
- Run.cs
- BezierSegment.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- FillErrorEventArgs.cs
- SecurityUtils.cs
- DnsCache.cs
- XmlAttributeCollection.cs
- GridViewDeletedEventArgs.cs
- ProfessionalColorTable.cs
- PreviewControlDesigner.cs
- TraceEventCache.cs
- LogManagementAsyncResult.cs
- TableProviderWrapper.cs
- Application.cs
- SimplePropertyEntry.cs
- DeviceContext.cs