POST https://<manager-ip>/api/v1/trust-management/certificates/<cert-id>?action=apply_certificate&service_type=API&node_id=<node-id>Returns:
{
"httpStatus": "BAD_REQUEST",
"error_code": 2078,
"module_name": "internal-framework",
"error_message": "Certificate validation failed. Please use /api/v1/trust-management/certificates/<cert-id>?action=validate&usage=SERVER API to check the validation errors."
}
GET https://<manager-ip>/api/v1/trust-management/certificates/<cert-id>?action=validateReturns:
{"status": "REJECTED","error_message": "Certificate was rejected: null"}
GET https://<manager>/api/v1/global-configs/SecurityGlobalConfig
Result:..."crl_checking_enabled": true,...
Workaround options:
GET https://{{ip}}/policy/api/v1/infra/security-global-config
This will provide a JSON response like the following:Modify the JSON response, changing the value of{"crl_checking_enabled": true,"ca_signed_only": false,"eku_checking_enabled": true,"id": "########-####-####-####-###########","_create_time": 1679339007871,"_create_user": "system","_last_modified_time": 1679339007871,"_last_modified_user": "system","_protection": "NOT_PROTECTED","_revision": 0}
crl_checking_enabled to false, e.g.:
Use the API to submit the modified JSON response:{"crl_checking_enabled": false
...
}
PUT https://{{ip}}/policy/api/v1/infra/security-global-config
crlDistributionPoints=URI:http://example.com/crl.pem
The URLs will be validated by the NSX Manager.
To see if the URI is valid and reachable from the NSX Manager, login to the manager as the root user and execute:
wget <cdp-link>