CertCentral Discovery 스캔을 통하여 인증서를 찾은 합계 및 모든 엔드포인트 서버의 목록을 받습니다. 옵션으로 서버 또는 스캔 특성으로 결과를 필터합니다.
curl -X POST \
https://daas.digicert.com/apicontroller/v1/reports/viewIpPort \
-H 'Content-Type: application/json' \
-H 'X-DC-DEVKEY: {{api_key}}' \
-d '{
"searchCriteriaList": [
{
"key":"serialNumber",
"operation": "EQUALS",
"value": [
"0eb6eab418c873d8f3c031dcdddf18b0"
]
},
{
"key":"ip",
"operation": "EQUALS",
"value": [
"www.itc.com","www.digicert.com","www.cert.com","wmart.com","ph.com"
]
},
{
"key":"port",
"operation": "EQUALS",
"value": [
3389,636,443,80,389,8443
]
},
{
"key":"scanName",
"operation": "EQUALS",
"value": [
"ScanWithAllVul","GtScdlV612Aug19"
]
},
{
"key":"serverSecurity",
"operation": "EQUALS",
"value": [
"NO_VULNERABILITY_FOUND"
]
},
{
"key":"isCertPresent",
"operation": "EQUALS",
"value": [
true
]
},
{
"key":"cn",
"operation": "EQUALS",
"value": [
"www.origin.digicert.com"
]
}
],
"accountId": "126993",
"divisionIds": [],
"startIndex": 1,
"pageSize": 50,
"sortedColumnId": null,
"sortOrder": "ASC"
}'
import requests
url = "https://daas.digicert.com/apicontroller/v1/reports/viewIpPort"
payload = "{\n \"searchCriteriaList\": [\n {\n \"key\": \"serialNumber\",\n \"operation\": \"EQUALS\",\n \"value\": [\n \"0eb6eab418c873d8f3c031dcdddf18b0\"\n ]\n },\n {\n \"key\": \"ip\",\n \"operation\": \"EQUALS\",\n \"value\": [\n \"www.itc.com\",\"www.digicert.com\",\"www.cert.com\",\"wmart.com\",\"ph.com\"\n ]\n },\n {\n \"key\": \"port\",\n \"operation\": \"EQUALS\",\n \"value\": [\n \"3389\",\"636\",\"443\",\"80\",\"389\",\"8443\"\n ]\n },\n {\n \"key\": \"scanName\",\n \"operation\": \"EQUALS\",\n \"value\": [\n \"ScanWithAllVul\",\"GtScdlV612Aug19\"\n ]\n },\n {\n \"key\": \"serverSecurity\",\n \"operation\": \"EQUALS\",\n \"value\": [\n \"NO_VULNERABILITY_FOUND\"\n ]\n },\n {\n \"key\": \"isCertPresent\",\n \"operation\": \"EQUALS\",\n \"value\": [\n \"true\"\n ]\n },\n {\n \"key\": \"cn\",\n \"operation\": \"EQUALS\",\n \"value\": [\n \"www.origin.digicert.com\"\n ]\n }\n ],\n \"accountId\": \"126993\",\n \"divisionIds\": [],\n \"startIndex\": 1,\n \"pageSize\": 50,\n \"sortedColumnId\": null,\n \"sortOrder\": \"ASC\"\n}"
headers = {
'X-DC-DEVKEY': "{{api_key}}",
'Content-Type': "application/json",
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://daas.digicert.com/apicontroller/v1/reports/viewIpPort"
payload := strings.NewReader("{\n \"searchCriteriaList\": [\n {\n \"key\": \"serialNumber\",\n \"operation\": \"EQUALS\",\n \"value\": [\n \"0eb6eab418c873d8f3c031dcdddf18b0\"\n ]\n },\n {\n \"key\": \"ip\",\n \"operation\": \"EQUALS\",\n \"value\": [\n \"www.itc.com\",\"www.digicert.com\",\"www.cert.com\",\"wmart.com\",\"ph.com\"\n ]\n },\n {\n \"key\": \"port\",\n \"operation\": \"EQUALS\",\n \"value\": [\n \"3389\",\"636\",\"443\",\"80\",\"389\",\"8443\"\n ]\n },\n {\n \"key\": \"scanName\",\n \"operation\": \"EQUALS\",\n \"value\": [\n \"ScanWithAllVul\",\"GtScdlV612Aug19\"\n ]\n },\n {\n \"key\": \"serverSecurity\",\n \"operation\": \"EQUALS\",\n \"value\": [\n \"NO_VULNERABILITY_FOUND\"\n ]\n },\n {\n \"key\": \"isCertPresent\",\n \"operation\": \"EQUALS\",\n \"value\": [\n \"true\"\n ]\n },\n {\n \"key\": \"cn\",\n \"operation\": \"EQUALS\",\n \"value\": [\n \"www.origin.digicert.com\"\n ]\n }\n ],\n \"accountId\": \"126993\",\n \"divisionIds\": [],\n \"startIndex\": 1,\n \"pageSize\": 50,\n \"sortedColumnId\": null,\n \"sortOrder\": \"ASC\"\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))
}
var request = require("request");
var options = { method: 'POST',
url: 'https://daas.digicert.com/apicontroller/v1/reports/viewIpPort',
headers:
{ 'Content-Type': 'application/json',
'X-DC-DEVKEY': '{{api_key}}' },
body:
{ searchCriteriaList:
[ { key: 'serialNumber', operation: 'EQUALS', value: [ '0eb6eab418c873d8f3c031dcdddf18b0' ] },
{ key: 'ip', operation: 'EQUALS', value: [ 'www.itc.com','www.digicert.com','www.cert.com','wmart.com','ph.com' ] },
{ key: 'port', operation: 'EQUALS', value: [ '3389','636','443','80','389','8443' ] },
{ key: 'scanName', operation: 'EQUALS', value: [ 'ScanWithAllVul','GtScdlV612Aug19' ] },
{ key: 'serverSecurity', operation: 'EQUALS', value: [ 'NO_VULNERABILITY_FOUND' ] },
{ key: 'isCertPresent', operation: 'EQUALS', value: [ 'true' ] },
{ key: 'cn', operation: 'EQUALS', value: [ 'www.origin.digicert.com' ] } ],
accountId: '126993',
divisionIds: [],
startIndex: 1,
pageSize: 50,
sortedColumnId: null,
sortOrder: 'ASC' },
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
{
"data": {
"totalCount": 728,
"currentCount": 50,
"onlineIPPortDetailsDTOList": [
{
"commonName": "www.digicert.com",
"port": 443,
"ipAddress": "digicert.com",
"portStatus": null,
"isCertPresent": true,
"serverSecurityRating": "Not secure",
"service": "https",
"devicetype": "Unavailable",
"serverName": "Unavailable",
"serverVersion": "Unavailable",
"scanId": null,
"scanName": "Ray test scan",
"domainName": "digicert.com",
"firstDiscoveredDate": 1563917837971,
"certificateId": "041340bf2a9fb794d30fda13395b314ae67df53d",
"os": "",
"osVersion": null,
"vulnerabilityName": "POODLE (TLS)",
"serverId": 1634548,
"san": "www.digicert.com,ak-dfw01-www.digicert.com,ak-dal01-www.digicert.com,www.dig-cert.com,digicert.com",
"org": "DigiCert, Inc.",
"certExpiryDate": 1581162880000,
"certStatus": "VALID",
"certRating": "Very secure",
"ca": "DigiCert",
"serialNumber": "3abd311ca0530854676aab23"
},
{
"commonName": "*.stackexchange.com",
"port": 443,
"ipAddress": "stackoverflow.com",
"portStatus": null,
"isCertPresent": true,
"serverSecurityRating": "Secure",
"service": "https",
"devicetype": "",
"serverName": "Unavailable",
"serverVersion": "Unavailable",
"scanId": null,
"scanName": "Morpheus",
"domainName": "stackoverflow.com",
"firstDiscoveredDate": 1561409075964,
"certificateId": "390a4684b989444a6d286705acd429415a9c433d",
"os": "",
"osVersion": null,
"vulnerabilityName": "",
"serverId": 1407732,
"san": "*.askubuntu.com,*.blogoverflow.com,*.mathoverflow.net,*.meta.stackexchange.com,*.meta.stackoverflow.com,*.serverfault.com,*.sstatic.net,*.stackexchange.com,*.stackoverflow.com,*.stackoverflow.email,*.superuser.com,askubuntu.com,blogoverflow.com,mathoverflow.net,openid.stackauth.com,serverfault.com,sstatic.net,stackapps.com,stackauth.com,stackexchange.com,stackoverflow.blog,stackoverflow.com,stackoverflow.email,stacksnippets.net,superuser.com",
"org": "",
"certExpiryDate": 1566927383000,
"certStatus": "EXPIRED",
"certRating": "Secure",
"ca": "Let's Encrypt",
"serialNumber": "039980940a562af6fb09e8a984d2a14c6ec9"
}
]
}
}
이름 | 필수/옵션 | 유형 | 설명 |
---|---|---|---|
searchCriteriaList | 옵션 | array | 지정된 조건에 대한 레코드를 받습니다. |
.. key | 옵션 | string |
검색 매개 변수입니다. 허용되는 값: serialNumber , ip , port , scanName , serverSecurity , isCertPresent , cn
|
.. operation | 옵션 | string |
검색 연산자입니다. 허용되는 값: EQUALS
|
.. value | 옵션 | array | 검색 값입니다. |
accountId | 필수 | string | 계정 ID입니다. |
divisionIds | 옵션 | array | 부서 ID입니다. |
startIndex | 옵션 | int |
지정된 색인에서 시작합니다. 기본값: 1
|
pageSize | 옵션 | int |
페이지당 레코드의 수입니다. 기본값: 50
|
sortedColumnId | 옵션 | string |
지정된 매개 변수로 결과를 정렬합니다. 허용되는 값: serialNumber , ip , port , scanName , serverSecurity , isCertPresent , cn 기본값: isCertPresent
|
sortOrder | 옵션 | string |
정렬 방향입니다. 허용되는 값: DESC (내림차순: 9-0, Z-A), ASC (오름차순: 0-9, A-Z)기본값: DESC
|
이름 | 유형 | 설명 |
---|---|---|
data | object | 컨테이너입니다. |
.. totalCount | int | 검색 조건과 일치하는 레코드의 합계입니다. |
.. currentCount | int | 현재 페이지에 레코드의 수입니다. |
.. onlineIPPortDetailsDTOList | array | 엔드포인트 상세 정보에 대한 컨테이너입니다. |
.. .. commonName | string | 엔드포인트에서 찾은 인증서의 일반 이름입니다. |
.. .. port | string | 인증서를 찾은 포트입니다. |
.. .. ipAddress | string | 엔드포인트의 IP 주소입니다. |
.. .. portStatus | string | 엔드포인트의 사용 가능성 또는 연결 상태입니다. |
.. .. isCertPresent | bool | 엔드포인트에 인증서가 설치된 여부입니다. |
.. .. serverSecurityRating | string |
서버 보안 등급 , 엔드포인트에 통신 및 보안 설정에 따릅니다.
|
.. .. service | string |
https 와 같은 통신 프로토콜입니다.
|
.. .. deviceType | string | 사용 가능한 경우, 일반 하드웨어 종류입니다. |
.. .. serverName | string | 사용 가능한 경우, 서버 소프트웨어입니다. |
.. .. serverVersion | string | 사용 가능한 경우, 서버 버전입니다. |
.. .. scanId | string | 엔드포인트에 대한 상세 정보를 스캔 및 검색한 CertCentral Discovery 스캔에 대한 고유한 ID입니다. |
.. .. scanName | string | CertCentral Discovery 스캔에 관리자가 지정한 식별 이름입니다. |
.. .. domainName | string | 엔드포인트의 루트 도메인입니다. |
.. .. firstDiscoveredDate | string | CertCentral Discovery 스캔에서 엔드포인트를 처음 찾은 날짜입니다. |
.. .. certificateId | string | 엔드포인트에서 찾은 인증서에 대해 DigiCert에서 생성한 고유한 ID입니다. 이것을 필요로 하는 API 요청에서 사용합니다. |
.. .. os | string | 운영 체제입니다. |
.. .. osVersion | string | 사용 가능한 경우, 운영 체제 버전입니다. |
.. .. vulnerabilityName | string | 알려진 엔드포인트 상세 정보에 기초하여 찾은 취약성입니다. |
.. .. serverId | string | 사용 가능한 경우, 서버 ID입니다. |
.. .. san | string | 엔드포인트에서 찾은 인증서의 서버 대체 이름입니다. |
.. .. org | string | 엔드포인트에서 찾은 인증서의 조직 이름입니다. |
.. .. certExpiryDate | string | 엔드포인트에서 찾은 인증서의 만료 날짜입니다. |
.. .. certStatus | string |
상태 : 엔드포인트에서 찾은 인증서
|
.. .. certRating | string |
인증서 보안 등급 , 업계 표준 및 인증서 설정에 기초합니다.
|
.. .. ca | string | 인증서를 발급한 인증 기관입니다. |
.. .. serialNumber | string | 발급할 때 인증서에 할당한 일련 번호입니다. |