// CanReadCertAndKey returns true if the certificate and key files already exists, // otherwise returns false. If lost one of cert and key, returns error. func CanReadCertAndKey(certPath, keyPath string) (bool, error) { … } // If the file represented by path exists and // readable, returns true otherwise returns false. func canReadFile(path string) bool { … } // WriteCert writes the pem-encoded certificate data to certPath. // The certificate file will be created with file mode 0644. // If the certificate file already exists, it will be overwritten. // The parent directory of the certPath will be created as needed with file mode 0755. func WriteCert(certPath string, data []byte) error { … } // NewPool returns an x509.CertPool containing the certificates in the given PEM-encoded file. // Returns an error if the file could not be read, a certificate could not be parsed, or if the file does not contain any certificates func NewPool(filename string) (*x509.CertPool, error) { … } // NewPoolFromBytes returns an x509.CertPool containing the certificates in the given PEM-encoded bytes. // Returns an error if the file could not be read, a certificate could not be parsed, or if the file does not contain any certificates func NewPoolFromBytes(pemBlock []byte) (*x509.CertPool, error) { … } // CertsFromFile returns the x509.Certificates contained in the given PEM-encoded file. // Returns an error if the file could not be read, a certificate could not be parsed, or if the file does not contain any certificates func CertsFromFile(file string) ([]*x509.Certificate, error) { … }