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
- ArrayWithOffset.cs
- Renderer.cs
- WebPartZone.cs
- SelectedGridItemChangedEvent.cs
- CodeChecksumPragma.cs
- BitmapInitialize.cs
- SqlHelper.cs
- SmtpNetworkElement.cs
- UnsafeNativeMethodsPenimc.cs
- QueryLifecycle.cs
- TypeDescriptorFilterService.cs
- TemplatePropertyEntry.cs
- SchemaEntity.cs
- InputScopeManager.cs
- EventArgs.cs
- PageRequestManager.cs
- BaseProcessor.cs
- BindStream.cs
- ColorAnimation.cs
- SiteMapNodeCollection.cs
- Image.cs
- MultilineStringConverter.cs
- FilterableAttribute.cs
- SqlReorderer.cs
- Atom10FormatterFactory.cs
- Internal.cs
- StateMachineExecutionState.cs
- TypedTableGenerator.cs
- SqlLiftIndependentRowExpressions.cs
- ElementProxy.cs
- ConfigXmlDocument.cs
- dbdatarecord.cs
- Recipient.cs
- Variant.cs
- OleDbError.cs
- SendKeys.cs
- HMACSHA384.cs
- AppDomainUnloadedException.cs
- Keywords.cs
- WpfKnownMemberInvoker.cs
- ReachDocumentSequenceSerializerAsync.cs
- SoapEnumAttribute.cs
- RadioButton.cs
- PackUriHelper.cs
- SubqueryTrackingVisitor.cs
- _HeaderInfo.cs
- ManualResetEventSlim.cs
- PropertyChangingEventArgs.cs
- SplitContainer.cs
- ContainerParagraph.cs
- KeyPullup.cs
- DataListItemCollection.cs
- GenericNameHandler.cs
- SafeEventHandle.cs
- SoapHelper.cs
- ChtmlLinkAdapter.cs
- AddressHeaderCollectionElement.cs
- Console.cs
- PatternMatcher.cs
- DispatcherFrame.cs
- ProtocolsConfiguration.cs
- UnknownBitmapEncoder.cs
- DefaultParameterValueAttribute.cs
- TextElementEnumerator.cs
- OutputCache.cs
- TextEditorLists.cs
- HttpCookiesSection.cs
- BackgroundFormatInfo.cs
- SiteMapNodeItemEventArgs.cs
- SqlDataAdapter.cs
- WindowsAltTab.cs
- NotCondition.cs
- TextRangeProviderWrapper.cs
- InheritanceContextHelper.cs
- AccessDataSourceView.cs
- NameValueSectionHandler.cs
- DataGridViewButtonColumn.cs
- ListViewItemMouseHoverEvent.cs
- FileEnumerator.cs
- CodeDirectionExpression.cs
- GifBitmapDecoder.cs
- _SslState.cs
- KeyTime.cs
- OSFeature.cs
- SqlIdentifier.cs
- Pens.cs
- WebPartDescription.cs
- ServerIdentity.cs
- FrameworkContextData.cs
- CacheAxisQuery.cs
- ConnectionsZoneAutoFormat.cs
- AppSettingsSection.cs
- OracleConnectionStringBuilder.cs
- MultiSelectRootGridEntry.cs
- UInt16Storage.cs
- EntityTemplateFactory.cs
- TextEditorDragDrop.cs
- ClientSettingsStore.cs
- EntityUtil.cs
- RepeatBehavior.cs