code: func RenewFromPEM(caFile, keyFile string) ([]byte, error) {
  	caBytes, err := helpers.ReadBytes(caFile)
  	if err != nil {
  		return nil, err
  	}
  
  	ca, err := helpers.ParseCertificatePEM(caBytes)
  	if err != nil {
  		return nil, err
  	}
  
  	keyBytes, err := helpers.ReadBytes(keyFile)
  	if err != nil {
  		return nil, err
  	}
  
  	key, err := helpers.ParsePrivateKeyPEM(keyBytes)
  	if err != nil {
  		return nil, err
  	}
  
  	return RenewFromSigner(ca, key)
  }
docs: // RenewFromPEM re-creates a root certificate from the CA cert and key
  // files. The resulting root certificate will have the input CA certificate
  // as the template and have the same expiry length. E.g. the existing CA
  // is valid for a year from Jan 01 2015 to Jan 01 2016, the renewed certificate
  // will be valid from now and expire in one year as well.