- Update capacitor.config.json: - Change appId from com.brownspank.timesafari to app.timesafari - Add server configuration with cleartext enabled - Add plugins configuration for App URL handling - Update script documentation paths: - Change ./openssl_signing_console.sh to /scripts/openssl_signing_console.sh - Change ./openssl_signing_console.rst to /doc/openssl_signing_console.rst This change standardizes the app identifier and adds necessary capacitor configurations for development, while also fixing script documentation paths to use absolute references.
40 lines
1.3 KiB
Bash
Executable File
40 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Generate a JWT, with signature verified using OpenSSL
|
|
#
|
|
# Prerequisites: openssl, jq
|
|
#
|
|
# Usage: source /scripts/openssl_signing_console.sh
|
|
#
|
|
# For a more complete explanation, see /doc/openssl_signing_console.rst
|
|
|
|
|
|
# Generate a key and extract the public part
|
|
openssl ecparam -name secp256k1 -genkey -noout -out private.pem
|
|
openssl ec -in private.pem -pubout -out public.pem
|
|
|
|
# Use test data
|
|
header='{"alg":"ES256K", "issuer": "", "typ":"JWT"}'
|
|
payload='{"@context": "http://schema.org", "@type": "PlanAction", "identifier": "did:ethr:0xb86913f83A867b5Ef04902419614A6FF67466c12", "name": "Test", "description": "Me"}'
|
|
|
|
header_b64=$(echo -n "$header" | jq -c -M . | tr -d '\n' | base64 | tr -d '=' | tr '+' '-' | tr '/' '_')
|
|
payload_b64=$(echo -n "$payload" | jq -c -M . | tr -d '\n' | base64 | tr -d '=' | tr '+' '-' | tr '/' '_')
|
|
|
|
signing_input="$header_b64.$payload_b64"
|
|
|
|
signature=$(echo -n "$signing_input" | openssl dgst -sha256 -sign private.pem | openssl base64 -e)
|
|
|
|
echo -n "$signing_input" | openssl dgst -sha256 -verify public.pem -signature <(echo -n "$signature" | openssl base64 -d)
|
|
|
|
|
|
|
|
|
|
|
|
# Read binary signature and encode it to Base64 URL-Safe format
|
|
signature_b64=$(echo -n "$signature" | base64 | tr -d '=' | tr '+' '-' | tr '/' '_')
|
|
|
|
# Construct the JWT
|
|
jwt="$signing_input.$signature_b64"
|
|
|
|
echo Resulting JWT: $jwt
|