DEV Community

Cover image for How to get base64 encoded string of a certificate in C#
Emanuele Bartolesi
Emanuele Bartolesi

Posted on

3

How to get base64 encoded string of a certificate in C#

In the last few weeks I worked a lot with certificates and authentication with C# and console application.
For a lot of reasons, sometimes, I need a base64 encoded string version of the certificates I have installed locally on my machine.



    public string GetEncodedStringFromCertificate(string certThumbprint, string certPassword)
    {
        var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
        store.Open(OpenFlags.ReadOnly);

        var certificate = store.Certificates.Find(X509FindType.FindByThumbprint, certThumbprint, false).First();
        var exp = certificate.Export(X509ContentType.Pfx, certPassword);
        var base64 = Convert.ToBase64String(exp);
        store.Close();

        return base64;
    }


Enter fullscreen mode Exit fullscreen mode

I have created this function above to retrieve a certificate with a Thumbprint and a password.
By the way it's not important the way to retrieve the certificate, but how to export to a base64 encoded string.

In my case I have a lot of Pfx, but you can choose the right certificate type for you.


Thanks for reading this post, I hope you found it interesting!

Feel free to follow me to get notified when new articles are out 🙂

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

Top comments (1)

Collapse
 
elmalah profile image
Tarek El-Mallah

Thanks, that work for me, I was searching for long time to get base64 from X509 Certificate.

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More