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
- ObjectAnimationBase.cs
- CodeBlockBuilder.cs
- MessagePropertyVariants.cs
- COM2PropertyBuilderUITypeEditor.cs
- LocalsItemDescription.cs
- ClientCultureInfo.cs
- StretchValidation.cs
- RuntimeWrappedException.cs
- SafeMILHandle.cs
- HtmlInputFile.cs
- MarkupObject.cs
- RecognitionEventArgs.cs
- DynamicILGenerator.cs
- InputBinding.cs
- TimerEventSubscriptionCollection.cs
- StrokeNodeEnumerator.cs
- NotImplementedException.cs
- TypeExtensionConverter.cs
- ComMethodElementCollection.cs
- DrawingGroup.cs
- UserPreferenceChangedEventArgs.cs
- PersistenceException.cs
- TextLineBreak.cs
- RegisteredHiddenField.cs
- SetterBaseCollection.cs
- XPathException.cs
- BindingGraph.cs
- XDeferredAxisSource.cs
- QilInvokeLateBound.cs
- __Filters.cs
- httpstaticobjectscollection.cs
- FixedTextSelectionProcessor.cs
- Soap12ServerProtocol.cs
- ChangeToolStripParentVerb.cs
- HttpListenerPrefixCollection.cs
- XmlTextAttribute.cs
- SafeProcessHandle.cs
- TextReader.cs
- PolicyException.cs
- ThumbAutomationPeer.cs
- FolderNameEditor.cs
- TextRange.cs
- XamlToRtfWriter.cs
- AuthorizationRule.cs
- SelectionProviderWrapper.cs
- GiveFeedbackEvent.cs
- TabControl.cs
- CurrencyWrapper.cs
- ExpiredSecurityTokenException.cs
- hwndwrapper.cs
- PrinterUnitConvert.cs
- CodeRemoveEventStatement.cs
- FlowDocumentView.cs
- FormClosedEvent.cs
- HtmlEncodedRawTextWriter.cs
- Material.cs
- BasicCommandTreeVisitor.cs
- TranslateTransform3D.cs
- SystemIcmpV6Statistics.cs
- StrokeNodeData.cs
- UserNameSecurityToken.cs
- TraceContext.cs
- OdbcConnectionPoolProviderInfo.cs
- IODescriptionAttribute.cs
- BitmapImage.cs
- AvTraceDetails.cs
- TemplatedWizardStep.cs
- NavigationPropertyEmitter.cs
- FormatConvertedBitmap.cs
- RecognizedAudio.cs
- TraceListener.cs
- ToggleButtonAutomationPeer.cs
- PanningMessageFilter.cs
- PointAnimationBase.cs
- ModuleBuilder.cs
- TraceEventCache.cs
- Span.cs
- RangeContentEnumerator.cs
- MultiSelector.cs
- BrowsableAttribute.cs
- CultureData.cs
- PageThemeBuildProvider.cs
- PanelStyle.cs
- BinHexEncoder.cs
- HitTestParameters.cs
- DomainConstraint.cs
- WebBrowsableAttribute.cs
- SessionPageStateSection.cs
- XhtmlBasicSelectionListAdapter.cs
- OutputCacheProfileCollection.cs
- ClientProxyGenerator.cs
- VBIdentifierTrimConverter.cs
- EntityDesignerBuildProvider.cs
- InkSerializer.cs
- DataSourceHelper.cs
- SqlCachedBuffer.cs
- BitmapPalette.cs
- TdsParserSessionPool.cs
- MasterPage.cs
- DataGridViewCellParsingEventArgs.cs