Skip to content

Asynchronous calls to user-provided code #850

@jsha

Description

@jsha

In rustls/rustls-native-certs#25 we discussed the desirability of using the platform verifier on macOS and Windows instead of trying to extract a set of roots, because distrust of certain roots is implemented in the platform verifier.

The platform verifiers perform blocking I/O, so the current ServerCertVerifier interface is not appropriate, since it is likely to be called on a thread doing async I/O, where we don't want to block the whole thread.

#787 is an example of solving a similar problem for the server side, but that has the advantage that accepting a ClientHello can happen before any TLS work is done. Server certificate verifier happens in the middle of the handshake.

Here's a list of related places where we have the same problem to solve, hoisted from ctz's comment below:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions