-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdebug_none_verify.tcl
More file actions
39 lines (29 loc) · 1.11 KB
/
debug_none_verify.tcl
File metadata and controls
39 lines (29 loc) · 1.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/env tclsh
if {[catch {package require tossl}]} {
load ./libtossl.so
}
puts "=== Debug JWT None Algorithm ==="
# Create JWT with none algorithm
set header [dict create alg none typ JWT]
set payload [dict create sub user_none iss test.com]
set header_json [tossl::json::generate $header]
set payload_json [tossl::json::generate $payload]
puts "Header JSON: $header_json"
puts "Payload JSON: $payload_json"
set jwt [tossl::jwt::create -header $header_json -payload $payload_json -key "" -alg none]
puts "Created JWT: $jwt"
puts "JWT length: [string length $jwt]"
# Split the JWT to see its parts
lassign [split $jwt "."] header_part payload_part signature_part
puts "Header part: $header_part"
puts "Payload part: $payload_part"
puts "Signature part: '$signature_part'"
puts "Signature part length: [string length $signature_part]"
# Try to verify
puts "\nAttempting verification..."
set verify_result [tossl::jwt::verify -token $jwt -key "" -alg none]
puts "Verify result: $verify_result"
# Try to decode
puts "\nAttempting decode..."
set decoded [tossl::jwt::decode -token $jwt]
puts "Decode result: $decoded"