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

◆ InitializeSecurityContext()

static SecurityStatusPal System.Net.Security.SslStreamPal.InitializeSecurityContext ( ref SafeFreeCredentials credentialsHandle,
ref SafeDeleteSslContext context,
string targetName,
ReadOnlySpan< byte > inputBuffer,
ref byte[] outputBuffer,
SslAuthenticationOptions sslAuthenticationOptions )
inlinestatic

Definition at line 51 of file SslStreamPal.cs.

52 {
53 global::Interop.SspiCli.ContextFlags outFlags = global::Interop.SspiCli.ContextFlags.Zero;
54 InputSecurityBuffers inputBuffers = default(InputSecurityBuffers);
55 inputBuffers.SetNextBuffer(new InputSecurityBuffer(inputBuffer, SecurityBufferType.SECBUFFER_TOKEN));
56 inputBuffers.SetNextBuffer(new InputSecurityBuffer(default(ReadOnlySpan<byte>), SecurityBufferType.SECBUFFER_EMPTY));
57 if (sslAuthenticationOptions.ApplicationProtocols != null && sslAuthenticationOptions.ApplicationProtocols.Count != 0)
58 {
60 inputBuffers.SetNextBuffer(new InputSecurityBuffer(new ReadOnlySpan<byte>(array), SecurityBufferType.SECBUFFER_APPLICATION_PROTOCOLS));
61 }
62 SecurityBuffer outputBuffer2 = new SecurityBuffer(outputBuffer, SecurityBufferType.SECBUFFER_TOKEN);
63 int win32SecurityStatus = SSPIWrapper.InitializeSecurityContext(GlobalSSPI.SSPISecureChannel, ref credentialsHandle, ref context, targetName, global::Interop.SspiCli.ContextFlags.ReplayDetect | global::Interop.SspiCli.ContextFlags.SequenceDetect | global::Interop.SspiCli.ContextFlags.Confidentiality | global::Interop.SspiCli.ContextFlags.AllocateMemory | global::Interop.SspiCli.ContextFlags.InitManualCredValidation, global::Interop.SspiCli.Endianness.SECURITY_NATIVE_DREP, inputBuffers, ref outputBuffer2, ref outFlags);
64 outputBuffer = outputBuffer2.token;
65 return SecurityStatusAdapterPal.GetSecurityStatusPalFromNativeInt(win32SecurityStatus);
66 }
static byte[] ConvertAlpnProtocolListToByteArray(List< SslApplicationProtocol > protocols)

References System.array, System.Net.Security.SslStreamPal.ConvertAlpnProtocolListToByteArray(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Net.SecurityStatusAdapterPal.GetSecurityStatusPalFromNativeInt(), System.Net.SSPIWrapper.InitializeSecurityContext(), and System.Net.GlobalSSPI.SSPISecureChannel.

Referenced by System.Net.Security.SecureChannel.GenerateToken().