Просмотр рейтинга контрольной точки

POST
https://daas.digicert.com/apicontroller/v1/sslrating/getServerRating

Получение общего рейтинга безопасности сервера, а также известных рисков и проблем для IP-адреса, обнаруженного при сканированиях с использованием CertCentral Discovery. Запрос данной конечной точки позволяет конечному пользователю запомнить рейтинг безопасности или установить связь с рейтингом безопасности и всеми соответствующими элементами, которые определяют общий рейтинг.

cURL
curl -X POST \
  https://daas.digicert.com/apicontroller/v1/sslrating/getServerRating \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
    "ip": "digicert.com",
    "port": "443",
    "accountId": "126993",
    "divisionIds": [],
    "scanId": "",
    "source": null,
    "serverId": "{{SERVER_ID}}"
}'
Python
import requests

url = "https://daas.digicert.com/apicontroller/v1/sslrating/getServerRating"

payload = "{\n    \"ip\": \"digicert.com\",\n    \"port\": \"443\",\n    \"accountId\": \"126993\",\n    \"divisionIds\": [],\n    \"scanId\": \"\",\n    \"source\": null,\n    \"serverId\": \"{{SERVER_ID}}\"\n}"
headers = {
    'X-DC-DEVKEY': "{{api_key}}",
    'Content-Type': "application/json",
    }

response = requests.request("POST", url, data=payload, headers=headers)

print(response.text)
Go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://daas.digicert.com/apicontroller/v1/sslrating/getServerRating"

	payload := strings.NewReader("{\n    \"ip\": \"digicert.com\",\n    \"port\": \"443\",\n    \"accountId\": \"\"126993\"\",\n    \"divisionIds\": [],\n    \"scanId\": \"\",\n    \"source\": null,\n    \"serverId\": \"{{SERVER_ID}}\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-DC-DEVKEY", "{{api_key}}")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
NodeJS
var request = require("request");

var options = { method: 'POST',
  url: 'https://daas.digicert.com/apicontroller/v1/sslrating/getServerRating',
  headers: 
   { 'Content-Type': 'application/json',
     'X-DC-DEVKEY': '{{api_key}}' },
  body: '{"ip":digicert.com,"port":443,"accountId":"126993","divisionIds":[],"scanId":,"source":null,"serverId":{{SERVER_ID}}}' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
200 OK
{
    "data": {
        "categories": [
		    {
				"name":"ServerTlsCategory",
				"criteria":[
			    	{
				    	"name":"CipherAlgKeyLength",
						"value":"256",
						"issues":null,
						"colorCode":null,
						"message":null,
						"data":null,
						"suggestion":null,
						"kbLink":null
					},
					{
						"name":"CipherAlgorithm",
						"value":"AES",
						"issues":null,
						"colorCode":null,
						"message":null,
						"data":null,
						"suggestion":null,
						"kbLink":null
					},
					{
						"name":"TransportLayerSecurity",
						"value":"TLSv1.2,TLSv1",
						"issues":null,
						"colorCode":null,
						"message":null,
						"data":null,
						"suggestion":null,
						"kbLink":null
					}
				]
			},
			{
				"name":"SecurityHeadersCategory",
				"criteria":[
					{
						"name":"Strict-Transport-Security",
						"value":"",
						"issues":"true",
						"colorCode":2,
						"message":"Missing security header.",
						"data":null,
						"suggestion":null,
						"kbLink":null
					},
					{
						"name":"Content-Security-Policy",
						"value":"",
						"issues":null,
						"colorCode":null,
						"message":"Missing security header.",
						"data":null,
						"suggestion":null,
						"kbLink":null
					},
					{
						"name":"X-Content-Type-Options",
						"value":"",
						"issues":null,
						"colorCode":null,
						"message":"Missing security header.",
						"data":null,
						"suggestion":null,
						"kbLink":null
					},
					{
						"name":"Feature-Policy",
						"value":"",
						"issues":null,
						"colorCode":null,
						"message":"Missing security header.",
						"data":null,
						"suggestion":null,
						"kbLink":null
					},
					{
						"name":"Referrer-Policy",
						"value":"",
						"issues":null,
						"colorCode":null,
						"message":"Missing security header.",
						"data":null,
						"suggestion":null,
						"kbLink":null
					},
					{
						"name":"X-Frame-Options",
						"value":"SAMEORIGIN",
						"issues":null,
						"colorCode":null,
						"message":null,
						"data":null,
						"suggestion":null,
						"kbLink":null
					},
					{
						"name":"X-XSS-Protection",
						"value":"",
						"issues":null,
						"colorCode":null,
						"message":"Missing security header.",
						"data":null,
						"suggestion":null,
						"kbLink":null
					},
					{
						"name":"Public-Key-Pins",
						"value":"",
						"issues":null,
						"colorCode":null,
						"message":"Missing security header.",
						"data":null,
						"suggestion":null,
						"kbLink":null
					},
					{
						"name":"Expect-CT",
						"value":"",
						"issues":null,
						"colorCode":null,
						"message":"Missing security header.",
						"data":null,
						"suggestion":null,
						"kbLink":null
					},
					{
						"name":"Location",
						"value":"",
						"issues":null,
						"colorCode":null,
						"message":null,
						"data":null,
						"suggestion":null,
						"kbLink":null
					},
					{
						"name":"Status",
						"value":"200 OK",
						"issues":null,
						"colorCode":null,
						"message":null,
						"data":null,
						"suggestion":null,
						"kbLink":null
					},
					{
						"name":"X-Permitted-Cross-Domain-Policies",
						"value":"",
						"issues":null,
						"colorCode":null,
						"message":"Missing security header.",
						"data":null,
						"suggestion":null,
						"kbLink":null
					}
				]
			},
			{
				"name":"HttpResponseHeadersCategory",
				"criteria":[
					{
						"name":"HttpResponseHeaders",
						"value":"",
						"issues":null,
						"colorCode":null,
						"message":null,
						"data":[
							{
								"name":"Version",
								"value":"HTTP/1.1",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Status",
								"value":"200 OK",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Server",
								"value":"Apache/2.4.39 (Unix) Communique/4.2.3",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Access-Control-Allow-Origin",
								"value":"*",
								"issues":null,
								"colorCode":null
							},
							{
								"name":
								"Access-Control-Allow-Methods",
								"value":"GET,POST~GET,POST",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Connection",
								"value":"keep-alive",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Pragma",
								"value":"no-cache",
								"issues":null,"colorCode":null
							},
							{
								"name":"Last-Modified",
								"value":"Mon, 13 May 2019 08:57:02 GMT",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Date",
								"value":"Mon, 13 May 2019 09:06:26 GMT",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Access-Control-Allow-Headers",
								"value":"X-Requested-With, Content-Type, Origin, Authorization, Accept, Client-Security-Token, Accept-Encoding",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Accept-Ranges",
								"value":"bytes",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Cache-Control",
								"value":"no-cache, no-store, must-revalidate~private, max-age=604800",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"ETag",
								"value":"\"43ef6-588c119939675\"",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Set-Cookie",
								"value":"AKA_A2=A; expires=Mon, 13-May-2019 10:06:26 GMT; path=/; domain=symantec.com; secure; HttpOnly",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Set-Cookie",
								"value":"spk=1894745231; path=/; secure",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Expires",
								"value":"0",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Content-Length",
								"value":"276799",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Access-Control-Max-Age",
								"value":"1000~1000",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Link",
								"value":"<https://web-analytics.example.m>;rel=\"preconnect\",<https://j.web.m>;rel=\"preconnect\",<https://nxs.example.com>;rel=\"preconnect\",<https://tracker.mrexample.m>;rel=\"preconnect\"",
								"issues":null,
								"colorCode":null
							},
							{
								"name":"Content-Type",
								"value":"text/html; charset=utf-8",
								"issues":null,
								"colorCode":null
							}
						],
						"suggestion":null,
						"kbLink":null
					}
				]
			}
		],
		"rating":"Not secure",
		"certChainInfo":{
			"certChainId":4752752,
			"noOfCertChainFound":2,
			"status":"Invalid-certificate is expired",
			"isSelfSigned":false,
			"certChainDetails":{
				"certChainDetailsList":[
					{
						"certDetailsList":[
							{
								"status":"Valid",
								"expirationDate":1855828800000,
								"keyAlgorithm":"RSA2048",
								"algorithmType":"SHA256withRSA",
								"issueDate":1382443200000,
								"issuerDN":"CN=DigiCert High Assurance EV Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US",
								"subject":null,
								"errors":null
							},
							{
								"status":"Expired",
								"expirationDate":null,
								"keyAlgorithm":null,
								"algorithmType":null,
								"issueDate":null,
								"issuerDN":null,
								"subject":"CN=www.exampleca.com,OU=Corp Mktg & Comms - Online Exp,O=Symantec Corporation,L=Mountain View,ST=California,C=US,2.5.4.5=#130732313538313133,1.3.6.1.4.1.311.60.2.1.2=#130844656c6177617265,1.3.6.1.4.1.311.60.2.1.3=#13025553,2.5.4.15=#0c1450726976617465204f7267616e697a6174696f6e(end-entity)",
								"errors":[
									"This certificate has expired. Replace the expired certificate with a valid certificate."
								]
							}
						],
						"overallStatus":"Primary Chain (Invalid-  certificate is expired)",
						"isAdditionalCertChain":null,
						"isValidChain":false
					}
				]
			}
		},
		"criticalTlsIssues":[],
		"nonCriticalTlsIssues":[],
		"protocolCiphersInfoList":[],
		"serverConfigList":[
			{
				"protocol":"TLSv1.2",
				"keySize":128,
				"cipherAlgorithm":"AES"
			}
		],
		"tlsIssuesFound":false,
		"vulnerabilityScanEnabled":false
	}
}

Параметры запроса

Имя Обязательный/Необязательный Тип Описание
ip обязательный string IP-адрес конечной точки, для которой вы хотите получить рейтинг.
port обязательный string Порт конечной точки, для которой вы хотите получить рейтинг.
accountId обязательный string Идентификатор учетной записи.
divisionIds необязательный array Идентификаторы подразделения.
scanId необязательный string Уникальный идентификатор для сканирования CertCentral Discovery, в результате которого были отсканированы и получены данные для конечной точки.
Требуется, если scanName при просмотре конечной точки применен фильтр, либо если пользователь переходит к виду сертификата из данных сканирования.
source необязательный string Переадресация пользователя имени сканирования из.
serverId необязательный string Идентификатор сервера, если указан.

Параметры ответного сообщения

Имя Тип Описание
data object Контейнер.
.. categories array Контейнер для критериев оценки, которые определяют рейтинг безопасности.
.. .. name string Имя категории оценки.
.. .. criteria array Контейнер для деталей, которые определяют рейтинг безопасности.
.. .. .. name string Критерии оценки.
.. .. .. value string Значение критерия.
.. .. .. issues bool В том случае, если известно о проблемах, связанных с данным критерием.
.. .. .. colorCode string Уровень предупреждения.
Допустимые значения: 1= Риск (высокий), 2= Предупреждение (средний), null.
.. .. .. message string Сводные данные.
.. .. .. data array Контейнер для субкатегорий.
.. .. .. .. name string Критерии оценки.
.. .. .. .. value string Значение критерия.
.. .. .. .. issues bool В том случае, если известно о проблемах, связанных с данным критерием.
.. .. .. .. colorCode string Уровень предупреждения.
Допустимые значения: 1= Риск (высокий), 2= Предупреждение (средний), null.
.. .. .. suggestion string Данные и (или) решение.
.. .. .. kbLink string Ссылка на дополнительную информацию.
.. rating string Рейтинг безопасности сервера, с учетом настроек подключения и безопасности конечной точки.
.. certChainInfo object Контейнер для информации о промежуточном сертификате ЦС.
.. .. certChainId string Идентификатор цепочки сертификатов.
.. .. noOfCertChainFound int Число обнаруженных цепочек сертификатов.
.. .. status string Состояние цепочки.
.. .. isSelfSigned bool Является ли цепочка самоподписанной.
.. .. certChainDetails object Контейнер с данными цепочки сертификатов.
.. .. .. certChainDetailsList array Контейнер с данными цепочки сертификатов.
.. .. .. .. certDetailsList array Данные промежуточного или корневого сертификата.
.. .. .. .. .. status string Статус сертификата.
.. .. .. .. .. expirationDate string Дата окончания срока действия.
.. .. .. .. .. keyAlgorithm string Алгоритм шифрования.
.. .. .. .. .. algorithmType string Тип SHA.
.. .. .. .. .. issueDate string Дата выдачи.
.. .. .. .. .. issuerDN string Имя лица, выпустившего сертификат.
.. .. .. .. .. subject string Пользователь сертификата.
.. .. .. .. .. errors array Сообщения об ошибках.
.. .. .. .. overallStatus string Состояние цепочки сертификатов в целом.
.. .. .. .. isAdditionalCertChain bool Обнаружен ли сертификат, отличающийся от ожидаемой цепочки сертификатов.
.. .. .. .. isValidChain bool Является ли цепочка действительной.
.. criticalTlsIssues array Критические проблемы, связанные с внедрением TLS в конечной точке.
.. nonCriticalTlsIssues array Некритические проблемы, связанные с внедрением TLS в конечной точке.
.. protocolCiphersInfoList array Наборы шифров, присутствующие в конечной точке.
.. serverConfigList object Настройки безопасности подключения сервера.
.. .. protocol string Протокол безопасности подключения.
.. .. keySize string Величина ключа шифрования.
.. .. cipherAlgorithm string Алгоритм шифрования.
.. tlsIssuesFound bool Существуют ли в конечной точки проблемы, связанные с TLS.
.. vulnerabilityScanEnabled bool Включено сканирование уязвимостей в конечной точки.