summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-integrity/data/debug-keys/README.md17
-rw-r--r--meta-integrity/data/debug-keys/ima-local-ca.pem15
-rw-r--r--meta-integrity/data/debug-keys/ima-local-ca.priv7
-rw-r--r--meta-integrity/data/debug-keys/privkey_ima.pem17
-rw-r--r--meta-integrity/data/debug-keys/x509_ima.derbin707 -> 620 bytes
-rwxr-xr-xmeta-integrity/scripts/ima-gen-CA-signed.sh9
-rwxr-xr-xmeta-integrity/scripts/ima-gen-local-ca.sh6
-rwxr-xr-xmeta-integrity/scripts/ima-gen-self-signed.sh41
8 files changed, 50 insertions, 62 deletions
diff --git a/meta-integrity/data/debug-keys/README.md b/meta-integrity/data/debug-keys/README.md
new file mode 100644
index 0000000..e613968
--- /dev/null
+++ b/meta-integrity/data/debug-keys/README.md
@@ -0,0 +1,17 @@
1# EVM & IMA keys
2
3The following IMA & EVM debug/test keys are in this directory
4
5- ima-local-ca.priv: The CA's private key (password: 1234)
6- ima-local-ca.pem: The CA's self-signed certificate
7- privkey_ima.pem: IMA & EVM private key used for signing files
8- x509_ima.der: Certificate containing public key (of privkey_ima.pem) to verify signatures
9
10The CA's (self-signed) certificate can be used to verify the validity of
11the x509_ima.der certificate. Since the CA certificate will be built into
12the Linux kernel, any key (x509_ima.der) loaded onto the .ima keyring must
13pass this test:
14
15```
16 openssl verify -CAfile ima-local-ca.pem x509_ima.der
17````
diff --git a/meta-integrity/data/debug-keys/ima-local-ca.pem b/meta-integrity/data/debug-keys/ima-local-ca.pem
new file mode 100644
index 0000000..4b48be4
--- /dev/null
+++ b/meta-integrity/data/debug-keys/ima-local-ca.pem
@@ -0,0 +1,15 @@
1-----BEGIN CERTIFICATE-----
2MIICWzCCAgCgAwIBAgITYMKT7/z5qI+hLfNC6Jy6hhBCWDAKBggqhkjOPQQDAjB9
3MRQwEgYDVQQKDAtleGFtcGxlLmNvbTFAMD4GA1UEAww3bWV0YS1pbnRlbC1pb3Qt
4c2VjdXJpdHkgZXhhbXBsZSBjZXJ0aWZpY2F0ZSBzaWduaW5nIGtleTEjMCEGCSqG
5SIb3DQEJARYUam9obi5kb2VAZXhhbXBsZS5jb20wIBcNMjMwNDI2MTYyNjExWhgP
6MjEyMzA0MDIxNjI2MTFaMH0xFDASBgNVBAoMC2V4YW1wbGUuY29tMUAwPgYDVQQD
7DDdtZXRhLWludGVsLWlvdC1zZWN1cml0eSBleGFtcGxlIGNlcnRpZmljYXRlIHNp
8Z25pbmcga2V5MSMwIQYJKoZIhvcNAQkBFhRqb2huLmRvZUBleGFtcGxlLmNvbTBZ
9MBMGByqGSM49AgEGCCqGSM49AwEHA0IABCiC+YIbCoOhyLy63lOGbiK+DPkW7gMU
10rmfVLIb4oTmKxZS5/L8VE6hjKDcLa7OauyuW2nd4fnFAautFxpw/Q0yjXTBbMAwG
11A1UdEwQFMAMBAf8wHQYDVR0OBBYEFL/PiFFjjlzVtExXMb2uXOfIgeIEMB8GA1Ud
12IwQYMBaAFL/PiFFjjlzVtExXMb2uXOfIgeIEMAsGA1UdDwQEAwIBBjAKBggqhkjO
13PQQDAgNJADBGAiEA0HOxloLMr87yDoH3CljWDWb7M2zLA+BQFXLN511qDl0CIQDu
14clewWaJHw4Wq8IN3JsrNDDw2GfrN3sx4hfWUK/0SPw==
15-----END CERTIFICATE-----
diff --git a/meta-integrity/data/debug-keys/ima-local-ca.priv b/meta-integrity/data/debug-keys/ima-local-ca.priv
new file mode 100644
index 0000000..e13de23
--- /dev/null
+++ b/meta-integrity/data/debug-keys/ima-local-ca.priv
@@ -0,0 +1,7 @@
1-----BEGIN ENCRYPTED PRIVATE KEY-----
2MIHjME4GCSqGSIb3DQEFDTBBMCkGCSqGSIb3DQEFDDAcBAhinM5KnV2x5wICCAAw
3DAYIKoZIhvcNAgkFADAUBggqhkiG9w0DBwQI4Xbw/W1pgH0EgZCiurgCTUEIDbiK
4x5kw3/Rg1/ZLwk5TEiMoIa9CmXEyuSRUla/Ta4o/rZEzKAp6vwkcupviirtWYems
5lZNfggfzITWNEWtkU6BrhZgJ7kaeZrIbuAO7YUJy6Z2MQfgaKI9BE2EEgKJ+X5gY
6LjkobSAtEqDjuheLgaXIMQ7/qT0MGmi6LmzwMEhu8ZXlNGg8udw=
7-----END ENCRYPTED PRIVATE KEY-----
diff --git a/meta-integrity/data/debug-keys/privkey_ima.pem b/meta-integrity/data/debug-keys/privkey_ima.pem
index 502a0b6..8362cfe 100644
--- a/meta-integrity/data/debug-keys/privkey_ima.pem
+++ b/meta-integrity/data/debug-keys/privkey_ima.pem
@@ -1,16 +1,5 @@
1-----BEGIN PRIVATE KEY----- 1-----BEGIN PRIVATE KEY-----
2MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJw2G3d0fM36rcQU 2MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgmbPxV5LYZ530IfGm
3Bt8V/SapJe0lxWJ+CY+HcMx8AhWY9XQ66AXcqBsRHiUnYCaFGXFI35VKGC6d/Gs6 3SMpfPQFgoIkKPMRuNWLyVn+wiAOhRANCAAQ31W5ZQZdcwidgpyls2oO5rSsHLlqj
4IWlHgI0tcTyzy5eul+BKRLy/3PNjkK2jJETlbetQy+gE6gUtg4RmPV5ALGksK74p 4cKYaDF2fveMN5L/wBwEi84ubzz2+MkM9q7RaOSC4TPYHnhVvYcH+SsFv
5OrAfKnahoMi82NVIiBitwmRimms1AgMBAAECgYBTxciRFU1hAVBy2PKebKJoO0n1
6lc329fSWnmHlp5NOlcr8XCLWEfGtIk7ySd2MitCMKjKNU0EIrv0RXAlS9l9/gBYW
7HY+eEaa6l80sp8q4aPKImSi0pb3LVNqWKXJg8qr4AZ45/TEL/fzILFv5QcY8xDjV
8aj6DOlEnNDjlBlBbQQJBAMyYDlKItes/Rnmtp9roXj3XUfiBDHTLY2HVgDBe87sA
9TOSnbgIv+6urd1h9XvBmJlRYH7YKJmBSZWcSlfdC6XkCQQDDdfkUMxQZo9PC/Eue
10WYzytx4xUm3ItWcuKILtFgcNh3c4s4dMx4X/WhQj5/H/nVOIWDioQ0mrW3ap/qcb
11SBydAkAf/gb/UPFhf9t9W3JMANn7wZfHzCYufT9lJQWOisqCC2H6v1Osc+Rey8k1
12xST7Yn3L4pvS03N8zGWe4IEi0QvBAkAWdTWbNos2rvYjzy05Enz5XkTf0eK/Tuh+
13CzWP3BoPWeM+5pHDJqGkx0rNHVdW0VLJtak83A5Y2/d0bMfygISZAkBFGui4HW+Q
141BlpmDeslsE11wm5jSmm6Ti12a2dVKGFo9QLQcSj4bfgxtqU2dQaYRmajXtSBrGQ
153vVaxg2EfqB1
16-----END PRIVATE KEY----- 5-----END PRIVATE KEY-----
diff --git a/meta-integrity/data/debug-keys/x509_ima.der b/meta-integrity/data/debug-keys/x509_ima.der
index 087ca6b..3f6f24e 100644
--- a/meta-integrity/data/debug-keys/x509_ima.der
+++ b/meta-integrity/data/debug-keys/x509_ima.der
Binary files differ
diff --git a/meta-integrity/scripts/ima-gen-CA-signed.sh b/meta-integrity/scripts/ima-gen-CA-signed.sh
index 5f3a728..b10b1ba 100755
--- a/meta-integrity/scripts/ima-gen-CA-signed.sh
+++ b/meta-integrity/scripts/ima-gen-CA-signed.sh
@@ -20,7 +20,6 @@ CAKEY=${2:-ima-local-ca.priv}
20 20
21cat << __EOF__ >$GENKEY 21cat << __EOF__ >$GENKEY
22[ req ] 22[ req ]
23default_bits = 1024
24distinguished_name = req_distinguished_name 23distinguished_name = req_distinguished_name
25prompt = no 24prompt = no
26string_mask = utf8only 25string_mask = utf8only
@@ -36,13 +35,15 @@ basicConstraints=critical,CA:FALSE
36#basicConstraints=CA:FALSE 35#basicConstraints=CA:FALSE
37keyUsage=digitalSignature 36keyUsage=digitalSignature
38#keyUsage = nonRepudiation, digitalSignature, keyEncipherment 37#keyUsage = nonRepudiation, digitalSignature, keyEncipherment
38extendedKeyUsage=critical,codeSigning
39subjectKeyIdentifier=hash 39subjectKeyIdentifier=hash
40authorityKeyIdentifier=keyid 40authorityKeyIdentifier=keyid
41#authorityKeyIdentifier=keyid,issuer 41#authorityKeyIdentifier=keyid,issuer
42__EOF__ 42__EOF__
43 43
44openssl req -new -nodes -utf8 -sha1 -days 365 -batch -config $GENKEY \ 44openssl req -new -nodes -utf8 -sha256 -days 36500 -batch -config $GENKEY \
45 -out csr_ima.pem -keyout privkey_ima.pem 45 -out csr_ima.pem -keyout privkey_ima.pem \
46openssl x509 -req -in csr_ima.pem -days 365 -extfile $GENKEY -extensions v3_usr \ 46 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1
47openssl x509 -req -in csr_ima.pem -days 36500 -extfile $GENKEY -extensions v3_usr \
47 -CA $CA -CAkey $CAKEY -CAcreateserial \ 48 -CA $CA -CAkey $CAKEY -CAcreateserial \
48 -outform DER -out x509_ima.der 49 -outform DER -out x509_ima.der
diff --git a/meta-integrity/scripts/ima-gen-local-ca.sh b/meta-integrity/scripts/ima-gen-local-ca.sh
index b600761..339d3e3 100755
--- a/meta-integrity/scripts/ima-gen-local-ca.sh
+++ b/meta-integrity/scripts/ima-gen-local-ca.sh
@@ -18,7 +18,6 @@ GENKEY=ima-local-ca.genkey
18 18
19cat << __EOF__ >$GENKEY 19cat << __EOF__ >$GENKEY
20[ req ] 20[ req ]
21default_bits = 2048
22distinguished_name = req_distinguished_name 21distinguished_name = req_distinguished_name
23prompt = no 22prompt = no
24string_mask = utf8only 23string_mask = utf8only
@@ -33,10 +32,11 @@ emailAddress = john.doe@example.com
33basicConstraints=CA:TRUE 32basicConstraints=CA:TRUE
34subjectKeyIdentifier=hash 33subjectKeyIdentifier=hash
35authorityKeyIdentifier=keyid:always,issuer 34authorityKeyIdentifier=keyid:always,issuer
36# keyUsage = cRLSign, keyCertSign 35keyUsage = cRLSign, keyCertSign
37__EOF__ 36__EOF__
38 37
39openssl req -new -x509 -utf8 -sha1 -days 3650 -batch -config $GENKEY \ 38openssl req -new -x509 -utf8 -sha256 -days 36500 -batch -config $GENKEY \
39 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 \
40 -outform DER -out ima-local-ca.x509 -keyout ima-local-ca.priv 40 -outform DER -out ima-local-ca.x509 -keyout ima-local-ca.priv
41 41
42openssl x509 -inform DER -in ima-local-ca.x509 -out ima-local-ca.pem 42openssl x509 -inform DER -in ima-local-ca.x509 -out ima-local-ca.pem
diff --git a/meta-integrity/scripts/ima-gen-self-signed.sh b/meta-integrity/scripts/ima-gen-self-signed.sh
deleted file mode 100755
index 5ee876c..0000000
--- a/meta-integrity/scripts/ima-gen-self-signed.sh
+++ /dev/null
@@ -1,41 +0,0 @@
1#!/bin/sh
2#
3# Copied from ima-evm-utils.
4#
5# This program is free software; you can redistribute it and/or
6# modify it under the terms of the GNU General Public License
7# version 2 as published by the Free Software Foundation.
8#
9# This program is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12# GNU General Public License for more details.
13#
14# You should have received a copy of the GNU General Public License
15# along with this program. If not, see <http://www.gnu.org/licenses/>.
16
17GENKEY=ima.genkey
18
19cat << __EOF__ >$GENKEY
20[ req ]
21default_bits = 1024
22distinguished_name = req_distinguished_name
23prompt = no
24string_mask = utf8only
25x509_extensions = myexts
26
27[ req_distinguished_name ]
28O = example.com
29CN = meta-intel-iot-security example signing key
30emailAddress = john.doe@example.com
31
32[ myexts ]
33basicConstraints=critical,CA:FALSE
34keyUsage=digitalSignature
35subjectKeyIdentifier=hash
36authorityKeyIdentifier=keyid
37__EOF__
38
39openssl req -new -nodes -utf8 -sha1 -days 36500 -batch \
40 -x509 -config $GENKEY \
41 -outform DER -out x509_ima.der -keyout privkey_ima.pem