Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
kit-jwt — JSON Web Token(JWT)のエンコードとデコード(Kit向け) | Kitploit
ツール/GitLabGitLab/kit-lang/packages/kit-jwt
暗号化/復号化ツール暗号化認証
GitLabkit-lang/packages/kit-jwt

kit-jwt

JSON Web Token(JWT)のエンコードとデコード(Kit向け)

リポジトリを見る
1ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

kit-jwt

Kit 向けの JSON Web Token (JWT) エンコード / デコード


[TOC]


ファイル

ファイル説明
.editorconfigエディタのフォーマット設定
.gitignoreビルド成果物や依存関係用の Git 無視ルール
.tool-versionsasdf ツールバージョン (Zig, Kit)
LICENSEMIT ライセンスファイル
README.md本ファイル
examples/basic.kit基本的な HS256 使用例
kit.tomlメタデータ、機能、依存関係を含むパッケージマニフェスト
src/jwt.kitJWT のエンコード、デコード、検証、ヘルパー API
zig/jwt_rsa.zigOpenSSL ベースの RSA 署名/検証ブリッジ
zig/kit_ffi.zigRSA ブリッジで使用される Kit Zig FFI 値ヘルパー
tests/hs256.test.kitアクティブな HS256 動作テスト
tests/types.test.kitエラー、型、アルゴリズム、クレーム形状のテスト

依存関係

  • Kit パッケージ依存: crypto
  • Kit 標準モジュール: Encoding.Base64
  • ネイティブライブラリ: RS256、RS384、RS512 ヘルパー用 OpenSSL libcrypto
  • 必要な機能: ffi

パッケージは ffi-zig として宣言されています。RSA 署名/検証が zig/jwt_rsa.zig を使用するためです。HS256 は crypto.hmac-sha256 を使用します。

インストール

root@kitploit:~
kit add gitlab.com/kit-lang/packages/kit-jwt.git

使用方法

root@kitploit:~
import Kit.Jwt as JWT

main = fn =>
  secret = "my-super-secret-key-at-least-32-chars"
  claims = "{\"sub\":\"user123\",\"name\":\"John Doe\",\"admin\":true,\"iat\":1700000000}"

  match JWT.encode claims secret
    | Err e ->
      println "Failed to create token:"
      println e
    | Ok token ->
      println "JWT:"
      println token

      if JWT.verify? token secret then
        println "Token is valid"
      else
        println "Token is invalid"

      match JWT.decode token secret
        | Ok decoded ->
          println "Header:"
          println decoded.header
          println "Payload:"
          println decoded.payload
        | Err e ->
          println "Decode failed:"
          println e

main

サポートされている署名/検証ヘルパー:

安全でない検査ヘルパーも、署名を検証せずにトークンをデバッグするために利用できます:

  • decode-unsafe
  • get-claims-unsafe
  • get-header-unsafe

認可の判断に安全でないヘルパーを使用しないでください。

開発

例の実行

インタプリタで基本例を実行:

root@kitploit:~
kit run examples/basic.kit --allow=ffi

例をネイティブバイナリにコンパイル:

root@kitploit:~
kit build examples/basic.kit --allow=ffi && ./basic

テストの実行

アクティブなテストスイートを実行:

root@kitploit:~
kit test --allow=ffi

カバレッジ付きでアクティブなテストスイートを実行:

root@kitploit:~
kit test --coverage --allow=ffi

オプションの RSA テストファイルを直接実行:

root@kitploit:~
kit test tests/rs256.kit.disabled --allow=ffi
kit test tests/rs384.kit.disabled --allow=ffi
kit test tests/rs512.kit.disabled --allow=ffi

kit dev の実行

標準の開発ワークフロー (フォーマット、チェック、テスト) を実行:

root@kitploit:~
kit dev

これにより以下の処理が行われます:

  1. Kit ソースファイルと例ファイルのフォーマット確認
  2. ソースと例の型チェック
  3. カバレッジ付きのアクティブなテスト実行

パリティの実行

例のインタプリタ/コンパイラパリティチェックを実行:

root@kitploit:~
kit parity --failures-only

パリティチェックでは、例がインタプリタで実行され、コンパイルが成功し、正常に実行され、一致する出力が得られることを確認します。

ドキュメントの生成

ドキュメントコメントから API ドキュメントを生成:

root@kitploit:~
kit doc src/jwt.kit

注釈: ドキュメントコメント (##) を含む Kit ソースは HTML ドキュメントを生成します。

ビルド成果物のクリーンアップ

生成ファイル、キャッシュ、ビルド成果物を削除:

root@kitploit:~
kit task clean

注釈: kit.toml で定義されています。

ローカルインストール

開発のためにこのパッケージをローカルにインストールする場合:

root@kitploit:~
kit install

これによりパッケージが ~/.kit/packages/@kit/jwt/ にインストールされ、他のプロジェクトで Kit.Jwt としてインポートできるようになります。

セキュリティに関する注意事項

  • 強力でランダムな HS256 シークレットを使用してください。最低でも 256 ビットを推奨します。
  • 秘密鍵や本番環境の JWT シークレットをコミットしないでください。
  • デコード後、exp、nbf、iat、iss、aud などのアプリケーションクレームを検証してください。
  • 短命なトークンを推奨し、アプリケーションの脅威モデルに従って鍵をローテーションしてください。
  • ネットワーク上で JWT を送信する場合は常に HTTPS を使用してください。

ライセンス

このパッケージは MIT ライセンスの下でリリースされています。詳細は LICENSE を参照してください。

ツールをダウンロード
tests/rs256.kit.disabled
オプションの RS256 動作テスト
tests/rs384.kit.disabledオプションの RS384 動作テスト
tests/rs512.kit.disabledオプションの RS512 動作テスト
アルゴリズムヘルパー
HS256encode, encode-with-header, decode, verify?
RS256encode-rs256, decode-rs256, verify-rs256?, get-claims-rs256
RS384encode-rs384, decode-rs384, verify-rs384?, get-claims-rs384
RS512encode-rs512, decode-rs512, verify-rs512?, get-claims-rs512