internal static extern uint AcceptSecurityContext(
     ref SecurityHandle phCredential,
     ref SecurityHandle phContext,
     ref SecurityBufferDesc pInput,
     uint fContextReq,
     uint TargetDataRep,
     ref SecurityHandle phNewContext,
     out SecurityBufferDesc pOutput,
     out uint pfContextAttr,
     out SecurityInteger ptsExpiry);
 internal static extern uint InitializeSecurityContext(
     ref SecurityHandle phCredential,
     IntPtr phContext,
     string pszTargetName,
     int fContextReq,
     int Reserved1,
     int TargetDataRep,
     ref SecurityBufferDesc serverTokenDesc,
     int Reserved2,
     out SecurityHandle phNewContext,
     out SecurityBufferDesc pOutput,
     out uint pfContextAttr,
     out SecurityInteger ptsExpiry);
Ejemplo n.º 3
0
        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="secBuffers">Security buffers</param>
        internal SecurityBufferDescWrapper(params SecurityBuffer[] secBuffers)
        {
            this.securityBufferDesc = new SecurityBufferDesc(secBuffers);
            List <MarshalMemory> memoryList = new List <MarshalMemory>();

            //Store information of memory allocated by marshal
            foreach (SspiSecurityBuffer securityBuffer in this.securityBufferDesc.GetBuffers())
            {
                if (securityBuffer.pSecBuffer != IntPtr.Zero)
                {
                    memoryList.Add(new MarshalMemory(securityBuffer.pSecBuffer, securityBuffer.bufferLength));
                }
            }
            this.marshalMemory = memoryList.ToArray();
        }
 internal static extern uint VerifySignature(
     ref SecurityHandle phContext,
     ref SecurityBufferDesc pMessage,
     uint MessageSeqNo,
     out uint pfQOP);
 internal static extern uint MakeSignature(
     ref SecurityHandle phContext,
     uint fQOP,
     ref SecurityBufferDesc pMessage,
     uint MessageSeqNo);
 internal static extern uint InitializeSecurityContext(
     ref SecurityHandle phCredential,
     IntPtr phContext,
     string pszTargetName,
     int fContextReq,
     int Reserved1,
     int TargetDataRep,
     ref SecurityBufferDesc serverTokenDesc,
     int Reserved2,
     out SecurityHandle phNewContext,
     out SecurityBufferDesc pOutput,
     out uint pfContextAttr,
     out SecurityInteger ptsExpiry);
 internal static extern uint EncryptMessage(
     ref SecurityHandle phContext,
     uint fQOP,
     ref SecurityBufferDesc pMessage,
     uint MessageSeqNo);
 internal static extern uint DecryptMessage(
     ref SecurityHandle phContext,
     ref SecurityBufferDesc pMessage,
     uint MessageSeqNo,
     out uint pfQOP);
 internal static extern uint CompleteAuthToken(
     ref SecurityHandle phContext,
     ref SecurityBufferDesc SecBufferDesc);
 internal static extern uint AcceptSecurityContext(
     ref SecurityHandle phCredential,
     ref SecurityHandle phContext,
     ref SecurityBufferDesc pInput,
     uint fContextReq,
     uint TargetDataRep,
     ref SecurityHandle phNewContext,
     out SecurityBufferDesc pOutput,
     out uint pfContextAttr,
     out SecurityInteger ptsExpiry);
 internal static extern uint VerifySignature(
     ref SecurityHandle phContext,
     ref SecurityBufferDesc pMessage,
     uint MessageSeqNo,
     out uint pfQOP);
 internal static extern uint MakeSignature(
     ref SecurityHandle phContext,
     uint fQOP,
     ref SecurityBufferDesc pMessage,
     uint MessageSeqNo);
 internal static extern uint DecryptMessage(
     ref SecurityHandle phContext,
     ref SecurityBufferDesc pMessage,
     uint MessageSeqNo,
     out uint pfQOP);
 internal static extern uint EncryptMessage(
     ref SecurityHandle phContext,
     uint fQOP,
     ref SecurityBufferDesc pMessage,
     uint MessageSeqNo);
 internal static extern uint CompleteAuthToken(
     ref SecurityHandle phContext,
     ref SecurityBufferDesc SecBufferDesc);
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="secBuffers">Security buffers</param>
 internal SecurityBufferDescWrapper(params SecurityBuffer[] secBuffers)
 {
     this.securityBufferDesc = new SecurityBufferDesc(secBuffers);
     List<MarshalMemory> memoryList = new List<MarshalMemory>();
     //Store information of memory allocated by marshal
     foreach (SspiSecurityBuffer securityBuffer in this.securityBufferDesc.GetBuffers())
     {
         if (securityBuffer.pSecBuffer != IntPtr.Zero)
         {
             memoryList.Add(new MarshalMemory(securityBuffer.pSecBuffer, securityBuffer.bufferLength));
         }
     }
     this.marshalMemory = memoryList.ToArray();
 }