app-crypt/tpm2-openssl: add 1.1.1

Signed-off-by: Christopher Byrne <salah.coronya@gmail.com>
This commit is contained in:
Christopher Byrne
2022-10-09 16:39:37 -05:00
parent 2a095809c5
commit 0ebc305f15
2 changed files with 98 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST tpm2-openssl-1.1.0.tar.gz 415118 BLAKE2B c82410b1694b5db3e7b6614b1c4e2eef7354c87574334e1e81631bba707398e3d33d975dba2f2cbbf1b09d90f8ae94e7f01531c98b1efd666ca43298a02ead0a SHA512 a57e25d8efcbaa3a898a2803d816169e4227466f9391e5dc7c80a44686865cae0c24ee1973c6376d86d5be8081850f7b35cd0d4cb0b3a8cf654d400d78ae383b
DIST tpm2-openssl-1.1.1.tar.gz 415093 BLAKE2B 4f05b04ad059b9e5232bde2426102628927c71360cda5c3a1df02f951a8ecd6e1e036a6373ac5d7fc8209415874c52544eca3195e2361a165bc2c91f99ad85b1 SHA512 be4f114b21d15e6baeb7e756a787619d01f20171e86ebc42ea098c98d59ffd2ba648885b345b9d1a9dc3339199eaa6db8335f039587be338c1126e23349b8812

View File

@@ -0,0 +1,97 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="OpenSSL Provider for TPM2 integration"
HOMEPAGE="https://github.com/tpm2-software/tpm2-openssl"
SRC_URI="https://github.com/tpm2-software/tpm2-openssl/releases/download/${PV}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0/${PV}"
KEYWORDS="~amd64"
IUSE="test"
RDEPEND=">=app-crypt/tpm2-tss-3.2.0:=
=dev-libs/openssl-3.0*:0="
DEPEND="${RDEPEND}
test? ( app-crypt/swtpm
app-crypt/tpm2-abrmd
app-crypt/tpm2-tools )"
BDEPEND="sys-devel/autoconf-archive
virtual/pkgconfig"
RESTRICT="!test? ( test )"
dbus_run() {
(
# start isolated dbus session bus
dbus_data=$(dbus-launch --sh-syntax) || exit
eval "${dbus_data}"
$@
ret=${?}
kill "${DBUS_SESSION_BUS_PID}"
exit "${ret}"
) || die
}
tpm2_run_with_emulator() {
export XDG_CONFIG_HOME="${T}/.config/swtpm"
"${BROOT}"/usr/share/swtpm/swtpm-create-user-config-files || die
mkdir -p "${XDG_CONFIG_HOME}/mytpm1" || die
swtpm_setup_args=(
--tpm2
--tpmstate "${XDG_CONFIG_HOME}/mytpm1"
--createek
--allow-signing
--decryption
--create-ek-cert
--create-platform-cert
--lock-nvram
--overwrite
--display
)
swtpm_setup "${swtpm_setup_args[@]}" || die
swtpm_socket_args=(
--tpm2
--tpmstate dir="${XDG_CONFIG_HOME}/mytpm1"
--flags startup-clear
--ctrl type=unixio,path="${XDG_CONFIG_HOME}/mytpm1/swtpm.socket.ctrl"
--server type=unixio,path="${XDG_CONFIG_HOME}/mytpm1/swtpm.socket"
--pid file="${XDG_CONFIG_HOME}/mytpm1/swtpm.pid"
--daemon
)
swtpm socket "${swtpm_socket_args[@]}" || die
tpm2_abrmd_args=(
--logger=stdout
--tcti=swtpm:path="${XDG_CONFIG_HOME}/mytpm1/swtpm.socket"
--session
--flush-all
)
tpm2-abrmd "${tpm2_abrmd_args[@]}" &
export TPM2OPENSSL_TCTI="tabrmd:bus_type=session"
export TPM2TOOLS_TCTI="tabrmd:bus_type=session"
$@ || die
# When swtpm dies, tmp2-abrmd will exit
kill $(< "${XDG_CONFIG_HOME}/mytpm1/swtpm.pid") || die
}
src_install() {
default
find "${ED}" -iname \*.la -delete || die
}
src_test() {
dbus_run tpm2_run_with_emulator make check
}