GenerateKeyFiles creates app encryption keys and saves them into the configured KeysParentDir.
(app *App)
| 698 | |
| 699 | // GenerateKeyFiles creates app encryption keys and saves them into the configured KeysParentDir. |
| 700 | func GenerateKeyFiles(app *App) error { |
| 701 | // Read keys path from config |
| 702 | app.LoadConfig() |
| 703 | |
| 704 | // Create keys dir if it doesn't exist yet |
| 705 | fullKeysDir := filepath.Join(app.cfg.Server.KeysParentDir, keysDir) |
| 706 | if _, err := os.Stat(fullKeysDir); os.IsNotExist(err) { |
| 707 | err = os.Mkdir(fullKeysDir, 0700) |
| 708 | if err != nil { |
| 709 | return err |
| 710 | } |
| 711 | } |
| 712 | |
| 713 | // Generate keys |
| 714 | initKeyPaths(app) |
| 715 | // TODO: use something like https://github.com/hashicorp/go-multierror to return errors |
| 716 | var keyErrs error |
| 717 | err := generateKey(emailKeyPath) |
| 718 | if err != nil { |
| 719 | keyErrs = err |
| 720 | } |
| 721 | err = generateKey(cookieAuthKeyPath) |
| 722 | if err != nil { |
| 723 | keyErrs = err |
| 724 | } |
| 725 | err = generateKey(cookieKeyPath) |
| 726 | if err != nil { |
| 727 | keyErrs = err |
| 728 | } |
| 729 | err = generateKey(csrfKeyPath) |
| 730 | if err != nil { |
| 731 | keyErrs = err |
| 732 | } |
| 733 | |
| 734 | return keyErrs |
| 735 | } |
| 736 | |
| 737 | // CreateSchema creates all database tables needed for the application. |
| 738 | func CreateSchema(apper Apper) error { |
no test coverage detected