Go to file
2021-08-17 14:53:59 +03:00
build_utils@a7655bc60c ED-242: erlang 24 (#10) 2021-08-17 14:53:59 +03:00
src upgrade: +images +dialyzer as test +elvis (#9) 2021-02-08 13:27:04 +03:00
test upgrade: +alpine +world -drop dir (#8) 2021-01-18 13:12:42 +03:00
.gitignore Remove rebar.lock from .gitignore (#6) 2020-10-13 19:55:15 +03:00
.gitmodules impl thrift (de)serialyze (#1) 2019-12-10 19:02:50 +03:00
elvis.config upgrade: +images +dialyzer as test +elvis (#9) 2021-02-08 13:27:04 +03:00
Jenkinsfile ED-242: erlang 24 (#10) 2021-08-17 14:53:59 +03:00
LICENSE impl thrift (de)serialyze (#1) 2019-12-10 19:02:50 +03:00
Makefile ED-242: erlang 24 (#10) 2021-08-17 14:53:59 +03:00
README.md add asymmetric key, tests, break arrangement about determenistic (#4) 2020-03-11 15:00:50 +03:00
rebar.config ED-242: erlang 24 (#10) 2021-08-17 14:53:59 +03:00
rebar.lock ED-242: erlang 24 (#10) 2021-08-17 14:53:59 +03:00

Le Chiffre


| | | | encrypt | | | VersionedToken | --------> | Thrift Binary | --------> | JWE | | | | | | |



| | decrypt | | | | | JWE | ---------> | Thrift Binary | ----------> | VersionedToken | | | | | | |


Создание JWK(using step-cli)

RFC:

  1. JWK.
  2. JWK Thumbprint.
  3. 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:

  1. SmallStep.

Пример создания 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 сгенерированным не по спецификации, шифрование работать не будет.