Better updating of header with signature

merge-requests/30/head
Bob Mottram 2021-01-21 16:14:54 +00:00
parent fbdca72a0e
commit 0835e38a21
1 changed files with 13 additions and 12 deletions

View File

@ -10,7 +10,6 @@ from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer, HTTPServer
import sys import sys
import json import json
import time import time
from time import gmtime, strftime
import locale import locale
import urllib.parse import urllib.parse
import datetime import datetime
@ -223,7 +222,7 @@ from media import removeMetaData
from cache import storePersonInCache from cache import storePersonInCache
from cache import getPersonFromCache from cache import getPersonFromCache
from httpsig import verifyPostHeaders from httpsig import verifyPostHeaders
from httpsig import signPostHeaders from httpsig import createSignedHeader
from theme import setNewsAvatar from theme import setNewsAvatar
from theme import setTheme from theme import setTheme
from theme import getTheme from theme import getTheme
@ -9079,17 +9078,19 @@ class PubServer(BaseHTTPRequestHandler):
privateKeyPem = \ privateKeyPem = \
getPersonKey(nickname, domain, baseDir, 'private', debug) getPersonKey(nickname, domain, baseDir, 'private', debug)
if len(privateKeyPem) > 0: if len(privateKeyPem) > 0:
dateStr = strftime("%a, %d %b %Y %H:%M:%S %Z", gmtime()) boxPath = '/inbox'
boxpath = '/inbox' signatureHeaderJson = \
signatureHeader = \ createSignedHeader(privateKeyPem, nickname,
signPostHeaders(dateStr, privateKeyPem, nickname,
domain, port, domain, port,
callingDomain, 443, callingDomain, port,
boxpath, httpPrefix, None) boxPath,
self.headers['signature'] = signatureHeader httpPrefix, False, None)
self.headers.clear()
for headerName, headerItem in signatureHeaderJson.items():
self.headers[headerName] = headerItem
if atPath: if atPath:
print('@ detected actor: ' + str(actorJson)) print('@ detected outgoing actor: ' + str(actorJson))
print('@ detected headers: ' + print('@ detected outgoing headers: ' +
str(self.headers).replace('\n', ', ')) str(self.headers).replace('\n', ', '))
self._write(msg) self._write(msg)
else: else: