func unmarshalProtectedSettings()

in pkg/settings/settings.go [83:101]


func unmarshalProtectedSettings(el logging.ILogger, configFolder string, hs handlerSettings) (string, error) {
	if hs.ProtectedSettingsBase64 == "" {
		// No protected settings
		return "", nil
	}
	if hs.SettingsCertThumbprint == "" {
		el.Error("parseHandlerSettingsFile failed due to no settings cert thumbprint")
		return "", extensionerrors.ErrNoCertificateThumbprint
	}

	decoded, err := base64.StdEncoding.DecodeString(hs.ProtectedSettingsBase64)
	if err != nil {
		el.Error("parseHandlerSettingsFile failed to decode base64: %v", err)
		return "", extensionerrors.ErrInvalidProtectedSettingsData
	}

	v, err := decrypt.DecryptProtectedSettings(configFolder, hs.SettingsCertThumbprint, decoded)
	return v, err
}