-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Description
It is unfortunately not uncommon for applications (particularly web applications) to fail whenever relying on certificates that expire. This can happen both for certificates that are specific to the application itself, or certificates of other services that our application is trying to call into. If the .NET platform started emitting some sort of telemetry each time a certificate is used, and amongst other things, included the expiration date of that certificate, then components can be built on top of that telemetry which will be able to configure filters and then set up monitoring alerts so the application developers can get notified ahead of time and prevent an issue that might take the application down.
It is important to try to define what "using" a certificate means and which scenarios are the ones that developers would care about, since certificates get used a lot by applications these days on scenarios that some might not care about, for instance, certificates will get loaded each time the application makes an https request. This means that defining the scenarios that a developer might care about could help reducing potential "noise".
Here are some initial goals that we would like to enable for application developers with this:
- Provide the ability to observe certificates used by dotnet runtime in the context of an application, including usage metadata. Cert use-case examples include service/app identity authentication (i.e. TLS, mTLS), data encryption/decryption, and signing. Including certificates where the app only has the public key.
- The observation hook/event stream must allow listeners to obtain certificate metadata to filter certificates it does not care about. e.g. customer data certificates.
- Ability to infer usage from metadata.
cc: @InterpolationStation @GrabYourPitchforks @ericstj @geeknoid @tarekgh