В настоящем приложении описан порядок регистрации в БД JAS доверенных сертификатов альянса FIDO для обеспечения возможности работы с U2F-аутентификаторами, а также удаления, обновления и получения списка указанных сертификатов.

Управление сертификатами осуществляется путём обращения к соответствующему API продукта посредством вызова методов (POST, PUT, DELETE) протокола http.

Примечание. Для выполнения http-запросов можно использовать любую утилиту командной строки для работы с протоколом http, например кроссплатформенную утилиту CURL.

Регистрация сертификата

Регистрация FIDO-сертификата в БД JMS выполняется вызовом POST-метода следующего формата:

POST <адрес API>
 
{
 
    "ExternalId" : "<уникальный идентификатор сертификата>",
 
    "CertificateBody" : "<тело сертификата в кодировке  base64 >",
 
    "Thumbprint" : "<отпечаток сертификата>",
 
    "Enabled" : <флаг доступности сертификата для проверки true/false>
 
}

Например:

POST http://localhost:8219/api/v4.1/config/fidocert
 
{
 
    "ExternalId" : "bdc5c250-8251-46db-854f-283fc790c49e",
 
    "CertificateBody" : "WTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQbcrSVr0Bb9OWM2xXiyM8ogH1A4CvnpYqetSVwhtq3ssomgBMcEpI1jXaonv5qk3sPrwJs9Ccu0Wv5R5DlbN+eMAoGCCqGSM49BAMCA0gAMEUCIQDSJkXRNnnc9Z0zKdSn4ApENimxjtHG7M65ZifFImaviAIgFbWVz1ZU99PyqHdwiGVAcWY9NQnfQm/7sShktyIKwaE=",
 
    "Thumbprint" : "2CE4D90BF553B28C45E20B828F955582E9D6CCAE",
 
    "Enabled" : true
 
}

При успешном выполнении метода возвращается ответ следующего вида:

{
 
    "ExternalId": "bdc5c250-8251-46db-854f-283fc790c49e",
 
    "CertificateBody": "WTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQbcrSVr0Bb9OWM2xXiyM8ogH1A4CvnpYqetSVwhtq3ssomgBMcEpI1jXaonv5qk3sPrwJs9Ccu0Wv5R5DlbN+eMAoGCCqGSM49BAMCA0gAMEUCIQDSJkXRNnnc9Z0zKdSn4ApENimxjtHG7M65ZifFImaviAIgFbWVz1ZU99PyqHdwiGVAcWY9NQnfQm/7sShktyIKwaE=",
 
    "Thumbprint": "2CE4D90BF553B28C45E20B828F955582E9D6CCAE",
 
    "Enabled": true
 
}

Удаление сертификата

Удаление FIDO-сертификата из БД JMS выполняется вызовом DELETE-метода следующего формата:

DELETE <адрес API>
 
{
 
    "ExternalId" : "<уникальный идентификатор сертификата>"
 
}

Например:

DELETE http://localhost:8219/api/v4.1/config/fidocert
 
{
 
    "ExternalId" : "bdc5c250-8251-46db-854f-283fc790c49e"
 
}

При успешном выполнении метода возвращается ответ следующего вида:

true

Обновление сертификата

Чтобы заменить FIDO-сертификат в БД JMS, следует выполнить вызов PUT-метода следующего формата:

PUT <адрес API>
 
{
 
    "ExternalId" : "<уникальный идентификатор сертификата>",
 
    "CertificateBody" : "<тело сертификата в кодировке  base64 >",
 
    "Thumbprint" : "<отпечаток сертификата>",
 
    "Enabled" : <флаг доступности сертификата для проверки true/false>
 
}
 
{
 
    "ExternalId" : "<уникальный идентификатор сертификата>"
 
}

Например:

PUT http://localhost:8219/api/v4.1/config/fidocert
 
{
 
    "ExternalId" : "bdc5c250-8251-46db-854f-283fc790c49e",
 
    "CertificateBody" : "WTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQbcrSVr0Bb9OWM2xXiyM8ogH1A4CvnpYqetSVwhtq3ssomgBMcEpI1jXaonv5qk3sPrwJs9Ccu0Wv5R5DlbN+eMAoGCCqGSM49BAMCA0gAMEUCIQDSJkXRNnnc9Z0zKdSn4ApENimxjtHG7M65ZifFImaviAIgFbWVz1ZU99PyqHdwiGVAcWY9NQnfQm/7sShktyIKwaE=",
 
    "Thumbprint" : "2CE4D90BF553B28C45E20B828F955582E9D6CCAE",
 
    "Enabled" : false
 
}

При успешном выполнении метода возвращается ответ следующего вида:

true

Получение списка сертификатов

Чтобы получить список зарегистрированных в БД JMS FIDO-сертификатов, следует выполнить вызов POST-метода следующего формата:

POST <адрес API>
 
{
 
    "Start" : <порядковый номер сертификата, начиная с которого нужно отобразить список; нумерация начинается с нуля>,
 
    "Size" : <максимальное число сертификатов для вывода>
 
}

Например:

POST http://localhost:8219/api/v4.1/config/fidocert/search
 
 
 
 
{
 
    "Start" : 0,
 
    "Size" : 100
 
}

При успешном выполнении метода возвращается список сертификатов следующего вида:

{
 
    "Entities": [
 
        {
 
            "ExternalId": "bdc5c250-8251-46db-854f-283fc790c49e",
 
            "CertificateBody": "WTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQbcrSVr0Bb9OWM2xXiyM8ogH1A4CvnpYqetSVwhtq3ssomgBMcEpI1jXaonv5qk3sPrwJs9Ccu0Wv5R5DlbN+eMAoGCCqGSM49BAMCA0gAMEUCIQDSJkXRNnnc9Z0zKdSn4ApENimxjtHG7M65ZifFImaviAIgFbWVz1ZU99PyqHdwiGVAcWY9NQnfQm/7sShktyIKwaE=",
 
            "Thumbprint": "2CE4D90BF553B28C45E20B828F955582E9D6CCAE",
 
            "Enabled": false
 
        }
 
    ],
 
    "TotalCount": 1
 
}