Date: Tuesday, October 8, 2019 @ 21:27:59 Author: diabonas Revision: 514280
archrelease: copy trunk to community-x86_64 Added: tpm2-tss-engine/repos/community-x86_64/ tpm2-tss-engine/repos/community-x86_64/PKGBUILD (from rev 514279, tpm2-tss-engine/trunk/PKGBUILD) tpm2-tss-engine/repos/community-x86_64/tpm2-tss-engine-1.0.1-tpm2-tools-4.0.patch (from rev 514279, tpm2-tss-engine/trunk/tpm2-tss-engine-1.0.1-tpm2-tools-4.0.patch) tpm2-tss-engine/repos/community-x86_64/tpm2-tss-engine_check.sh (from rev 514279, tpm2-tss-engine/trunk/tpm2-tss-engine_check.sh) --------------------------------------------+ PKGBUILD | 42 +++++++ tpm2-tss-engine-1.0.1-tpm2-tools-4.0.patch | 159 +++++++++++++++++++++++++++ tpm2-tss-engine_check.sh | 9 + 3 files changed, 210 insertions(+) Copied: tpm2-tss-engine/repos/community-x86_64/PKGBUILD (from rev 514279, tpm2-tss-engine/trunk/PKGBUILD) =================================================================== --- community-x86_64/PKGBUILD (rev 0) +++ community-x86_64/PKGBUILD 2019-10-08 21:27:59 UTC (rev 514280) @@ -0,0 +1,42 @@ +# Maintainer: Jonas Witschel <diabo...@archlinux.org> +pkgname=tpm2-tss-engine +pkgver=1.0.1 +pkgrel=3 +pkgdesc='OpenSSL engine for Trusted Platform Module 2.0 devices' +arch=('x86_64') +url='https://github.com/tpm2-software/tpm2-tss-engine' +license=('BSD') +depends=('openssl' 'tpm2-tss') +checkdepends=('cmocka' 'expect' 'ibm-sw-tpm2' 'tpm2-tools') +source=("$url/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz"{,.asc} + 'tpm2-tss-engine_check.sh' + 'tpm2-tss-engine-1.0.1-tpm2-tools-4.0.patch') +sha512sums=('106fc6aadf0b4b27c3b38be596356aa59b4b76ec1602e8c5564aec6b4be7e2b5d6077006ee13d41e58402255b879aadaa966c758b5b326ae32742007ce2ef238' + 'SKIP' + '77d0d1789376e76b1f357edea59e5cd0953cfcf33c35069da6c4092c43e028dfb1e1593e3c85456e590f9da8252701519a06a5eb94adf8501cf4e5f21cc92cf1' + 'bf73ef8834fc92c1a85b590e0dd69e9d0a465533e631768652fdd0e316f590fa5a16fdcc7faf9af360b6b05a508d904f3657e7c476c136b2000e3374e2a3606d') +validpgpkeys=('D6B4D8BAC7E0CC97DCD4AC7272E88B53F7A95D84') # Andreas Fuchs <andreas.fu...@sit.fraunhofer.de> + +prepare() { + cd "$pkgname-$pkgver" + # Use tpm2-tools 4.0 for tests (backport of GitHub PR #142) + patch --strip=1 --input="$srcdir/tpm2-tss-engine-1.0.1-tpm2-tools-4.0.patch" +} + +build() { + cd "$pkgname-$pkgver" + (( CHECKFUNC )) && _opts=('--enable-unit' '--enable-integration') + ./configure --prefix=/usr --enable-tctienvvar "${_opts[@]}" + make +} + +check() { + cd "$pkgname-$pkgver" + "$srcdir/tpm2-tss-engine_check.sh" +} + +package() { + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" +} Copied: tpm2-tss-engine/repos/community-x86_64/tpm2-tss-engine-1.0.1-tpm2-tools-4.0.patch (from rev 514279, tpm2-tss-engine/trunk/tpm2-tss-engine-1.0.1-tpm2-tools-4.0.patch) =================================================================== --- community-x86_64/tpm2-tss-engine-1.0.1-tpm2-tools-4.0.patch (rev 0) +++ community-x86_64/tpm2-tss-engine-1.0.1-tpm2-tools-4.0.patch 2019-10-08 21:27:59 UTC (rev 514280) @@ -0,0 +1,159 @@ +From 2baa572d28c826837d94114acf8e894030c65d67 Mon Sep 17 00:00:00 2001 +From: Jonas Witschel <diabo...@gmx.de> +Date: Sun, 25 Aug 2019 00:18:03 +0200 +Subject: [PATCH] test: use tpm2-tools 4.X + +Since tpm2-tools 4.0 has been released, we can update our tests. +tpm2-tools 4.0 also requires tpm2-tss 2.3, so bump that as well. + +Signed-off-by: Jonas Witschel <diabo...@gmx.de> +--- + test/rsasign_parent.sh | 8 ++++---- + test/rsasign_persistent.sh | 26 +++++++++++++------------- + test/rsasign_persistent_emptyauth.sh | 24 ++++++++++++------------ + 3 files changed, 29 insertions(+), 29 deletions(-) + +diff --git a/test/rsasign_parent.sh b/test/rsasign_parent.sh +index 238631d..ce0f494 100755 +--- a/test/rsasign_parent.sh ++++ b/test/rsasign_parent.sh +@@ -15,12 +15,12 @@ PARENT_CTX=${DIR}/primary_owner_key.ctx + + tpm2_startup -c || true + +-tpm2_createprimary --hierarchy=o --halg=sha256 --kalg=rsa \ +- --context=${PARENT_CTX} ++tpm2_createprimary --hierarchy=o --hash-algorithm=sha256 --key-algorithm=rsa \ ++ --key-context=${PARENT_CTX} + tpm2_flushcontext --transient-object + + # Load primary key to persistent handle +-HANDLE=$(tpm2_evictcontrol --auth=o --context=${PARENT_CTX} --persistent=0x81010001 | cut -d ' ' -f 2 | head -n 1) ++HANDLE=$(tpm2_evictcontrol --hierarchy=o --object-context=${PARENT_CTX} | cut -d ' ' -f 2 | head -n 1) + tpm2_flushcontext --transient-object + + # Generating a key underneath the persistent parent +@@ -32,7 +32,7 @@ cat ${DIR}/mykey.pub + echo "abc" | openssl pkeyutl -engine tpm2tss -keyform engine -inkey ${DIR}/mykey -sign -in ${DIR}/mydata.txt -out ${DIR}/mysig -passin stdin + + # Release persistent HANDLE +-tpm2_evictcontrol --auth=o --handle=${HANDLE} --persistent=${HANDLE} ++tpm2_evictcontrol --hierarchy=o --object-context=${HANDLE} + + cat ${DIR}/mysig + +diff --git a/test/rsasign_persistent.sh b/test/rsasign_persistent.sh +index d08809a..5dd749e 100755 +--- a/test/rsasign_persistent.sh ++++ b/test/rsasign_persistent.sh +@@ -15,38 +15,38 @@ PARENT_CTX=${DIR}/primary_owner_key.ctx + + tpm2_startup -c || true + +-tpm2_createprimary --hierarchy=o --halg=sha256 --kalg=rsa \ +- --context=${PARENT_CTX} ++tpm2_createprimary --hierarchy=o --hash-algorithm=sha256 --key-algorithm=rsa \ ++ --key-context=${PARENT_CTX} + tpm2_flushcontext --transient-object + + # Create an RSA key pair + echo "Generating RSA key pair" + TPM_RSA_PUBKEY=${DIR}/rsakey.pub + TPM_RSA_KEY=${DIR}/rsakey +-tpm2_create --pwdk=abc \ +- --context-parent=${PARENT_CTX} \ +- --halg=sha256 --kalg=rsa \ +- --pubfile=${TPM_RSA_PUBKEY} --privfile=${TPM_RSA_KEY} \ +- --object-attributes=sign\|decrypt\|fixedtpm\|fixedparent\|sensitivedataorigin\|userwithauth\|noda ++tpm2_create --key-auth=abc \ ++ --parent-context=${PARENT_CTX} \ ++ --hash-algorithm=sha256 --key-algorithm=rsa \ ++ --public=${TPM_RSA_PUBKEY} --private=${TPM_RSA_KEY} \ ++ --attributes=sign\|decrypt\|fixedtpm\|fixedparent\|sensitivedataorigin\|userwithauth\|noda + tpm2_flushcontext --transient-object + + # Load Key to persistent handle + RSA_CTX=${DIR}/rsakey.ctx +-tpm2_load --context-parent=${PARENT_CTX} \ +- --pubfile=${TPM_RSA_PUBKEY} --privfile=${TPM_RSA_KEY} \ +- --context=${RSA_CTX} ++tpm2_load --parent-context=${PARENT_CTX} \ ++ --public=${TPM_RSA_PUBKEY} --private=${TPM_RSA_KEY} \ ++ --key-context=${RSA_CTX} + tpm2_flushcontext --transient-object + +-HANDLE=$(tpm2_evictcontrol --auth=o --context=${RSA_CTX} --persistent=0x81010001 | cut -d ' ' -f 2 | head -n 1) ++HANDLE=$(tpm2_evictcontrol --hierarchy=o --object-context=${RSA_CTX} | cut -d ' ' -f 2 | head -n 1) + tpm2_flushcontext --transient-object + + # Signing Data + echo "abc" | openssl pkeyutl -engine tpm2tss -keyform engine -inkey ${HANDLE} -sign -in ${DIR}/mydata.txt -out ${DIR}/mysig -passin stdin + # Get public key of handle +-tpm2_readpublic --object=${HANDLE} --opu=${DIR}/mykey.pem --format=pem ++tpm2_readpublic --object-context=${HANDLE} --output=${DIR}/mykey.pem --format=pem + + # Release persistent HANDLE +-tpm2_evictcontrol --auth=o --handle=${HANDLE} --persistent=${HANDLE} ++tpm2_evictcontrol --hierarchy=o --object-context=${HANDLE} + + R="$(openssl pkeyutl -pubin -inkey ${DIR}/mykey.pem -verify -in ${DIR}/mydata.txt -sigfile ${DIR}/mysig || true)" + if ! echo $R | grep "Signature Verified Successfully" >/dev/null; then +diff --git a/test/rsasign_persistent_emptyauth.sh b/test/rsasign_persistent_emptyauth.sh +index eeded63..5a4c757 100755 +--- a/test/rsasign_persistent_emptyauth.sh ++++ b/test/rsasign_persistent_emptyauth.sh +@@ -15,28 +15,28 @@ PARENT_CTX=${DIR}/primary_owner_key.ctx + + tpm2_startup -c || true + +-tpm2_createprimary --hierarchy=o --halg=sha256 --kalg=rsa \ +- --context=${PARENT_CTX} ++tpm2_createprimary --hierarchy=o --hash-algorithm=sha256 --key-algorithm=rsa \ ++ --key-context=${PARENT_CTX} + tpm2_flushcontext --transient-object + + # Create an RSA key pair + echo "Generating RSA key pair" + TPM_RSA_PUBKEY=${DIR}/rsakey.pub + TPM_RSA_KEY=${DIR}/rsakey +-tpm2_create --context-parent=${PARENT_CTX} \ +- --halg=sha256 --kalg=rsa \ +- --pubfile=${TPM_RSA_PUBKEY} --privfile=${TPM_RSA_KEY} \ +- --object-attributes=sign\|decrypt\|fixedtpm\|fixedparent\|sensitivedataorigin\|userwithauth\|noda ++tpm2_create --parent-context=${PARENT_CTX} \ ++ --hash-algorithm=sha256 --key-algorithm=rsa \ ++ --public=${TPM_RSA_PUBKEY} --private=${TPM_RSA_KEY} \ ++ --attributes=sign\|decrypt\|fixedtpm\|fixedparent\|sensitivedataorigin\|userwithauth\|noda + tpm2_flushcontext --transient-object + + # Load Key to persistent handle + RSA_CTX=${DIR}/rsakey.ctx +-tpm2_load --context-parent=${PARENT_CTX} \ +- --pubfile=${TPM_RSA_PUBKEY} --privfile=${TPM_RSA_KEY} \ +- --context=${RSA_CTX} ++tpm2_load --parent-context=${PARENT_CTX} \ ++ --public=${TPM_RSA_PUBKEY} --private=${TPM_RSA_KEY} \ ++ --key-context=${RSA_CTX} + tpm2_flushcontext --transient-object + +-HANDLE=$(tpm2_evictcontrol --auth=o --context=${RSA_CTX} --persistent=0x81010001 | cut -d ' ' -f 2 | head -n 1) ++HANDLE=$(tpm2_evictcontrol --hierarchy=o --object-context=${RSA_CTX} | cut -d ' ' -f 2 | head -n 1) + tpm2_flushcontext --transient-object + + # Signing Data +@@ -52,10 +52,10 @@ EOF + fi + + # Get public key of handle +-tpm2_readpublic --object=${HANDLE} --opu=${DIR}/mykey.pem --format=pem ++tpm2_readpublic --object-context=${HANDLE} --output=${DIR}/mykey.pem --format=pem + + # Release persistent HANDLE +-tpm2_evictcontrol --auth=o --handle=${HANDLE} --persistent=${HANDLE} ++tpm2_evictcontrol --hierarchy=o --object-context=${HANDLE} + + R="$(openssl pkeyutl -pubin -inkey ${DIR}/mykey.pem -verify -in ${DIR}/mydata.txt -sigfile ${DIR}/mysig || true)" + if ! echo $R | grep "Signature Verified Successfully" >/dev/null; then +-- +2.23.0 + Copied: tpm2-tss-engine/repos/community-x86_64/tpm2-tss-engine_check.sh (from rev 514279, tpm2-tss-engine/trunk/tpm2-tss-engine_check.sh) =================================================================== --- community-x86_64/tpm2-tss-engine_check.sh (rev 0) +++ community-x86_64/tpm2-tss-engine_check.sh 2019-10-08 21:27:59 UTC (rev 514280) @@ -0,0 +1,9 @@ +#!/bin/sh + +# Start TPM simulator +tpm_server >/dev/null & +trap "kill $!" EXIT + +export TPM2TSSENGINE_TCTI=libtss2-tcti-mssim.so +export TPM2TOOLS_TCTI=mssim +make --jobs=1 check