Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ InitializeSecurityContext() [1/4]

static SecurityStatusPal System.Net.Security.NegotiateStreamPal.InitializeSecurityContext ( ref SafeFreeCredentials credentialsHandle,
ref SafeDeleteContext securityContext,
string spn,
ContextFlagsPal requestedContextFlags,
byte[] incomingBlob,
ChannelBinding channelBinding,
ref byte[] resultBlob,
ref ContextFlagsPal contextFlags )
inlinestaticpackage

Definition at line 245 of file NegotiateStreamPal.cs.

246 {
247 InputSecurityBuffers inputBuffers = default(InputSecurityBuffers);
248 if (incomingBlob != null)
249 {
250 inputBuffers.SetNextBuffer(new InputSecurityBuffer(incomingBlob, SecurityBufferType.SECBUFFER_TOKEN));
251 }
252 if (channelBinding != null)
253 {
254 inputBuffers.SetNextBuffer(new InputSecurityBuffer(channelBinding));
255 }
256 SecurityBuffer outputBuffer = new SecurityBuffer(resultBlob, SecurityBufferType.SECBUFFER_TOKEN);
257 global::Interop.SspiCli.ContextFlags outFlags = global::Interop.SspiCli.ContextFlags.Zero;
258 SafeDeleteSslContext context = (SafeDeleteSslContext)securityContext;
259 global::Interop.SECURITY_STATUS win32SecurityStatus = (global::Interop.SECURITY_STATUS)SSPIWrapper.InitializeSecurityContext(GlobalSSPI.SSPIAuth, ref credentialsHandle, ref context, spn, ContextFlagsAdapterPal.GetInteropFromContextFlagsPal(requestedContextFlags), global::Interop.SspiCli.Endianness.SECURITY_NETWORK_DREP, inputBuffers, ref outputBuffer, ref outFlags);
260 securityContext = context;
261 resultBlob = outputBuffer.token;
262 contextFlags = ContextFlagsAdapterPal.GetContextFlagsPalFromInterop(outFlags);
263 return SecurityStatusAdapterPal.GetSecurityStatusPalFromInterop(win32SecurityStatus);
264 }

References System.Net.ContextFlagsAdapterPal.GetContextFlagsPalFromInterop(), System.Net.ContextFlagsAdapterPal.GetInteropFromContextFlagsPal(), System.Net.SecurityStatusAdapterPal.GetSecurityStatusPalFromInterop(), System.Net.SSPIWrapper.InitializeSecurityContext(), System.Net.Security.InputSecurityBuffers.SetNextBuffer(), System.Net.GlobalSSPI.SSPIAuth, and System.Net.Security.SecurityBuffer.token.