From 0a33ec60f77ad0c7f03a0751fb4dd55faba2fe0b Mon Sep 17 00:00:00 2001 From: ksharperd <45651732+ksharperd@users.noreply.github.com> Date: Mon, 27 Jul 2026 17:33:27 +0100 Subject: [PATCH] Update SetCredentialsAttributesW to match the native C API declaration per #131416, check https://learn.microsoft.com/en-gb/windows/win32/api/sspi/nf-sspi-setcredentialsattributesw for native C declaration. --- .../Common/src/Interop/Windows/SspiCli/Interop.SSPI.cs | 4 ++-- .../src/System/Net/Security/SslStreamPal.Windows.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libraries/Common/src/Interop/Windows/SspiCli/Interop.SSPI.cs b/src/libraries/Common/src/Interop/Windows/SspiCli/Interop.SSPI.cs index 03dbb2b9346497..1051e13fc4a201 100644 --- a/src/libraries/Common/src/Interop/Windows/SspiCli/Interop.SSPI.cs +++ b/src/libraries/Common/src/Interop/Windows/SspiCli/Interop.SSPI.cs @@ -538,8 +538,8 @@ internal static partial SECURITY_STATUS SspiEncodeStringsAsAuthIdentity( [LibraryImport(Interop.Libraries.SspiCli, SetLastError = true)] internal static partial SECURITY_STATUS SetCredentialsAttributesW( in CredHandle handlePtr, - long ulAttribute, + uint ulAttribute, in SecPkgCred_ClientCertPolicy pBuffer, - long cbBuffer); + uint cbBuffer); } } diff --git a/src/libraries/System.Net.Security/src/System/Net/Security/SslStreamPal.Windows.cs b/src/libraries/System.Net.Security/src/System/Net/Security/SslStreamPal.Windows.cs index 9b570f46fed09f..2d4d75b709fd0e 100644 --- a/src/libraries/System.Net.Security/src/System/Net/Security/SslStreamPal.Windows.cs +++ b/src/libraries/System.Net.Security/src/System/Net/Security/SslStreamPal.Windows.cs @@ -317,9 +317,9 @@ private static unsafe void AttachCertificateStore(SafeFreeCredentials cred, X509 clientCertPolicy.pwszSslCtlStoreName = ptr; Interop.SECURITY_STATUS errorCode = Interop.SspiCli.SetCredentialsAttributesW( cred._handle, - (long)Interop.SspiCli.ContextAttribute.SECPKG_ATTR_CLIENT_CERT_POLICY, + (uint)Interop.SspiCli.ContextAttribute.SECPKG_ATTR_CLIENT_CERT_POLICY, clientCertPolicy, - sizeof(Interop.SspiCli.SecPkgCred_ClientCertPolicy)); + (uint)sizeof(Interop.SspiCli.SecPkgCred_ClientCertPolicy)); if (errorCode != Interop.SECURITY_STATUS.OK) {