Здесь же можно создать новый контейнер ключей для сотрудника. Для этого надо выбрать систему ЭЦП и нажать кнопку «Создать».
Чтобы добавить открытый ключ в набор ключей сотрудника, нажмите кнопку «Добавить». При добавлении открытого ключа в базе данных сохраняется источник, из которого он был загружен.
«Свойства ключа» - выводит диалог, в котором указаны открытый ключ и источник, из которого данный ключ был загружен.
Сохранить копию источника – файл контейнера закрытого ключа или сертификат - на диске можно с помочью кнопки «Выгрузить».
«Удалить описание ключа» - удаляет открытый криптографический ключ из набора ключей сотрудника.
Создание и проверка электронной цифровой подписи в системе PDMStepSuite.
Для создания ЭЦП версии документа необходимом при утверждении статуса выбрать в диалоге «Статус» систему ЭЦП и нажать кнопку «Подписать». После этого диалог статуса будет выглядеть примерно следующим образом:
«Система» - система ЭЦП, которая была использована для создания ЭЦП версии документа.
«Хэш-функция» - значение хэш-функции подписываемой версии документа.
«Открытый ключ» - открытый криптографический ключ, с помощью которого можно проверить ЭЦП.
«Подпись» - ЭЦП версии документа.
Проверить ЭЦП можно с помощью кнопки «Проверить», после чего пользователю будет выведено сообщение с результатами проверки. Возможны следующие варианты сообщения:
«Данный ключ не является открытым криптографическим ключом пользователя, утвердившего статус» - открытый криптографический ключ не был внесен в библиотеку открытых криптографических ключей данного сотрудника или подписал другой сотрудник.
«Подпись верна» - при корректных данных;
«Неверный объект для подписи» - версия документа, к которому относится статус, отличается от версии документа, который был подписан;
«Неверная подпись» - при некорректном сочетании ЭЦП и открытого ключа;
«Ошибка во время выполнения программы!» - ошибка во время выполнения операции (в данном случае операции проверки ЭЦП).
Требования к библиотечным модулям систем ЭЦП.
Для встраивания в систему PDM Step Suite, библиотечный модуль системы ЭЦП должен реализовывать и экспортировать следующие функции:
int CreatePrivateKey(LPCSTR sFile, LPCSTR sPassword, CString &sOpenKey) – функция, реализующая создание или инициализацию нового пользователя в криптографической системе (создание закрытого ключа).
[in/out] sFile – для систем, которые реализуют хранение на диске, полный путь (путь и имя) файла нового контейнера ключей. Для систем, которые используют другую реализацию хранения (реестр, оперативная память и т.д.) должен быть NULL.
[in] sPassword – пароль для доступа к контейнеру ключей.
[out] sOpenKey – открытый ключ из пары ключей для подписи.
Возвращаемые значения:
0 – при удачном выполнении, иначе 1.
int Sign(LPCSTR sFile, LPCSTR sPassword, char* pBuffer, long lBufferLen,
CString &sHash, CString &sOpenKey, CString &sSignature) – функция, реализующая создание ЭЦП.
[in/out] sFile – для систем, которые реализуют хранение на диске, полный путь (путь и имя) файла контейнера ключей. Для систем, которые используют другую реализацию хранения (реестр, оперативная память и т.д.) должен быть NULL.
[in] sPassword – пароль для доступа к контейнеру ключей.
[in] pBuffer – буфер для подписи.
[in] lBufferLen – размер буфера.
[out] sHash – значение вычисленной хэш-функции pBuffer.
[out] sOpenKey – открытый ключ из пары ключей для подписи.
[out] sSignature – подпись.
Возвращаемые значения:
0 – при удачном выполнении, иначе 1.
int CheckSign(char *pszBuffer, long lBufferLen,
CString sHash, CString sOpenKey, CString sSignature) – функция, реализующая проверку ЭЦП.
[in] pBuffer – буфер, подпись которого необходимо проверить.
[in] lBufferLen – размер буфера.
[in] sHash – значение хэш-функции, полученной при вызове функции Sign(…).
[in] sOpenKey – открытый ключ из пары ключей для подписи, полученный при вызове функции Sign(…).
[in] sSignature – подпись, которую необходимо проверить.
Возвращаемые значения:
0 – при удачном выполнении;
1 – при ошибке во время выполнения;
2 – при различных значениях хэш-функций (переданного функции и вновь вычисленного);
3 – при неверной подписи.
int GetPublicKey ( LPCSTR sFile, LPCSTR sPassword, CString &sOpenKey ) – функция, реализующая получение открытого ключа из пары ключей для подписи.
[in/out] sFile – для систем, которые реализуют хранение на диске, полный путь (путь и имя) файла контейнера ключей. Для систем, которые используют другую реализацию хранения (реестр, оперативная память и т.д.) должен быть NULL.
[in] sPassword – пароль для доступа к контейнеру ключей.
[out] sOpenKey – открытый ключ из пары ключей для подписи.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.