[go: nahoru, domu]

blob: 6bea52370095be3de99d862be1307689a9be2d2d [file] [log] [blame]
Tony Y14a24002018-06-05 14:00:41 -07001FROM ubuntu:18.04
Julien Hachenbergerccdf6692018-10-23 16:49:04 +02002RUN apt-get update && apt-get install -y \
Tony Y14a24002018-06-05 14:00:41 -07003 autoconf \
John Andersen6c601f02017-06-29 15:23:27 -07004 autoconf-archive \
Tony Y14a24002018-06-05 14:00:41 -07005 automake \
John Andersen6c601f02017-06-29 15:23:27 -07006 build-essential \
Tony Y14a24002018-06-05 14:00:41 -07007 g++ \
8 gcc \
John Andersen6c601f02017-06-29 15:23:27 -07009 git \
10 libssl-dev \
John Andersen6c601f02017-06-29 15:23:27 -070011 libtool \
Tony Y14a24002018-06-05 14:00:41 -070012 m4 \
13 net-tools \
Bastiandf944572018-11-13 17:36:16 +010014 pkg-config \
15 wget
John Andersen6c601f02017-06-29 15:23:27 -070016
Tony Y14a24002018-06-05 14:00:41 -070017# OpenSSL
18ARG openssl_name=openssl-1.1.0h
19WORKDIR /tmp
Julien Hachenbergerdc0a8672018-10-23 17:03:57 +020020RUN wget --quiet --show-progress --progress=dot:giga https://www.openssl.org/source/$openssl_name.tar.gz \
21 && tar xvf $openssl_name.tar.gz \
22 && rm /tmp/$openssl_name.tar.gz
Tony Y14a24002018-06-05 14:00:41 -070023WORKDIR $openssl_name
Julien Hachenberger300b7d62018-10-23 17:13:35 +020024RUN ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl \
25 && make -j$(nproc) \
26 && make install \
27 && openssl version
John Andersen6c601f02017-06-29 15:23:27 -070028
Tony Y14a24002018-06-05 14:00:41 -070029# IBM's Software TPM 2.0
30ARG ibmtpm_name=ibmtpm1119
31WORKDIR /tmp
Julien Hachenbergerdc0a8672018-10-23 17:03:57 +020032RUN wget --quiet --show-progress --progress=dot:giga "https://downloads.sourceforge.net/project/ibmswtpm2/$ibmtpm_name.tar.gz" \
33 && sha256sum $ibmtpm_name.tar.gz | grep ^b9eef79904e276aeaed2a6b9e4021442ef4d7dfae4adde2473bef1a6a4cd10fb \
34 && mkdir -p $ibmtpm_name \
35 && tar xvf $ibmtpm_name.tar.gz -C $ibmtpm_name \
36 && rm $ibmtpm_name.tar.gz
Tony Y14a24002018-06-05 14:00:41 -070037WORKDIR $ibmtpm_name/src
Julien Hachenberger300b7d62018-10-23 17:13:35 +020038RUN CFLAGS="-I/usr/local/openssl/include" make -j$(nproc) \
39 && cp tpm_server /usr/local/bin
John Andersen80efcb42017-07-18 15:01:51 -070040
Tony Y14a24002018-06-05 14:00:41 -070041RUN apt-get install -y \
42 libcmocka0 \
43 libcmocka-dev \
44 libgcrypt20-dev \
45 libtool \
46 liburiparser-dev \
47 uthash-dev
John Andersene4591892017-07-19 10:13:30 -070048
Tony Y14a24002018-06-05 14:00:41 -070049# TPM2-TSS
50COPY . /tmp/tpm2-tss/
51WORKDIR /tmp/tpm2-tss
Julien Hachenberger300b7d62018-10-23 17:13:35 +020052RUN ./bootstrap \
53 && ./configure --enable-unit \
54 && make -j$(nproc) check \
55 && make install \
56 && ldconfig
Tony Y14a24002018-06-05 14:00:41 -070057ENV LD_LIBRARY_PATH /usr/local/lib
58RUN cat test-suite.log
59