fixed signature
This commit is contained in:
parent
f9fccd5502
commit
7b2d61b329
@ -4,10 +4,9 @@ from calendar import timegm
|
||||
from contextlib import asynccontextmanager
|
||||
from datetime import datetime, timedelta, UTC
|
||||
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.path import join, dirname, isfile
|
||||
from random import randbytes
|
||||
from uuid import uuid4
|
||||
|
||||
from dateutil.relativedelta import relativedelta
|
||||
@ -728,7 +727,8 @@ async def leasing_v1_lessor(request: Request):
|
||||
|
||||
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})
|
||||
|
||||
|
||||
@ -780,7 +780,8 @@ async def leasing_v1_lease_renew(request: Request, lease_ref: str):
|
||||
|
||||
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})
|
||||
|
||||
|
||||
|
@ -1,7 +1,9 @@
|
||||
import logging
|
||||
|
||||
from json import loads as json_loads
|
||||
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.hashes import SHA256
|
||||
from cryptography.hazmat.primitives.serialization import load_pem_private_key, load_pem_public_key
|
||||
from cryptography.x509 import load_pem_x509_certificate, Certificate
|
||||
|
||||
@ -40,6 +42,9 @@ class PrivateKey:
|
||||
)
|
||||
return PublicKey(data=data)
|
||||
|
||||
def generate_signature(self, data: bytes) -> bytes:
|
||||
return self.__key.sign(data, PKCS1v15(), SHA256())
|
||||
|
||||
@staticmethod
|
||||
def generate(public_exponent: int = 65537, key_size: int = 2048) -> "PrivateKey":
|
||||
log = logging.getLogger(__name__)
|
||||
|
Loading…
Reference in New Issue
Block a user