build_utils@a7655bc60c | ||
src | ||
test | ||
.gitignore | ||
.gitmodules | ||
elvis.config | ||
Jenkinsfile | ||
LICENSE | ||
Makefile | ||
README.md | ||
rebar.config | ||
rebar.lock |
Le Chiffre
| | | | encrypt | | | VersionedToken | --------> | Thrift Binary | --------> | JWE | | | | | | |
| | decrypt | | | | | JWE | ---------> | Thrift Binary | ----------> | VersionedToken | | | | | | |
Создание JWK(using step-cli)
RFC:
- JWK.
- JWK Thumbprint.
- JWA.
Current supported encryption algorithms:
- <<"ECDH-ES">>
- <<"ECDH-ES+A128KW">>
- <<"ECDH-ES+A192KW">>
- <<"ECDH-ES+A256KW">>
- <<"RSA-OAEP">>
- <<"RSA-OAEP-256">>
- <<"dir">> UNSAFE!!!
- <<"A128GCMKW">>
- <<"A192GCMKW">>
- <<"A256GCMKW">>
<<"dir">> небезопасный алгоритм, используется только для дешифровки данных на переходный период.
step-cli docs:
Пример создания JWK(симметричное шифрование):
$ step crypto jwk create jwk_oct.pub.json jwk.json -kty=oct -size=32 -use=enc -alg=dir -kid=123 -no-password -insecure
SmallStep kid автоматически не генерирует, при создание jwk с симметричным шифрованием.
If unset, the JWK Thumbprint [RFC7638] is used as kid. см.здесь -kid
Пример создания JWK(ассиметричное шифрование):
$ step crypto jwk create jwk.publ.json jwk.priv.json -kty=EC -use=enc -no-password -insecure
Kid указывать не нужно, он генерируется согласно документации. C kid сгенерированным не по спецификации, шифрование работать не будет.