• caglararli@hotmail.com
  • 05386281520

Best practices for storing many certificates and private keys

Çağlar Arlı      -    16 Views

Best practices for storing many certificates and private keys

I am responsible (among many other things) for managing TLS/SSL certificates for a couple dozen or so websites for a large multinational. Some sites are hosted on Apache, some are on IIS. I use openssl to generate private keys and csr; once certificates are issued by the certificate authority, if necessary, I convert them to PFX (for IIS).

As a result of this work, I have private keys and public certificates for nearly 2 dozen large public websites stored on my work laptop. The disk is encrypted and the login process requires username/password AND fingerprint scan, however I am still concerned about the safety and security of these. Frankly, I'm not so much worried that a malicious actor may get access to my laptop, but rather that I may loose the data due to theft/loss of the laptop or even due to a hardware failure. The other issue is that if I am unavailable for whatever reason (holiday?), other people in admin roles wouldn't have access to these certs.

I don't feel comfortable to sync these to a public cloud (AWS S3, Azure storage accont, onedrive - we do have onedrive enterprise). The other options I considered were git repo (onprem git server), on-prem shared storage, Azure vault, or simply compress the whole directory with all the certs with encryption (e.g. 7z with encryption) and then uploading/storing remotely.

My requirements are:

  • Easy access to all of these files
  • Any storage, especially outside my immediate working directory, is encrypted
  • Other trusted people can access the certs in my absence
  • Ability to bulk sync files with whatever remote location it may be
  • Support for Windows and Linux
  • (Optional) versioning, i.e. when I get a new cert, I have the ability if needed to access the old cert

What are my options and best practices for this work?