Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / GenerateDerivedKeyRequest.cs / 1 / GenerateDerivedKeyRequest.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.Collections; using System.Diagnostics; using System.Security.Principal; using System.Runtime.InteropServices; using System.Text; using System.IO; internal class GenerateDerivedKeyRequest : ClientRequest { // // in // int m_sessionId; byte[] m_label; byte[] m_nonce; int m_derivedKeyLength; int m_offset; string m_derivationAlgUri; // // out // byte[ ] m_key; // // Summary // Constructs GenerateDerivedKeyRequest class // // 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 GenerateDerivedKeyRequest( Process callingProcess, WindowsIdentity callingIdentity, IntPtr rpcHandle, Stream inArgs, Stream outArgs ) : base( callingProcess, callingIdentity, rpcHandle, inArgs, outArgs ) { m_key = null; } protected override void OnMarshalInArgs() { BinaryReader breader = new InfoCardBinaryReader( InArgs, Encoding.Unicode ); m_sessionId = breader.ReadInt32(); int length = breader.ReadInt32(); m_label = breader.ReadBytes( length ); length = breader.ReadInt32(); m_nonce = breader.ReadBytes( length ); m_derivedKeyLength = breader.ReadInt32(); m_offset = breader.ReadInt32(); m_derivationAlgUri = Utility.DeserializeString( breader ); } protected override void OnProcess() { SymmetricCryptoSession session = ( SymmetricCryptoSession )CryptoSession.Find( m_sessionId, ( uint ) CallerPid, RequestorIdentity.User ); m_key = session.GenerateDerivedKey( m_derivationAlgUri, m_label, m_nonce, m_derivedKeyLength, m_offset ); } protected override void OnMarshalOutArgs() { BinaryWriter bwriter = new BinaryWriter( OutArgs, Encoding.Unicode ); bwriter.Write( m_key.Length ); bwriter.Write( m_key ); } } } // 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
- PointAnimationUsingKeyFrames.cs
- TouchesCapturedWithinProperty.cs
- DescriptionAttribute.cs
- ViewBase.cs
- ChangeToolStripParentVerb.cs
- TrustManager.cs
- AttributeUsageAttribute.cs
- CompModSwitches.cs
- Style.cs
- EventSinkActivityDesigner.cs
- TransactionManagerProxy.cs
- SafeNativeMethods.cs
- HostingEnvironmentSection.cs
- MessageQueueCriteria.cs
- Span.cs
- InternalConfigRoot.cs
- RequestUriProcessor.cs
- CqlParserHelpers.cs
- WSDualHttpSecurityMode.cs
- AuthenticationModulesSection.cs
- HorizontalAlignConverter.cs
- _NestedMultipleAsyncResult.cs
- XmlDataImplementation.cs
- WorkBatch.cs
- EntityDataSourceEntityTypeFilterItem.cs
- BitmapEffectGeneralTransform.cs
- ObjectMaterializedEventArgs.cs
- VirtualizedContainerService.cs
- DataGridViewColumnCollection.cs
- XsltContext.cs
- OleDbMetaDataFactory.cs
- SHA512Managed.cs
- AmbientProperties.cs
- VectorAnimation.cs
- UnmanagedMemoryStreamWrapper.cs
- XsltSettings.cs
- EnvironmentPermission.cs
- LineGeometry.cs
- GlyphCollection.cs
- RuleSettings.cs
- NestPullup.cs
- ZipIOLocalFileBlock.cs
- Geometry.cs
- SqlUserDefinedTypeAttribute.cs
- ScrollableControlDesigner.cs
- Assert.cs
- EntityDesignerUtils.cs
- BindingValueChangedEventArgs.cs
- ToolStripRendererSwitcher.cs
- SessionStateContainer.cs
- ApplicationId.cs
- BulletDecorator.cs
- StringArrayConverter.cs
- Mapping.cs
- XPathNavigatorKeyComparer.cs
- FloatUtil.cs
- OleDbMetaDataFactory.cs
- AlternateViewCollection.cs
- SqlUserDefinedTypeAttribute.cs
- HttpProcessUtility.cs
- UdpAnnouncementEndpoint.cs
- WebSysDefaultValueAttribute.cs
- MultiPageTextView.cs
- ContentOnlyMessage.cs
- ProfileService.cs
- DragEvent.cs
- SqlXml.cs
- BufferedStream.cs
- RequiredAttributeAttribute.cs
- Models.cs
- UpDownBase.cs
- SchemaInfo.cs
- Clipboard.cs
- EmptyElement.cs
- EventWaitHandleSecurity.cs
- BindingEntityInfo.cs
- UITypeEditor.cs
- recordstatescratchpad.cs
- SessionPageStateSection.cs
- SmtpTransport.cs
- EventPropertyMap.cs
- DataGridAddNewRow.cs
- LineBreak.cs
- TagPrefixCollection.cs
- RelationshipNavigation.cs
- FtpRequestCacheValidator.cs
- InputLanguage.cs
- DesignerUtils.cs
- Adorner.cs
- ToolStripOverflowButton.cs
- ResetableIterator.cs
- PropertyPathConverter.cs
- DesignTimeTemplateParser.cs
- InputProcessorProfiles.cs
- ProfileProvider.cs
- DebuggerAttributes.cs
- Repeater.cs
- RightsManagementInformation.cs
- TableCell.cs
- ImageClickEventArgs.cs