Добавлена возможность шифровать данные (wrap).

Добавлена установка времени жизни токена (TTL).
Добавлено соответствие ограничения длины пароля и длины текста для шифрования.
Добавлена подготовка токена к расшифровке (ограничение длины, удаление пробельных символов).
This commit is contained in:
Калинин Сергей Валерьевич
2024-10-28 16:03:45 +03:00
parent 41e1a553f6
commit 7ecdf7a606
3 changed files with 14 additions and 14 deletions

View File

@@ -1,10 +1,3 @@
// -------------------------------------------
// Hashicorp Vault wrap/unwrap web service
// Distributed under GNU Public License
// Author: Sergey Kalinin svk@nuk-svk.ru
// Home page: https://nuk-svk.ru https://git.nuk-svk.ru
// -------------------------------------------
package main
import (
@@ -63,6 +56,7 @@ type TemplateData struct {
URL string
TEXT string
MAXTEXTLENGTH int
TOKENTTL string
}
type UnwrappedData struct {
Rerquest_id string `json: "request_id"`
@@ -192,6 +186,7 @@ func getStaticPage(w http.ResponseWriter, r *http.Request) {
templateData.URL = ActionAddress
templateData.TEXT = Data
templateData.MAXTEXTLENGTH = MaxTextLength
templateData.TOKENTTL = TokenTTL
// templateData.URL = FishingUrl + "/" + arrUsers[i].messageUUID
if body, err := ParseTemplate(template, templateData); err == nil {
@@ -268,7 +263,7 @@ func genPassword(w http.ResponseWriter, r *http.Request) {
if err != nil {
log.Println(err)
}
res, err := password.Generate(passwordLength, 10, 5, false, true)
res, err := password.Generate(passwordLength, 5, 5, false, true)
if err != nil {
log.Println(err)
}
@@ -312,6 +307,10 @@ func wrapDataFromHtmlForm(w http.ResponseWriter, r *http.Request) {
if Debug {
log.Println(Data)
}
// Переводим секунды в часы и дабавляем к токену для информации.
ttl, _ := strconv.Atoi(TokenTTL)
ttl = ttl / 3600
Data = fmt.Sprintf("%s\n\n---\nВремя жизни токена %s ч.", Data, strconv.Itoa(ttl))
} else if secret != "" {
Data = "Введите текст для шифровки."
}