SWS API SSL.com - Введение

Управление большим количеством сертификатов может быть довольно сложной задачей. Случайно возникающие инциденты, такие как недавний отраслевой вопрос энтропии серийного номера, может потребовать от администраторов вручную отозвать и повторно выпустить сотни сертификатов одновременно. Наши агенты службы поддержки и администраторы тоже сталкивались с этим в прошлом, и этот факт побудил SSL.com реализовать более практичное решение: API веб-служб SSL.com (SWS).

SWS API можно использовать для автоматизации различных операций, связанных с сертификатами, таких как выдача сертификатов, повторный ввод заказов и повторная обработка, управление доступом пользователей и т. Д. С использованием любого языка программирования или сценариев. Чтобы получить предварительно сгенерированные команды API cURL для отдельного заказа, попробуйте добавить /developer в конце этой страницы заказа сертификата (например, https://www.ssl.com/certificate_orders/co-1234xyz/developer).

Чтобы познакомить вас с некоторыми функциями API, в этом руководстве вы узнаете, как выпускать Сертификат веб-сервера, подтвержденный доменом (DV), В процессе мы затронем много полезных тем, таких как доступ к API, создание CSR, и подготовка вашего сервера к проверке контроля домена. Более того, мы увидим, как мы можем массово отозвать сертификаты через API, что особенно полезно в случаях нарушений безопасности.

Песочница

Любой вид автоматизации требует тщательного тестирования перед запуском в производственную систему, особенно если это требует денег. По этой причине SSL.com внедрил и поддерживает Песочница, Песочница является клоном разработки нашего производственного API. Он содержит все функциональные возможности оригинала, но не связан с производственной базой данных. Это означает, что вы можете создавать новых пользователей и свободно экспериментировать, не боясь что-то испортить и получить плату за ошибку.

Когда вы убедитесь, что ваша автоматизация работает в «песочнице» должным образом, вы можете перевести свой код в рабочий режим и быть уверенным, что ваши сценарии не будут работать без ошибок.

ПРИМЕЧАНИЕ: Эта статья была разработана для Песочницы, и вы можете поэкспериментировать с любыми вызовами API, содержащимися в этом документе.

Производственный API можно найти по следующему URL:

https://sws.sslpki.com/

Для выполнения вызовов API в изолированной программной среде вам нужно всего лишь изменить имя домена, как показано в следующем фрагменте:

https://sws-test.sslpki.com/

Подготовить окружающую среду

Прежде чем начать играть с API, вы должны сначала подготовить рабочую среду. Инструменты, которые мы будем использовать в этом руководстве, - это терминал Linux и ваш надежный текстовый редактор.

ПРИМЕЧАНИЕ: Эти инструкции были написаны для ванили Ubuntu Linux дистрибутив, который является типичной средой разработки, с которой можно столкнуться в реальном мире. Сказав это, сценарии, представленные в этом документе, также работают в Windows через Cygwin.

Первое, что вам понадобится, это каталог для всех необходимых файлов. Для удобства мы будем называть этот каталог sslcom_api_test/ или «рабочий каталог». Чтобы создать каталог и войти в него, введите в терминал следующие команды.

$ mkdir ~ / sslcom_api_test $ cd ~ / sslcom_api_test

Далее необходимо скачать Пакет промежуточных сертификатов SSL.com, который представляет собой архивный файл, содержащий все необходимые файлы сертификатов для безопасного доступа к API. Таким образом, любые данные, которыми вы обмениваетесь с сервером API, будут зашифрованы, и вы можете быть уверены, что любая конфиденциальная информация, такая как ключи API, будет защищена от прослушивания.

Скачайте ZIP-архив по ссылке выше и разархивируйте его в рабочий каталог. (Убедитесь, что вы измените ~/Downloads в каталог, где вы сохранили файл ZIP, если это необходимо). Файл сертификата, который мы будем использовать в этой статье, SSL_COM_RSA_SSL_SUBCA.crt.

ПРИМЕЧАНИЕ: В Windows вам нужно будет найти ZIP-архив, дважды щелкнуть по нему и извлечь файлы в рабочем каталоге.
$ unzip ~ / Downloads / SSLcom_DV_CA_Zip.zip -d. Архив: ./SSLcom_DV_CA_Zip.zip распаковка: ./SSL_COM_RSA_SSL_SUBCA.crt распаковка: ./SSL_COM_ROOT_CERTIFICATION_AUTHORITY_RSA.crt распаковка: ./CERTUM_TRUSTED_NETWORK_CA.crt

Мы будем использовать завить, типичный сетевой инструмент Linux, для всех вызовов API в этом руководстве. cURL может выполнять любые операции HTTP и устанавливается по умолчанию в большинстве дистрибутивов Linux. Более того, cURL можно легко установить в Windows с помощью двоичных исполняемых файлов, представленных на странице проекта cURL, или путем выбора его в установщике Cygwin. Однако обратите внимание, что, поскольку API основан на открытых форматах, вы можете использовать практически любой другой сетевой инструмент или язык программирования для доступа к нему.

Более того, мы будем использовать OpenSSL подготовить наш сертификат заказа. OpenSSL - это набор инструментов с открытым исходным кодом, который может выполнять практически любую криптографическую операцию, которая может вам понадобиться. Этот инструмент также включен в список пакетов Cygwin, поэтому вы можете либо выбрать его для установки при настройке экземпляра Cygwin, либо установить его вручную с помощью двоичных файлов, представленных на домашней странице проекта.

Наконец, вам понадобятся два ключа API для работы с песочницей, которые связаны с вашей учетной записью. Если у вас еще нет учетной записи в песочнице, зарегистрируйтесь через песочницу.  регистрационный формуляр. Этот процесс идентичен созданию обычной учетной записи клиента SSL.com. Если у вас уже есть учетная запись в песочнице, вы можете пропустить этот шаг.

Доступ к API

Наш SWS API основан на HTTP (использование браузеров протоколов), и все данные обмениваются в Формат JSON.

Большинство вызовов API потребуют от вас account_key и еще один secret_key параметр для авторизации. Вы всегда можете найти учетные данные своей учетной записи на странице панели инструментов Sandbox, хотя в этом случае мы собираемся получить их через API.

Команда, указанная в следующем фрагменте кода, позволит вам войти на портал и получить информацию о вашей учетной записи, включая эти ключи API. Если вы копируете и вставляете команду в окне терминала, убедитесь, что вы заменили USERNAME и PASSWORD с учетными данными вашей учетной записи.

$ curl -L --cacert SSL_COM_RSA_SSL_SUBCA.crt --request GET --data-urlencode 'password = PASSWORD' \ 'https: //sws-test.sslpki.com / user / USERNAME '{"login": "JDemo", "email": "jdemo@mailinator.com", "account_number": "abc-1ec6012", "account_key": "4497618e5c98", "secret_key": «FY + s9 / ghUrv7SQ ==», «status»: «включен», «user_url»: «https: //sws-test.sslpki.com / users / 1322857 "," available_funds ":" 0.00 руб. "}

Несмотря на то, что синтаксис cURL довольно прост, давайте познакомимся с ним более подробно, подробно рассмотрев предыдущий вызов.

  • -L инструктирует cURL следовать всем перенаправлениям HTTP. Вы должны включить эту опцию во всех звонках, чтобы избежать каких-либо проблем.
  • --cacert SSL_COM_RSA_SSL_SUBCA.crt поручает CURL для проверки сертификата сервера API, с сертификатом мы скачали в комплекте. Это позволит cURL зашифровать все данные, отправленные на сервер.
  • --request GET поручает cURL выполнить HTTP-запрос GET. Некоторые вызовы принимают только запросы HTTP POST или PUT. Эта опция является способом обработки таких запросов.
  • --data-urlencode подготавливает пароль учетной записи для передачи на сервер. GET-запросы могут включать параметры в URL, тогда как PUT и POST-запросы включают только параметры в теле. Поскольку пароль будет передан через URL, мы должны закодировать его, чтобы избежать любых символов (например, / , ? or # ) это может запутать сервер. Этот процесс называется Кодировка URL.
ПРИМЕЧАНИЕ: Обратная косая черта (\) в конце первой строки заставляет терминал Linux игнорировать символ новой строки и продолжать анализ символов в следующей строке как часть исходной команды. Мы будем использовать этот синтаксис для разделения длинных команд на несколько строк, чтобы сделать их более презентабельными.

Результатом вызова API является объект JSON, содержащий информацию об учетной записи, включая account_key и secret_keyтребуется в последующих вызовах API.

Выдать сертификат сервера

После того, как вы подготовили рабочую среду и получили ключи API, вы готовы начать играть с API. В качестве примера, мы будем запрашивать выдачу Базовый сертификат SSL для воображаемого веб-сервера с именем example.ssl.com, Независимо от того, используете ли вы API или клиентский портал, для выдачи сертификата требуются определенные шаги.

Эти шаги включают в себя создание пары закрытого и открытого ключа, создание запрос на подпись сертификата (CSR), создание заказа на сертификат и выполнение проверка контроля домена.

Генерировать CSR

Существуют несколько методов для создания CSR, однако, поскольку мы уже используем терминал, давайте посмотрим, как создать CSR с OpenSSL. Если у вас уже есть CSR Вы можете использовать для этой цели, вы можете пропустить этот шаг.

A CSR является файлом в кодировке base64, который содержит большую часть информации, которая будет включена в окончательный файл сертификата. Среди его наиболее важных содержание Открытый ключ и доменное имя сервера сертификат будет выдан на.

Это означает, что нам понадобится пара открытых ключей перед выдачей CSR, Следующая команда создаст новый PEM файл в рабочем каталоге с именем example.ssl.com.key, содержащий два ключа.

$ openssl genrsa -out example.ssl.com.key 2048 Создание закрытого ключа RSA, модуль длиной 2048 бит ................... +++ ...... .................................................. ...... +++ e - 65537 (0x010001)

Используя пару ключей, OpenSSL теперь может генерировать CSR для тебя. Для этого используйте команду, показанную в следующем фрагменте кода.

$ openssl req -new -key example.ssl.com.key -out example.ssl.com.csr

Вас сейчас попросят ввести информацию, которая будет включена в ваш запрос на сертификат. То, что вы собираетесь ввести, называется отличительным именем или DN. Есть довольно много полей, но вы можете оставить некоторые пустыми. Для некоторых полей будет значение по умолчанию. Если вы введете '.', Поле останется пустым. ----- Название страны (двухбуквенный код) [AU]: Название штата или провинции США (полное название) [Some-State]: Название населенного пункта Техаса (например, город) []: Название организации в Хьюстоне (например, компания) [Internet Widgits Pty Ltd]: Пример названия организационной единицы (например, раздел) []: Пример общего имени отдела (например, полное доменное имя сервера или ВАШЕ имя) []: example.ssl.com Адрес электронной почты []: admin@example.ssl. com Введите следующие «дополнительные» атрибуты, которые будут отправлены вместе с запросом на сертификат. Пароль для проверки []: Необязательное название компании []:

OpenSSL спросит вас об основной контактной информации и Распространенное имя сертификата. Для SSL-сертификатов Common Name - это доменное имя сервера (в данном случае example.ssl.com). Выполнение вышеуказанной команды создаст файл с именем example.ssl.com.csrв текущем каталоге, содержащем закодированный base64 CSR.

$ кошка example.ssl.com.csr 

-----BEGIN CERTIFICATE REQUEST-----
MIIC5DCCAcwCAQAwgZ4xCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G
A1UEBwwHSG91c3RvbjEQMA4GA1UECgwHRXhhbXBsZTEbMBkGA1UECwwSRXhhbXBs
ZSBEZXBhcnRtZW50MRgwFgYDVQQDDA9leGFtcGxlLnNzbC5jb20xJDAiBgkqhkiG
9w0BCQEWFWFkbWluQGV4YW1wbGUuc3NsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAN7XMG7+zhaGfimdD1F0P3xxUS8dC6knKId3ONEt14Wa5E62
ZIUkyNgQC7gd3Be31jBhcuzJKn8UbTcWnPXd3OCbznbkqXtnljiF3yN9cRnj2f7y
89Hfmje8C07xe6AsoUMSTYzwsoo3zai1bxOUhy+uDU8FzxcSHunepdx/naHXY1Md
waQwzBCp668hFeIOslEjkTCNle3HK1LrgjZCIg0tyHBuZTNuUcQOyXrrDSrtOxx8
dqOD7sYqJie2xiCC9kkpNGYYTEuCuVKidgiC3e/DuLUNbhoUMfSENv64TGA7lRIj
nEBrrEm6FOSgPEGgEsM78cexVaqNCavNXNy49ysCAwEAAaAAMA0GCSqGSIb3DQEB
CwUAA4IBAQAV1Ac9nYH64BrB4OHlOYPkZbK6qCKfipTg7s4Xdcc3TponjTnMJyaQ
NNh0koCUOFJaYPjWIk/YkCeGNv/fbce+sddNbh0jtcVTPw8EFvs53IaUAE99zDvn
577Azj+OXfmaLQXjK15BtnT5hbmRKsrpPxnAdk4NOohM7QKWNEdBrcfTuH1q3WpD
6jSD35FlIFUfMgNi34mxF4vYamGrWgdURIb7DCk2h7B2LQK+vRNx1uPm9FVSeYZc
tHZWTiw2xEExw2Qco6lqXYl8t0Eo07gYl4gAEx9bibvVqYMo3Zss1mRg6+WEB8Xs
G+Hn1TG3XIaIbmvlpRNma/l766KZwLXG
-----END CERTIFICATE REQUEST-----

Создать заказ на сертификат

Получив CSR, теперь вы готовы создать заказ на сертификат через API. Первый вызов API, который мы рассмотрели, был запросом GET, а этот - запросом POST. Запросы POST должны включать все параметры в своих телах как объекты JSON. Следовательно, вам необходимо отформатировать параметры заказа сертификата в JSON. Конфигурацию JSON для этого примера можно найти в следующем фрагменте.

{"account_key": "4497618e5c98", "secret_key": "FY + s9 / ghUrv7SQ ==", "product": "106", "period": "365", "server_software": "15", "organization_name" : "Example", "street_address_1": "Example st", "locality_name": "Houston", "state_or_province_name": "Texas", "postal_code": "77777", "country_name": "US", "duns_number": «1234567», «номер_компании»: «Пример номера», «имя_государственной_регистрации»: «США», «уникальное_значение»: «1ed1c72baf», «csr":" ----- НАЧАТЬ ЗАПРОС СЕРТИФИКАТА ----- MIIDIjCCAgwaRlkPnuD ... 0QQ3JKQqJbii3760Rgon8hZmbkiE = ----- КОНЕЦ ЗАПРОСА СЕРТИФИКАТА ----- "}

Мы уже видели ключи API раньше. Однако для заказа сертификатов мы также должны включить дополнительные параметры, такие как product ID и срок действия period, Вы можете найти список идентификаторов продуктов в Документация по SWS API. В этом примере заказ сделан на базовый SSL-сертификат со сроком действия 1 год. Следующая группа параметров хранит контактную информацию о регистранте (то есть о вас). В unique_value параметр (необязательно), содержит буквенно-цифровую строку, обеспечивающую уникальность запроса. Если вы не укажете уникальное значение, для вас будет сгенерировано случайное значение. Указание уникального значения таким образом полезно, если вы хотите сгенерировать файлы DCV или записи CNAME за пределами пользовательского портала SSL.com. Наконец, csr параметр должен содержать действительный кодированный base64 CSRкак тот, который мы сохранили в example.ssl.com.csr.

Замените параметры собственными значениями контактные данные и CSRи сохраните эту конфигурацию JSON в файле с именем example.ssl.com.json.

Примечание: Убедитесь, что вы удалили все символы новой строки из CSR перед добавлением его в команду. Новые строки используются для указания терминалу обрабатывать введенный текст до появления символа новой строки. Если оставить символы в, могут произойти сбой ваших команд cURL.

Когда все настроено, вы готовы создать свой заказ. cURL принимает параметры JSON либо как встроенную строку, либо через имя файла. Поскольку первый вариант слишком подробный, давайте вместо этого передадим имя файла.

Пожалуйста, обратите внимание на --data-binary Переключатель cURL, который указывает cURL включить содержимое файла в тело запроса POST.

$ curl -L --cacert SSL_COM_RSA_SSL_SUBCA.crt --request POST --header "Content-Type: application / json" \ --data-binary "@ example.ssl.com.json" 'https: // sws-test .sslpki.com / сертификаты '{"ref": "co-ac1ecm200", "registrant": {"organization": "Example", "organization_unit": null, "street_address_1": "Example st", "street_address_2": null, "street_address_3": null, "locality": "Houston", "state_or_province": "Texas", "post_office_box": null, "postal_code": "77777", "country": "US", "email": null} , "order_status": "требуется проверка", "validations": null, "order_amount": "49.00 долларов США", "certificate_url": "https://sandbox.ssl.com/team/abc-1ec6012/certificate_orders/co-ac1ecm200 "," Receiver_url ":" https://sandbox.ssl.com/team/abc-1ec6012/orders/fe3b-1ecm201 "," smart_seal_url ":" https://sandbox.ssl.com/team/abc-1ec6012 / certificate_orders / co-ac1ecm200 / site_seal "," validation_url ":" https://sandbox.ssl.com/team/abc-1ec6012/certificate_orders/co-ac1ecm200/validation "," external_order_number ": null," Certificates ": ноль }

Результатом операции является другой объект JSON, содержащий сведения о вновь созданном порядке сертификатов. Мы видим его order_statusи его ссылочный номер в ref параметр, который используется для ссылки на этот порядок во всех последующих вызовах API. Кроме того, выходные данные содержат различные URL, такие как certificate_url, что указывает на детали заказа на портале и validation_url, который указывает на страницу проверки заказа.

Наконец, certificates будет содержать все сертификаты, связанные с заказом. Поскольку заказ еще не подтвержден, сертификаты не были созданы.

Проверка контроля домена

Как указано в сертификате заказа order_status of validation requiredВам необходимо выполнить проверку до выдачи сертификата.

Общедоступные доверенные центры сертификации (такие как SSL.com) должны проверять, действительно ли покупатель сертификата контролирует сервер, для которого будет выдан сертификат, прежде чем выдавать им какие-либо сертификаты. Этого можно добиться с помощью несколько методови вы можете просмотреть все доступные методы проверки для определенного заказа с помощью следующего вызова API.

Пожалуйста, не забудьте заменить ссылочный номер совместно ac1ecm200 в URL-адресе со ссылочным номером вашего заказа, который был создан в предыдущем вызове API.

$ curl --cacert SSL_COM_RSA_SSL_SUBCA.crt --request GET \ --data-urlencode 'secret_key = FY + s9 / ghUrv7SQ ==' --data-urlencode 'account_key = 4497618e5c98' \ 'https: //sws-test.sslpki.com / certificate / co-ac1ecm200 / validations / methods '{"инструкции": "https://www.ssl.com/faqs/ssl-dv-validation-requirements/", "md5_hash": "29BD4C00B65613CCEC04C19C0050D931", " sha2_hash ": "BF340FDFD9C43D45B8310FC4A400E4D4B61CAF8D2002BAAF0945252E35F9D751", "dns_sha2_hash": "BF340FDFD9C43D45B8310FC4A400E4D4.B61CAF8D2002BAAF0945252E35F9D751.167c8a5c49", "dcv_methods": { "example.ssl.com": { "EMAIL_ADDRESSES": [ "admin@ssl.com"," администратор @ SSL .com "," webmaster@ssl.com "," hostmaster@ssl.com "," postmaster@ssl.com "," admin@example.ssl.com "," administrator@example.ssl.com "," webmaster @ example.ssl.com "," hostmaster@example.ssl.com "," postmaster@example.ssl.com "]," http_csr_hash ": {" http ":" http://example.ssl.com/.well-known/pki-validation / 29BD4C00B65613CCEC04C19C0050D931.txt "," allow_https ":" true "," contents ":" BF340FDFD9C43D45B8310FC4A400E4D4B61CAF8D2002BAAF0945252E35f9Da.com n_n_n_c751_c167c8c5dd_n_n_n_c49_cXNUMXcXNUMXcXNUMXddd_cXNUMXcsr_hash ": {" cname ":" _29BD4C00B65613CCEC04C19C0050D931.example.ssl.com. CNAME ff8716e0fd.ssl.com. "," Имя ":" _29BD4C00B65613CCEC04C19C0050D931.example.ssl.com "," значение ":" BF340FDFD9C43D45B8310FC4A400E4D4.B61CAF8. com "}

Возвращенный вывод будет содержать всю информацию, необходимую для проверки правильности управления доменом. Например, если вы хотите использовать http_csr_hash  метод проверки, вы должны создать файл на сервере, для которого будет выдан сертификат, с именем .well_known/pki-validation/29BD4C00B65613CCEC04C19C0050D931.txt, Файл должен точно, содержать значение contents Параметр.

После этого вы можете посетить validation_url найденный в предыдущем вызове, который создал заказ, и продолжите проверку, как вы обычно делаете с заказом, который вы создали через портал клиентов. (Вы всегда можете посетить Валидации страницы и найдите URL для конкретного заказа).

После успешной проверки контроля домена сертификат будет выдан, и вы сможете его скачать.

Получить сертификат

Вы можете найти свой сертификат на веб-портале или получить его через API. Для наших целей мы будем использовать API. Как видно из предыдущего раздела, при создании нового заказа на сертификат ответ содержит ссылочный номер. Этот номер можно использовать для получения подробной информации о заказе, включая фактические данные сертификата.

$ curl --request GET -L --cacert SSL_COM_RSA_SSL_SUBCA.crt \ --data-urlencode 'secret_key = FY + s9 / ghUrv7SQ ==' --data-urlencode 'account_key = 4497618e5c98' \ 'https: // sws-test .sslpki.com / certificate / co-ac1ecm200? response_type = индивидуально & response_encoding = base64 '{"description": "1 год базового SSL", "product": "106", "product_name": "basicssl", "order_status": "выпущено" , "order_date": "2019-05-02T10: 08: 48.000-05: 00", "registrant": {"organization": "Example", "organization_unit": null, "street_address_1": "Example st", " street_address_2 ": null," street_address_3 ": null," locality ":" Хьюстон "," state_or_province ":" Техас "," post_office_box ": null," postal_code ":" 77777 "," country ":" US "," электронная почта ": null}," сертификаты ":" \ nMIIE1TCCA72gAwIBAgIRANsjhF + t ... 4CAw5Egg73IgIHggE1QEZiYQRu + 0wDQY \ n "," common_name ":" example.ssl.com "," domains_qty_purchased ": "_purchased": "_purchased ": "_purchased" 1 »,« subject_alternative_names »: [« example.ssl.com »,« www.example.ssl.com »],« validations »: null,« effective_date »:« 0-2019-05T03: 11: 22-37.000: 05 "," expiration_date ":" 00-2020-05T02: 11: 22-37.000: 05 "," algorithm ":" SHA00 "," external_order_number ": null," domains ": null," site_seal_code ": null," subscriber_agreement ": null," server_software ": 256," contacts ": [{...}, {...}]}

Поскольку API предназначен для программного использования, необходимо проанализировать ответ JSON, чтобы изолировать сертификат и сохранить его в файл. Разбор JSON выходит за рамки этой статьи; однако это простая задача, которая может быть легко реализована в большинстве современных языков сценариев или программирования.

Если у вас под рукой нет ссылочного номера, вы можете вызвать API, чтобы получить все заказы на сертификаты вашей учетной записи. Этот вызов позволяет фильтровать заказы, а также то, какая информация будет отображаться.

$ curl --cacert SSL_COM_RSA_SSL_SUBCA.crt --request GET \ --data-urlencode 'secret_key = FY + s9 / ghUrv7SQ ==' --data-urlencode 'account_key = 4497618e5c98' \ 'https: //sws-test.sslpki.com / Certific? fields = domains, ref, order_status '[{"ref": "co-ac1ecm200", "order_status": "выдано", "domains": ["example.ssl.com"]}, {" ref ":" co-581eclsap "," order_status ":" проверка, подождите "," domains ": [" example.ssl.com "]}, {" ref ":" co-6f1ecm1of "," order_status ": "ожидает контактной информации от клиента", "домены": ["test.ssl.com"]}}

Ассоциация fields Параметр URL позволяет вам контролировать, какие данные сертификата будут отображаться в выходных данных. Вы можете дополнительно разбить на страницы через per_page и page параметры запроса. Для ограничения количества сертификатов в зависимости от даты их выдачи вы можете использовать start и end параметры. Наконец, вы можете фильтровать и искать заказы, используя такие критерии, как идентификатор продукта, срок годности или любое другое поле, содержащееся в сертификате. Для получения дополнительной информации взгляните на Документация по API SSL.com.

Отозвать сертификат

Последней функцией, которую мы рассмотрим в этом руководстве, является массовый отзыв сертификатов. Сертификаты могут защитить вас, пока только вы (или люди, которым вы доверяете) владеете закрытым ключом, связанным с ними. В случае компрометации закрытого ключа или необходимости изменения любой информации о сертификате, сертификат должен быть немедленно отозван и выдан новый.

В случаях, когда закрытый ключ подозревается в краже, обязательно, чтобы клиентское программное обеспечение (такое как браузеры или операционные системы) прекратило принимать его как действительный как можно скорее. По этой причине мы настоятельно рекомендуем вам внедрить автоматизированную систему отзыва, переиздания, получения и установки сертификатов на ваших серверах.

API SWS SSL.com позволяет программно отозвать один, несколько или все сертификаты в любом из ваших заказов на сертификаты. Следующий вызов API отменит все сертификаты в порядке сертификата совместно ac1ecm200:

curl --cacert SSL_COM_RSA_SSL_SUBCA.crt --request DELETE --header "Content-Type: application / json" \ --data-binary '{"account_key": "4497618e5c98", "secret_key": "FY + s9 / ghUrv7SQ = = "," причина ":" украдено "} '\' https: //sws.sslpki.com / certificate / co-ac1ecm200 '{"status": "отозван"}

Эта команда cURL выдает HTTP-запрос DELETE (вместо GET или POST, как предыдущие команды) и предоставляет встроенную конфигурацию JSON. Также допустимо создать файл с содержимым JSON и передать его в cURL через имя файла так же, как команда, выдавшая заказ на сертификат.

Вы можете указать любую причину в reason  параметр, и может дополнительно включать в себя список серийных номеров сертификатов в JSON, чтобы отозвать только сертификаты, соответствующие этим серийным номерам. Если серийные номера не указаны, все сертификаты, относящиеся к указанному заказу, будут аннулированы.

Для получения дополнительной информации об этом вызове API, пожалуйста, посмотрите на наш Документация по API.

Заключение

В этой статье описывается простой процесс выдачи и отзыва сертификата DV-сервера в качестве упрощенного примера операций, которые вы можете выполнять с помощью SSL.com SWS API. Мы в SSL.com поощряем использование автоматизации там, где это возможно, поскольку она устраняет необходимость ручного выполнения одних и тех же повторяющихся задач и, что более важно, позволяет ускорить время отклика в экстренных случаях (см. вопрос энтропии серийного номера).

Пожалуйста, не стесняйтесь экспериментировать с нашими Песочница и SWS-API, и не стесняйтесь обращаться к нашим агентам поддержки, если у вас возникнут какие-либо проблемы.

Спасибо, что выбрали SSL.com! Если у вас возникнут вопросы, свяжитесь с нами по электронной почте по адресу Support@SSL.com, вызов 1-877-SSL-SECURE, или просто нажмите ссылку чата в правом нижнем углу этой страницы. Вы также можете найти ответы на многие распространенные вопросы поддержки в нашем база знаний.
Twitter
Facebook
LinkedIn
Reddit.
Эл. адрес

Будьте в курсе и будьте в безопасности

SSL.com является мировым лидером в области кибербезопасности, PKI и цифровые сертификаты. Подпишитесь, чтобы получать последние новости отрасли, советы и анонсы продуктов от SSL.com.

Мы будем рады вашим отзывам

Пройдите наш опрос и поделитесь с нами своими мыслями о своей недавней покупке.