GET Certificate Stores
The GET /CertificateStores method is used to return a list of all certificate stores defined in Keyfactor Command. The results include both approved certificates stores and certificates stores found on discovery but not yet approved. This method allows URL parameters to specify paging and the level of information detail. This method returns HTTP 200 OK on a success with details about the certificate store(s).
Permissions for certificate stores can be set at either the global or certificate store container level. See Container Permissions for more information about global vs container permissions.
Table 313: GET Certificate Stores Input Parameters
Name | In | Description |
---|---|---|
queryString | Query |
A string containing a query to limit the results (e.g. field1 -eq value1 AND field2 -gt value2). The default is to return all records. Fields available for querying through the API for the most part match those that appear in the Keyfactor Command Management Portal search dropdowns for the same feature. For querying guidelines, refer to: Using the Certificate Store Search Feature. The query fields supported for this endpoint are:
Tip: Use the following query to limit the results to only active certificate stores and not include discovery results:
approved -eq true |
pageReturned | Query | An integer that specifies how many multiples of the returnLimit to skip and offset by before returning results, to enable paging. The default is 1. |
returnLimit | Query | An integer that specifies how many results to return per page. The default is 50. |
sortField | Query | A string containing the property by which the results should be sorted. Fields available for sorting through the API for the most part match those that appear as sortable columns in the Keyfactor Command Management Portal. The default sort field is ClientMachine. |
sortAscending | Query | An integer that sets the sort order on the returned results. A value of 0 sorts results in ascending order while a value of 1 sorts results in descending order. The default is ascending. |
Table 314: GET Certificate Stores Response Data
Name | Description |
---|---|
Id | A string indicating the GUID of the certificate store within Keyfactor Command. This ID is automatically set by Keyfactor Command. |
ContainerId | An integer indicating the ID of the certificate store's associated certificate store container, if applicable (see GET Certificate Store Containers). |
Client Machine | A string containing the client machine name. The value for this will vary depending on the certificate store type. Typically, it is the hostname of the machine on which the store is located, but this may vary. See Adding or Modifying a Certificate Store for more information. |
Storepath | A string indicating the path to the certificate store on the target. The format for this path will vary depending on the certificate store type. For example, for a Java keystore, this will be a file path (e.g. /opt/myapp/store.jks), but for an F5 device, this will be a partition name on the device (e.g. Common). See Adding or Modifying a Certificate Store for more information. The maximum number of characters supported in this field is 722. |
CertStore Inventory JobId | A string indicating the GUID that identifies the inventory job for the certificate store in the Keyfactor Command database. This will be null if an inventory schedule is not set for the certificate store. |
CertStore Type | An integer indicating the ID of the certificate store type, as defined in Keyfactor Command, for this certificate store. Built-in certificates store types are: (0-Javakeystore, 2-PEMFile, 3-F5SSLProfiles,4-IISRoots, 5-NetScaler, 6-IISPersonal, 7-F5WebServer, 8-IISRevoked, 9-F5WebServerREST, 10-F5SSLProfilesREST, 11-F5CABundlesREST, 100-AmazonWebServices, 101-FileTransferProtocol). Any custom extensions for the Keyfactor Universal Orchestrator you add will have certificate store types numbered 102+. |
Approved | A Boolean that indicates whether a certificate store is approved (true) or not (false). If a certificate store is approved, it can be used and updated. A certificate store that has been discovered using the discover feature but not yet marked as approved will be false here. |
Create IfMissing | A Boolean that indicates whether a new certificate store should be created with the information provided (true) or not (false). This option is only valid for Java keystores and any custom certificate store types you have defined to support this functionality. |
Properties |
Some types of certificate stores have additional properties that are stored in this parameter. The data is stored in a series of, typically, key value pairs that define the property name and value (see GET Certificate Store Types for more information). When reading this field, the values are returned as simple key value pairs, with the values being individual values. When writing, the values are specified as objects, though they are typically single values. For example, on a GET request for a PEM store configured with a separate private key, the contents of this field might be: "{ However, the syntax used when updating the properties sets the value as a key value pair using value as the key. For example, on a POST or PUT request for a PEM store configured with a separate private key, the contents of this field might be: "{ An example server properties parameter POST for an F5 or Citrix NetScaler store would contain: "{ \"ServerUsername\":{\"value\":{\"SecretValue\":\"KEYEXAMPLE\\\\jsmith\"}}, \"ServerPassword\":{\"value\":{\"SecretValue\":\"MySuperSecretPassword\"}}, \"ServerUseSsl\":{\"value\":\"true\"} }" An example server properties parameter POST for an F5 or Citrix NetScaler store with the username and password stored as PAM secrets would contain (where the Provider value—1 in this example—is the Id value from GET PAM Providers): "{ \"ServerUsername\":{\"value\":{\"Provider\":\"1\",\"Parameters\":{\"SecretId\":\"MyUserID\"}}}, \"ServerPassword\":{\"value\":{\"Provider\":\"1\",\"Parameters\":{\"SecretId\":\"MyPasswordID\"}}}, \"ServerUseSsl\":{\"value\":\"true\"} }" Note: There are three standard properties that are used for certificate store types that require server credentials (e.g. F5):
These replace the separate certificate store server records that existed in previous versions of Keyfactor Command. For legacy support, if credentials are not provided through store properties during creation or editing of a certificate store, Keyfactor Command will attempt to find a certificate store server record and copy the credentials from it into the store properties for future use. |
AgentId | A string indicating the Keyfactor Command GUID of the orchestrator for this store. |
Agent Assigned | A Boolean that indicates whether there is an orchestrator assigned to this certificate store (true) or not (false). |
Container Name | A string indicating the name of the certificate store's associated container, if applicable. |
Inventory Schedule |
An object indicating the inventory schedule for this certificate store. Show schedule details. |
Reenrollment Status |
An object that indicates whether the certificate store can use the re-enrollment function with accompanying data about the re-enrollment job. Show reenrollment status details. |
SetNew Password Allowed | A Boolean that indicates whether the store password can be changed (true) or not (false). |
Password |
Note: Secret data is stored in the secrets table or a PAM provider and is not returned in responses.
|