SUPPORT-8592. Проверка подписи маркера доступа
This commit is contained in:
parent
9e85e4e8de
commit
4fa45a1f5e
46 changed files with 1970 additions and 250 deletions
68
tests/utils/test_jwt.c
Normal file
68
tests/utils/test_jwt.c
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
#include "test_jwt.h"
|
||||
#include "utils/jwt.h"
|
||||
|
||||
#include <CUnit/Basic.h>
|
||||
|
||||
#define JWT "eyJ2ZXIiOjEsInR5cCI6IkpXVCIsInNidCI6ImF1dGhvcml6YXRpb25fY29kZSIsImFsZyI6IkdP" \
|
||||
"U1QzNDEwXzIwMTJfMjU2In0.eyJuYmYiOjE2ODE3MzI4ODQsInNjb3BlIjoib3BlbmlkIiwiYXV0" \
|
||||
"aF90aW1lIjoxNjgxNzMyODc2LCJpc3MiOiJodHRwOlwvXC9lc2lhLXBvcnRhbDEudGVzdC5nb3N1" \
|
||||
"c2x1Z2kucnVcLyIsInVybjplc2lhOnNpZCI6Ijg3NWQzNDZhLTgzMTktMmM1MS05ZDYwLTYwZmRk" \
|
||||
"MzE4MGVhOSIsInVybjplc2lhOmNsaWVudDpzdGF0ZSI6Ijg5MzgzNDdhLTI0MmMtNGVhYy05NTdk" \
|
||||
"LTk4MDgzNTAzYzUwNyIsImF1dGhfbXRoZCI6IlBXRCIsInVybjplc2lhOnNiaiI6eyJ1cm46ZXNp" \
|
||||
"YTpzYmo6bHZsIjoiUCIsInVybjplc2lhOnNiajp0eXAiOiJQIiwidXJuOmVzaWE6c2JqOm9pZCI6" \
|
||||
"MTAwMDQwMDgyMywidXJuOmVzaWE6c2JqOm5hbSI6Ik9JRC4xMDAwNDAwODIzIn0sImV4cCI6MTY4" \
|
||||
"MTczMzEyNCwicGFyYW1zIjp7fSwiaWF0IjoxNjgxNzMyODg0LCJjbGllbnRfaWQiOiI1MDAyMDEi" \
|
||||
"fQ.8EBVu5Cizok66n1sIrVmS07N_4j9TuaKHlQffr98hwv9amUN5zpckH4dyJtO6IA-8UkhZ19ww" \
|
||||
"Of0F_VCmhOqmQ"
|
||||
|
||||
#define JWT_HEADER "eyJ2ZXIiOjEsInR5cCI6IkpXVCIsInNidCI6ImF1dGhvcml6YXRpb25fY29kZSIsImFsZyI6IkdP" \
|
||||
"U1QzNDEwXzIwMTJfMjU2In0"
|
||||
|
||||
#define JWT_HEADER_PAYLOAD "eyJ2ZXIiOjEsInR5cCI6IkpXVCIsInNidCI6ImF1dGhvcml6YXRpb25fY29kZSIsImFsZ" \
|
||||
"yI6IkdPU1QzNDEwXzIwMTJfMjU2In0.eyJuYmYiOjE2ODE3MzI4ODQsInNjb3BlIjoib3" \
|
||||
"BlbmlkIiwiYXV0aF90aW1lIjoxNjgxNzMyODc2LCJpc3MiOiJodHRwOlwvXC9lc2lhLXB" \
|
||||
"vcnRhbDEudGVzdC5nb3N1c2x1Z2kucnVcLyIsInVybjplc2lhOnNpZCI6Ijg3NWQzNDZh" \
|
||||
"LTgzMTktMmM1MS05ZDYwLTYwZmRkMzE4MGVhOSIsInVybjplc2lhOmNsaWVudDpzdGF0Z" \
|
||||
"SI6Ijg5MzgzNDdhLTI0MmMtNGVhYy05NTdkLTk4MDgzNTAzYzUwNyIsImF1dGhfbXRoZC" \
|
||||
"I6IlBXRCIsInVybjplc2lhOnNiaiI6eyJ1cm46ZXNpYTpzYmo6bHZsIjoiUCIsInVybjp" \
|
||||
"lc2lhOnNiajp0eXAiOiJQIiwidXJuOmVzaWE6c2JqOm9pZCI6MTAwMDQwMDgyMywidXJu" \
|
||||
"OmVzaWE6c2JqOm5hbSI6Ik9JRC4xMDAwNDAwODIzIn0sImV4cCI6MTY4MTczMzEyNCwic" \
|
||||
"GFyYW1zIjp7fSwiaWF0IjoxNjgxNzMyODg0LCJjbGllbnRfaWQiOiI1MDAyMDEifQ"
|
||||
|
||||
#define JWT_SIGN "8EBVu5Cizok66n1sIrVmS07N_4j9TuaKHlQffr98hwv9amUN5zpckH4dyJtO6IA-8UkhZ19ww" \
|
||||
"Of0F_VCmhOqmQ"
|
||||
|
||||
#define JWT_HEADER_DECODED "{\"ver\":1,\"typ\":\"JWT\",\"sbt\":\"authorization_code\"," \
|
||||
"\"alg\":\"GOST3410_2012_256\"}"
|
||||
|
||||
#define JWT_ALG "GOST3410_2012_256"
|
||||
|
||||
void test_jwt_get_header_payload_and_sign()
|
||||
{
|
||||
int rc;
|
||||
str_t jwt = str_t_const(JWT);
|
||||
str_t sign = str_t_null;
|
||||
str_t header = str_t_null;
|
||||
str_t header_payload = str_t_null;
|
||||
|
||||
rc = jwt_get_header_payload_and_sign(&jwt, &header, &header_payload, &sign);
|
||||
CU_ASSERT_EQUAL(rc, 0);
|
||||
|
||||
CU_ASSERT_NSTRING_EQUAL(header.data, JWT_HEADER, header.len);
|
||||
CU_ASSERT_NSTRING_EQUAL(header_payload.data, JWT_HEADER_PAYLOAD, header_payload.len);
|
||||
CU_ASSERT_NSTRING_EQUAL(sign.data, JWT_SIGN, sign.len);
|
||||
}
|
||||
|
||||
void test_jwt_get_alg_from_header()
|
||||
{
|
||||
int rc;
|
||||
str_t header = str_t_const(JWT_HEADER_DECODED);
|
||||
str_t alg = str_t_null;
|
||||
|
||||
rc = jwt_get_alg_from_header(&header, &alg);
|
||||
CU_ASSERT_EQUAL(rc, 0);
|
||||
|
||||
CU_ASSERT_NSTRING_EQUAL(alg.data, JWT_ALG, alg.len);
|
||||
|
||||
str_t_clear(&alg);
|
||||
}
|
||||
8
tests/utils/test_jwt.h
Normal file
8
tests/utils/test_jwt.h
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
#ifndef TEST_JWT_H_INCLUDED
|
||||
#define TEST_JWT_H_INCLUDED
|
||||
|
||||
void test_jwt_get_header_payload_and_sign();
|
||||
|
||||
void test_jwt_get_alg_from_header();
|
||||
|
||||
#endif // TEST_JWT_H_INCLUDED
|
||||
Loading…
Add table
Add a link
Reference in a new issue