Skip to content

Access violation sending client cert with SChannel #17626

Open
@kevinAlbs

Description

@kevinAlbs

I did this

curl.exe "https://localhost:27777" --cert "$CERTS\client.p12" --insecure
# Prints: curl: (35) schannel: next InitializeSecurityContext failed: SEC_E_INTERNAL_ERROR (0x80090304) - The Local Security Authority cannot be contacted

I expected the following

No error running the curl.exe command.

curl/libcurl version

curl 8.15.0-DEV (Windows) libcurl/8.15.0-DEV Schannel
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher gophers http https imap imaps ipfs ipns ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS HSTS HTTPS-proxy IPv6 Kerberos Largefile NTLM SPNEGO SSL SSPI threadsafe UnixSockets

operating system

Windows Server 2022 Version 21H2

to reproduce

Here are test certificates and scripts to reproduce.

When running through the VS Code debugger, I see an exception on this line:

Exception thrown at 0x00007FFE4BAF3CF4 (cryptsp.dll) in curl.exe: 0xC0000005: Access violation reading location 0x00000000000000E8.

As a comparison, dotnet (which appears to use the system SChannel?) appears to succeed at connecting. See the with-dotnet comparison.

additional background

I am unsure if this falls in listing in KNOWN_BUGS: 2.7 Client cert (MTLS) issues with Schannel. The listing only references #3145. This bug appears different (referenced line was not run when debugging) so I thought it was worth reporting.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions