Hi all, @Oliver: thanks for this hint, but writing such a “RPC <-> REST” converter is kind of “overkill” for my purposes. Meanwhile I found out, that sending REST-Requests with the right header works fine for me:
curl -s -X POST http://localhost:8080/rpc/enroll/SearchCertificate -H 'Content-Type: application/json' -d '{"common_name":"Rob Roberts"}' | python -m json.tool One problem solved, another problem arises: I try to “automatically” process a CSR, which I want to send via RPC/REST to the openXPKI Server. Tried this (and several other things), but failed: ------ # Generate a PKCS#10 CSR file “certreq.pem” openssl req -subj "/C=GB/ST=London/L=London/O=Global Security/OU=IT Department/CN=example.com" -nodes -newkey rsa:2048 -sha256 -outform PEM -out certreq.pem # Try to upload the CSR file – without success curl -s -F "method=RequestCertificate" -F "profile=tls_server" -F "comment=test" -F pkcs10="$(cat certreq.pem)" http://localhost:8080/rpc/enroll | python -m json.tool { "result": { "data": { "error_code": "Invalid Profile", "transaction_id": "a8cf0ec19b79c3ed0d434c66b3d54880c67f47be" }, "id": 2815, "pid": 94, "proc_state": "finished", "state": "FAILURE" } } ------ Any idea, what to do? Kind regards Andreas PS: To be honest: I am struggeling hard with openXPKI server’s documentation – the software itself seems to be quite promising, but documentation is hard to understand and quite limited (at least from my point of view). Von: Oliver Welter <[email protected]> Antworten an: "[email protected]" <[email protected]> Datum: Freitag, 24. September 2021 um 15:17 An: "[email protected]" <[email protected]> Betreff: Re: [OpenXPKI-users] How do I retrieve a Certificates key via RPC-call to http://localhost:8080/rpc/enroll/SearchCertificate Hi Andreas, to have "real" REST API you need to write a wrapper yourself that translates a REST path to a call to the RPC system and rewrites the result to the expected return structure. There is no ready-to-go component in OpenXPKI CE for this as such an interface is always very customer specific. Oliver Am 23.09.21 um 18:23 schrieb [email protected]<mailto:[email protected]>: Hi Oliver, thanks a lot! Your reference to "_map_certificate: [% Certificate.pem(...) %]“ … was close and guided me to the right direction, but – big surprise – it didn’t work. Finally I found out that the following line works: “_map_pem: "[% USE Certificate %][% Certificate.pem(context.cert_identifier) %]" Of cause, I had to adjust the file enroll.yaml appropriately too: [SearchCertificate] workflow = certificate_search param = common_name output = cert_identifier, pem, notbefore, notafter, status The result was pretty much what I had been searching for: curl -s -F "method=SearchCertificate" -F "common_name=Rob Roberts" http://localhost:8080/rpc/enroll | python -m json.tool { "result": { "data": { "cert_identifier": "jLy7gIbwwvnvOCMRpTPgdw6uVpg", "notafter": "2022-03-16T16:54:56", "notbefore": "2021-09-16T16:54:56", "pem": "-----BEGIN CERTIFICATE-----\nm …….. v9MRebfA=\n-----END CERTIFICATE-----", "status": "ISSUED" }, "id": 0, "pid": 70, "proc_state": "finished", "state": "SUCCESS" } } So far, so good (and once again: thank you for your help!) What remains open, is my question, how to switch from RPC to REST. Could you give me a hint, how to achieve that? Kind regards Andreas _______________________________________________ OpenXPKI-users mailing list [email protected]<mailto:[email protected]> https://lists.sourceforge.net/lists/listinfo/openxpki-users -- Protect your environment - close windows and adopt a penguin!
_______________________________________________ OpenXPKI-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openxpki-users
