mirror of
https://github.com/strongswan/strongswan.git
synced 2025-10-04 00:00:14 -04:00
Use a Debian-based Docker container to run the unit tests for charon-tkm, once without and once with TKM running. The container can also be used locally to run the tests (see comments in the Dockerfile).
60 lines
1.8 KiB
Docker
60 lines
1.8 KiB
Docker
# Container for TKM testing
|
|
#
|
|
# Build and usage (called from repository root):
|
|
#
|
|
# docker build -t strongswan-tkm -f testing/tkm/Dockerfile testing
|
|
#
|
|
# docker run -it --rm --cap-add net_admin -v $PWD:/strongswan strongswan-tkm
|
|
#
|
|
# In the container, this may be used to configure strongSwan with TKM support:
|
|
#
|
|
# /strongswan/configure --disable-defaults --enable-silent-rules --enable-ikev2 --enable-kernel-netlink --enable-openssl --enable-pem --enable-socket-default --enable-swanctl --enable-tkm
|
|
#
|
|
# The following script can be used to generate private key, CA cert and example
|
|
# config for TKM:
|
|
#
|
|
# /usr/local/share/tkm/generate-config.sh
|
|
#
|
|
# Run TKM in the background with:
|
|
#
|
|
# tkm_keymanager -c tkm.conf -k key.der -r ca.der:1 >/tmp/tkm.log &
|
|
#
|
|
# Then tests for charon-tkm can be run against TKM:
|
|
#
|
|
# make -j check TESTS_RUNNERS=tkm TESTS_TKM=1
|
|
|
|
FROM debian:bullseye
|
|
|
|
ARG packages="autoconf automake bison build-essential ca-certificates ccache \
|
|
flex gettext git gperf libssl-dev libtool pkg-config \
|
|
gnat gprbuild libahven9-dev libxmlada-schema10-dev libgmpada10-dev \
|
|
libalog6-dev"
|
|
|
|
RUN apt-get update && \
|
|
DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
|
|
--no-install-recommends \
|
|
$packages \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY scripts/recipes/*.mk /tmp/recipes/
|
|
|
|
RUN cd /tmp/recipes \
|
|
&& make -f 004_spark-crypto.mk \
|
|
&& make -f 005_anet.mk \
|
|
&& make -f 006_tkm-rpc.mk \
|
|
&& make -f 007_x509-ada.mk \
|
|
&& make -f 008_xfrm-ada.mk \
|
|
&& make -f 009_xfrm-proxy.mk \
|
|
&& make -f 010_tkm.mk \
|
|
&& rm -rf /tmp/recipes
|
|
|
|
ENV ADA_PROJECT_PATH /usr/local/ada/lib/gnat
|
|
ENV PATH /usr/lib/ccache:$PATH
|
|
|
|
COPY tkm/generate-config.sh /usr/local/share/tkm/
|
|
COPY tests/tkm/host2host-initiator/hosts/moon/etc/tkm/tkm.conf /usr/local/share/tkm/
|
|
|
|
WORKDIR /build
|
|
|
|
CMD [ "bash" ]
|