blob: e3e643e0055ca1ffbad0b7705b8061e7a676a8aa [file] [log] [blame]
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08001DESCRIPTION = "OpenSSL secure engine based on TPM hardware"
2HOMEPAGE = "https://github.com/mgerstner/openssl_tpm_engine"
3SECTION = "security/tpm"
4
Patrick Williams03907ee2022-05-01 06:28:52 -05005LICENSE = "OpenSSL"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08006LIC_FILES_CHKSUM = "file://LICENSE;md5=11f0ee3af475c85b907426e285c9bb52"
7
8DEPENDS += "openssl trousers"
9
10SRC_URI = "\
Patrick Williams53961c22022-01-20 11:06:23 -060011 git://github.com/mgerstner/openssl_tpm_engine.git;branch=master;protocol=https \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080012 file://0001-create-tpm-key-support-well-known-key-option.patch \
13 file://0002-libtpm-support-env-TPM_SRK_PW.patch \
14 file://0003-tpm-openssl-tpm-engine-parse-an-encrypted-tpm-SRK-pa.patch \
15 file://0004-tpm-openssl-tpm-engine-change-variable-c-type-from-c.patch \
16 file://openssl11_build_fix.patch \
17"
18SRCREV = "b28de5065e6eb9aa5d5afe2276904f7624c2cbaf"
19
20S = "${WORKDIR}/git"
21
22inherit autotools-brokensep pkgconfig
23
24# The definitions below are used to decrypt the srk password.
25# It is allowed to define the values in 3 forms: string, hex number and
26# the hybrid, e.g,
27# srk_dec_pw = "incendia"
28# srk_dec_pw = "\x69\x6e\x63\x65\x6e\x64\x69\x61"
29# srk_dec_pw = "\x1""nc""\x3""nd""\x1""a"
30#
31# Due to the limit of escape character, the hybrid must be written in
32# above style. The actual values defined below in C code style are:
33# srk_dec_pw[] = { 0x01, 'n', 'c', 0x03, 'n', 'd', 0x01, 'a' };
34# srk_dec_salt[] = { 'r', 0x00, 0x00, 't' };
35srk_dec_pw ?= "\\"\\\x1\\"\\"nc\\"\\"\\\x3\\"\\"nd\\"\\"\\\x1\\"\\"a\\""
36srk_dec_salt ?= "\\"r\\"\\"\\\x00\\\x00\\"\\"t\\""
37
Patrick Williams53961c22022-01-20 11:06:23 -060038CFLAGS:append = " -DSRK_DEC_PW=${srk_dec_pw} -DSRK_DEC_SALT=${srk_dec_salt}"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080039
40# Uncomment below line if using the plain srk password for development
Patrick Williams53961c22022-01-20 11:06:23 -060041#CFLAGS:append = " -DTPM_SRK_PLAIN_PW"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080042
Patrick Williams213cb262021-08-07 19:21:33 -050043do_configure:prepend() {
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080044 cd ${B}
45 cp LICENSE COPYING
46 touch NEWS AUTHORS ChangeLog README
47}
48
Patrick Williams53961c22022-01-20 11:06:23 -060049FILES:${PN}-staticdev += "${libdir}/ssl/engines-3/tpm.la"
Patrick Williams213cb262021-08-07 19:21:33 -050050FILES:${PN}-dbg += "\
Patrick Williams53961c22022-01-20 11:06:23 -060051 ${libdir}/ssl/engines-3/.debug \
52 ${libdir}/engines-3/.debug \
53 ${prefix}/local/ssl/lib/engines-3/.debug \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080054"
Patrick Williams213cb262021-08-07 19:21:33 -050055FILES:${PN} += "\
Patrick Williams53961c22022-01-20 11:06:23 -060056 ${libdir}/ssl/engines-3/tpm.so* \
57 ${libdir}/engines-3/tpm.so* \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080058 ${libdir}/libtpm.so* \
Patrick Williams53961c22022-01-20 11:06:23 -060059 ${prefix}/local/ssl/lib/engines-3/tpm.so* \
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080060"
61
Patrick Williams213cb262021-08-07 19:21:33 -050062RDEPENDS:${PN} += "libcrypto libtspi"
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080063
Patrick Williams213cb262021-08-07 19:21:33 -050064INSANE_SKIP:${PN} = "libdir"
65INSANE_SKIP:${PN}-dbg = "libdir"