diff --git a/handle_server/generate_keys.sh b/handle_server/generate_keys.sh new file mode 100755 index 0000000000000000000000000000000000000000..3ab8f4fea2147fbb82fa97b3b4a06b9bd74f7d31 --- /dev/null +++ b/handle_server/generate_keys.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +PUBKEY=${PUBKEY:-"pubkey"} +PRIVKEY=${PRIVKEY:-"privkey"} +HDL_CMD=${HDL_CMD:-"/home/tf/src/fdo/handle-server/handle-9.3.1/bin/hdl"} +CONVERT="$HDL_CMD convert-key" + +openssl genrsa -out ${PRIVKEY}.pem 2048 +openssl rsa -in ${PRIVKEY}.pem -pubout -out ${PUBKEY}.pem +$CONVERT -format handle -o ${PRIVKEY}.bin ${PRIVKEY}.pem +$CONVERT -format handle -o ${PUBKEY}.bin ${PUBKEY}.pem +$CONVERT -format jwk -o ${PUBKEY}.json ${PUBKEY}.pem + +rm ${PUBKEY}.pem +rm ${PRIVKEY}.pem diff --git a/handle_server/generate_siteinfo.sh b/handle_server/generate_siteinfo.sh new file mode 100755 index 0000000000000000000000000000000000000000..0042b84c6a0ba35ba3b25899264457e31446a142 --- /dev/null +++ b/handle_server/generate_siteinfo.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +. ../.env + +RSA_KEY_N="$(cat pubkey.json | jq .n)" +RSA_KEY_E="$(cat pubkey.json | jq .e)" + +sed "s/__DESCRIPTION__/${HANDLE_SERVER_DESCRIPTION}/g" siteinfo.template.json \ + | sed "s/__ADDRESS__/${HANDLE_SERVER_IPV4_ADDRESS}/g" \ + | sed "s/\"__KEY_N__\"/${RSA_KEY_N}/g" \ + | sed "s/\"__KEY_E__\"/${RSA_KEY_E}/g" \ + > siteinfo.json diff --git a/handle_server/siteinfo.template.json b/handle_server/siteinfo.template.json new file mode 100644 index 0000000000000000000000000000000000000000..77a609433995f2d3987f95d1532cf018c9f85eb5 --- /dev/null +++ b/handle_server/siteinfo.template.json @@ -0,0 +1,47 @@ +{ + "version": 1, + "protocolVersion": "2.11", + "serialNumber": 1, + "primarySite": true, + "multiPrimary": false, + "attributes": [ + { + "name": "desc", + "value": "__HANDLE_SERVER_DESCRIPTION__" + } + ], + "servers": [ + { + "serverId": 1, + "address": "__HANDLE_SERVER_IPV4_ADDRESS__", + "publicKey": { + "format": "key", + "value": { + "kty": "RSA", + "n": "__HANDLE_SERVER_PUBKEY_RSA_N__", + "e": "__HANDLE_SERVER_PUBKEY_RSA_E__" + } + }, + "interfaces": [ + { + "query": true, + "admin": true, + "protocol": "TCP", + "port": __HANDLE_SERVER_TCP_PORT__ + }, + { + "query": true, + "admin": false, + "protocol": "UDP", + "port": __HANDLE_SERVER_UDP_PORT__ + }, + { + "query": true, + "admin": true, + "protocol": "HTTP", + "port": __HANDLE_SERVER_HTTP_PORT__ + } + ] + } + ] +}