159 {
161 {
162 throw new ArgumentOutOfRangeException("count");
163 }
164 TwoSecurityBuffers twoSecurityBuffers = default(TwoSecurityBuffers);
165 Span<SecurityBuffer>
input =
MemoryMarshal.CreateSpan(ref twoSecurityBuffers._item0, 2);
166 input[0] =
new SecurityBuffer(
buffer,
offset, 16, SecurityBufferType.SECBUFFER_TOKEN);
168 SecurityBufferType securityBufferType = SecurityBufferType.SECBUFFER_DATA;
169 int num;
170 if (isConfidential)
171 {
172 num = SSPIWrapper.DecryptMessage(GlobalSSPI.SSPIAuth, securityContext,
input, sequenceNumber);
173 }
174 else
175 {
176 securityBufferType |= SecurityBufferType.SECBUFFER_READONLY;
177 input[1].type = securityBufferType;
178 num = SSPIWrapper.VerifySignature(GlobalSSPI.SSPIAuth, securityContext,
input, sequenceNumber);
179 }
180 if (num != 0)
181 {
184 {
186 }
188 }
190 {
191 throw new InternalException(
input[1].
type);
192 }
193 newOffset =
input[1].offset;
194 return input[1].size;
195 }
static readonly System.Net.NetEventSource Log
static void Error(object thisOrContextObject, FormattableString formattableString, [CallerMemberName] string memberName=null)