fixed signature
This commit is contained in:
parent
f9fccd5502
commit
7b2d61b329
@ -4,10 +4,9 @@ from calendar import timegm
|
|||||||
from contextlib import asynccontextmanager
|
from contextlib import asynccontextmanager
|
||||||
from datetime import datetime, timedelta, UTC
|
from datetime import datetime, timedelta, UTC
|
||||||
from hashlib import sha256
|
from hashlib import sha256
|
||||||
from json import loads as json_loads
|
from json import loads as json_loads, dumps as json_dumps
|
||||||
from os import getenv as env
|
from os import getenv as env
|
||||||
from os.path import join, dirname, isfile
|
from os.path import join, dirname, isfile
|
||||||
from random import randbytes
|
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
|
|
||||||
from dateutil.relativedelta import relativedelta
|
from dateutil.relativedelta import relativedelta
|
||||||
@ -728,7 +727,8 @@ async def leasing_v1_lessor(request: Request):
|
|||||||
|
|
||||||
logger.debug(response)
|
logger.debug(response)
|
||||||
|
|
||||||
signature = f'b\'{randbytes(256).hex()}\''
|
signature = INSTANCE_KEY_RSA.generate_signature(json_dumps(response).encode('utf-8'))
|
||||||
|
signature = f'b\'{signature.hex()}\''
|
||||||
return JSONr(response, headers={'access-control-expose-headers': 'X-NLS-Signature', 'X-NLS-Signature': signature})
|
return JSONr(response, headers={'access-control-expose-headers': 'X-NLS-Signature', 'X-NLS-Signature': signature})
|
||||||
|
|
||||||
|
|
||||||
@ -780,7 +780,8 @@ async def leasing_v1_lease_renew(request: Request, lease_ref: str):
|
|||||||
|
|
||||||
Lease.renew(db, entity, expires, cur_time)
|
Lease.renew(db, entity, expires, cur_time)
|
||||||
|
|
||||||
signature = f'b\'{randbytes(256).hex()}\''
|
signature = INSTANCE_KEY_RSA.generate_signature(json_dumps(response).encode('utf-8'))
|
||||||
|
signature = f'b\'{signature.hex()}\''
|
||||||
return JSONr(response, headers={'access-control-expose-headers': 'X-NLS-Signature', 'X-NLS-Signature': signature})
|
return JSONr(response, headers={'access-control-expose-headers': 'X-NLS-Signature', 'X-NLS-Signature': signature})
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
import logging
|
import logging
|
||||||
|
from json import loads as json_loads
|
||||||
from cryptography.hazmat.primitives import serialization
|
from cryptography.hazmat.primitives import serialization
|
||||||
|
from cryptography.hazmat.primitives.asymmetric.padding import PKCS1v15
|
||||||
from cryptography.hazmat.primitives.asymmetric.rsa import RSAPrivateKey, RSAPublicKey, generate_private_key
|
from cryptography.hazmat.primitives.asymmetric.rsa import RSAPrivateKey, RSAPublicKey, generate_private_key
|
||||||
|
from cryptography.hazmat.primitives.hashes import SHA256
|
||||||
from cryptography.hazmat.primitives.serialization import load_pem_private_key, load_pem_public_key
|
from cryptography.hazmat.primitives.serialization import load_pem_private_key, load_pem_public_key
|
||||||
from cryptography.x509 import load_pem_x509_certificate, Certificate
|
from cryptography.x509 import load_pem_x509_certificate, Certificate
|
||||||
|
|
||||||
@ -40,6 +42,9 @@ class PrivateKey:
|
|||||||
)
|
)
|
||||||
return PublicKey(data=data)
|
return PublicKey(data=data)
|
||||||
|
|
||||||
|
def generate_signature(self, data: bytes) -> bytes:
|
||||||
|
return self.__key.sign(data, PKCS1v15(), SHA256())
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def generate(public_exponent: int = 65537, key_size: int = 2048) -> "PrivateKey":
|
def generate(public_exponent: int = 65537, key_size: int = 2048) -> "PrivateKey":
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
Loading…
Reference in New Issue
Block a user