Ejemplo n.º 1
0
func getAuthFiles(c *cli.Context) ([]*TarFile, error) {
	name := "ca"
	tarFiles := make([]*TarFile, 0)

	crtFile, err := d.GetFile(depot.AuthCrtTag())
	if err != nil {
		return nil, errors.New("Get CA 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.AuthPrivKeyTag())
	if err != nil {
		return nil, errors.New("Get CA 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 CA key error: " + err.Error())
		}
	}
	tarFiles = append(tarFiles, keyTarFile)

	return tarFiles, nil
}