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
- FillErrorEventArgs.cs
- SQLDateTimeStorage.cs
- UnaryQueryOperator.cs
- CreateUserWizardDesigner.cs
- XamlBrushSerializer.cs
- StateBag.cs
- SqlDataSourceCache.cs
- HtmlGenericControl.cs
- LoginUtil.cs
- XmlSchemaImport.cs
- BaseTemplateCodeDomTreeGenerator.cs
- Label.cs
- CompletionProxy.cs
- TemplatedMailWebEventProvider.cs
- DataSourceHelper.cs
- TreeView.cs
- glyphs.cs
- DataServiceHost.cs
- SharedUtils.cs
- OleDbFactory.cs
- LoadedOrUnloadedOperation.cs
- FigureParagraph.cs
- UIElementCollection.cs
- MethodBuilderInstantiation.cs
- ConfigurationElementCollection.cs
- TabControlAutomationPeer.cs
- ObjectDataSourceSelectingEventArgs.cs
- HttpAsyncResult.cs
- RepeatBehavior.cs
- arclist.cs
- XPathNodeList.cs
- SqlMethodTransformer.cs
- PlatformCulture.cs
- SimpleParser.cs
- RequestNavigateEventArgs.cs
- MobileListItem.cs
- InputElement.cs
- CustomExpression.cs
- SharedStatics.cs
- InvalidFilterCriteriaException.cs
- ObjectView.cs
- __Error.cs
- SerializationObjectManager.cs
- ModelFactory.cs
- DictionaryManager.cs
- BamlRecordReader.cs
- IOThreadScheduler.cs
- SimpleNameService.cs
- SafeProcessHandle.cs
- UserPreferenceChangingEventArgs.cs
- PopupRoot.cs
- DependentList.cs
- Cursor.cs
- TriggerActionCollection.cs
- Padding.cs
- LinearGradientBrush.cs
- CompilationRelaxations.cs
- ControlUtil.cs
- WebPartConnectionsEventArgs.cs
- XmlSchemaValidator.cs
- TemplateColumn.cs
- ListBox.cs
- ConnectionInterfaceCollection.cs
- RIPEMD160Managed.cs
- UnwrappedTypesXmlSerializerManager.cs
- DataGridViewComboBoxColumn.cs
- ShapeTypeface.cs
- DynamicResourceExtensionConverter.cs
- IPAddressCollection.cs
- WebBrowsableAttribute.cs
- ToolStripSeparator.cs
- DropShadowBitmapEffect.cs
- ObjectSecurity.cs
- DataGridClipboardHelper.cs
- HttpValueCollection.cs
- ping.cs
- StringExpressionSet.cs
- MenuItem.cs
- Double.cs
- RegistryPermission.cs
- DashStyle.cs
- DataRelationCollection.cs
- DataServiceBehavior.cs
- ReceiveActivityValidator.cs
- EventProviderTraceListener.cs
- BasicKeyConstraint.cs
- MailAddressCollection.cs
- InvalidOleVariantTypeException.cs
- LinqExpressionNormalizer.cs
- DataGridViewCellStyle.cs
- LexicalChunk.cs
- CodeActivity.cs
- DocumentScope.cs
- DocumentSchemaValidator.cs
- RadioButtonAutomationPeer.cs
- PageStatePersister.cs
- FileDialogCustomPlacesCollection.cs
- Overlapped.cs
- PluggableProtocol.cs
- EntityDesignerUtils.cs