Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / TransformFinalBlockRequest.cs / 1 / TransformFinalBlockRequest.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.IO; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; using System.Security.Principal; using System.Diagnostics; // // Summary: // Manages an encryption request from the client against a specified cryptosession. // class TransformFinalBlockRequest : 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 TransformFinalBlockRequest 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 TransformFinalBlockRequest( 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" ); IDT.ThrowInvalidArgumentConditional( null == m_inBlock || 0 == m_inBlock.Length, "inBlock" ); } // // Summary: // Attach to the appropriate cryptosession and encrypt/decrypt the data. // protected override void OnProcess() { try { TransformCryptoSession session = (TransformCryptoSession) CryptoSession.Find( m_cryptoSession, CallerPid, RequestorIdentity.User ); m_outBlock = session.TransformFinalBlock( 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
- ScaleTransform.cs
- SecurityChannelFaultConverter.cs
- DrawingAttributesDefaultValueFactory.cs
- HMACSHA256.cs
- TemplateControl.cs
- SecurityElement.cs
- TextEvent.cs
- UnsafeNativeMethods.cs
- EntityDataSourceValidationException.cs
- SQLChars.cs
- PrimitiveCodeDomSerializer.cs
- InternalBufferOverflowException.cs
- XamlInt32CollectionSerializer.cs
- SponsorHelper.cs
- IPAddressCollection.cs
- InstanceDataCollectionCollection.cs
- SqlLiftWhereClauses.cs
- Deflater.cs
- XamlGridLengthSerializer.cs
- DescriptionAttribute.cs
- PropertyBuilder.cs
- Message.cs
- _TLSstream.cs
- AuthenticodeSignatureInformation.cs
- EntityStoreSchemaFilterEntry.cs
- _DomainName.cs
- WindowsIPAddress.cs
- ExceptionUtil.cs
- TextPenaltyModule.cs
- FillBehavior.cs
- PropertyIDSet.cs
- PieceNameHelper.cs
- HttpValueCollection.cs
- NativeMethods.cs
- Literal.cs
- VectorCollection.cs
- GridItemCollection.cs
- OleDbCommandBuilder.cs
- ServerProtocol.cs
- PeerNameRecord.cs
- QilParameter.cs
- Sql8ConformanceChecker.cs
- GeometryCollection.cs
- PolyBezierSegment.cs
- VirtualizedContainerService.cs
- QuaternionValueSerializer.cs
- DBParameter.cs
- TemplateControlCodeDomTreeGenerator.cs
- SendAgentStatusRequest.cs
- XPathDocumentBuilder.cs
- ProfileServiceManager.cs
- PersonalizationStateInfoCollection.cs
- VectorCollectionConverter.cs
- SafeFileMappingHandle.cs
- DataGrid.cs
- TimeoutValidationAttribute.cs
- SamlDelegatingWriter.cs
- BindableTemplateBuilder.cs
- TCPClient.cs
- DescendantOverDescendantQuery.cs
- SiteIdentityPermission.cs
- ConnectionStringsExpressionBuilder.cs
- FileInfo.cs
- CellConstant.cs
- shaperfactory.cs
- SqlTypesSchemaImporter.cs
- FontSourceCollection.cs
- FontInfo.cs
- ExpressionConverter.cs
- ControlHelper.cs
- DataSourceXmlClassAttribute.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- CompositeCollectionView.cs
- FixedTextContainer.cs
- LifetimeServices.cs
- QuaternionConverter.cs
- XmlElement.cs
- ExceptionUtil.cs
- BaseAppDomainProtocolHandler.cs
- TabControl.cs
- CaseInsensitiveOrdinalStringComparer.cs
- IPEndPointCollection.cs
- MasterPageParser.cs
- StorageComplexPropertyMapping.cs
- ResourceProviderFactory.cs
- SafeNativeMethods.cs
- TouchEventArgs.cs
- FieldNameLookup.cs
- XmlChildEnumerator.cs
- TextTreeText.cs
- RowUpdatingEventArgs.cs
- BitmapEffectOutputConnector.cs
- WebPartExportVerb.cs
- TextTreeFixupNode.cs
- GeometryModel3D.cs
- StrokeNodeEnumerator.cs
- _NTAuthentication.cs
- MemberProjectedSlot.cs
- WasNotInstalledException.cs
- Util.cs