# Functions
GenerateCACert generates a self-signed CA certificate and a corresponding private key.
GenerateSignedCert generates a certificate for the given DNS names, signed by the given Certificate Authority, and a corresponding private key.
PEMEncode returns the PEM-encoded blocks for the given certificate and private key.
VerifySignedCert verifies the given signed certificate using the given root CA, returning the DNS names stored in the leaf certificate.