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' =>
'emailAddress=d...@d.com,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":["d...@d.com"],"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
OpenXPKI-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openxpki-users