[OOM-CERT-SERVICE] Add Certificate Update Admin role
[oom/platform/cert-service.git] / compose-resources / ejbca-configuration.sh
1 #!/bin/bash
2
3 configureEjbca() {
4     ejbca.sh config cmp addalias --alias cmpRA
5     ejbca.sh config cmp updatealias --alias cmpRA --key operationmode --value ra
6     ejbca.sh ca editca --caname ManagementCA --field cmpRaAuthSecret --value mypassword
7     ejbca.sh config cmp updatealias --alias cmpRA --key responseprotection --value signature
8     ejbca.sh config cmp updatealias --alias cmpRA --key authenticationmodule --value 'HMAC;EndEntityCertificate'
9     ejbca.sh config cmp updatealias --alias cmpRA --key allowautomatickeyupdate --value true
10     ejbca.sh ca importprofiles -d /opt/primekey/custom_profiles
11     #Profile name taken from certprofile filename (certprofile_<profile-name>-<id>.xml)
12     ejbca.sh config cmp updatealias --alias cmpRA --key ra.certificateprofile --value CUSTOM_ENDUSER
13     #ID taken from entityprofile filename (entityprofile_<profile-name>-<id>.xml)
14     ejbca.sh config cmp updatealias --alias cmpRA --key ra.endentityprofileid --value 1356531849
15     caSubject=$(ejbca.sh ca getcacert --caname ManagementCA -f /dev/stdout | grep 'Subject' | sed -e "s/^Subject: //" | sed -n '1p')
16     ejbca.sh config cmp updatealias --alias cmpRA --key defaultca --value "$caSubject"
17     ejbca.sh config cmp dumpalias --alias cmpRA
18     ejbca.sh config cmp addalias --alias cmp
19     ejbca.sh config cmp updatealias --alias cmp --key allowautomatickeyupdate --value true
20     ejbca.sh config cmp updatealias --alias cmp --key responseprotection --value pbe
21     ejbca.sh ra addendentity --username Node123 --dn "CN=Node123" --caname ManagementCA --password mypassword --type 1 --token USERGENERATED
22     ejbca.sh ra setclearpwd --username Node123 --password mypassword
23     ejbca.sh config cmp updatealias --alias cmp --key extractusernamecomponent --value CN
24     ejbca.sh config cmp dumpalias --alias cmp
25     ejbca.sh ca getcacert --caname ManagementCA -f /dev/stdout > cacert.pem
26     #Add "Certificate Update Admin" role to allow performing KUR/CR for certs within specific organization (e.g. Linux-Foundation)
27     ejbca.sh roles addrole "Certificate Update Admin"
28     ejbca.sh roles changerule "Certificate Update Admin" /ca/ManagementCA/ ACCEPT
29     ejbca.sh roles changerule "Certificate Update Admin" /ca_functionality/create_certificate/ ACCEPT
30     ejbca.sh roles changerule "Certificate Update Admin" /endentityprofilesrules/Custom_EndEntity/ ACCEPT
31     ejbca.sh roles changerule "Certificate Update Admin" /ra_functionality/edit_end_entity/ ACCEPT
32     ejbca.sh roles addrolemember "Certificate Update Admin" ManagementCA WITH_ORGANIZATION --value "Linux-Foundation"
33 }
34
35 configureEjbca