Подписка строки закрытым ключом
Всем привет! Кто нибудь знает как подписать строку закрытым ключом средствами 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.
По теме из базы знаний
- 1С8:борьба - личный опыт работы с платформой 1с8
- Конфигурация Flowcon: Набор инструментов для управления задачами, проектами и бизнесом в 1С
- Эволюция расширения конфигурации
- Работа через сервис 1С-Отчетность нескольких пользователей
- 1С-ЭДО: внутренний и внешний документооборот в типовых учетных решениях 1С
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот