Inhalt

Einleitung

Hintergrund

Voraussetzungen

Anforderungen

Verwendete Komponenten

Konfigurieren

Netzwerkdiagramm

Konfiguration auf der ISE

Python-Beispiele

Abrufen aller Systemzertifikate eines bestimmten Knotens

Systemzertifikat eines bestimmten Knotens nach ID abrufen

Liste aller vertrauenswürdigen Zertifikate abrufen

Vertrauenswürdiges Zertifikat nach ID abrufen

Fehlerbehebung

Einleitung

In diesem Dokument wird das Verfahren zur Verwendung von openAPI zur Verwaltung von Cisco Identity Services Engine (ISE)-Zertifikaten beschrieben.

Hintergrund

Angesichts der zunehmenden Komplexität der Sicherheit und Verwaltung von Unternehmensnetzwerken führt die Cisco ISE 3.1 APIs im OpenAPI-Format ein, die das Lebenszyklus-Management von Zertifikaten optimieren. Sie bieten eine standardisierte und automatisierte Schnittstelle für effiziente und sichere Zertifikatabläufe, die Administratoren dabei unterstützt, strenge Sicherheitsvorkehrungen durchzusetzen und die Netzwerk-Compliance aufrechtzuerhalten.

Voraussetzungen

Anforderungen

Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:

- Cisco Identity Services Engine (ISE)

- REST-API

- Python

Verwendete Komponenten

- ISE 3.3

- Python 3.10.0

Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.

Konfigurieren

Netzwerkdiagramm

Topologie

Konfiguration auf der ISE

Schritt 1: Hinzufügen eines offenen API-Administrationskontos

Um einen API-Administrator hinzuzufügen, navigieren Sie zu Administration -> System -> Administration -> Administrators -> Admin Users -> Add.

API-Administrator

Schritt 2: Aktivieren der offenen API auf der ISE

Die offene API ist auf der ISE standardmäßig deaktiviert. Um sie zu aktivieren, navigieren Sie zu Administration > System > API Settings > API Service Settings. Schalten Sie die Open API-Optionen um. Klicken Sie auf Speichern.

OpenAPI aktivieren

Schritt 3: Erkunden der offenen ISE-API

navigieren Sie zu Administration > System > API Settings > Overview. Klicken Sie auf API-Besuchslink öffnen.

OpenAPI aufrufen

Python-Beispiele

Abrufen aller Systemzertifikate eines bestimmten Knotens

Die API listet alle Zertifikate eines bestimmten ISE-Knotens auf.

Schritt 1: Erforderliche Informationen für einen API-Aufruf.

Methode

HOLEN

URL

https://<ISE-PAN-IP>/api/v1/certs/system-certificate/<ISE-Node-Hostname>

Anmeldeinformationen

Open API-Kontoinformationen verwenden

Header

Akzeptieren: Anwendung/json

Inhaltstyp: Anwendung/json

Schritt 2: Suchen Sie nach der URL, die zum Abrufen von Zertifikaten eines bestimmten ISE-Knotens verwendet wird.

API-URI

Schritt 3: Hier ist das Beispiel des Python-Codes. Kopieren Sie den Inhalt, und fügen Sie ihn ein. Ersetzen Sie die ISE-IP, den Benutzernamen und das Kennwort. Speichern Sie die Datei als Python, um sie auszuführen.

Stellen Sie sicher, dass eine gute Verbindung zwischen der ISE und dem Gerät besteht, auf dem das Python-Codebeispiel ausgeführt wird.

from requests.auth import HTTPBasicAuth

import requests

requests.packages.urllib3.disable_warnings()

if __name__ == "__main__":

url = "https://10.106.33.92/api/v1/certs/system-certificate/ISE-DLC-CFME02-PSN"

headers = {"Accept": "application/json", "Content-Type": "application/json"}

basicAuth = HTTPBasicAuth("ApiAdmin", "Admin123")

response = requests.get(url=url, auth=basicAuth, headers=headers, verify=False)

print("Return Code:")

print(response.status_code)

print("Expected Outputs:")

print(response.json())

Hier sehen Sie das Beispiel der erwarteten Ergebnisse.

Return Code:

200

Expected Outputs:

{'response': [{'id': '5b5b28e4-2a51-495c-8413-610190e1070b', 'friendlyName': 'Default self-signed saml server certificate - CN=SAML_ISE-DLC-CFME02-PSN.cisco.com', 'serialNumberDecimalFormat': '171164606212827159112166844026', 'issuedTo': 'SAML_ISE-DLC-CFME02-PSN.cisco.com', 'issuedBy': 'SAML_ISE-DLC-CFME02-PSN.cisco.com', 'validFrom': 'Fri Mar 29 01:14:22 CST 2024', 'expirationDate': 'Wed Mar 28 01:14:22 CST 2029', 'usedBy': 'Not in use', 'keySize': 4096, 'groupTag': '', 'selfSigned': True, 'signatureAlgorithm': 'SHA384withRSA', 'portalsUsingTheTag': '', 'sha256Fingerprint': '42ad8eeec643fce00605ac34aaf88ca5d687117591a2a4431b656dad8ce9616b', 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/certs/system-certificate/ISE-DLC-CFME02-PSN/5b5b28e4-2a51-495c-8413-610190e1070b', 'type': 'application/json'}}, {'id': '8460950e-fd02-43f6-b1ea-abfa592cb641', 'friendlyName': 'CN=ISE-DLC-CFME02-PSN.cisco.com, OU=Certificate Services System Certificate#Certificate Services Endpoint Sub CA - ISE-DLC-CFME02-PSN#00003', 'serialNumberDecimalFormat': '27546245129667566853665077095037707664', 'issuedTo': 'ISE-DLC-CFME02-PSN.cisco.com', 'issuedBy': 'Certificate Services Endpoint Sub CA - ISE-DLC-CFME02-PSN', 'validFrom': 'Thu Mar 28 16:24:11 CST 2024', 'expirationDate': 'Thu Mar 29 16:24:11 CST 2029', 'usedBy': 'pxGrid', 'keySize': 4096, 'groupTag': '', 'selfSigned': False, 'signatureAlgorithm': 'SHA256withRSA', 'portalsUsingTheTag': '', 'sha256Fingerprint': 'a3c67ea007db0fd5672b471ea614a33c57f1ec55182b436cd0b386ebd88a141c', 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/certs/system-certificate/ISE-DLC-CFME02-PSN/8460950e-fd02-43f6-b1ea-abfa592cb641', 'type': 'application/json'}}, {'id': 'ee5a1a18-4bba-49b5-960b-eabb4418ab5a', 'friendlyName': 'CN=ISE-DLC-CFME02-PSN.cisco.com, OU=ISE Messaging Service#Certificate Services Endpoint Sub CA - ISE-DLC-CFME02-PSN#00004', 'serialNumberDecimalFormat': '108100957755910846563764359601813445413', 'issuedTo': 'ISE-DLC-CFME02-PSN.cisco.com', 'issuedBy': 'Certificate Services Endpoint Sub CA - ISE-DLC-CFME02-PSN', 'validFrom': 'Thu Mar 28 16:24:12 CST 2024', 'expirationDate': 'Thu Mar 29 16:24:12 CST 2029', 'usedBy': 'ISE Messaging Service', 'keySize': 4096, 'groupTag': '', 'selfSigned': False, 'signatureAlgorithm': 'SHA256withRSA', 'portalsUsingTheTag': '', 'sha256Fingerprint': '3cf23d21cdae3bb412a24d3949a4e1e36666b7188fba24f15161be205c2de84a', 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/certs/system-certificate/ISE-DLC-CFME02-PSN/ee5a1a18-4bba-49b5-960b-eabb4418ab5a', 'type': 'application/json'}}, {'id': '06024b57-e21d-44f7-ade9-f27835f825cd', 'friendlyName': 'CN=ISE-DLC-CFME02-PSN.cisco.com, OU=ISE Messaging Service#Certificate Services Endpoint Sub CA - ISE-DLC-CFME02-PSN#00001', 'serialNumberDecimalFormat': '161050984501207870146216443017020239440', 'issuedTo': 'ISE-DLC-CFME02-PSN.cisco.com', 'issuedBy': 'Certificate Services Endpoint Sub CA - ISE-DLC-CFME02-PSN', 'validFrom': 'Thu Mar 28 01:32:39 CST 2024', 'expirationDate': 'Thu Mar 29 01:32:39 CST 2029', 'usedBy': 'Not in use', 'keySize': 4096, 'groupTag': '', 'selfSigned': False, 'signatureAlgorithm': 'SHA256withRSA', 'portalsUsingTheTag': '', 'sha256Fingerprint': '53ebe08309e787d503a484538efe7631c89c6faa34371807cd98fd22a0ea3f4a', 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/certs/system-certificate/ISE-DLC-CFME02-PSN/06024b57-e21d-44f7-ade9-f27835f825cd', 'type': 'application/json'}}, {'id': 'ba0833e1-d1b6-4080-bcf8-ef088cdcd2c8', 'friendlyName': 'CN=ISE-DLC-CFME02-PSN.cisco.com, OU=Certificate Services System Certificate#Certificate Services Endpoint Sub CA - ISE-DLC-CFME02-PSN#00002', 'serialNumberDecimalFormat': '47010535375030235417054492045580827528', 'issuedTo': 'ISE-DLC-CFME02-PSN.cisco.com', 'issuedBy': 'Certificate Services Endpoint Sub CA - ISE-DLC-CFME02-PSN', 'validFrom': 'Thu Mar 28 01:32:29 CST 2024', 'expirationDate': 'Thu Mar 29 01:32:29 CST 2029', 'usedBy': 'Not in use', 'keySize': 4096, 'groupTag': '', 'selfSigned': False, 'signatureAlgorithm': 'SHA256withRSA', 'portalsUsingTheTag': '', 'sha256Fingerprint': '656866d5143561929466b68d0bd207b67b3ae62cc69746fcef20a25000737d1c', 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/certs/system-certificate/ISE-DLC-CFME02-PSN/ba0833e1-d1b6-4080-bcf8-ef088cdcd2c8', 'type': 'application/json'}}, {'id': '6c9c6d94-e693-4864-82cb-85ea37fd9527', 'friendlyName': 'Default self-signed saml server certificate - CN=SAML_ISE-BGL-CFME01-PAN.cisco.com', 'serialNumberDecimalFormat': '17112682887682578269840298717', 'issuedTo': 'SAML_ISE-BGL-CFME01-PAN.cisco.com', 'issuedBy': 'SAML_ISE-BGL-CFME01-PAN.cisco.com', 'validFrom': 'Sun Mar 24 16:18:08 CST 2024', 'expirationDate': 'Fri Mar 23 16:18:08 CST 2029', 'usedBy': 'SAML', 'keySize': 4096, 'groupTag': '', 'selfSigned': True, 'signatureAlgorithm': 'SHA384withRSA', 'portalsUsingTheTag': '', 'sha256Fingerprint': '010365518c6282e7fe54aa0b593433a2ae912000a3c76e0b2763b866bc7304e9', 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/certs/system-certificate/ISE-DLC-CFME02-PSN/6c9c6d94-e693-4864-82cb-85ea37fd9527', 'type': 'application/json'}}, {'id': '9a7751ba-d630-43f2-b43d-bcf431dffa97', 'friendlyName': 'Default self-signed server certificate', 'serialNumberDecimalFormat': '17116455823360843797526070457', 'issuedTo': 'ISE-DLC-CFME02-PSN.cisco.com', 'issuedBy': 'ISE-DLC-CFME02-PSN.cisco.com', 'validFrom': 'Fri Mar 29 01:06:22 CST 2024', 'expirationDate': 'Sun Mar 29 01:06:22 CST 2026', 'usedBy': 'EAP Authentication, Admin, Portal, RADIUS DTLS', 'keySize': 4096, 'groupTag': 'Default Portal Certificate Group', 'selfSigned': True, 'signatureAlgorithm': 'SHA384withRSA', 'portalsUsingTheTag': 'BYOD Portal (default), Blocked List Portal (default), Certificate Provisioning Portal (default), Client Provisioning Portal (default), Hotspot Guest Portal (default), ISE Portal (default), MDM Portal (default), My Devices Portal (default), Self-Registered Guest Portal (default), Sponsor Portal (default), Sponsored Guest Portal (default)', 'sha256Fingerprint': 'f498da0b64fac68318f1f8f195e915c1000265d8950f610ec3bb9c75822739bd', 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/certs/system-certificate/ISE-DLC-CFME02-PSN/9a7751ba-d630-43f2-b43d-bcf431dffa97', 'type': 'application/json'}}], 'nextPage': None, 'previousPage': None, 'version': '1.0.1'}

Systemzertifikat eines bestimmten Knotens nach ID abrufen

Diese API stellt Details eines Systemzertifikats eines bestimmten Knotens basierend auf dem angegebenen Hostnamen und der angegebenen ID bereit.

Schritt 1: Erforderliche Informationen für einen API-Aufruf.

Methode

HOLEN

URL

https://<ISE-PAN-IP>/api/v1/certs/system-certificate/<ISE-Node-Hostname>/<ID-Of-Certificate>

Anmeldeinformationen

Open API-Kontoinformationen verwenden

Header

Akzeptieren: Anwendung/json

Inhaltstyp: Anwendung/json

Schritt 2: Suchen Sie nach der URL, die zum Abrufen des Zertifikats eines bestimmten Knotens basierend auf dem angegebenen Hostnamen und der angegebenen ID verwendet wird.

API-URI

Schritt 3: Hier ist das Beispiel des Python-Codes. Kopieren Sie den Inhalt, und fügen Sie ihn ein. Ersetzen Sie die ISE-IP, den Benutzernamen und das Kennwort. Speichern Sie die Datei als Python, um sie auszuführen.

Stellen Sie sicher, dass eine gute Verbindung zwischen der ISE und dem Gerät besteht, auf dem das Python-Codebeispiel ausgeführt wird.

from requests.auth import HTTPBasicAuth import requests requests.packages.urllib3.disable_warnings() if __name__ == "__main__": url = "https://10.106.33.92/api/v1/certs/system-certificate/ISE-DLC-CFME02-PSN/5b5b28e4-2a51-495c-8413-610190e1070b" headers = {"Accept": "application/json", "Content-Type": "application/json"} basicAuth = HTTPBasicAuth("ApiAdmin", "Admin123") response = requests.get(url=url, auth=basicAuth, headers=headers, verify=False) print("Return Code:") print(response.status_code) print("Expected Outputs:") print(response.json())

Hinweis: Die ID stammt aus den API-Ausgaben in Schritt 3 von "Get All System Certificates Of A Particular Node", z. B. 5b5b28e4-2a51-495c-8413-610190e1070b ist "Default self-signed saml server certificate - CN=SAML_ISE -DLC-CFME02-PSN.cisco.com".

Hier sehen Sie das Beispiel der erwarteten Ergebnisse.

Return Code:

200

Expected Outputs:

{'response': {'id': '5b5b28e4-2a51-495c-8413-610190e1070b', 'friendlyName': 'Default self-signed saml server certificate - CN=SAML_ISE-DLC-CFME02-PSN.cisco.com', 'serialNumberDecimalFormat': '171164606212827159112166844026', 'issuedTo': 'SAML_ISE-DLC-CFME02-PSN.cisco.com', 'issuedBy': 'SAML_ISE-DLC-CFME02-PSN.cisco.com', 'validFrom': 'Fri Mar 29 01:14:22 CST 2024', 'expirationDate': 'Wed Mar 28 01:14:22 CST 2029', 'usedBy': 'Not in use', 'keySize': 4096, 'groupTag': '', 'selfSigned': True, 'signatureAlgorithm': 'SHA384withRSA', 'portalsUsingTheTag': '', 'sha256Fingerprint': '42ad8eeec643fce00605ac34aaf88ca5d687117591a2a4431b656dad8ce9616b', 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/certs/system-certificate/ISE-DLC-CFME02-PSN/5b5b28e4-2a51-495c-8413-610190e1070b', 'type': 'application/json'}}, 'version': '1.0.1'}

Liste aller vertrauenswürdigen Zertifikate abrufen

Die API listet alle vertrauenswürdigen Zertifikate des ISE-Clusters auf.

Schritt 1: Erforderliche Informationen für einen API-Aufruf.

Methode

HOLEN

URL

https://<ISE-PAN-IP>/api/v1/certs/trusted-certificate

Anmeldeinformationen

Open API-Kontoinformationen verwenden

Header

Akzeptieren: Anwendung/json

Inhaltstyp: Anwendung/json

Schritt 2: Suchen Sie nach der URL, die zum Abrufen von vertrauenswürdigen Zertifikaten verwendet wird.

API-URI

Schritt 3: Hier ist das Beispiel des Python-Codes. Kopieren Sie den Inhalt, und fügen Sie ihn ein. Ersetzen Sie die ISE-IP, den Benutzernamen und das Kennwort. Speichern Sie die Datei als Python, um sie auszuführen.

Stellen Sie sicher, dass eine gute Verbindung zwischen der ISE und dem Gerät besteht, auf dem das Python-Codebeispiel ausgeführt wird.

from requests.auth import HTTPBasicAuth import requests requests.packages.urllib3.disable_warnings() if __name__ == "__main__": url = "https://10.106.33.92/api/v1/certs/trusted-certificate" headers = {"Accept": "application/json", "Content-Type": "application/json"} basicAuth = HTTPBasicAuth("ApiAdmin", "Admin123") response = requests.get(url=url, auth=basicAuth, headers=headers, verify=False) print("Return Code:") print(response.status_code) print("Expected Outputs:") print(response.json())

Hier ist das Beispiel der erwarteten Ausgaben. (weggelassen)

Return Code:

200

Expected Outputs:

{'response': [{'id': '147d97cc-6ce9-43d7-9928-8cd0fa83e140', 'friendlyName': 'VeriSign Class 3 Public Primary Certification Authority', 'subject': 'CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU=(c) 2006 VeriSign\\, Inc. - For authorized use only,OU=VeriSign Trust Network,O=VeriSign\\, Inc.,C=US', 'issuedTo': 'VeriSign Class 3 Public Primary Certification Authority - G5', 'issuedBy': 'VeriSign Class 3 Public Primary Certification Authority - G5', 'keySize': '2048', 'signatureAlgorithm': 'SHA1withRSA', 'validFrom': 'Wed Nov 08 08:00:00 CST 2006', 'expirationDate': 'Thu Jul 17 07:59:59 CST 2036', 'serialNumberDecimalFormat': '33037644167568058970164719475676101450', 'description': 'Auto imported for secure connection to cisco.com/perfigo.com', 'status': 'Enabled', 'trustedFor': 'Cisco Services', 'internalCA': False, 'downloadCRL': 'off', 'crlDistributionUrl': None, 'automaticCRLUpdate': 'on', 'automaticCRLUpdatePeriod': '5', 'automaticCRLUpdateUnits': 'Minutes', 'nonAutomaticCRLUpdatePeriod': '1', 'nonAutomaticCRLUpdateUnits': 'Hours', 'crlDownloadFailureRetries': '10', 'crlDownloadFailureRetriesUnits': 'Minutes', 'authenticateBeforeCRLReceived': 'off', 'ignoreCRLExpiration': 'off', 'enableServerIdentityCheck': 'off', 'enableOCSPValidation': 'off', 'selectedOCSPService': '', 'rejectIfNoStatusFromOCSP': 'off', 'rejectIfUnreachableFromOCSP': 'off', 'sha256Fingerprint': '9acfab7e43c8d880d06b262a94deeee4b4659989c3d0caf19baf6405e41ab7df', 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/certs/trusted-certificate/147d97cc-6ce9-43d7-9928-8cd0fa83e140', 'type': 'application/json'}},{'id': '2ed8db2d-a93c-45a7-b0de-4ee52978bf36', 'friendlyName': 'Certificate Services Endpoint Sub CA - ISE-RTP-CFME02-MNT#00026', 'subject': 'CN=Certificate Services Endpoint Sub CA - ISE-RTP-CFME02-MNT', 'issuedTo': 'Certificate Services Endpoint Sub CA - ISE-RTP-CFME02-MNT', 'issuedBy': 'Certificate Services Node CA - ISE-BGL-CFME01-PAN', 'keySize': '4096', 'signatureAlgorithm': 'SHA256withRSA', 'validFrom': 'Fri Jul 05 11:14:45 CST 2024', 'expirationDate': 'Fri Mar 24 16:19:21 CST 2034', 'serialNumberDecimalFormat': '32567431426291188219902826022164975182', 'description': "Auto import of trust certificate from PSN's CA server", 'status': 'Enabled', 'trustedFor': 'Infrastructure,Endpoints', 'internalCA': True, 'downloadCRL': 'off', 'crlDistributionUrl': None, 'automaticCRLUpdate': 'on', 'automaticCRLUpdatePeriod': '5', 'automaticCRLUpdateUnits': 'Minutes', 'nonAutomaticCRLUpdatePeriod': '1', 'nonAutomaticCRLUpdateUnits': 'Hours', 'crlDownloadFailureRetries': '10', 'crlDownloadFailureRetriesUnits': 'Minutes', 'authenticateBeforeCRLReceived': 'off', 'ignoreCRLExpiration': 'off', 'enableServerIdentityCheck': 'off', 'enableOCSPValidation': 'on', 'selectedOCSPService': 'Internal_OCSP_Service', 'rejectIfNoStatusFromOCSP': 'on', 'rejectIfUnreachableFromOCSP': 'off', 'sha256Fingerprint': '6162311dcf7a2517a6bb454b9e7e46ad64cbf4be1fcfc73680730304c94e28f7', 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/certs/trusted-certificate/2ed8db2d-a93c-45a7-b0de-4ee52978bf36', 'type': 'application/json'}},{'id': '34ae5495-f892-422b-b27e-4e48246b54cc', 'friendlyName': 'Certificate Services OCSP Responder - ISE-RTP-CFME02-MNT#00027', 'subject': 'CN=Certificate Services OCSP Responder - ISE-RTP-CFME02-MNT', 'issuedTo': 'Certificate Services OCSP Responder - ISE-RTP-CFME02-MNT', 'issuedBy': 'Certificate Services Endpoint Sub CA - ISE-RTP-CFME02-MNT', 'keySize': '2048', 'signatureAlgorithm': 'SHA256withRSA', 'validFrom': 'Fri Jul 05 11:16:34 CST 2024', 'expirationDate': 'Fri Jul 06 11:16:34 CST 2029', 'serialNumberDecimalFormat': '32318639486615740757657486695632971049', 'description': "Auto import of trust certificate from PSN's CA server", 'status': 'Enabled', 'trustedFor': 'Infrastructure,Endpoints', 'internalCA': True, 'downloadCRL': 'off', 'crlDistributionUrl': None, 'automaticCRLUpdate': 'on', 'automaticCRLUpdatePeriod': '5', 'automaticCRLUpdateUnits': 'Minutes', 'nonAutomaticCRLUpdatePeriod': '1', 'nonAutomaticCRLUpdateUnits': 'Hours', 'crlDownloadFailureRetries': '10', 'crlDownloadFailureRetriesUnits': 'Minutes', 'authenticateBeforeCRLReceived': 'off', 'ignoreCRLExpiration': 'off', 'enableServerIdentityCheck': 'off', 'enableOCSPValidation': 'off', 'selectedOCSPService': '', 'rejectIfNoStatusFromOCSP': 'off', 'rejectIfUnreachableFromOCSP': 'off', 'sha256Fingerprint': 'bae344121c6fd3b9cfe43c4853406595f450b5d90c474419e8d692e0098a1200', 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/certs/trusted-certificate/34ae5495-f892-422b-b27e-4e48246b54cc', 'type': 'application/json'}}], 'nextPage': None, 'previousPage': None, 'version': '1.0.1'}

Vertrauenswürdiges Zertifikat nach ID abrufen

Diese API kann Details eines Vertrauensstellungszertifikats basierend auf einer angegebenen ID anzeigen.

Schritt 1: Erforderliche Informationen für einen API-Aufruf.

Methode

HOLEN

URL

https://<ISE-PAN-IP>/api/v1/certs/trusted-certificate/<ID-Of-Certificate>

Anmeldeinformationen

Open API-Kontoinformationen verwenden

Header

Akzeptieren: Anwendung/json

Inhaltstyp: Anwendung/json

Schritt 2: Suchen Sie nach der URL, die zum Abrufen von Bereitstellungsinformationen verwendet wird.

API-URI

Schritt 3: Hier ist das Beispiel des Python-Codes. Kopieren Sie den Inhalt, und fügen Sie ihn ein. Ersetzen Sie die ISE-IP, den Benutzernamen und das Kennwort. Speichern Sie die Datei als Python, um sie auszuführen.

Stellen Sie sicher, dass eine gute Verbindung zwischen der ISE und dem Gerät besteht, auf dem das Python-Codebeispiel ausgeführt wird.

from requests.auth import HTTPBasicAuth import requests requests.packages.urllib3.disable_warnings() if __name__ == "__main__": url = "https://10.106.33.92/api/v1/certs/trusted-certificate/147d97cc-6ce9-43d7-9928-8cd0fa83e140" headers = {"Accept": "application/json", "Content-Type": "application/json"} basicAuth = HTTPBasicAuth("ApiAdmin", "Admin123") response = requests.get(url=url, auth=basicAuth, headers=headers, verify=False) print("Return Code:") print(response.status_code) print("Expected Outputs:") print(response.json())

Hinweis: Die ID stammt aus den API-Ausgaben in Schritt 3 von "Get List Of All Trusted Certificates" (Liste aller vertrauenswürdigen Zertifikate abrufen), z. B. 147d97cc-6ce9-43d7-9928-8cd0fa83e140 ist "VeriSign Class 3 Public Primary Certification Authority".

Hier sehen Sie das Beispiel der erwarteten Ergebnisse.

Return Code: 200 Expected Outputs: {'response': {'id': '147d97cc-6ce9-43d7-9928-8cd0fa83e140', 'friendlyName': 'VeriSign Class 3 Public Primary Certification Authority', 'subject': 'CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU=(c) 2006 VeriSign\\, Inc. - For authorized use only,OU=VeriSign Trust Network,O=VeriSign\\, Inc.,C=US', 'issuedTo': 'VeriSign Class 3 Public Primary Certification Authority - G5', 'issuedBy': 'VeriSign Class 3 Public Primary Certification Authority - G5', 'keySize': '2048', 'signatureAlgorithm': 'SHA1withRSA', 'validFrom': 'Wed Nov 08 08:00:00 CST 2006', 'expirationDate': 'Thu Jul 17 07:59:59 CST 2036', 'serialNumberDecimalFormat': '33037644167568058970164719475676101450', 'description': 'Auto imported for secure connection to cisco.com/perfigo.com', 'status': 'Enabled', 'trustedFor': 'Cisco Services', 'internalCA': False, 'downloadCRL': 'off', 'crlDistributionUrl': None, 'automaticCRLUpdate': 'on', 'automaticCRLUpdatePeriod': '5', 'automaticCRLUpdateUnits': 'Minutes', 'nonAutomaticCRLUpdatePeriod': '1', 'nonAutomaticCRLUpdateUnits': 'Hours', 'crlDownloadFailureRetries': '10', 'crlDownloadFailureRetriesUnits': 'Minutes', 'authenticateBeforeCRLReceived': 'off', 'ignoreCRLExpiration': 'off', 'enableServerIdentityCheck': 'off', 'enableOCSPValidation': 'off', 'selectedOCSPService': '', 'rejectIfNoStatusFromOCSP': 'off', 'rejectIfUnreachableFromOCSP': 'off', 'sha256Fingerprint': '9acfab7e43c8d880d06b262a94deeee4b4659989c3d0caf19baf6405e41ab7df', 'link': {'rel': 'self', 'href': 'https://10.106.33.92/api/v1/certs/trusted-certificate/147d97cc-6ce9-43d7-9928-8cd0fa83e140', 'type': 'application/json'}, 'isReferredInPolicy': False}, 'version': '1.0.1'}

Fehlerbehebung

Um Probleme im Zusammenhang mit den Open APIs zu beheben, legen Sie dieLog-Ebene für die apiservicecomponent im KonfigurationsfensterDebug Log auf DEBUG fest.

Um das Debugging zu aktivieren, navigieren Sie zu Operations -> Troubleshoot -> Debug Wizard -> Debug Log Configuration -> ISE Node -> apiservice.

Debuggen von API-Diensten

Um Debug-Protokolle herunterzuladen, navigieren Sie zu Operations -> Troubleshoot -> Download Logs -> ISE PAN Node -> Debug Logs.

Debug-Protokolle herunterladen