Skip to content

[Feature]: Native Rust HTTP requests on Windows should use the OS Trust Store and Support OS-provided client certificates (mTLS parity with WebView fetch) #1220

Description

@Ryanphoenix

Before you start

What problem does this solve?

Remote HTTP requests in the desktop app have two different behaviors depending on how they are routed. Certain fetches use webview + javascript, which works natively with OS provided certificate trust stores. In some enterprise cases, mTLS is required for endpoints, which then prompt the user to select their certificate.

However, the native rust HTTP isn't configured in such a way that the OS provided trust store is accessible, which means requests that require mTLS (such as OGC GetCapabilities) fail as the client side application doesn't allow the user to present their certificate.

Proposed solution

Users should have a similar experience as the javascript/WebView fetch requests where if a server requires mTLS, the user is prompted for their certificate. I do not know if rust has any way to natively prompt the user for their certificate interatively.

As a secondary, less desired option, the application should either let a user pass in a path to both their CA verify certificate and a .pem or .p12 + passphrase for user certificate, but this presents a lot more configuration o nthe user end as well as possible security concerns.

Estimated scope

Medium: a broader feature that is feasible in a reasonable timeframe

Alternatives considered

Currently none. Any native rust HTTP request method fails if accessing an enterprise http endpoint protected by mTLS.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions