mirror of
https://github.com/bpmbpm/doc.git
synced 2026-04-30 20:40:50 +00:00
103 lines
5.4 KiB
Markdown
103 lines
5.4 KiB
Markdown
### cryptopro CSP
|
||
|
||
Есть СЭД, где подписание проводится электронной подписью.
|
||
Параметры:
|
||
- Тип подписи: усиленная квалифицированная электронная подпись (УКЭП).
|
||
- Выдается аккредитованным центром УЦ Контур (удостоверяющий центр).
|
||
- Формат подписи: CADES-XL. В качестве OCSP сервера используется внешний сервис «УЦ Контур OCSP».
|
||
- TSP – внешний сервис компании Тензор.
|
||
- Ключи хранятся в РуТокен.
|
||
- Внутри компании при подписании используются продукты КриптоПРО.
|
||
Нарисуй подробную схему (mermaid) взаимодействия всех компонент рассмотренного решения с указанием протокола, передаваемых данных и состава программных моделей на серверной и клиентской части.
|
||
|
||
```mermaid
|
||
sequenceDiagram
|
||
title Схема взаимодействия компонентов при электронном подписании в СЭД
|
||
|
||
participant Пользователь as Пользователь СЭД
|
||
participant Клиент as Клиентская часть СЭД
|
||
participant КриптоПРО as КриптоПРО CSP
|
||
participant Рутокен as Рутокен
|
||
participant СЭД_Сервер as Сервер СЭД
|
||
participant УЦ_Контур as УЦ Контур (OCSP)
|
||
participant Тензор_TSP as Тензор TSP
|
||
|
||
Note over Пользователь,Тензор_TSP: Процесс подписания документа
|
||
|
||
Пользователь->>Клиент: Инициация подписания документа
|
||
Клиент->>КриптоПРО: Запрос на создание хэша документа
|
||
КриптоПРО-->>Клиент: Хэш документа (SHA-256/512)
|
||
|
||
Клиент->>КриптоПРО: Запрос подписи хэша
|
||
КриптоПРО->>Рутокен: Команда подписания хэша
|
||
Рутокен-->>КриптоПРО: Подписанный хэш (RSA/ECDSA)
|
||
|
||
Note over КриптоПРО,УЦ_Контур: Получение данных для усиления подписи
|
||
|
||
Клиент->>УЦ_Контур: OCSP-запрос (HTTP/HTTPS)
|
||
УЦ_Контур-->>Клиент: OCSP-ответ (статус сертификата)
|
||
|
||
Клиент->>Тензор_TSP: TSP-запрос (HTTP/HTTPS)
|
||
Тензор_TSP-->>Клиент: TSP-ответ (метка времени)
|
||
|
||
Клиент->>КриптоПРО: Формирование CAdES-XL подписи
|
||
КриптоПРО-->>Клиент: Готовая подпись (PKCS#7/CMS)
|
||
|
||
Клиент->>СЭД_Сервер: Отправка подписанного документа
|
||
СЭД_Сервер->>СЭД_Сервер: Верификация подписи
|
||
|
||
СЭД_Сервер-->>Клиент: Результат подписания
|
||
|
||
Note over Клиент,СЭД_Сервер: Состав программных компонентов
|
||
|
||
box Клиентская часть
|
||
participant Веб_Браузер as Веб-браузер
|
||
participant КриптоПро_Плагин as КриптоПРО Browser Plugin
|
||
participant КриптоПРО_CSP as КриптоПРО CSP
|
||
participant Рутокен_Драйвер as Драйвер Рутокен
|
||
end
|
||
|
||
box Серверная часть
|
||
participant СЭД_Backend as Backend СЭД
|
||
participant КриптоПРО_Сервер as КриптоПРО SDK
|
||
participant БД_Сертификаты as База сертификатов
|
||
end
|
||
```
|
||
|
||
## Детализация компонентов и данных:
|
||
|
||
### Клиентская часть:
|
||
**Состав:**
|
||
- Веб-браузер с JavaScript API
|
||
- КриптоПРО Browser Plugin
|
||
- КриптоПРО CSP 4.0+
|
||
- Драйвер Рутокен
|
||
- Криптографические библиотеки
|
||
|
||
**Данные:**
|
||
- Исходный документ (PDF/XLS/DOC)
|
||
- Хэш документа (SHA-256/512)
|
||
- Электронная подпись (CAdES-XL)
|
||
- Сертификат ЭП (X.509)
|
||
|
||
### Серверная часть:
|
||
**Состав:**
|
||
- Backend СЭД (Java/.NET)
|
||
- КриптоПРО SDK
|
||
- База данных сертификатов
|
||
- API для внешних сервисов
|
||
|
||
### Протоколы и форматы:
|
||
- **OCSP:** HTTP/HTTPS, ASN.1
|
||
- **TSP:** HTTP/HTTPS, RFC 3161
|
||
- **Подпись:** CAdES-XL, PKCS#7/CMS
|
||
- **Сертификаты:** X.509 v3
|
||
- **Криптография:** RSA-2048/4096, ECDSA
|
||
|
||
### Ключевые процессы:
|
||
1. **Хэширование документа** - SHA-256/512
|
||
2. **Подписание хэша** - закрытым ключом с Рутокен
|
||
3. **Верификация статуса** - через OCSP УЦ Контур
|
||
4. **Временная метка** - через TSP Тензор
|
||
5. **Формирование CAdES-XL** - включение всех данных в подпись
|
||
6. **Верификация на сервере** - проверка целостности и валидности
|