mirror of
https://git.yoctoproject.org/meta-security
synced 2026-04-20 11:29:37 +00:00
ima: Document and replace keys and adapt scripts for EC keys
For shorted file signatures use EC keys rather than RSA keys. Document the debug keys and their purpose. Adapt the scripts for creating these types of keys to now create EC keys. Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
committed by
Armin Kuster
parent
3b5fa74e77
commit
0652c9fd74
@@ -20,7 +20,6 @@ CAKEY=${2:-ima-local-ca.priv}
|
||||
|
||||
cat << __EOF__ >$GENKEY
|
||||
[ req ]
|
||||
default_bits = 1024
|
||||
distinguished_name = req_distinguished_name
|
||||
prompt = no
|
||||
string_mask = utf8only
|
||||
@@ -36,13 +35,15 @@ basicConstraints=critical,CA:FALSE
|
||||
#basicConstraints=CA:FALSE
|
||||
keyUsage=digitalSignature
|
||||
#keyUsage = nonRepudiation, digitalSignature, keyEncipherment
|
||||
extendedKeyUsage=critical,codeSigning
|
||||
subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid
|
||||
#authorityKeyIdentifier=keyid,issuer
|
||||
__EOF__
|
||||
|
||||
openssl req -new -nodes -utf8 -sha1 -days 365 -batch -config $GENKEY \
|
||||
-out csr_ima.pem -keyout privkey_ima.pem
|
||||
openssl x509 -req -in csr_ima.pem -days 365 -extfile $GENKEY -extensions v3_usr \
|
||||
openssl req -new -nodes -utf8 -sha256 -days 36500 -batch -config $GENKEY \
|
||||
-out csr_ima.pem -keyout privkey_ima.pem \
|
||||
-newkey ec -pkeyopt ec_paramgen_curve:prime256v1
|
||||
openssl x509 -req -in csr_ima.pem -days 36500 -extfile $GENKEY -extensions v3_usr \
|
||||
-CA $CA -CAkey $CAKEY -CAcreateserial \
|
||||
-outform DER -out x509_ima.der
|
||||
|
||||
@@ -18,7 +18,6 @@ GENKEY=ima-local-ca.genkey
|
||||
|
||||
cat << __EOF__ >$GENKEY
|
||||
[ req ]
|
||||
default_bits = 2048
|
||||
distinguished_name = req_distinguished_name
|
||||
prompt = no
|
||||
string_mask = utf8only
|
||||
@@ -33,10 +32,11 @@ emailAddress = john.doe@example.com
|
||||
basicConstraints=CA:TRUE
|
||||
subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid:always,issuer
|
||||
# keyUsage = cRLSign, keyCertSign
|
||||
keyUsage = cRLSign, keyCertSign
|
||||
__EOF__
|
||||
|
||||
openssl req -new -x509 -utf8 -sha1 -days 3650 -batch -config $GENKEY \
|
||||
openssl req -new -x509 -utf8 -sha256 -days 36500 -batch -config $GENKEY \
|
||||
-newkey ec -pkeyopt ec_paramgen_curve:prime256v1 \
|
||||
-outform DER -out ima-local-ca.x509 -keyout ima-local-ca.priv
|
||||
|
||||
openssl x509 -inform DER -in ima-local-ca.x509 -out ima-local-ca.pem
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copied from ima-evm-utils.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU General Public License
|
||||
# version 2 as published by the Free Software Foundation.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
GENKEY=ima.genkey
|
||||
|
||||
cat << __EOF__ >$GENKEY
|
||||
[ req ]
|
||||
default_bits = 1024
|
||||
distinguished_name = req_distinguished_name
|
||||
prompt = no
|
||||
string_mask = utf8only
|
||||
x509_extensions = myexts
|
||||
|
||||
[ req_distinguished_name ]
|
||||
O = example.com
|
||||
CN = meta-intel-iot-security example signing key
|
||||
emailAddress = john.doe@example.com
|
||||
|
||||
[ myexts ]
|
||||
basicConstraints=critical,CA:FALSE
|
||||
keyUsage=digitalSignature
|
||||
subjectKeyIdentifier=hash
|
||||
authorityKeyIdentifier=keyid
|
||||
__EOF__
|
||||
|
||||
openssl req -new -nodes -utf8 -sha1 -days 36500 -batch \
|
||||
-x509 -config $GENKEY \
|
||||
-outform DER -out x509_ima.der -keyout privkey_ima.pem
|
||||
Reference in New Issue
Block a user