Подписка строки закрытым ключом
Всем привет! Кто нибудь знает как подписать строку закрытым ключом средствами 1С? Вроде разобрался как подписать сертификатом, но конструктор Новый СертификатКриптографии(ИмяФайла) не принимает закрытый ключ, только сертификат. Дали пример на Питоне:
Собственно вопрос - как такое сделать средствами 1С? Закрытый ключ в формате pem.
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import padding
from cryptography.hazmat.primitives.serialization import load_pem_private_key
from cryptography.hazmat.backends import default_backend
import base64
import requests
def load_private_key(filename):
with open(filename, "rb") as key_file:
return load_pem_private_key(key_file.read(), password=None, backend=default_backend())
def create_signature(key, data):
signature = key.sign(
data,
padding.PKCS1v15(),
hashes.SHA256()
)
return base64.b64encode(signature).decode()
private_key_path = "C:/1С/private.pem"
private_key = load_private_key(private_key_path)
data_to_sign = "https://blabla/api/v1/extensions/status/ef7e2d931df541bc9dba7125f5 3dfa27".encode()
signature_base64 = create_signature(private_key, data_to_sign)
url = "https://blabla/api/v1/extensions/status/ef7e2d931df541bc9dba7125f5 3dfa27"
headers = {
'X-Request-Signature': signature_base64
}
response = requests.get(url, headers=headers)
response.encoding = 'utf-8'
print(response.text)
print(response.status_code)
Показатьfrom cryptography.hazmat.primitives.asymmetric import padding
from cryptography.hazmat.primitives.serialization import load_pem_private_key
from cryptography.hazmat.backends import default_backend
import base64
import requests
def load_private_key(filename):
with open(filename, "rb") as key_file:
return load_pem_private_key(key_file.read(), password=None, backend=default_backend())
def create_signature(key, data):
signature = key.sign(
data,
padding.PKCS1v15(),
hashes.SHA256()
)
return base64.b64encode(signature).decode()
private_key_path = "C:/1С/private.pem"
private_key = load_private_key(private_key_path)
data_to_sign = "https://blabla/api/v1/extensions/status/ef7e2d931df541bc9dba7125f5
signature_base64 = create_signature(private_key, data_to_sign)
url = "https://blabla/api/v1/extensions/status/ef7e2d931df541bc9dba7125f5
headers = {
'X-Request-Signature': signature_base64
}
response = requests.get(url, headers=headers)
response.encoding = 'utf-8'
print(response.text)
print(response.status_code)
Собственно вопрос - как такое сделать средствами 1С? Закрытый ключ в формате pem.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот