Формулировка проблемы: необходима возможность проверки действительности сертификата.
Решение: реализовать API метод, который проверяет статус ключа и в случае действительности сохраняет его в базе данных.
URL метода: /rest/sign/verificationkey.
Тип запроса: POST.
Метод принимает следующие входные параметры:
uuid - идентификатор пользователя, от
которого происходит проверка ключа (обяз.);
oid - устаревший параметр, не используется
(необяз.);
pemCer - сериализированный сертификат в
кодировке Base64 (обяз.);
endTime - дата завершения сертификата
(обяз.);
caID - идентификатор корневого сертификата
(необяз., по умолч. 0);
edsInfo - информация о сертификате,
отображается при проверке
сертификата KeyInf.KEY_CN, KeyInf.KEY_O для Synergy агента (необяз.);
Метод возвращает строку следующего вида
<entryID>::::<algorithm>, состояющую
из параметров:
entryID - идентификатор сертификата,
публичная часть ключа;
algorithm - алгоритм подписи, используемый
для сертификата.
Пример возвращаемой строки: 4::::Sha1WithRSA
Если переданный сертификат был просрочен, метод возвращает ошибку в виде строки с текстом "CERT END".
Если переданный сертификат был отозван, метод возвращает ошибку в виде строки с текстом "CERT REVOKED".
Если не найден сертификационный центр переданного сертификата, метод возвращает ошибку в виде строки с текстом "DISTRIBUTION_CENTER_NOT_FOUND".
Примечание. Отсутствие
"::::"в возвращаемой строке указывает на наличие прочих ошибок.