prepare_sgxssl.sh 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #!/usr/bin/env bash
  2. #
  3. # Copyright (C) 2011-2018 Intel Corporation. All rights reserved.
  4. #
  5. # Redistribution and use in source and binary forms, with or without
  6. # modification, are permitted provided that the following conditions
  7. # are met:
  8. #
  9. # * Redistributions of source code must retain the above copyright
  10. # notice, this list of conditions and the following disclaimer.
  11. # * Redistributions in binary form must reproduce the above copyright
  12. # notice, this list of conditions and the following disclaimer in
  13. # the documentation and/or other materials provided with the
  14. # distribution.
  15. # * Neither the name of Intel Corporation nor the names of its
  16. # contributors may be used to endorse or promote products derived
  17. # from this software without specific prior written permission.
  18. #
  19. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  20. # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  21. # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  22. # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  23. # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  24. # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  25. # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  26. # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  27. # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  28. # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  29. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  30. #
  31. #
  32. top_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
  33. openssl_out_dir=$top_dir/openssl_source
  34. openssl_ver_name=openssl-1.1.0h
  35. sgxssl_github_archive=https://github.com/01org/intel-sgx-ssl/archive
  36. sgxssl_ver_name=v2.2
  37. sgxssl_ver=2.2
  38. build_script=$top_dir/Linux/build_openssl.sh
  39. server_url_path=https://www.openssl.org/source/
  40. full_openssl_url=$server_url_path/$openssl_ver_name.tar.gz
  41. full_openssl_url_old=$server_url_path/old/1.1.0/$openssl_ver_name.tar.gz
  42. sgxssl_chksum=e2ad431ef7ef1377d1d91266ac95e1dd2e83b2491e91bbb5460e8b043a169ab7
  43. openssl_chksum=5835626cde9e99656585fc7aaa2302a73a7e1340bf8c14fd635a62c66802a517
  44. if [ ! -f $build_script ]; then
  45. wget $sgxssl_github_archive/$sgxssl_ver_name.zip -P $top_dir || exit 1
  46. sha256sum $top_dir/$sgxssl_ver_name.zip > check_sum_sgxssl.txt
  47. grep $sgxssl_chksum check_sum_sgxssl.txt
  48. if [ $? -ne 0 ]; then
  49. echo "File $top_dir/$sgxssl_ver_name.zip checksum failure"
  50. rm -f $top_dir/$sgxssl_ver_name.zip check_sum_sgxssl.txt
  51. exit -1
  52. fi
  53. unzip -qq $top_dir/$sgxssl_ver_name.zip -d $top_dir || exit 1
  54. mv $top_dir/intel-sgx-ssl-$sgxssl_ver/* $top_dir || exit 1
  55. rm $top_dir/$sgxssl_ver_name.zip || exit 1
  56. rm -rf $top_dir/intel-sgx-ssl-$sgxssl_ver || exit 1
  57. fi
  58. if [ ! -f $openssl_out_dir/$openssl_ver_name.tar.gz ]; then
  59. wget $full_openssl_url_old -P $openssl_out_dir || wget $full_openssl_url -P $openssl_out_dir || exit 1
  60. sha256sum $openssl_out_dir/$openssl_ver_name.tar.gz > check_sum_openssl.txt
  61. grep $openssl_chksum check_sum_openssl.txt
  62. if [ $? -ne 0 ]; then
  63. echo "File $openssl_out_dir/$openssl_ver_name.tar.gz checksum failure"
  64. rm -f $openssl_out_dir/$openssl_ver_name.tar.gz check_sum_openssl.txt
  65. exit -1
  66. fi
  67. fi
  68. rm -f check_sum_sgxssl.txt check_sum_openssl.txt
  69. pushd $top_dir/Linux/
  70. make clean all LINUX_SGX_BUILD=1
  71. make clean all LINUX_SGX_BUILD=1 DEBUG=1
  72. popd