Hi Harm,
in the OpenXPKI default workflows the condition for a renewal is a FULL
DN match so your incoming CSR must not only have the same CN but the
complete DN. This can be configured in several ways by changing the
comparison logic of the "subject matches" condition class, the details
are in the perldoc of it.
Oli
On 08.06.23 16:32, Harm Verhagen wrote:
Hi,
I guess I need somehow to configure a ruleX: that verifies that
the authorized_signer subject, matches the subject of the CSR.
I could not find any examples in the documentation, mailinglists how
to do that.
Are there any examples available? Or does someone has a suggestion here?
Or am I missing something? (this behavior feels so 'standard' that I
would have expected to be in the default config already, maybe I just
broke it...)
-Harm
On Thu, Jun 8, 2023 at 2:18 PM Harm Verhagen <h...@symeon.nl> wrote:
Hi folks,
I have a question regarding EST (automatic) reenrollment.
I've got EST simpleenroll working. Bot these ways work perfectly:
* unauthenticated clients -> require manual approval in server
(as documented in [1])
* authorized signer -> authenticate with dedicated
mycn:pki_client certificate -> can request certificates for any
CN, and no manual approval required in server (as documented in [2])
[1]
https://openxpki.readthedocs.io/en/develop/subsystems/est.html#smoke-test
[2]
https://openxpki.readthedocs.io/en/develop/subsystems/est.html#authenticated-test
Now I want to enable renewal. My requirements are pretty much the
default what EST specifies in its RFC about simplereenroll.
clients that authenticate with their *'own' valid certificate*
(client side certificate authentication) and issue a new
certificate with the *same CN*, are *automatically*, without
manual approval, issued.
I have some problems getting this to work though.
I have a test.pem (csr, which works when doing an enrollment),
pass that to openxpki while identifying with a previously issued
certificate.
curl -vv -H "Content-Type: application/pkcs10" --data @test.pem
--key test_issued.key --cert test_issued.crt --insecure
https://localhost:8443/.well-known/est/mobility/simplereenroll
This however refuses to work and returns a server 400 with
content: I18N_OPENXPKI_UI_ENROLLMENT_ERROR_SIGNER_NOT_AUTHORIZED
The logs show: 2023/06/08 11:56:09 openxpki.application.INFO
<http://openxpki.application.INFO> Trusted Signer not found in
trust list (CN=testme2,DC=Test Deployment client TLS
enroll,DC=OpenXPKI,DC=org).
Both the certificate as the csr have the same CN: testme2
$ openssl x509 -in test_issued.crt -noout -text |grep Subj |grep CN
Subject: DC=org, DC=OpenXPKI, DC=Test Deployment client
TLS enroll, *CN=testme2*
$ cat test.pem | base64 --decode | openssl req -inform der -noout
-text |grep Subject |grep CN=
Subject: *CN=testme2*
The authentication part seems to work fine, if I revoke
test_issued.crt I get a different error
(I18N_OPENXPKI_UI_ENROLLMENT_ERROR_SIGNER_REVOKED)is.
So I guess I have something wrong/incorrect in my configuration.
Could you see what I am doing wrong? Have some hints where to look?
Regards,
Harm
Full logging
2023/06/08 11:56:08 INF authenticated client DN:
CN=testme2,DC=Test Deployment client TLS enroll,DC=OpenXPKI,DC=org
[pid=708|ep=[undef]]
==> openxpki.log <==
2023/06/08 11:56:08 INFO Login successful (user: Anonymous, role:
System) [pid=714|sid=Yvf3|pki_realm=mobility]
==> catchall.log <==
2023/06/08 11:56:08 openxpki.auth.INFO <http://openxpki.auth.INFO>
Login successful (user: Anonymous, role: System)
[pid=714|sid=Yvf3|pki_realm=mobility]
==> workflows.log <==
2023/06/08 11:56:09 73215 Rendering subject: CN=testme2,DC=Test
Deployment client TLS enroll,DC=OpenXPKI,DC=org
==> catchall.log <==
2023/06/08 11:56:09 openxpki.application.INFO
<http://openxpki.application.INFO> Rendering subject:
CN=testme2,DC=Test Deployment client TLS enroll,DC=OpenXPKI,DC=org
[pid=714|user=Anonymous|role=System|sid=Yvf3|wftype=certificate_enroll|wfid=73215|pki_realm=mobility]
==> workflows.log <==
2023/06/08 11:56:09 73215 Trusted Signer chain validated - trusted
root is tzw4UJlDLemD55ojDPxmAHU-4F8
==> catchall.log <==
2023/06/08 11:56:09 openxpki.application.INFO
<http://openxpki.application.INFO> Trusted Signer chain validated
- trusted root is tzw4UJlDLemD55ojDPxmAHU-4F8
[pid=714|user=Anonymous|role=System|sid=Yvf3|wftype=certificate_enroll|wfid=73215|pki_realm=mobility]
==> workflows.log <==
2023/06/08 11:56:09 73215 Trusted Signer not found in trust list
(CN=testme2,DC=Test Deployment client TLS enroll,DC=OpenXPKI,DC=org).
==> catchall.log <==
2023/06/08 11:56:09 openxpki.application.INFO
<http://openxpki.application.INFO> Trusted Signer not found in
trust list (CN=testme2,DC=Test Deployment client TLS
enroll,DC=OpenXPKI,DC=org).
[pid=714|user=Anonymous|role=System|sid=Yvf3|wftype=certificate_enroll|wfid=73215|pki_realm=mobility]
==> est.log <==
2023/06/08 11:56:09 INF Disconnect client [pid=708|ep=[undef]]
est/mobility.conf contains:
[global] socket = /var/openxpki/openxpki.socket realm = mobility #
Servername can be set for all workflows/operations here at once or
# for each one below. If neither one is set,
simpleenroll/simplerenroll # use the calabel from the URL as
server name # servername = default # Set to 1 if you want to
server EST over plain HTTP # We use 1 as we have an SSL proxy in
front of us insecure = 0[logger] # A loglevel of DEBUG MIGHT
disclose sensitive user input data # A loglevel of TRACE WILL dump
any communication unfiltered log_level = INFO # <--- this logger
seems to have no effect BTW, setting this to TRACE does not give
more est logging. [auth] stack = _System
realm/mobility/est/mobility.yaml contains
label: EST Default Endpoint authorized_signer: rule1: # Full DN
subject: CN=.+:pkiclient,.* renewal_period: 000060 # for an
explanation of the policy options have a look at rpc/enroll.yaml
policy: # anon request are ok allow_anon_enroll: 1 # manual
approval for anon request allow_man_approv: 1 # enforce subject
duplicate policy max_active_certs: 1 auto_revoke_existing_certs: 1
# require one approval approval_points: 1 allow_replace: 1
profile: cert_profile: tls_client cert_subject_style: enroll
eligible: initial: value: 0 renewal: value: 1 onbehalf: value: 1
_______________________________________________
OpenXPKI-users mailing list
OpenXPKI-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openxpki-users
--
Protect your environment - close windows and adopt a penguin!
_______________________________________________
OpenXPKI-users mailing list
OpenXPKI-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openxpki-users