System.Net.Security.Tests.UnixGssFakeNegotiateStream.WrapMessage C# (CSharp) Method

WrapMessage() private static method

private static WrapMessage ( Microsoft.Win32.SafeHandles.SafeGssContextHandle context, byte message ) : byte[]
context Microsoft.Win32.SafeHandles.SafeGssContextHandle
message byte
return byte[]
        private static byte[] WrapMessage(SafeGssContextHandle context, byte[] message)
        {
            Interop.NetSecurityNative.GssBuffer wrapped = default(Interop.NetSecurityNative.GssBuffer);
            Interop.NetSecurityNative.Status status;

            try
            {
                Interop.NetSecurityNative.Status minorStatus;
                status = Interop.NetSecurityNative.WrapBuffer(out minorStatus,
                    context, false, message, 0, message.Length, ref wrapped);
                if (status != Interop.NetSecurityNative.Status.GSS_S_COMPLETE)
                {
                    throw new Interop.NetSecurityNative.GssApiException(status, minorStatus);
                }

                return wrapped.ToByteArray();
            }
            finally
            {
                wrapped.Dispose();
            }
        }
    }