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
- WebPartActionVerb.cs
- AtomParser.cs
- SwitchAttribute.cs
- IndependentAnimationStorage.cs
- SqlDataSourceQueryConverter.cs
- ThreadPool.cs
- IDReferencePropertyAttribute.cs
- nulltextnavigator.cs
- AnnotationService.cs
- PseudoWebRequest.cs
- SignedPkcs7.cs
- IssuerInformation.cs
- XmlChildEnumerator.cs
- ObjectListDataBindEventArgs.cs
- XmlBoundElement.cs
- NumberFunctions.cs
- ContractMapping.cs
- SerializerWriterEventHandlers.cs
- clipboard.cs
- FormsIdentity.cs
- SizeConverter.cs
- GlyphCollection.cs
- QueryCursorEventArgs.cs
- BindingWorker.cs
- SetMemberBinder.cs
- ExplicitDiscriminatorMap.cs
- Html32TextWriter.cs
- FileSystemInfo.cs
- ByeOperationAsyncResult.cs
- EtwTrace.cs
- SqlUtils.cs
- InputMethodStateTypeInfo.cs
- ParentUndoUnit.cs
- SupportsEventValidationAttribute.cs
- NavigationPropertySingletonExpression.cs
- EdmEntityTypeAttribute.cs
- DynamicExpression.cs
- BitmapEffectInputConnector.cs
- AddressHeaderCollection.cs
- AsyncDataRequest.cs
- ReaderWriterLock.cs
- WhiteSpaceTrimStringConverter.cs
- WebPartUserCapability.cs
- PermissionSet.cs
- IssuanceLicense.cs
- CachedBitmap.cs
- WebBrowserNavigatedEventHandler.cs
- ClientSettingsStore.cs
- MetadataItemCollectionFactory.cs
- IMembershipProvider.cs
- TrackingRecord.cs
- MethodExpr.cs
- TemplatePartAttribute.cs
- PageAsyncTask.cs
- HtmlSelect.cs
- ValueUnavailableException.cs
- VirtualPathUtility.cs
- FreezableDefaultValueFactory.cs
- RelationshipType.cs
- GlyphRunDrawing.cs
- MetadataFile.cs
- MimeObjectFactory.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- XsdDateTime.cs
- ErrorTableItemStyle.cs
- ErasingStroke.cs
- Parameter.cs
- Pair.cs
- XmlObjectSerializerWriteContext.cs
- BuildProviderAppliesToAttribute.cs
- StrokeNodeEnumerator.cs
- TextFormatterContext.cs
- MatrixTransform3D.cs
- basenumberconverter.cs
- WebServiceData.cs
- DbReferenceCollection.cs
- SmtpNetworkElement.cs
- RTLAwareMessageBox.cs
- BehaviorEditorPart.cs
- GlobalDataBindingHandler.cs
- PerfService.cs
- CodeTypeReference.cs
- DependencyObjectCodeDomSerializer.cs
- StylusPointProperty.cs
- SchemaImporterExtensionElement.cs
- ScriptRef.cs
- MarshalByValueComponent.cs
- CompilerWrapper.cs
- SemanticTag.cs
- IndexedGlyphRun.cs
- PlanCompiler.cs
- MonitorWrapper.cs
- ThumbButtonInfo.cs
- SqlIdentifier.cs
- Oid.cs
- OdbcUtils.cs
- GZipStream.cs
- ToolStripItem.cs
- BitmapMetadata.cs
- PixelFormatConverter.cs