镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

[QUIC] Eliminate peer X509 certificate parsing on Linux #101602

Open

Description

@rzikm

Originally, MsQuic linked statically to both libssl (forked to add QUIC supporting APIs) and libcrypto. Because of that it was dangerous to pass raw X509* to applications, because the system installed libcrypto (where OpenSSL's X.509 code lives) could be different version and have different X509 object layout. So currently, the certificates are being serialized to DER or PKCS12 format and parsed again by the application, which delays the handshake by about 1 ms.

Since recent MsQuic versions are compiled to use system-installed libcrypto, it should be possible to exchange raw X509* under these conditions:

  • MsQuic was compiled with -UseSystemOpenSSLCrypto
  • MsQuic was dynamically linked against the same libcrypto version used by .NET process

To verify these conditions, we need additional API surface in MsQuic (additional global Get-only parameters).

Activity

  1. dotnet-policy-service commented on Apr 26, 2024

    @dotnet-policy-service
    Contributor

    Tagging subscribers to this area: @dotnet/ncl
    See info in area-owners.md if you want to be subscribed.

  2. rzikm commented on Apr 26, 2024

    @rzikm
    MemberAuthor

    Scratch that, i must have miscounted decimal digits, the impact is order of magnitude lower than I assumed (in order of ms). Updatd description. This makes it low priority.

  3. removed
    untriagedNew issue has not been triaged by the area owner
    on May 13, 2024
  4. added this to the Future milestone on May 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions