Skip to content

Commit 967eab4

Browse files
committed
Add guide to building s2n with openssl 1.1.0
closes aws#220
1 parent db987a5 commit 967eab4

File tree

1 file changed

+63
-36
lines changed

1 file changed

+63
-36
lines changed

docs/USAGE-GUIDE.md

+63-36
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,69 @@ To build s2n with an existing libcrypto installation, store its root folder in t
1717
LIBCRYPTO_ROOT=/usr/local/ssl make
1818
```
1919

20+
## Building s2n with OpenSSL-1.1.0
21+
22+
To build s2n with OpenSSL-1.1.0, do the following:
23+
24+
```shell
25+
# We keep the build artifacts in the -build directory
26+
cd libcrypto-build
27+
28+
# Download the latest version of OpenSSL
29+
curl -LO https://www.openssl.org/source/openssl-1.1.0-latest.tar.gz
30+
tar -xzvf openssl-1.1.0-latest.tar.gz
31+
32+
# Build openssl' libcrypto (NOTE: check directory name 1.1.0-latest unpacked as)
33+
cd openssl-1.1.0a
34+
./config -fPIC no-shared \
35+
no-md2 no-rc5 no-rfc3779 no-sctp no-ssl-trace no-zlib \
36+
no-hw no-mdc2 no-seed no-idea enable-ec_nistp_64_gcc_128 no-camellia\
37+
no-bf no-ripemd no-dsa no-ssl2 no-ssl3 no-capieng \
38+
-DSSL_FORBID_ENULL -DOPENSSL_NO_DTLS1 -DOPENSSL_NO_HEARTBEATS \
39+
--prefix=`pwd`/../../libcrypto-root/
40+
make
41+
make install
42+
43+
# Make to the main s2n directory
44+
cd ../../
45+
46+
# Build s2n
47+
make
48+
```
49+
50+
## Building s2n with OpenSSL-1.0.2
51+
52+
To build s2n with OpenSSL-1.0.2, do the following:
53+
54+
```shell
55+
# We keep the build artifacts in the -build directory
56+
cd libcrypto-build
57+
58+
# Download the latest version of OpenSSL
59+
curl -LO https://www.openssl.org/source/openssl-1.0.2-latest.tar.gz
60+
tar -xzvf openssl-1.0.2-latest.tar.gz
61+
62+
# Build openssl' libcrypto (NOTE: check directory name 1.0.2-latest unpacked as)
63+
cd openssl-1.0.2d
64+
./config -fPIC no-shared no-libunbound no-gmp no-jpake no-krb5 \
65+
no-md2 no-rc5 no-rfc3779 no-sctp no-ssl-trace no-store no-zlib \
66+
no-hw no-mdc2 no-seed no-idea enable-ec-nistp_64_gcc_128 no-camellia\
67+
no-bf no-ripemd no-dsa no-ssl2 no-ssl3 no-capieng \
68+
-DSSL_FORBID_ENULL -DOPENSSL_NO_DTLS1 -DOPENSSL_NO_HEARTBEATS \
69+
--prefix=`pwd`/../../libcrypto-root/
70+
make depend
71+
make
72+
make install
73+
74+
# Make to the main s2n directory
75+
cd ../../
76+
77+
# Build s2n
78+
make
79+
```
80+
81+
**Mac Users:** please replace "./config" with "./Configure darwin64-x86_64-cc".
82+
2083
## Building s2n with LibreSSL
2184

2285
To build s2n with LibreSSL, do the following:
@@ -77,42 +140,6 @@ make
77140
once built, static and dynamic libraries for s2n will be available in the lib/
78141
directory.
79142

80-
## Building s2n with OpenSSL-1.0.2
81-
82-
To build s2n with OpenSSL-1.0.2, do the following:
83-
84-
```shell
85-
# We keep the build artifacts in the -build directory
86-
cd libcrypto-build
87-
88-
# Download the latest version of OpenSSL
89-
curl -LO https://www.openssl.org/source/openssl-1.0.2-latest.tar.gz
90-
tar -xzvf openssl-1.0.2-latest.tar.gz
91-
92-
# Build openssl' libcrypto (NOTE: check directory name 1.0.2-latest unpacked as)
93-
cd openssl-1.0.2d
94-
./config -fPIC no-shared no-libunbound no-gmp no-jpake no-krb5 \
95-
no-md2 no-rc5 no-rfc3779 no-sctp no-ssl-trace no-store no-zlib \
96-
no-hw no-mdc2 no-seed no-idea enable-ec-nist_64_gcc_128 no-camellia\
97-
no-bf no-ripemd no-dsa no-ssl2 no-ssl3 no-capieng \
98-
-DSSL_FORBID_ENULL -DOPENSSL_NO_DTLS1 -DOPENSSL_NO_HEARTBEATS \
99-
--prefix=`pwd`/../../libcrypto-root/
100-
make depend
101-
make
102-
make install
103-
104-
# Make to the main s2n directory
105-
cd ../../
106-
107-
# Build s2n
108-
make
109-
```
110-
111-
**Mac Users:** please replace "./config" with "./Configure darwin64-x86_64-cc".
112-
113-
once built, static and dynamic libraries for s2n will be available in the lib/
114-
directory.
115-
116143
## mlock() and system limits
117144

118145
Internally s2n uses mlock() to prevent memory from being swapped to disk. The

0 commit comments

Comments
 (0)