ETH CxS install machine_certificates

General

Installs machine_certificates to access the ETH CxS Network
Playbook installs ETH Root Intermedia Certificate and other certificates used,
generate a csr (certificate request), send a json request to the internal Webservice Api PKI frontend,
downloads a certificate bin encoded payload file, converts the downloaded hash to a pem formatted certificate,
then the key and cert will be transferred to the client and applied with a networkmanager profile
On reboot the Machine will be in the destination network.

Requirements

ETH PKI Frontend (https://pki-frontend.ethz.ch)
Webservice for Certificate Profile created by Wolfgang Sichler, ID Applications (E.g. ETHZ MZ Auto Linux Ansi MAVT)
Access to webservice with dedicated Active Directory User (E.g. Mavt: sa_pki-accwsmavt), including keystore
Active Directory Group for Linux Client Access (E.g. MAVT-managed-certifikate), Linux client has to be in that Group
Network Managed Client IP Range (E.g. Mavt: 10.145.x.x)
Eth root intermediate Certificate

Role Variables

Variable Required Default Choices Comments
set_cert_ou yes true String bsp: mavt-managed
certificateProfileName yes none String bsp: ETHZ_MZ_Auto_Linux_Ansi_MAVT
active_directory_pki_user yes none String bsp: sa_pki-accwsmavt
active_directory_pki_user_pw yes none string "password
keystore_certificate yes none string bsp: keystore_sa_pki-accwsmavt.crt.pem
keystore_certificate_password yes none string "password"
keystore_certificate_key yes none string bsp: keystore_sa_pki-accwsmavt.key.pem
root_server yes none string bsp: root-mavt.s4d.ethz.ch
enrollment_server yes true string default: id-s4d-s06.ethz.ch
DNS yes true string default: radius-service.ethz.ch
ssid yes true string default: eth
certificate_default_bits yes true string default: 4096
certificate_default_md yes true string default: sha256
FQDN yes yes string default: d.ethz.ch
days_until_renew no yes string default: 30 - not implemented!

Dependencies

Ansible Pull
Jammy_net Role, Networkimplementiation with certificate

Example Playbook

---
hosts: all
  vars:

  roles:
    - machine_certificates
 ...


machine_certificates_conf: true
set_cert_ou: mavt-managed
certificateProfileName: ETHZ_MZ_Auto_Linux_Ansi_MAVT

License

BSD

Author Information

Maintainer: Andi Bartholet Support-Contact: s4d-linux-support@id.ethz.ch