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
- HtmlTable.cs
- RolePrincipal.cs
- ProfileGroupSettings.cs
- Int32Converter.cs
- ResourceReferenceKeyNotFoundException.cs
- DifferencingCollection.cs
- XmlSchemaObjectTable.cs
- HashMembershipCondition.cs
- SettingsContext.cs
- AuthorizationRuleCollection.cs
- LinkTarget.cs
- BinaryFormatter.cs
- MessageQuerySet.cs
- CheckBoxFlatAdapter.cs
- X509InitiatorCertificateServiceElement.cs
- TemplateKey.cs
- WindowsMenu.cs
- MetadataArtifactLoader.cs
- BinaryReader.cs
- VisualBasicReference.cs
- Peer.cs
- AlignmentYValidation.cs
- LongValidator.cs
- PolicyDesigner.cs
- DataMemberFieldEditor.cs
- IpcManager.cs
- TemplateControlCodeDomTreeGenerator.cs
- Token.cs
- EmptyCollection.cs
- COM2IPerPropertyBrowsingHandler.cs
- WinEventTracker.cs
- NativeMethods.cs
- ProgressChangedEventArgs.cs
- ObjectDataSourceWizardForm.cs
- DependencyPropertyValueSerializer.cs
- PropertyEmitter.cs
- securestring.cs
- StickyNoteAnnotations.cs
- XmlSchemaAttributeGroup.cs
- AnimationTimeline.cs
- ExpandoClass.cs
- SmiRecordBuffer.cs
- sqlcontext.cs
- TypeDefinition.cs
- SqlParameterizer.cs
- ListItemCollection.cs
- CapabilitiesState.cs
- TagNameToTypeMapper.cs
- VersionedStream.cs
- ICspAsymmetricAlgorithm.cs
- ExpressionBuilder.cs
- ExpressionList.cs
- ViewPort3D.cs
- ExpressionPrinter.cs
- _CommandStream.cs
- StringAttributeCollection.cs
- DuplicateWaitObjectException.cs
- ResourceAttributes.cs
- TemplateLookupAction.cs
- ButtonBase.cs
- PartialClassGenerationTaskInternal.cs
- DataGridViewButtonCell.cs
- TokenBasedSet.cs
- CheckPair.cs
- controlskin.cs
- ListDictionary.cs
- HttpFileCollection.cs
- PerformanceCounterPermissionAttribute.cs
- DrawingServices.cs
- FilterEventArgs.cs
- Stylesheet.cs
- InputMethodStateChangeEventArgs.cs
- MetaForeignKeyColumn.cs
- SelectionChangedEventArgs.cs
- SafeEventHandle.cs
- XamlStream.cs
- TextContainerChangeEventArgs.cs
- RichTextBox.cs
- SmiConnection.cs
- FixedSOMElement.cs
- ProfileGroupSettings.cs
- TreeViewCancelEvent.cs
- ProgressBarHighlightConverter.cs
- log.cs
- WhitespaceRuleReader.cs
- OleDbRowUpdatingEvent.cs
- IERequestCache.cs
- CategoryAttribute.cs
- SessionEndingEventArgs.cs
- ObjectQueryExecutionPlan.cs
- IIS7WorkerRequest.cs
- TrustLevel.cs
- ReachSerializerAsync.cs
- StringUtil.cs
- ConfigurationValidatorAttribute.cs
- TextParagraphCache.cs
- ScriptingWebServicesSectionGroup.cs
- ObjectNavigationPropertyMapping.cs
- HandleCollector.cs
- XmlHierarchicalDataSourceView.cs