Example #1
0
func getHostFiles(c *cli.Context, name string) ([]*TarFile, error) {
	tarFiles := make([]*TarFile, 0)

	crtFile, err := d.GetFile(depot.HostCrtTag(name))
	if err != nil {
		return nil, errors.New("Get host certificate error: " + err.Error())
	}
	crtTarFile, err := generateTarFile(crtFile, name+crtSuffix)
	if err != nil {
		return nil, errors.New("Generate certificate tar file error: " + err.Error())
	}
	tarFiles = append(tarFiles, crtTarFile)

	keyFile, err := d.GetFile(depot.HostPrivKeyTag(name))
	if err != nil {
		return nil, errors.New("Get host key error: " + err.Error())
	}
	keyTarFile, err := generateTarFile(keyFile, name+keySuffix)
	if err != nil {
		return nil, errors.New("Generate key tar file error: " + err.Error())
	}
	if c.Bool("insecure") {
		if keyTarFile, err = decryptEncryptedKeyTarFile(keyTarFile, getPassPhrase(c, name+" key")); err != nil {
			return nil, errors.New("Get decrypted host key error: " + err.Error())
		}
	}
	tarFiles = append(tarFiles, keyTarFile)

	return tarFiles, nil
}