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
- UIElementParaClient.cs
- DataErrorValidationRule.cs
- TextFindEngine.cs
- SmiMetaData.cs
- StylusSystemGestureEventArgs.cs
- KeyedHashAlgorithm.cs
- MailMessage.cs
- OdbcTransaction.cs
- LeaseManager.cs
- ZipIOFileItemStream.cs
- JsonDeserializer.cs
- TextRange.cs
- GenericTypeParameterBuilder.cs
- NumberSubstitution.cs
- DataControlFieldCollection.cs
- TableLayoutStyle.cs
- LocatorPart.cs
- ToolZoneDesigner.cs
- XmlQuerySequence.cs
- Geometry.cs
- MatrixIndependentAnimationStorage.cs
- Rijndael.cs
- SqlDependency.cs
- FormView.cs
- XmlNullResolver.cs
- DecoderFallback.cs
- WindowsListView.cs
- WebHttpElement.cs
- PersonalizationProvider.cs
- EntityDataSourceSelectedEventArgs.cs
- TraceLevelStore.cs
- SvcMapFileLoader.cs
- SafeNativeMethodsMilCoreApi.cs
- AppDomainFactory.cs
- EventHandlersDesigner.cs
- Events.cs
- ChangeBlockUndoRecord.cs
- ListViewItemMouseHoverEvent.cs
- TransformerConfigurationWizardBase.cs
- ContractBase.cs
- BehaviorEditorPart.cs
- UnsafeNativeMethods.cs
- XsdValidatingReader.cs
- EventLogPropertySelector.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- DeflateEmulationStream.cs
- GcHandle.cs
- QuaternionRotation3D.cs
- DbConnectionFactory.cs
- WaitHandle.cs
- SingleStorage.cs
- RelationshipDetailsRow.cs
- BaseDataListDesigner.cs
- _Semaphore.cs
- DictionaryItemsCollection.cs
- XmlSchemaInferenceException.cs
- CreateUserWizardAutoFormat.cs
- SystemColors.cs
- MetadataItemEmitter.cs
- RadioButton.cs
- Base64Encoder.cs
- EndPoint.cs
- HtmlLink.cs
- EmptyWithCancelationCheckWorkItem.cs
- Help.cs
- SqlDataSourceFilteringEventArgs.cs
- EditorAttribute.cs
- ExpressionPrefixAttribute.cs
- DynamicPhysicalDiscoSearcher.cs
- PasswordTextContainer.cs
- DataServiceResponse.cs
- TimeSpanParse.cs
- PropertyPathWorker.cs
- XPathArrayIterator.cs
- TextTrailingWordEllipsis.cs
- OutputCacheSection.cs
- Repeater.cs
- TemplatePagerField.cs
- SoapSchemaMember.cs
- SymbolPair.cs
- FixedNode.cs
- ObjectDataProvider.cs
- TypeElement.cs
- NumericExpr.cs
- TextServicesLoader.cs
- SmtpSection.cs
- HtmlLabelAdapter.cs
- ErrorWrapper.cs
- RightsManagementEncryptedStream.cs
- WebBrowsableAttribute.cs
- ProcessModuleCollection.cs
- StructuralCache.cs
- ResizeGrip.cs
- StylusCaptureWithinProperty.cs
- DependencyPropertyDescriptor.cs
- TypeGeneratedEventArgs.cs
- basevalidator.cs
- SHA256Managed.cs
- XPathExpr.cs
- SplitterPanel.cs