Alex | db7786b | 2022-02-21 17:58:29 -0600 | [diff] [blame] | 1 | #!/bin/bash |
Alex | f59c739 | 2022-04-18 19:10:14 -0500 | [diff] [blame] | 2 | |
| 3 | echo "Preparing certs" |
Ievgeniia Zadorozhna | 3354879 | 2025-07-16 20:08:57 +0200 | [diff] [blame] | 4 | cat <<EOF > image_crt.cnf |
| 5 | [ req ] |
| 6 | default_bits = 1024 |
| 7 | prompt = no |
| 8 | default_md = sha256 |
| 9 | req_extensions = req_ext |
| 10 | distinguished_name = dn |
| 11 | |
| 12 | [ dn ] |
| 13 | C = US |
| 14 | ST = TestState |
| 15 | L = TestCity |
| 16 | O = TestOrg |
| 17 | OU = TestUnit |
| 18 | CN = test.example.com |
| 19 | |
| 20 | [ req_ext ] |
| 21 | subjectAltName = @alt_names |
| 22 | |
| 23 | [ alt_names ] |
| 24 | DNS.1 = test.example.com |
| 25 | EOF |
Alex | db7786b | 2022-02-21 17:58:29 -0600 | [diff] [blame] | 26 | openssl genrsa -out image_key.pem 1024 |
| 27 | openssl rsa -pubout -in image_key.pem -out image_key.pem.pub |
Alex | f59c739 | 2022-04-18 19:10:14 -0500 | [diff] [blame] | 28 | openssl req -new -key image_key.pem -out image_req.crt -config image_crt.cnf |
Alex | db7786b | 2022-02-21 17:58:29 -0600 | [diff] [blame] | 29 | openssl x509 -req -days 180 -in image_req.crt -signkey image_key.pem -out image_cert.crt |
| 30 | |
Alex | f59c739 | 2022-04-18 19:10:14 -0500 | [diff] [blame] | 31 | echo "Save secret to Barbican storage" |
| 32 | openstack secret store --name cvp.images --algorithm RSA --expiration $(date +"%Y-%m-%d" -d "180 days") --secret-type certificate --payload-content-type "application/octet-stream" --payload-content-encoding base64 --payload "$(base64 image_cert.crt)" |
Alex | db7786b | 2022-02-21 17:58:29 -0600 | [diff] [blame] | 33 | |
Alex | f59c739 | 2022-04-18 19:10:14 -0500 | [diff] [blame] | 34 | echo "Exporting ID from 'Secret href' property" |
| 35 | export s_uuid=$(openstack secret list --name cvp.images -c "Secret href" -f value | rev | cut -d'/' -f1 | rev) |
| 36 | echo "Exported '$s_uuid'" |
Alex | db7786b | 2022-02-21 17:58:29 -0600 | [diff] [blame] | 37 | |
Alex | f59c739 | 2022-04-18 19:10:14 -0500 | [diff] [blame] | 38 | echo "Converting images to Raw" |
Ievgeniia Zadorozhna | 3354879 | 2025-07-16 20:08:57 +0200 | [diff] [blame] | 39 | qemu-img convert -f qcow2 -O raw -p /artifacts/cmp-check/cvp.ubuntu.2004 /var/tmp/cvp.ubuntu.2004.raw |
| 40 | qemu-img convert -f qcow2 -O raw -p /artifacts/cmp-check/cvp.ubuntu.2204 /var/tmp/cvp.ubuntu.2204.raw |
| 41 | qemu-img convert -f qcow2 -O raw -p /artifacts/cmp-check/cvp.cirros.61 /var/tmp/cvp.cirros.61.raw |
| 42 | qemu-img convert -f qcow2 -O raw -p /artifacts/cmp-check/cvp.cirros.62 /var/tmp/cvp.cirros.62.raw |
Alex | db7786b | 2022-02-21 17:58:29 -0600 | [diff] [blame] | 43 | |
Alex | f59c739 | 2022-04-18 19:10:14 -0500 | [diff] [blame] | 44 | echo "Signing images" |
Ievgeniia Zadorozhna | 1cb5b10 | 2024-01-19 04:31:09 +0100 | [diff] [blame] | 45 | openssl dgst -sha256 -sign image_key.pem -sigopt rsa_padding_mode:pss -out cvp.cirros.61.raw.signature /var/tmp/cvp.cirros.61.raw |
| 46 | openssl dgst -sha256 -sign image_key.pem -sigopt rsa_padding_mode:pss -out cvp.cirros.62.raw.signature /var/tmp/cvp.cirros.62.raw |
Ievgeniia Zadorozhna | 4cbb721 | 2025-03-21 17:53:00 +0100 | [diff] [blame] | 47 | openssl dgst -sha256 -sign image_key.pem -sigopt rsa_padding_mode:pss -out cvp.ubuntu.2204.raw.signature /var/tmp/cvp.ubuntu.2204.raw |
Alex | db7786b | 2022-02-21 17:58:29 -0600 | [diff] [blame] | 48 | openssl dgst -sha256 -sign image_key.pem -sigopt rsa_padding_mode:pss -out cvp.ubuntu.2004.raw.signature /var/tmp/cvp.ubuntu.2004.raw |
| 49 | |
Alex | f59c739 | 2022-04-18 19:10:14 -0500 | [diff] [blame] | 50 | echo "Generating base64 equivalents" |
Ievgeniia Zadorozhna | 1cb5b10 | 2024-01-19 04:31:09 +0100 | [diff] [blame] | 51 | base64 -w 0 cvp.cirros.61.raw.signature >cvp.cirros.61.raw.signature.b64 |
| 52 | base64 -w 0 cvp.cirros.62.raw.signature >cvp.cirros.62.raw.signature.b64 |
Ievgeniia Zadorozhna | 4cbb721 | 2025-03-21 17:53:00 +0100 | [diff] [blame] | 53 | base64 -w 0 cvp.ubuntu.2204.raw.signature >cvp.ubuntu.2204.raw.signature.b64 |
Alex | db7786b | 2022-02-21 17:58:29 -0600 | [diff] [blame] | 54 | base64 -w 0 cvp.ubuntu.2004.raw.signature >cvp.ubuntu.2004.raw.signature.b64 |
| 55 | |
Alex | f59c739 | 2022-04-18 19:10:14 -0500 | [diff] [blame] | 56 | echo "Exporting vars" |
Ievgeniia Zadorozhna | 1cb5b10 | 2024-01-19 04:31:09 +0100 | [diff] [blame] | 57 | export cirros61_sign=$(cat cvp.cirros.61.raw.signature.b64) |
| 58 | export cirros62_sign=$(cat cvp.cirros.62.raw.signature.b64) |
Ievgeniia Zadorozhna | 4cbb721 | 2025-03-21 17:53:00 +0100 | [diff] [blame] | 59 | export ubuntu2204_sign=$(cat cvp.ubuntu.2204.raw.signature.b64) |
Alex | db7786b | 2022-02-21 17:58:29 -0600 | [diff] [blame] | 60 | export ubuntu2004_sign=$(cat cvp.ubuntu.2004.raw.signature.b64) |
| 61 | |
Ievgeniia Zadorozhna | 1cb5b10 | 2024-01-19 04:31:09 +0100 | [diff] [blame] | 62 | echo "Uploading 'cvp.cirros.61.raw.signed''" |
| 63 | glance image-create --name cvp.cirros.61.raw.signed --container-format bare --disk-format raw --property img_signature="$cirros61_sign" --property img_signature_certificate_uuid="$s_uuid" --property img_signature_hash_method='SHA-256' --property img_signature_key_type='RSA-PSS' < /var/tmp/cvp.cirros.61.raw |
| 64 | echo "Uploading 'cvp.cirros.62.raw.signed''" |
| 65 | glance image-create --name cvp.cirros.62.raw.signed --container-format bare --disk-format raw --property img_signature="$cirros62_sign" --property img_signature_certificate_uuid="$s_uuid" --property img_signature_hash_method='SHA-256' --property img_signature_key_type='RSA-PSS' < /var/tmp/cvp.cirros.62.raw |
Ievgeniia Zadorozhna | 4cbb721 | 2025-03-21 17:53:00 +0100 | [diff] [blame] | 66 | echo "Uploading 'cvp.ubuntu.2204.raw.signed''" |
| 67 | glance image-create --name cvp.ubuntu.2204.raw.signed --container-format bare --disk-format raw --property img_signature="$ubuntu2204_sign" --property img_signature_certificate_uuid="$s_uuid" --property img_signature_hash_method='SHA-256' --property img_signature_key_type='RSA-PSS' < /var/tmp/cvp.ubuntu.2204.raw |
Alex | f59c739 | 2022-04-18 19:10:14 -0500 | [diff] [blame] | 68 | echo "Uploading 'cvp.ubuntu.2004.raw.signed''" |
Alex | db7786b | 2022-02-21 17:58:29 -0600 | [diff] [blame] | 69 | glance image-create --name cvp.ubuntu.2004.raw.signed --container-format bare --disk-format raw --property img_signature="$ubuntu2004_sign" --property img_signature_certificate_uuid="$s_uuid" --property img_signature_hash_method='SHA-256' --property img_signature_key_type='RSA-PSS' < /var/tmp/cvp.ubuntu.2004.raw |