diff --git a/README.md b/README.md index 1a7a620..b53ac00 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,9 @@ ### Подпись данных Приложение принимает POST-запрос по протоколу FastCGI (Content-Type: text/plain). -Подписывает строку, полученную в теле запроса. -В ответе возвращает подпись в формате urlSafeBase64 (Content-Type: text/plain). +C помощью аппаратного ДСЧ генерирует state - набор случайных символов, генерируется по стандарту UUID. +В строку, полученную в теле запроса, добавляет state. +В ответе возвращает подпись полученной строки в формате urlSafeBase64 (параметр "signature") и сгенерированный state (параметр "state") (Content-Type: application/json). Пример выполнения запроса: ``` @@ -24,12 +25,15 @@ $ curl -v http://127.0.0.1:8080/sign -H "Content-Type: text/plain" -d "test" > < HTTP/1.1 200 OK < Server: nginx/1.24.0 -< Date: Fri, 16 Aug 2024 07:33:13 GMT -< Content-Type: text/plain +< Date: Tue, 20 Aug 2024 12:00:25 GMT +< Content-Type: application/json < Transfer-Encoding: chunked < Connection: keep-alive -< -urlSafeBase64_of_signed_string_test +< +{ + "signature": "urlSafeBase64_of_signed_string_test_with_state", + "state": "7c327cb7-7916-4255-bc46-85fbc5ad7d5f" +} ``` ### Проверка подписи маркера доступа diff --git a/Инструкция по сборке.md b/Инструкция по сборке.md index 5b320af..591924f 100644 --- a/Инструкция по сборке.md +++ b/Инструкция по сборке.md @@ -18,7 +18,7 @@ cd - 1. Установить зависимости для сборки приложения: ``` bash apt-get install cmake gcc gcc10 -apt-get install glib2-devel libfcgi-devel libjson-glib libjson-glib-devel +apt-get install glib2-devel libfcgi-devel libjson-glib libjson-glib-devel libuuid libuuid-devel ``` 2. Собрать приложение из исходников: diff --git a/Инструкция по установке.md b/Инструкция по установке.md index 8e3390c..96e93d8 100644 --- a/Инструкция по установке.md +++ b/Инструкция по установке.md @@ -157,7 +157,7 @@ systemctl start nginx 1. Установить зависимости для запуска приложения: ``` bash -apt-get install glib2 libfcgi libjson-glib +apt-get install glib2 libfcgi libjson-glib libuuid ``` 2. Скопировать исполняемый файл: @@ -207,11 +207,14 @@ curl -v http://127.0.0.1/sign -H "Content-Type: text/plain" -d "test" < HTTP/1.1 200 OK < Server: nginx/1.24.0 < Date: Tue, 20 Aug 2024 12:00:25 GMT -< Content-Type: text/plain +< Content-Type: application/json < Transfer-Encoding: chunked < Connection: keep-alive < -REFlyzGQrCjX9DvA7hWwN9vf5kPqBxcG4TLYnXUHnAS9_G-sLAFvaJei2OhxpaWNraHbOv_mMsM_bcDsXWiC0Q +{ + "signature": "urlSafeBase64_of_signed_string_test_with_state", + "state": "7c327cb7-7916-4255-bc46-85fbc5ad7d5f" +} * Connection #0 to host 127.0.0.1 left intact ```