As an admin, I want to use PKINIT with ipa-client-install so that I can enroll clients with X.509 client certificates. The feature would allow me to register clients with existing host identities like Red Hat subscription manager certificates or other provisioned cert/key pairs.
ipa-client-install requires credentials to authenticate host enrollment. Currently the command supports three ways to authenticate:
I like to request a forth option that uses PKINIT to acquire a TGT for the host principal. Internally the option would run kinit with cert, key, and trust anchor options like this:
kinit \ -X X509_user_identity=FILE:/path/to/cert.pem,/path/to/key.pem \ -X X509_anchors=FILE:/path/to/ipa/ca.crt \ -X X509_anchors=FILE:/path/to/additional-pem-bundle.pem \ ... host/{hostname}
or provide these options in temp krb5.conf
krb5.conf
[realms] MY.REALM = { pkinit_identities = FILE:/path/to/cert.pem,/path/to/key.pem pkinit_anchors = FILE:/path/to/ipa/ca.crt pkinit_anchors = FILE:/path/to/additional-pem-bundle.pem }
The feature is going to need up to three new arguments:
--pkinit-identity
or
--pkinit-cert
--pkinit-key path
and
--pkinit-anchors
:
--ca-cert-file
--pkinit-identity option may be preferable. MIT KRB5 also supports PKCS12 files and PKCS11 (smartcard / HSM / TPM) options.
[libdefaults]
kinit
Metadata Update from @cheimes: - Custom field rhbz adjusted to 2075452
https://github.com/freeipa/freeipa/compare/master...tiran:freeipa:issue9271-pkinit-install is a rough prototype of the feature. It is missing tests and docs update.
Metadata Update from @cheimes: - Custom field on_review adjusted to https://github.com/freeipa/freeipa/pull/6543
Upstream PR 6543 implements the feature + design document as:
$ ipa-client-install \ --pkinit-identity=FILE:/path/to/cert.pem,/path/to/key.pem \ --pkinit-anchor=FILE:/path/to/kdc-ca-bundle.pem
I have some very experimental code that uses the host certificate from Red Hat subscription manager to automate self-enrollment of hosts. TPM 2.0 device identity (IDevID/IAK certificates) attestation may be another use case for the feature.
Metadata Update from @cheimes: - Issue assigned to cheimes - Issue set to the milestone: FreeIPA 4.9
master:
ipa-4-10:
ipa-4-9:
Metadata Update from @frenaud: - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
Metadata Update from @frenaud: - Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=2075452 (was: 2075452)
Issue linked to bug 2075452
Metadata Update from @frenaud: - Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=2143224 (was: https://bugzilla.redhat.com/show_bug.cgi?id=2075452)
Issue linked to bug 2143224
Metadata Update from @frenaud: - Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=2143224, https://bugzilla.redhat.com/show_bug.cgi?id=2075452 (was: https://bugzilla.redhat.com/show_bug.cgi?id=2143224)
Login to comment on this ticket.