Hi Oli,

I finally got it working.
It's a bit tricky when you build the diagnosis upon a guess (and a wrong
one :).
-> I just recalled from another post that the root_alias was defined in
check_authorized_signer.yaml
--> I thought it would be mapped from the authoriazed_signer rules the same
way identifier, subject, realm etc. are mapped.
---> But that wasn't the case this whole time :)

On top of that, I was also generating the alias the wrong way until you
responded.
It also motivated me to dig into the code and see what's going on (i
learned some perl xD)

*[To sum things up]*

1. I signed a certificate with an "external root CA"
2. I placed my external CA root certificate inside openx config

2a. I Imported the external root CA to openx db (then add intermediate
certificate if any)

openxpkiadm certificate import alias gosigner --file goca.crt --realm democa

2b. I created an alias for the external root CA

openxpkiadm alias --realm democa --identifier 8SUUyO2hC4SCeehX2VjsTSMGQj8
--group goroot (use --gen to specify specific number in alias, otherwise
auto-increment, e.g., goroot-1)


3. I defined the rules to validate against the expected authorized signer
(leaf certificate) in est.default.yaml

3a. Under authorized signer rules

authorized_signer:

    rule1:

        # Full DN

        subject: .+gocert.*

        realm: _any

again, subject corresponds to the leaf certificate (not root)


3b. Set allow external flag under policy section

allow_anon_enroll: 0

allow_external_signer: 1


4. I added my root alias in
openxpki-config/config.d/realm.tpl/workflow/global/action/check_authorized_signer.yaml

root_alias: goroot-1

5. I include the certificate chain (the expected authorized signer) in curl
and send the CSR
6. And I got my certificate - and verified it was enrolled onbehalf and was
validated against all (sub)rules

SignerTrust loading rules from est.default.authorized_signer

2025/03/30 14:45:11 16383 Trusted Signer Authorization unknown / external /
CN=gocert / t8-jZUk-8nvD1vW-b62xvGqFlIA

2025/03/30 14:45:11 16383 Trusted Signer Authorization matched subrule
.+gocert.*

2025/03/30 14:45:11 16383 Trusted Signer Authorization matched subrule
t8-jZUk-8nvD1vW-b62xvGqFlIA

2025/03/30 14:45:11 16383 Trusted Signer Authorization matched subrule _any

2025/03/30 14:45:11 16383 Trusted Signer Authorization matched rule rule1


*Note*:
It also works when you have intermediate certificates => just import into
openx db the whole chain starting from root til the intermediate that signs
the leaf certificate (and alias are created for every certificate in that
chain automatically <=> no need to create any alias, even for root)

Thank you again Oli (and Martin and every contributor because there are
other useful posts too)

>
_______________________________________________
OpenXPKI-users mailing list
OpenXPKI-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openxpki-users

Reply via email to