The contract for programs run by ExternalProcessKeyRetriever is... suboptimal. JSON has been suggested.
Instead of returning multiple binary attributes delimited with 0 byte through standard output, it might be better to use JSON file instead.
In the IPA use case, the ipa-pki-retrieve-key script already deals with the JSON file that custodia sends it:
result_json = client.fetch_key(keyname, store=False) result = json_decode(result_json) certificate = result["certificate"] wrapped_key = base64.b64decode(result["wrapped_key"])
So it would make sense to use this same schema, and then the helper can simply pass on the JSON unchanged.
attachment pki-ftweedal-0122-Modify-ExternalProcessKeyRetriever-to-read-JSON.patch
Pushed to master (78d755f5452e92ac2a8bd1ea5fbf6b8b014934a3)
Metadata Update from @ftweedal: - Issue assigned to ftweedal - Issue set to the milestone: UNTRIAGED
Dogtag PKI is moving from Pagure issues to GitHub issues. This means that existing or new issues will be reported and tracked through Dogtag PKI's GitHub Issue tracker.
This issue has been cloned to GitHub and is available here: https://github.com/dogtagpki/pki/issues/2471
If you want to receive further updates on the issue, please navigate to the GitHub issue and click on Subscribe button.
Subscribe
Thank you for understanding, and we apologize for any inconvenience.
Login to comment on this ticket.