JustPaste.it

cst-tool-3.3.1

#!/bin/bash
VERSION_CST=3.3.1
VERSION_OPENSSL=1_0_2
OS=($(uname -a))
OSTYPE=${OS[0],,}${OS[-2]: -2}
OSTYPE_OPENSSL=${OS[0],,}-${OS[-2]}
OPENSSL_PATH=${HOME}/openssl
SSL_PATH=${HOME}/ssl
CST_PATH=${HOME}/cst-${VERSION_CST}/code
CST_HSM_PATH=${CST_PATH}/back_end-hsm/src
tar xf cst-${VERSION_CST}.tgz -C ${HOME}
git clone https://github.com/openssl/openssl.git ${OPENSSL_PATH}
cd ${OPENSSL_PATH}
 git checkout OpenSSL_${VERSION_OPENSSL}
 ./Configure ${OSTYPE_OPENSSL} --prefix=${SSL_PATH}
 make
 make install
cd -
sed -i 's/no-idea/no-idea --prefix=$(HOME)/' ${CST_PATH}/cst/Makefile
sed -i '/make                          && \\/a\        make install                  && \\' ${CST_PATH}/cst/Makefile
cd ${CST_PATH}/cst/code
 sed -i '/OBJECTS += \\/a\    ssl_wrapper.o \\' front_end/src/objects.mk
 sed -i '/OBJECTS_FRONTEND += \\/a\    ssl_wrapper.o \\' front_end/src/objects.mk
 sed -i '/OBJECTS += \\/a\    pkey.o \\' front_end/src/objects.mk
 sed -i '/OBJECTS_FRONTEND += \\/a\    pkey.o \\' front_end/src/objects.mk
 sed -i '/OBJECTS += \\/a\    adapt_layer_openssl.o \\' front_end/src/objects.mk
 sed -i '/OBJECTS_FRONTEND += \\/a\    adapt_layer_openssl.o \\' front_end/src/objects.mk
 cp back_end/src/*.c front_end/src/
 cp back_end/hdr/*.h front_end/hdr/
cd -
cd ${CST_PATH}/cst
 make openssl OSTYPE=${OSTYPE} OPENSSL_PATH=${OPENSSL_PATH}
 make rel_bin OSTYPE=${OSTYPE} OPENSSL_PATH=${SSL_PATH}
 cp code/obj.${OSTYPE}/libfrontend.a ${CST_HSM_PATH}
cd -
cd ${CST_HSM_PATH}
 make ARCH=${OSTYPE: -2} OPENSSL_PATH=${SSL_PATH}
 make all ARCH=${OSTYPE: -2} OPENSSL_PATH=${SSL_PATH}
cd -