Difference between revisions of "PKI 10.8 Python Changes"

From Dogtag
Jump to: navigation, search
m (Changes in PKIConnection)
m (Changes in PKIConnection)
Line 18: Line 18:
 
certs = ca_connection.get('/rest/certs')
 
certs = ca_connection.get('/rest/certs')
 
keys = kra_connection.get('/rest/agent/keys')
 
keys = kra_connection.get('/rest/agent/keys')
 
cert_client = CertClient(ca_connection)
 
key_client = KeyClient(kra_connection)
 
 
</pre>
 
</pre>
  
Since PKI 10.8 the subsystem should be specified when creating client objects instead of the connection object.
+
Since PKI 10.8 the PKIConnection object no longer needs to be created for a specific subsystem,
 +
allowing it to be used with various subsystems.
 +
The subsystem should be specified when creating generic client objects instead.
 +
Some client objects only work with specific subsystems only so the subsystem does not need to be specified.
 
The get(), post(), put(), delete() should be used with absolute paths in all cases.
 
The get(), post(), put(), delete() should be used with absolute paths in all cases.
This allows the connection object to be used with various subsystems.
 
 
For example:
 
For example:
  
Line 34: Line 33:
 
kra_login_client = AccountClient(connection, subsystem='kra')
 
kra_login_client = AccountClient(connection, subsystem='kra')
  
cert_client = CertClient(connection)  # always uses CA subsystem
+
cert_client = CertClient(connection)  # only works with CA
key_client = KeyClient(connection)    # always uses KRA subsystem
+
key_client = KeyClient(connection)    # only works with KRA
  
 
info = connection.get('/pki/rest/info')
 
info = connection.get('/pki/rest/info')

Revision as of 17:00, 9 September 2019

Changes in PKIConnection

Previously the PKIConnection object had to be created for a specific subsystem, limiting its use to that subsystem only. Also, the get(), post(), put(), delete() had to be used with relative paths except when use_root_uri=True. For example:

ca_connection = PKIConnection(hostname='localhost', port='8080', subsystem='ca')
kra_connection = PKIConnection(hostname='localhost', port='8080', subsystem='kra')

ca_login_client = AccountClient(ca_connection)
kra_login_client = AccountClient(kra_connection)

cert_client = CertClient(ca_connection)
key_client = KeyClient(kra_connection)

info = ca_connection.get('/pki/rest/info', use_root_uri=True)
certs = ca_connection.get('/rest/certs')
keys = kra_connection.get('/rest/agent/keys')

Since PKI 10.8 the PKIConnection object no longer needs to be created for a specific subsystem, allowing it to be used with various subsystems. The subsystem should be specified when creating generic client objects instead. Some client objects only work with specific subsystems only so the subsystem does not need to be specified. The get(), post(), put(), delete() should be used with absolute paths in all cases. For example:

connection = PKIConnection(hostname='localhost', port='8080')

ca_login_client = AccountClient(connection, subsystem='ca')
kra_login_client = AccountClient(connection, subsystem='kra')

cert_client = CertClient(connection)  # only works with CA
key_client = KeyClient(connection)    # only works with KRA

info = connection.get('/pki/rest/info')
certs = connection.get('/ca/rest/certs')
keys = connection.get('/kra/rest/agent/keys')

See Also