I have manage to make a bit more progress, I found that the `cert_profile` and
`cert_subject_style` variables are not being set in the workflow, so these have
been set in the est.fcgi script.
$param->{'cert_profile’} = ’tls_server’
$param->{‘cert_subject_style’} = ’00_basic_style’
The request is then processed correctly, but the request is not approved so
returns HTTP 503, and logs "Request Pending - INITIAL”
When I log in as the operator there are no pending request or any record of
that workflow_id
Thanks,
James
On 20 Dec 2019, at 12:07, James Gibson
<[email protected]<mailto:[email protected]>> wrote:
Hi,
I am trying to setup OpenXPKI as an EST Server for a project.
I have an instance of OpenXPKI running using the Docker Compose
https://github.com/openxpki/openxpki-docker, that can correctly issue
certificates using the WebUI.
It also correctly returns the Root Certificate Authority when the EST
`/cacerts` endpoint is used, thanks to Oliver Welter for their help getting
that working by changing the file permissions of the log directory.
However when I try to request a certificate using the `/simpleenroll` endpoint
and TLS Authentication, the EST server returns an HTTP 500 - Internal Server
Error response. In the logs the only information is that an exceptions has been
raised but not what has caused it.
This is the request I am sending:
curl https://<hostname>/.well-known/est/simpleenroll --cacert
./OpenXPKI_Root_CA.crt --key pkiclient.key --cert client.crt --data-binary
@req.p10 -H "Content-Type: application/pkcs10" -o cert.p7
And the debug log from EST, with confidential information removed “<example>”:
2019/12/20 11:55:06 DEBUG:177 Incoming request /.well-known/est/simpleenroll
2019/12/20 11:55:06 DEBUG:177 calling context is https
2019/12/20 11:55:06 INFO:177 EST authenticated client DN:
CN=<example>:pkiclient,DC=Test Deployment,DC=OpenXPKI,DC=org
2019/12/20 11:55:06 DEBUG:177 Initialize client
2019/12/20 11:55:06 DEBUG:177 Started volatile session with id:
OXgmVXKLS+SV//PCKZuRig==
2019/12/20 11:55:06 DEBUG:177 Selecting auth stack _System
2019/12/20 11:55:11 DEBUG:177 Workflow created (ID: 9215), State: PARSED
2019/12/20 11:55:11 TRACE:177 Result of workflow action: $VAR1 = {
'workflow' => {
'label' =>
'I18N_OPENXPKI_UI_WORKFLOW_TYPE_CERT_ENROLL_LABEL',
'state' => 'PARSED',
'reap_at' => 1576843209,
'title' =>
'I18N_OPENXPKI_UI_WORKFLOW_TYPE_CERT_ENROLL_LABEL',
'proc_state' => 'exception',
'type' => 'certificate_enroll',
'last_update' => '2019-12-20T11:55:10',
'context' => {
'req_extensions' => {},
'csr_subject' =>
'[email protected]<mailto:[email protected]>,CN=d.d.c,O=Internet
Widgits Pty Ltd,ST=Some-State,C=AU',
'workflow_id' => '9215',
'signer_cert' => '-----BEGIN
CERTIFICATE-----
<example>
-----END CERTIFICATE-----
',
'cert_info' => '',
'transaction_id' =>
'e2034e3aff35d8b893e497e354d51b2551de2272',
'server' => 'default',
'cert_subject_alt_name' => '',
'csr_digest_alg' => 'sha256',
'req_attributes' => {},
'wf_current_action' =>
'enroll_render_subject',
'csr_key_params' => {
'key_length' =>
256,
'curve_name' =>
'secp256r1'
},
'creator' => 'anonymous',
'cert_san_parts' => '',
'interface' => 'est',
'wf_exception' =>
'I18N_OPENXPKI_SERVER_WORKFLOW_ACTIVITY_TOOLS_RENDER_SUBJECT_NO_PROFILE',
'csr_key_alg' => 'ec',
'csr_subject_key_identifier' =>
'7D:7E:F2:00:2F:C7:ED:0E:AB:4A:87:F6:A7:37:BF:66:33:C4:10:43',
'cert_subject_parts' =>
'OXJSF1:{"EMAILADDRESS":["[email protected]<mailto:[email protected]>"],"CN":["d.d.c"],"C":["AU"],"O":["Internet
Widgits Pty Ltd"],"ST":["Some-State"]}',
'sources' =>
'OXJSF1:{"req_attributes":"PKCS10","req_extensions":"PKCS10","cert_subject_parts":"PKCS10","signer_cert":"api","server":"api","transaction_id":"api","interface":"api","pkcs10":"api"}',
'pkcs10' => '-----BEGIN CERTIFICATE
REQUEST-----
<example>
-----END CERTIFICATE REQUEST-----
'
},
'description' =>
'I18N_OPENXPKI_UI_WORKFLOW_TYPE_CERT_ENROLL_DESC',
'wake_up_at' => undef,
'count_try' => 0,
'id' => 9215
}
};
2019/12/20 11:55:11 INFO:177 Started new workflow 9215
2019/12/20 11:55:11 TRACE:177 Workflow Params $VAR1 = {
'signer_cert' => '-----BEGIN CERTIFICATE-----
<example>
-----END CERTIFICATE-----
',
'pkcs10' => '-----BEGIN CERTIFICATE REQUEST-----
<example>
-----END CERTIFICATE REQUEST-----
',
'server' => 'default',
'transaction_id' => 'e2034e3aff35d8b893e497e354d51b2551de2272',
'interface' => 'est'
};
2019/12/20 11:55:11 ERROR:177 Internal Server Error
2019/12/20 11:55:11 INFO:177 Disconnect client
When this CSR is submitted using the OpenXPKI WebUI the request is
successfully, after entering the required requester information in the
interface.
Any help in working out why this request is failing would be much appreciated.
Is there anything I need to configure to control who is authorised to issue
certificates using the EST endpoint?
Also is there any support for the `/simplerenroll` endpoint in OpenXPKI? This
endpoint returns even less debug when called:
2019/12/20 12:04:13 DEBUG:177 Incoming request /.well-known/est/simplereenroll
2019/12/20 12:04:13 DEBUG:177 calling context is https
2019/12/20 12:04:13 INFO:177 EST authenticated client DN:
CN=<exmple>:pkiclient,DC=Test Deployment,DC=OpenXPKI,DC=org
2019/12/20 12:04:13 TRACE:177
2019/12/20 12:04:13 INFO:177 Disconnect client
2019/12/20 12:04:13 DEBUG:177 Initialize client
2019/12/20 12:04:13 DEBUG:177 Started volatile session with id:
nLpBtGmFSzy5Yt+91ryfkA==
2019/12/20 12:04:13 DEBUG:177 Selecting auth stack _System
_______________________________________________
OpenXPKI-users mailing list
[email protected]<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/openxpki-users
_______________________________________________
OpenXPKI-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openxpki-users