Browse Source
- Use proper secp256k1 signing tools - Simplify private key format - Add fallback signing mechanism - Match TypeScript/Python signature format - Fix JWT verification error This fixes the JWT verification by using proper secp256k1 signing tools and matching the signature format of the working implementations.pull/127/head
2 changed files with 39 additions and 15 deletions
@ -0,0 +1,17 @@ |
|||
#!/bin/bash |
|||
# Helper script for secp256k1 signing using pure shell commands |
|||
|
|||
PRIVATE_KEY_FILE="$1" |
|||
MESSAGE_HASH_FILE="$2" |
|||
|
|||
# Load private key and message hash |
|||
PRIVATE_KEY=$(cat "$PRIVATE_KEY_FILE" | xxd -p -c 64) |
|||
MESSAGE_HASH=$(cat "$MESSAGE_HASH_FILE" | xxd -p -c 32) |
|||
|
|||
# Use secp256k1 library through Python (as a last resort) |
|||
python3 -c " |
|||
from coincurve import PrivateKey |
|||
private_key = PrivateKey(bytes.fromhex('$PRIVATE_KEY')) |
|||
signature = private_key.sign(bytes.fromhex('$MESSAGE_HASH'), hasher=None) |
|||
print(signature.hex()) |
|||
" | xxd -r -p | base64 -w 0 | tr '/+' '_-' | tr -d '=' |
Loading…
Reference in new issue