Skip to content
docs.
WORKSPACE

Your documentation

Explore the project catalog
Localzet ServerАсинхронный PHP-серверTriangleФреймворк и компонентыMIX IDИдентификация и интеграцииHack APIПубличные API хакатонаACNПроект и компонентыUserlay / UserNetПроект и компонентыAxiomПроект и компонентыМесседжинг через почтуПроект и компонентыLWT / JWT / JOSEПроект и компоненты✓Финансовая аналитика KimaiПроект и компонентыМультипарадигмальная БДПроект и компонентыZorin PlatformПроект и компонентыZorin TrustПроект и компонентыFloraScope / VegwatchПроект и компонентыaegis-qДокументация проектаaevumdbДокументация проектаauditДокументация проектаauto-invest-managerАвтотрейдерcaine-companionДокументация проектаcertbot-cloudflareДокументация проектаClusterLocalzet Server / ClustercmdveilДокументация проектаConsolePHP CLICronБиблиотеки Localzet Serverdata-connectorДокументация проектаdevice-controlDevice Controlenn-projectДокументация проектаEventsБиблиотеки Localzet ServerflowsintДокументация проектаforgeДокументация проектаHttpClientБиблиотеки Localzet ServerinterpreterСобственный языкinvariaДокументация проектаkeynotesДокументация проектаknotrouteKnotroutelaravel-personal-analyticsДокументация проектаlocalzet-osДокументация проектаmeridianДокументация проектаMQTTБиблиотеки Localzet Servernano-kernelСобственная ОСNoterДокументация проектаpersonal-analyticsДокументация проектаProxyБиблиотеки Localzet ServerPSRБиблиотеки Localzet ServerPSR-7Библиотеки Localzet Serverrschs-monitorДокументация проектаsemsealДокументация проектаshardsealДокументация проектаSocketIOБиблиотеки Localzet ServerSOCKS5Библиотеки Localzet Serverstandalone-analyticsДокументация проектаstatic-php-cliДокументация проектаStorageБиблиотеки Localzet ServersutureДокументация проектаtempoweaveДокументация проектаttsСинтез речиTunnelБиблиотеки Localzet Serverui-kitUI KitvesperДокументация проектаWebAnalyzerWebAnalyzerzorin-access-brokerДокументация проектаzorin-authority-brokerДокументация проектаzorin-authority-sdk-phpДокументация проектаzorin-authority-sdk-pythonДокументация проектаzorin-authority-sdk-tsДокументация проектаzorin-client-intelДокументация проектаzorin-device-core-aospДокументация проектаzorin-host-agentДокументация проектаzorin-native-labДокументация проектаzorin-nodeДокументация проектаzorin-opsДокументация проектаdonstu-python-sdkДокументация проектаfloortraceFloortraceserver-rsLocalzet Server / Cluster
Catalog
Documentation/LWT / JWT / JOSE

Архитектура localzet-jose

Принцип разделения уровней

Section titled “Принцип разделения уровней”

Библиотека намеренно разделяет четыре разных операции:

parse -> cryptographic operation -> claims decode -> application validation

JWS не знает о JWT Claims. JWT не реализует собственную подпись. JWE не использует JWS policy. JWK является представлением ключевого материала, а не автоматическим выборщиком алгоритма.

Недоверенные идентификаторы алгоритмов

Section titled “Недоверенные идентификаторы алгоритмов”

alg, enc, kid, jku и остальные значения входящего объекта являются недоверенными данными. Полученное из токена alg не должно единолично выбирать crypto backend. Caller задаёт policy, после чего библиотека дополнительно проверяет совпадение алгоритма с конкретным signer/verifier/key provider.

IANA registries являются живыми. Поэтому wire identifiers хранятся как строки, а неизвестные Header Parameters и Claims сохраняются в additional.

src/registry.rs — snapshot известных имён, а не закрытая схема протокола.

Signing Input строится из исходного Protected Header segment и payload в точном wire representation. При verification заголовок не сериализуется повторно.

Поддерживаются:

  • Compact Serialization;
  • attached/detached payload;
  • RFC 7797 b64=false;
  • модели Flattened/General JSON Serialization;
  • отдельные crypto providers.

Для Compact Serialization Protected Header используется как AAD. alg отвечает за управление CEK, enc — за authenticated content encryption.

Decrypt API требует явной JweDecryptionPolicy для обоих идентификаторов.

Типизированы только семь registered claims самого RFC 7519. Claims из других спецификаций не притворяются частью базового JWT и сохраняются как JSON Value. Это позволяет библиотеке переживать расширение IANA registry без breaking API.

Source