It looks like I can make a Self-signed certificate in .NET Core pretty easily:
var rsa = RSA.Create(KeySize);
var request = new CertificateRequest(distinguishedName, rsa, HashAlgorithm,
RSASignaturePadding.Pkcs1);
request.CertificateExtensions.Add(new X509BasicConstraintsExtension(false, false, 0, false));
request.CertificateExtensions.Add(new X509KeyUsageExtension(
X509KeyUsageFlags.DigitalSignature | X509KeyUsageFlags.DataEncipherment |
X509KeyUsageFlags.NonRepudiation, false));
var cert = request.CreateSelfSigned(DateTimeOffset.Now, DateTimeOffset.Now.Add(CertificateLifespan));
...it also looks like I can store that certificate pretty easily:
using var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
store.Add(certificate);
store.Close();
...but I don't see how to revoke that certificate. What needs to happen to render that certificate invalid?