continuedev / continuedev/continue
Error: clientCert not provided to server.
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 36k
- Forks
- 5.4k
- PR merge metrics
- No merged PRs in 30d
Description
Error Details
Model: Qwen3 32B (Home)
Provider: ollama
Status Code: 400
Error Output
<html>
<head><title>400 No required SSL certificate was sent</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<center>No required SSL certificate was sent</center>
<hr><center>nginx</center>
</body>
</html>
Additional Context
- Server rejects as no client cert given.
- YAML parsed, as if I miss-spell cert or key it does fail.
- Cert and key files are found, as if I miss-spell paths, I see "file not found"
- Removing verifySsl doesn't help.
- Both key and cert are given, no passphrase needed.
- Server cert valid, imported to system store and indeed continue rejected the server before that.
- Client cert/key valid, verified with curl.
- Also verified that curl sees the same error if client cert/key are not provided.
- Client cert/key also in system store, using the thumbprint in config.yaml failed as missing file.
- Combining cert/key into pem file also failed.
- Seen in continue.continue-1.2.24-win32-x64/out/extension.js options for thumbprint and thumbprintSha256, which also didn't work.
- Looks like version is continue.continue-1.2.24-win32-x64
config.YAML:
name: Main Config
version: 1.0.0
schema: v1
models:
- name: Some_model
provider: ollama
model: qwen3:32b
apiBase: https://some-server.com
requestOptions:
verifySsl: true
clientCertificate:
cert: C:/Users/someUser/.certs/my_cert.crt
key: C:/Users/someUser/.certs/my_key.key
roles:- chat
- edit
- apply
If you got here searching for a solution, here is a workaround:
You can setup a local tunnel, so that continue.dev will connect without encryption to localhost:port
And the tunnel will act as a proxy, and forward localhost:port securely to the server.
For example, stunnel can be used, after adding your server certificate and client key to whatever keyring or store your OS has.
There are many other ways, ask your local llm, via continue.dev :P
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing clientCertificate handling from the requestOptions shown in config.yaml into continue.continue-1.2.24-win32-x64/out/extension.js, comparing the cert and key paths with the curl setup that succeeds. Reproduce the request against the nginx server and confirm that the client certificate is sent and the 400 response is resolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ollama, typescript
- Domain
- networking, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100