summaryrefslogtreecommitdiff
path: root/tests/futility
diff options
context:
space:
mode:
Diffstat (limited to 'tests/futility')
-rw-r--r--tests/futility/data/dingdong.pem27
-rw-r--r--tests/futility/data/dingdong.signedbin0 -> 131072 bytes
-rw-r--r--tests/futility/data/dingdong.unsignedbin0 -> 131072 bytes
-rw-r--r--tests/futility/data/hoho.pem27
-rw-r--r--tests/futility/data/hoho.signedbin0 -> 131072 bytes
-rw-r--r--tests/futility/data/hoho.unsignedbin0 -> 131072 bytes
-rw-r--r--tests/futility/data/minimuffin.pem27
-rw-r--r--tests/futility/data/minimuffin.signedbin0 -> 32768 bytes
-rw-r--r--tests/futility/data/minimuffin.unsignedbin0 -> 32768 bytes
-rw-r--r--tests/futility/data/zinger.pem27
-rw-r--r--tests/futility/data/zinger.signedbin0 -> 32768 bytes
-rw-r--r--tests/futility/data/zinger.unsignedbin0 -> 32768 bytes
-rwxr-xr-xtests/futility/run_test_scripts.sh1
-rw-r--r--tests/futility/test_file_types.c1
-rwxr-xr-xtests/futility/test_sign_usbpd1.sh56
15 files changed, 166 insertions, 0 deletions
diff --git a/tests/futility/data/dingdong.pem b/tests/futility/data/dingdong.pem
new file mode 100644
index 00000000..e2ff6781
--- /dev/null
+++ b/tests/futility/data/dingdong.pem
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAqhcIe02T0+guB+QDIKTy578gwH0W0BpZM4B0scTq0ozQ6YJe
+9O74HBWYlWUkbx+/AaM50yeroqx6DC4ZLgm8PcBFpCkxhuOdP6BZbjEqEoI4nVOg
+nDsW3XpNODYueA7IpqiOjUgAcAeNTEfdxIGGh6XWwsJmGdbJCWu4SiWsKyJVThCr
+1DPh3nPEmzDpX4CYU93qFeoJptKKH0DJcMKEP3CR8H0OU9S5wLoA10s9TECsWMN9
+z7vZQaelxsFrzHPgY2amX1uruSI4BaZ8aGYTtKzcTkzSnT/jD8QTiDnSYsMXs7h4
+6af24h3SZdApB5yFYQqcS80DWgHcubeT24ulXwIDAQABAoIBAAslnUmvaNu/YJzl
+xYqzJLQpY3UZ/Y+/2k60wXERDa6kyeAzyhNVQe9dPvWzfjLGKtdpohWDiQ0NLqZz
+svTAcJS/cBD1HijP6/NKh/HfyPkTjbBJ1cHHYZU8OalQa7U0itPZQhZiPJ0a8Zip
+MRB6yJ1FMhDrepOA7wXuCFLbqy/cYcY+MdKL6Fny5FFIBMq16EeFOKBOR+DZsLEg
+R71n1rV7IzxTIfcjD8ws43bRM0sbwykoaHUIYuwXO/AIII9QX75V7nQjB0JUOSYo
+Z9OrrUaf+rP8l4Rd76tTHxrpMU3dy8C/ht5jpXbiMYViOl0pNDAzJfCvIx0+q9Iy
+BrMLKUkCgYEA21jJ6Yqz9Nwkv/kcovYpiBuUHhMjmdsMv0LZnWWELCpXmisemeWJ
+8FrnaMTTrYscbIn+MPkLQbb2FQHyT+HHtHchsps8i+snYEBBky0fyAlWG0LL/Rvh
+GPFkKNXeMFRcGg7rTp51L0DhG6hbWgCkck3AtcHy86LgehsDaWhEi+0CgYEAxoMi
+35F1Q0PMlpftK5sRYvwO5jSM2RvYxhqDImghyW43Bnc0tu7bVK25V+Vd3ZRBnjm5
+8E6A6UpP0By4qaEQuG1kMoZ2TTOix2q0AbltOGYuzLq41PirvINqj3DVzw3M4IZE
+dL6PtiJcOGeFodL12Sz1QRZVksMfpxz0XaVpxPsCgYAmDDi58f1VM/qL8kItYlXB
+7ka7EMbUIVMMuiPVUY6jupSHgYNFXrOWpa4OVlYBfGfpy+XzyL9THtGAw12szZU+
+kIuf152hB6FE6OB3DxS8NiJhiCyqMvPQx85/5tkruPZg7sWSVZouICrsCUAPVJ0x
+1pre7E2gRVh61cS5vARn4QKBgQCNxp6jeal8LvHxI/R5Tjiur0Kc2y806BR79/ds
+HV70E8kszvpRJGp1IdXblq7hT79FmAjaPdcHxtEV201vqN7eORJ0m1/mZ1h8gBKr
+oJkGzMPj5/+V6zwMWPdEFtw9EqgeOwatMmRFOmkOx7DDEH4Ra3CF2cOoG7+BhMZq
+E3dk/QKBgQCYXqptB56sUrjnCXKEAdR96SDlVCmL7BBI893xDSAYIKhbpQsI2YY1
+dcFb02bnMbpqjkwHqpjHD8MJOWvXf8q/5FxDjHBSLSL8fM2PL9DI65c8MmwpHUSZ
+ZdcRhMrlN1iTkzw7WdfFCqb0HNl73sP5baqbRZgC+gysmDtgTZxBTQ==
+-----END RSA PRIVATE KEY-----
diff --git a/tests/futility/data/dingdong.signed b/tests/futility/data/dingdong.signed
new file mode 100644
index 00000000..4b2a18bf
--- /dev/null
+++ b/tests/futility/data/dingdong.signed
Binary files differ
diff --git a/tests/futility/data/dingdong.unsigned b/tests/futility/data/dingdong.unsigned
new file mode 100644
index 00000000..4b18fbf5
--- /dev/null
+++ b/tests/futility/data/dingdong.unsigned
Binary files differ
diff --git a/tests/futility/data/hoho.pem b/tests/futility/data/hoho.pem
new file mode 100644
index 00000000..08d5bd41
--- /dev/null
+++ b/tests/futility/data/hoho.pem
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEApfbLqgOYIM6AfRI6SJcj1Crengsp+yjHXtwZFOH6WDVP5Q9c
+KSbwqoKHEKTbWJ90ymjqjfi382hl64L/V6J8SfIqGhrFztwXLhJOwFXRK5Jgzkk+
+YUByDzAKTKOlzvvRqk10Tq5a3wphg1SxGVLLOOsTGoKhGI93Wkf2j8AibMlVVZzz
+Q8DmVszkYZL+Kchv6h1FgSvBW0oZa5tVod+0XToWSrPEYnBWs0zZEywCusIXMy7D
+LaqMPFB4LTkDZ9Ne8jnB5xRad+ME4CgxZqUwGC7tdFdHdiiXpIwzIoxVk6xFIZUF
+uusG4RR3O2ubaPJ/Fpf3UuuCWmddk37WaC7o7QIDAQABAoIBAAG4L94AEYhte0lQ
+cggkgLuHAi1zAilW/9HMx/m+aaCWVNCTuym1/JJXrdyPSLJ/XG9obN2xsP41m7C3
+97tJtK3zc1o34srE3vycNfKqMPOZnaUlfx700vmzTrgCjgo5868nBEh4Z/qdmesJ
+aphPkklxrg39QnwFqH/n9PcCT5j+7LyCeWeGbWxKfpzP2CT6v8XxT3XY1mtFSa4j
+dfYaqb+aunYAhjEb4gqa48hyNTQAZskDOUr1TK433wbGqRughXXrQQix+FBW483u
+IGo8aGgiQsjYxHX+ynNTMKW1Oap9WZRWVxF09Ph1f3MT+k3gKqM/0AejlDfBuTDu
+aLxiKIUCgYEA1FZmfGn4RNlghv/ZCAlfWqbf5NA1/wA/Knk8u0R+kMQ71e8NFjOc
+Ym3Uix+89KcKDBIgHn1360pNvSCeTyVU28wQ2bst5s6pvu4FYDvjym2nTgXcFJX6
+DDnZfVZ+WLSFR8E76LQLJGd00DSq0/uBw3ULyRSirkuQnFI3w3u4BH8CgYEAyBdD
+UMV83kwQaDMuGgKqZtD4Ou3s/MDzMwcNgUSjLIueFdsXVnlzYQwwJXuLFkrp5COx
+Zyoha/d1QQawnYehKmHWWy7qN/l0CO+F2DGb1E6pNXJrn+zn33Mgz9ms8421eqqn
+ATQbq6ZQInk1IrkLfyZ3t09l6cyBMJuJjkoBrJMCgYA2Hfsq1FtJONnILmbjDHh4
+AzXm/EX2wtpWeeXHmLJlNQ5G/REpymeeEn3sI1+mPvhpkSkMfE/W8O4VOL4AT/Rr
+vHvC8ljFjYBnwAQwvbLVwdK1KPspZ/v9p7TNpAC5nPCnFBGvwktgsNltwy6SrnQp
+G6iwTAkWQP4PSUkbEmoZAwKBgF0OLJlQ70y3FV5Qhx1DphohD4DgjDnURoaxvf8j
+e7vIxuGlPgpSe21j7LRR65KXjoUycFvpRRfgQyDVyqfInxSF4doQTI9xrRxGwPmV
+wMIRPzKDHziGRiQud9ESjBPNENyWpwqxQDkpJNWThzm503Xz3vNasqv0FxUTEPsi
+wfqPAoGABXPl7baUkpYzppAJqRlGNxsMjpbWscDPjmPosrGs6d81DP287s/IjfDR
+ysQptvhJRK/lubM8As+d0/VLd6P8wk8dyZR1nRELwnVaPC55cS5+YIjgXK9TBmLA
+hC0BIgujJS2qbXQRQF7yX925Gg77WLN2sJqtVg1Brine056pHTA=
+-----END RSA PRIVATE KEY-----
diff --git a/tests/futility/data/hoho.signed b/tests/futility/data/hoho.signed
new file mode 100644
index 00000000..6a6bc1ae
--- /dev/null
+++ b/tests/futility/data/hoho.signed
Binary files differ
diff --git a/tests/futility/data/hoho.unsigned b/tests/futility/data/hoho.unsigned
new file mode 100644
index 00000000..6a605d12
--- /dev/null
+++ b/tests/futility/data/hoho.unsigned
Binary files differ
diff --git a/tests/futility/data/minimuffin.pem b/tests/futility/data/minimuffin.pem
new file mode 100644
index 00000000..6912b1f4
--- /dev/null
+++ b/tests/futility/data/minimuffin.pem
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpgIBAAKCAQEAvI3KBubudlZyX1oBNzWhQ+bNemHNVC5bO7TjJMTYTIJeKTaW
+IyHCFLF9ztpe8tT9Y+ga4VO9PEktP1WJpdU0ecG6VwK3951/cElosfnIPmIY7dVp
+PQtGtGS/Zih1nTMRV5hqtGa9SRg0i2kdph+quFXGQoMriTl0StmvNVtD51nRPGwc
+ZsG9+P0yfnyo7l3qXtKu5gBx/jDne2kl5/isPHkKfl9le+aNQaNjWeJyB4XDqHXM
+AjuW1G7FxoKlU4b363gQbE84Q80X1Qd9iAoRj/HLmDrx9h6FDFs+HbKDfCYtg2fK
+upEHr1bFUCxjc6AWuFglSq0yn5kyp1Bh5CD3PQIDAQABAoIBAQCNO2NlEhrx9sSK
+mX8pnHkjxECK97D16hcaPN6azvr5K/ldw25n+ERIfb4vb7AJEfKOn+9qce/ftSw4
+MVj+Jxm8TZjGzdmAlq87KzFJhkAwQghMNTszpzuZqZEX8xxN2E+YHilm4UHM+114
+Qw8bPMMCefUcIuY8ThXGbxFm1Oqi4YHHfqE6waRc0XXnLZOYr7NDCmhgyUG1dpAH
+kW0EYuJ1UNGaKE4LsWKvi0SYBQ48Mqh1XPkyiL/5I2whewsU2K4KEjynZp0+ULUG
+Dxfv3uCywsSsLuNR+EV5tTUp4eY1BLKULJQTMH3hyV1Xf1qEt2YN/3ZHsv7MPQzS
+sPIdN+LhAoGBAN6wbcxPnfkJROOVRUzE05IEEBalVULLo1cA1ss/7RjIeUvdRCAa
+12OxF4LSNzrSxcPCLsDnYq+j4HoS6KZ31c1TbaKcaUOPfRohrtGBZMxPgDTZgEBa
+JlsVtD2vzYvfUIpVQFz6Tnix3F29Gq5RaZdW5/qwOYyx0wtUrPf+pwZ5AoGBANjC
+MjgoGtcubR6chDhZcFU4vopdL7IEhMOZ1qxLFTQnINGXXDJpgVvdJRKdDV29DjNZ
+zF9wgmoiVm+uM/344bquUV7KHl5bEsZ+4KH6EA4y3IKVgxaxU7dpF6Q6L+rAuYp/
+j0N9XoVnS3aq30HkTkt+jQe0Hl6eEDOJqHEjolXlAoGBAJbMqs3cbIGkQT5May1d
+bFhI4Aw10dL1y5qzOsFQfOJ3f4xcPjHve0RLPDye1j/DU6EI8lg3WKDQPMbt3xY7
+uFDe2jNv7+iMVo9Hl/bPxM6GV69ySmNJqQetXu0XC/5YL1Y9/OP5rQIWj7/6uwKo
+pvSRKW6dv5sDIINfx/H4RGshAoGBAMIs7Tn7S1gaoev7QEMOdCAT7jUbF3/8pkZn
+SLUdqcgHiVHYquIKO7TknbJX+MJReygrOHcC3gFf81imkLLiQqyuPfyRSbUzFtW0
+kVzpG3rsuzdL4pvwjNNQFLqs2YIN1eipLtjBtWwCRcrvdYKcmDrvCj2tcEtIg7D3
+j2qTBni1AoGBAI58xPHxB0cNclhWiFHPNgk98GkwADWxfeTZduoyfpraSrpbseu8
+Cfgq1p5E2nM9jWx4jdKA/fxdD40bneupPi5w5SE2gmwtmQFR3TehI8gxNbEL2Gq6
+6ZkgxnGNxFaE6saHVDHKU8Q2bgzCI8JlOOtSjzKvbr+hsQMYHcEJxom6
+-----END RSA PRIVATE KEY-----
diff --git a/tests/futility/data/minimuffin.signed b/tests/futility/data/minimuffin.signed
new file mode 100644
index 00000000..7d60a743
--- /dev/null
+++ b/tests/futility/data/minimuffin.signed
Binary files differ
diff --git a/tests/futility/data/minimuffin.unsigned b/tests/futility/data/minimuffin.unsigned
new file mode 100644
index 00000000..e5c23018
--- /dev/null
+++ b/tests/futility/data/minimuffin.unsigned
Binary files differ
diff --git a/tests/futility/data/zinger.pem b/tests/futility/data/zinger.pem
new file mode 100644
index 00000000..6912b1f4
--- /dev/null
+++ b/tests/futility/data/zinger.pem
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpgIBAAKCAQEAvI3KBubudlZyX1oBNzWhQ+bNemHNVC5bO7TjJMTYTIJeKTaW
+IyHCFLF9ztpe8tT9Y+ga4VO9PEktP1WJpdU0ecG6VwK3951/cElosfnIPmIY7dVp
+PQtGtGS/Zih1nTMRV5hqtGa9SRg0i2kdph+quFXGQoMriTl0StmvNVtD51nRPGwc
+ZsG9+P0yfnyo7l3qXtKu5gBx/jDne2kl5/isPHkKfl9le+aNQaNjWeJyB4XDqHXM
+AjuW1G7FxoKlU4b363gQbE84Q80X1Qd9iAoRj/HLmDrx9h6FDFs+HbKDfCYtg2fK
+upEHr1bFUCxjc6AWuFglSq0yn5kyp1Bh5CD3PQIDAQABAoIBAQCNO2NlEhrx9sSK
+mX8pnHkjxECK97D16hcaPN6azvr5K/ldw25n+ERIfb4vb7AJEfKOn+9qce/ftSw4
+MVj+Jxm8TZjGzdmAlq87KzFJhkAwQghMNTszpzuZqZEX8xxN2E+YHilm4UHM+114
+Qw8bPMMCefUcIuY8ThXGbxFm1Oqi4YHHfqE6waRc0XXnLZOYr7NDCmhgyUG1dpAH
+kW0EYuJ1UNGaKE4LsWKvi0SYBQ48Mqh1XPkyiL/5I2whewsU2K4KEjynZp0+ULUG
+Dxfv3uCywsSsLuNR+EV5tTUp4eY1BLKULJQTMH3hyV1Xf1qEt2YN/3ZHsv7MPQzS
+sPIdN+LhAoGBAN6wbcxPnfkJROOVRUzE05IEEBalVULLo1cA1ss/7RjIeUvdRCAa
+12OxF4LSNzrSxcPCLsDnYq+j4HoS6KZ31c1TbaKcaUOPfRohrtGBZMxPgDTZgEBa
+JlsVtD2vzYvfUIpVQFz6Tnix3F29Gq5RaZdW5/qwOYyx0wtUrPf+pwZ5AoGBANjC
+MjgoGtcubR6chDhZcFU4vopdL7IEhMOZ1qxLFTQnINGXXDJpgVvdJRKdDV29DjNZ
+zF9wgmoiVm+uM/344bquUV7KHl5bEsZ+4KH6EA4y3IKVgxaxU7dpF6Q6L+rAuYp/
+j0N9XoVnS3aq30HkTkt+jQe0Hl6eEDOJqHEjolXlAoGBAJbMqs3cbIGkQT5May1d
+bFhI4Aw10dL1y5qzOsFQfOJ3f4xcPjHve0RLPDye1j/DU6EI8lg3WKDQPMbt3xY7
+uFDe2jNv7+iMVo9Hl/bPxM6GV69ySmNJqQetXu0XC/5YL1Y9/OP5rQIWj7/6uwKo
+pvSRKW6dv5sDIINfx/H4RGshAoGBAMIs7Tn7S1gaoev7QEMOdCAT7jUbF3/8pkZn
+SLUdqcgHiVHYquIKO7TknbJX+MJReygrOHcC3gFf81imkLLiQqyuPfyRSbUzFtW0
+kVzpG3rsuzdL4pvwjNNQFLqs2YIN1eipLtjBtWwCRcrvdYKcmDrvCj2tcEtIg7D3
+j2qTBni1AoGBAI58xPHxB0cNclhWiFHPNgk98GkwADWxfeTZduoyfpraSrpbseu8
+Cfgq1p5E2nM9jWx4jdKA/fxdD40bneupPi5w5SE2gmwtmQFR3TehI8gxNbEL2Gq6
+6ZkgxnGNxFaE6saHVDHKU8Q2bgzCI8JlOOtSjzKvbr+hsQMYHcEJxom6
+-----END RSA PRIVATE KEY-----
diff --git a/tests/futility/data/zinger.signed b/tests/futility/data/zinger.signed
new file mode 100644
index 00000000..72d98a88
--- /dev/null
+++ b/tests/futility/data/zinger.signed
Binary files differ
diff --git a/tests/futility/data/zinger.unsigned b/tests/futility/data/zinger.unsigned
new file mode 100644
index 00000000..f36c37d0
--- /dev/null
+++ b/tests/futility/data/zinger.unsigned
Binary files differ
diff --git a/tests/futility/run_test_scripts.sh b/tests/futility/run_test_scripts.sh
index e8bbd232..8e6281a1 100755
--- a/tests/futility/run_test_scripts.sh
+++ b/tests/futility/run_test_scripts.sh
@@ -51,6 +51,7 @@ ${SCRIPTDIR}/test_sign_firmware.sh
${SCRIPTDIR}/test_sign_fw_main.sh
${SCRIPTDIR}/test_sign_kernel.sh
${SCRIPTDIR}/test_sign_keyblocks.sh
+${SCRIPTDIR}/test_sign_usbpd1.sh
${SCRIPTDIR}/test_file_types.sh
"
diff --git a/tests/futility/test_file_types.c b/tests/futility/test_file_types.c
index a2d03bf7..3fb21cc6 100644
--- a/tests/futility/test_file_types.c
+++ b/tests/futility/test_file_types.c
@@ -37,6 +37,7 @@ static struct {
{FILE_TYPE_VB2_PUBKEY, "tests/futility/data/sample.vbpubk2"},
{FILE_TYPE_VB2_PRIVKEY, "tests/futility/data/sample.vbprik2"},
{FILE_TYPE_PEM, "tests/testkeys/key_rsa2048.pem"},
+ {FILE_TYPE_USBPD1, },
};
BUILD_ASSERT(ARRAY_SIZE(test_case) == NUM_FILE_TYPES);
diff --git a/tests/futility/test_sign_usbpd1.sh b/tests/futility/test_sign_usbpd1.sh
new file mode 100755
index 00000000..dc3b6420
--- /dev/null
+++ b/tests/futility/test_sign_usbpd1.sh
@@ -0,0 +1,56 @@
+#!/bin/bash -eux
+# Copyright 2015 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+me=${0##*/}
+TMP="$me.tmp"
+
+# Work in scratch directory
+cd "$OUTDIR"
+
+# The signed input images are signed with dev keys. We resign the unsigned
+# images with the same keypair, to make sure that we're producing identical
+# binaries.
+
+DATADIR="${SCRIPTDIR}/data"
+TESTS="dingdong hoho minimuffin zinger"
+
+set -o pipefail
+
+count=0
+for test in $TESTS; do
+
+ : $(( count++ ))
+ echo -n "$count " 1>&3
+
+ pemfile=${DATADIR}/${test}.pem
+ infile=${DATADIR}/${test}.unsigned
+ goodfile=${DATADIR}/${test}.signed
+ outfile=${TMP}.${test}.new
+
+ # Signing the whole thing with futility should produce identical results
+ ${FUTILITY} sign --type usbpd1 --pem ${pemfile} ${infile} ${outfile}
+ cmp ${goodfile} ${outfile}
+
+ # Now try signing just the RW part
+ size=$(stat -c '%s' ${infile})
+ half=$(( size / 2 ))
+
+ newin=${TMP}.${test}.rw_in
+ dd if=${infile} bs=${half} count=1 skip=1 of=${newin}
+ newgood=${TMP}.${test}.rw_ok
+ dd if=${goodfile} bs=${half} count=1 skip=1 of=${newgood}
+ newout=${TMP}.${test}.rw_out
+
+ # Sign the RW part alone
+ ${FUTILITY} sign --type usbpd1 --pem ${pemfile} \
+ --ro_size 0 \
+ ${newin} ${newout}
+ cmp ${newgood} ${newout}
+
+done
+
+# cleanup
+rm -rf ${TMP}*
+exit 0