Интегрированные сети ISDN

         

Процедура формирования цифровой подписи



Таблица 4.6.2.12. Процедура формирования цифровой подписи



Шаг

Действие

1

Инициализировать тип SignedData, введя код версии, идентификатор алгоритма и тип содержимого, подлежащего подписанию

2

Преобразовать информацию, подлежащую подписанию в формат DER

3

Использовать результат шага 2 для инициализации компонента content из ContentInfo.

4

Инициализировать тип SignerInfo, введя код версии, идентификаторы алгоритмов вычисления и шифрования дайджеста

5

Вычислить дайджест сообщения, используя SHA-1 для результата шага 3

6

Инициализировать структуру authenticatedAttributes и занести в структуру атрибуты contentType и messageDigest. Установить компоненты type атрибутов равными идентификаторам этих атрибутов

7

Инициализировать компонент values первого атрибута типа кодом содержимого, подлежащего подписанию, а второго атрибута – значением дайджеста, вычисленного на этапе 5

8

Закодировать аутентифицированные атрибуты и зашифровать результат, используя секретный ключ отправителя. Поместить результат в SignedData

9

Выбрать соответствующие сертификаты Х.509 и CRL, необходимые для верификации подписи, и включить их в SignedData

10

Если тип сообщения требует двух подписей, повторить шаги с 4 по 9

Оператор ключевого хэширования HMAC(t,k) соответствует 160-битовому хэшу HMAC-SHA-1 для группы t при использовании секретного ключа k. Эта функция нужна для сокрытия номера счета в сертификате владельца карты. Секретный ключ известен только владельцу карты и эмитенту. Процедура ключевого хэширования представлена в таблице 4.6.2.13.



Содержание раздела