@@ -3,126 +3,120 @@ Virtuoso and OpenSSL
3
3
4
4
* Copyright (C) 1998-2019 OpenLink Software <
[email protected] >
*
5
5
6
- Virtuoso Open Source Edition uses the OpenSSL libraries for cryptographic operations as well as
7
- handling both client-side and server-side secure connections for both HTTPS as well as iSQL/ODBC
8
- transport layers.
6
+ Virtuoso Open Source Edition uses the OpenSSL libraries for cryptographic
7
+ operations as well as handling both client-side and server-side secure
8
+ connections for both HTTPS as well as iSQL/ODBC transport layers.
9
9
10
- Virtuoso can be compiled against OpenSSL 0.9.8i upto OpenSSL v1.0.2p which is the current
11
- Long Term Support (LTS) release of OpenSSL.
10
+ Virtuoso can be compiled against OpenSSL 0.9.8i up to OpenSSL v1.0.2p which
11
+ is the current Long Term Support (LTS) release of OpenSSL.
12
12
13
- The development team is currently working on enhancing the code to support OpenSSL v1.1.x but as
14
- this version uses a newer API that is incompatible with the previous versions this work is not yet
15
- completed.
13
+ The OpenSSL v1.1.x API is incompatible with previous versions. The Virtuoso
14
+ development team is currently working on enhancing the Virtuoso code to
15
+ support the new API, but this work is not yet completed.
16
16
17
- Many new Linux distributions are including OpenSSL v1.1.0 as their base version, although they
18
- also supply an OpenSSL v1.0.x development kit for backward compatibility.
17
+ Many new Linux distributions are including OpenSSL v1.1.0 as their base
18
+ version, although they typically also supply an OpenSSL v1.0.x development
19
+ kit for backward compatibility.
19
20
20
- Other operating systems like Mac OS X or Windows do not supply OpenSSL at all, but require third
21
- party ports in order to work .
21
+ Other operating systems like macOS and Windows do not supply OpenSSL at all,
22
+ but require third party ports for this support .
22
23
23
- During configure time Virtuoso will check the availability and version of the installed OpenSSL
24
- development headers and libraries on your system and will report any issues it finds.
24
+ During ` configure ` time, Virtuoso will check the availability and version of
25
+ the installed OpenSSL development headers and libraries on your system and
26
+ will report any issues it finds.
25
27
26
- Mac OS X
27
- --------
28
- As Apple is actively deprecating OpenSSL from Mac OS X, your system either has a pretty old version
29
- of openssl, and in case of High Sierra (10.13) Apple removed the required include files from the
30
- /usr/include/openssl directory completely.
28
+ macOS
29
+ -----
30
+ Apple is actively deprecating OpenSSL from macOS, so your system likely
31
+ has a pretty old version of ` openssl ` , and as of High Sierra (10.13),
32
+ Apple completely removed the required ` include ` files from the
33
+ ` /usr/include/openssl ` directory.
31
34
32
35
We recommend installing the OpenSSL 1.0.2 library using:
33
- ```
36
+
34
37
$ brew install openssl
35
- ```
36
38
37
- And at configure time you can use the following:
38
- ```
39
+ At configure time, you can then use the following:
40
+
39
41
$ sh ./configure \
40
- ..... \
41
42
..... \
42
43
--enable-openssl=/usr/local/opt/openssl/
43
- ```
44
-
45
- More information on porting VOS on Mac OS X can be found in [ README.MACOSX.md] ( README.MACOSX.md )
46
44
45
+ More information on porting VOS to macOS can be found in
46
+ [ ` README.MACOSX.md ` ] ( README.MACOSX.md ) .
47
47
48
48
Ubuntu 18.04 LTS
49
49
----------------
50
- Ubuntu installs both an OpenSSL v1.0.2 runtime as well as an OpenSSL v1.1.0 runtime in the form
51
- of shared libraries which are installed side-by-side on the system.
50
+ Ubuntu installs both an OpenSSL v1.0.2 runtime and an OpenSSL v1.1.0 runtime
51
+ in the form of shared libraries which are installed side-by-side on the system.
52
+
53
+ A developer can choose to install either the 1.0 or the 1.1 software
54
+ development kit (SDK) which includes the necessary header files and
55
+ development libraries.
52
56
53
- A developer can choose to install either the 1.0 or the 1.1 software development kit (SDK) which
54
- includes the necessary header files and development libraries .
57
+ To build VOS, you need to run the following command which will uninstall
58
+ the 1.1 SDK and replace it with the 1.0 SDK .
55
59
56
- For building VOS you need to run the following command which will uninstall the 1.1 SDK and
57
- replace it with the 1.0 SDK.
58
- ```
59
60
$ sudo apt-get install libssl1.0-dev
60
- ```
61
61
62
- Since Ubuntu installs runtime libraries for both versions of OpenSSL side-by-side, after compiling
63
- and installing VOS on your system, you can re-install the newer 1.1 SDK for compiling other programs
64
- by running:
65
- ```
66
- $ sudo apt-get install libssl-dev
67
- ```
62
+ Since Ubuntu installs runtime libraries for both versions of OpenSSL
63
+ side-by-side, after compiling and installing VOS on your system, you can
64
+ re-install the newer 1.1 SDK for compiling other programs by running:
68
65
66
+ $ sudo apt-get install libssl-dev
69
67
70
68
Debian 9
71
69
--------
72
70
Debian uses the same package names as Ubuntu:
73
- ```
71
+
74
72
$ sudo apt-get install libssl1.0-dev
75
- ```
76
73
77
74
And to switch back:
78
- ```
75
+
79
76
$ sudo apt-get install libssl-dev
80
- ```
81
77
82
78
Fedora 28
83
79
---------
84
80
Fedora 28 also has separate SDKs for both versions of OpenSSL.
85
81
86
82
To install the 1.0 SDK use:
87
- ```
83
+
88
84
$ sudo dnf install --allowerasing compat-openssl10-devel
89
- ```
90
85
91
86
To switch back to the 1.1 SDK use:
92
- ```
93
- $ sudo dnf install --allowerasign openssl-devel
94
- ```
95
87
88
+ $ sudo dnf install --allowerasign openssl-devel
96
89
97
90
Windows
98
91
-------
99
- The OpenSSL library needs to be built as a static library using Visual Studio.
100
- The detailed instructions for building OpenSSL can be found in the INSTALL.W32
101
- document in the OpenSSL source distribution.
92
+ The OpenSSL library needs to be built as a static library using Visual
93
+ Studio. Detailed instructions for building OpenSSL can be found in the
94
+ ` INSTALL.W32 ` document in the OpenSSL source distribution.
102
95
103
- ** IMPORTANT** : By default the OpenSSL library is built using MSVCRT compile flags,
104
- leading to conflicts when linking the Virtuoso Open-Source binaries. To resolve
105
- the conflicts, after unpacking the OpenSSL source tarball, you need to edit the
106
- /util/pl/VC-32.pl and change the " cflags" to use the " /MT" and "/MTd" compiler
107
- switches instead of the " /MD" and " /MDd" .
96
+ ** IMPORTANT** : By default the OpenSSL library is built using ` MSVCRT ` compile
97
+ flags, leading to conflicts when linking the Virtuoso Open-Source binaries.
98
+ To resolve the conflicts, after unpacking the OpenSSL source tarball, you
99
+ need to edit ` /util/pl/VC-32.pl ` , and change the ` cflags ` to use the ` /MT `
100
+ and ` /MTd ` compiler switches instead of the ` /MD ` and ` /MDd ` .
108
101
109
- Finally the libeay32.lib and ssleay32.lib from /out32 and files from /inc32/
110
- openssl must be copied to the <Virtuoso Open Source dir >/win32/openssl/
102
+ Finally, the ` libeay32.lib ` and ` ssleay32.lib ` from ` /out32 ` and files from
103
+ ` /inc32/ openssl` must be copied to ` <Virtuoso Open Source dir>/win32/openssl/ ` .
111
104
112
- More notes on porting Virtuoso on Windows can be found in [ README.WINDOWS] ( README.WINDOWS ) .
105
+ More notes on porting Virtuoso on Windows can be found in
106
+ [ ` README.WINDOWS ` ] ( README.WINDOWS ) .
113
107
114
108
115
109
Custom installation
116
110
-------------------
117
- If you have performed a custom build of OpenSSL on your own system and/or if OpenSSL is installed
118
- in a non-standard location, you can use the following flag during configure to point the build
119
- system to the location where your OpenSSL headers and libraries are installed:
120
- ```
111
+ If you have performed a custom build of OpenSSL on your own system, and/or
112
+ if OpenSSL is installed in a non-standard location, you can use the
113
+ ` --enable-openssl ` flag during ` configure ` to point the build system to the
114
+ location where your OpenSSL headers and libraries are installed:
115
+
121
116
$ sh ./configure \
122
- ..... \
123
117
..... \
124
118
--enable-openssl=/opt/openssl/
125
- ```
126
119
127
- The configure script will check /opt/openssl/include for the required header files and
128
- /opt/openssl/lib for the libraries, before any standard locations embedded in the compiler.
120
+ The ` configure ` script will also check ` /opt/openssl/include ` for the
121
+ required header files and ` /opt/openssl/lib ` for the libraries, before any
122
+ standard locations embedded in the compiler.
0 commit comments