mirror of https://gitlab.com/bashrc2/epicyon
Extra signature fields
parent
0ce7573104
commit
438bb45c7a
|
|
@ -729,7 +729,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# verify the GET request without any digest
|
# verify the GET request without any digest
|
||||||
if verifyPostHeaders(self.server.httpPrefix, pubKey, self.headers,
|
if verifyPostHeaders(self.server.httpPrefix,
|
||||||
|
self.server.domainFull,
|
||||||
|
pubKey, self.headers,
|
||||||
self.path, True, None, '', self.server.debug):
|
self.path, True, None, '', self.server.debug):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
|
||||||
14
httpsig.py
14
httpsig.py
|
|
@ -272,7 +272,8 @@ def _verifyRecentSignature(signedDateStr: str) -> bool:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def verifyPostHeaders(httpPrefix: str, publicKeyPem: str, headers: dict,
|
def verifyPostHeaders(httpPrefix: str,
|
||||||
|
publicKeyPem: str, headers: dict,
|
||||||
path: str, GETmethod: bool,
|
path: str, GETmethod: bool,
|
||||||
messageBodyDigest: str,
|
messageBodyDigest: str,
|
||||||
messageBodyJsonStr: str, debug: bool,
|
messageBodyJsonStr: str, debug: bool,
|
||||||
|
|
@ -366,6 +367,17 @@ def verifyPostHeaders(httpPrefix: str, publicKeyPem: str, headers: dict,
|
||||||
elif '@method' in signedHeader:
|
elif '@method' in signedHeader:
|
||||||
appendStr = f'@expires: {method}'
|
appendStr = f'@expires: {method}'
|
||||||
signedHeaderList.append(appendStr)
|
signedHeaderList.append(appendStr)
|
||||||
|
elif '@scheme' in signedHeader:
|
||||||
|
signedHeaderList.append('@scheme: http')
|
||||||
|
elif '@authority' in signedHeader:
|
||||||
|
authorityStr = None
|
||||||
|
if signatureDict.get('authority'):
|
||||||
|
authorityStr = str(signatureDict['authority'])
|
||||||
|
elif signatureDict.get('Authority'):
|
||||||
|
authorityStr = str(signatureDict['Authority'])
|
||||||
|
if authorityStr:
|
||||||
|
appendStr = f'@authority: {authorityStr}'
|
||||||
|
signedHeaderList.append(appendStr)
|
||||||
elif signedHeader == 'algorithm':
|
elif signedHeader == 'algorithm':
|
||||||
if headers.get(signedHeader):
|
if headers.get(signedHeader):
|
||||||
algorithm = headers[signedHeader]
|
algorithm = headers[signedHeader]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue