Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[release/8.0] Dispose the certificate chain elements with the chain#62994

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
wtgodbe merged 1 commit intorelease/8.0frommbuck/backport-cert-fix-to-8.0
Aug 5, 2025

Conversation

@MackinnonBuck
Copy link
Member

@MackinnonBuckMackinnonBuck commentedJul 29, 2025
edited
Loading

Backport of#62531 to release/8.0

Dispose the certificate chain elements with the chain

Fixes an issue in certificate authentication where certificates within a certificate chain were not getting directly disposed.

Description

Failing to dispose each certificate within an X509 chain can create significant GC pressure for applications that frequently perform TLS handshakes. While the previous disposal logic only disposed theX509Chain itself, this PR updates the logic to first enumerate and dispose each certificate in the chain directly.

Customer Impact

The original contribution was from a customer who determined that this issue has a severe negative performance impact on their large scale web application. See#62531 (comment).

Regression?

  • Yes
  • No

Risk

  • High
  • Medium
  • Low

The change is straightforward and follows an established disposal pattern.

Verification

  • Manual (required)
  • Automated

Packaging changes reviewed?

  • Yes
  • No
  • N/A

* Dispose the certificate chain elements with the chain* Fix the missing brace* Remove snarky comment.* Add another choice using based on review feedback* Styling fixes---------Co-authored-by: Mackinnon Buck <mackinnon.buck@gmail.com>
CopilotAI review requested due to automatic review settingsJuly 29, 2025 20:02
Copy link
Contributor

CopilotAI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Pull Request Overview

This PR addresses a resource management issue by ensuring that X509Certificate2 objects in certificate chains are properly disposed. The fix prevents potential memory leaks by manually disposing all certificate chain elements before disposing the chain itself.

Key changes:

  • Replaceusing declarations with try-finally blocks for X509Chain disposal
  • Add manual disposal of certificate chain elements before disposing the chain
  • Fix a syntax error (semicolon to closing brace)

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

FileDescription
src/Shared/CertificateGeneration/UnixCertificateManager.csAdds proper disposal pattern for X509Chain and its elements, fixes syntax error
src/Security/Authentication/Certificate/src/CertificateAuthenticationHandler.csImplements the same disposal pattern for certificate validation
Comments suppressed due to low confidence (1)

src/Shared/CertificateGeneration/UnixCertificateManager.cs:178

  • This appears to be fixing a syntax error where a semicolon was incorrectly used instead of a closing brace.
        }

@dotnet-policy-servicedotnet-policy-servicebot added this to the8.0.x milestoneJul 29, 2025
@MackinnonBuckMackinnonBuck added the Servicing-considerShiproom approval is required for the issue labelJul 29, 2025
@MackinnonBuckMackinnonBuck added Servicing-approvedShiproom has approved the issue and removed Servicing-considerShiproom approval is required for the issue labelsJul 30, 2025
@wtgodbewtgodbe merged commita6efb8b intorelease/8.0Aug 5, 2025
23 of 25 checks passed
@wtgodbewtgodbe deleted the mbuck/backport-cert-fix-to-8.0 branchAugust 5, 2025 01:05
@dotnet-policy-servicedotnet-policy-servicebot modified the milestones:8.0.x,8.0.20Aug 5, 2025
This was referencedSep 9, 2025
This was referencedNov 18, 2025
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

Copilot code reviewCopilotCopilot left review comments

@halter73halter73halter73 approved these changes

Assignees

No one assigned

Labels

Servicing-approvedShiproom has approved the issue

Projects

None yet

Milestone

8.0.20

Development

Successfully merging this pull request may close these issues.

5 participants

@MackinnonBuck@halter73@wtgodbe@jashook

[8]ページ先頭

©2009-2025 Movatter.jp