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 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 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 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 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 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

Reply via email to