@@ -22,19 +22,19 @@ Built-in ENGINE implementations
22
22
There are currently built-in ENGINE implementations for the following
23
23
crypto devices:
24
24
25
- * Microsoft CryptoAPI
26
- * VIA Padlock
27
- * nCipher CHIL
25
+ - Microsoft CryptoAPI
26
+ - VIA Padlock
27
+ - nCipher CHIL
28
28
29
29
In addition, dynamic binding to external ENGINE implementations is now
30
30
provided by a special ENGINE called "dynamic". See the "DYNAMIC ENGINE"
31
31
section below for details.
32
32
33
33
At this stage, a number of things are still needed and are being worked on:
34
34
35
- 1 . Integration of EVP support.
36
- 2 . Configuration support.
37
- 3 . Documentation!
35
+ 1 . Integration of EVP support.
36
+ 2 . Configuration support.
37
+ 3 . Documentation!
38
38
39
39
Integration of EVP support
40
40
--------------------------
@@ -87,17 +87,17 @@ devices from common OpenSSL-based applications. Bugs and/or inexplicable
87
87
behaviour in using a specific ENGINE implementation should be sent to the
88
88
author of that implementation (if it is mentioned in the corresponding C
89
89
file), and in the case of implementations for commercial hardware
90
- devices, also through whatever vendor support channels are available. If
90
+ devices, also through whatever vendor support channels are available. If
91
91
none of this is possible, or the problem seems to be something about the
92
92
ENGINE API itself (ie. not necessarily specific to a particular ENGINE
93
93
implementation) then you should mail complete details to the relevant
94
94
OpenSSL mailing list. For a definition of "complete details", refer to
95
95
the OpenSSL "README" file. As for which list to send it to:
96
96
97
- * openssl-users: if you are * using* the ENGINE abstraction, either in an
98
- pre-compiled application or in your own application code.
97
+ - openssl-users: if you are * using* the ENGINE abstraction, either in an
98
+ pre-compiled application or in your own application code.
99
99
100
- * openssl-dev: if you are discussing problems with OpenSSL source code.
100
+ - openssl-dev: if you are discussing problems with OpenSSL source code.
101
101
102
102
USAGE
103
103
=====
@@ -185,7 +185,7 @@ the shared-library ENGINE implementation. If this command succeeds, the
185
185
(copy of the) 'dynamic' ENGINE will magically morph into the ENGINE
186
186
that has been loaded from the shared-library. As such, any control
187
187
commands supported by the loaded ENGINE could then be executed as per
188
- normal. Eg. if ENGINE "foo" is implemented in the shared-library
188
+ normal. For instance, if ENGINE "foo" is implemented in the shared-library
189
189
"libfoo.so" and it supports some special control command "CMD_FOO", the
190
190
following code would load and use it (NB: obviously this code has no
191
191
error checking);
@@ -270,35 +270,36 @@ This example will show building the "atalla" ENGINE in the
270
270
crypto/engine/ directory as a shared-library for use via the "dynamic"
271
271
ENGINE.
272
272
273
- 1 . "cd" to the crypto/engine/ directory of a pre-compiled OpenSSL
274
- source tree.
273
+ 1 . "cd" to the crypto/engine/ directory of a pre-compiled OpenSSL
274
+ source tree.
275
275
276
- 2 . Recompile at least one source file so you can see all the compiler
277
- flags (and syntax) being used to build normally. Eg;
276
+ 2 . Recompile at least one source file so you can see all the compiler
277
+ flags (and syntax) being used to build normally. Eg;
278
278
279
- touch hw_atalla.c ; make
279
+ touch hw_atalla.c ; make
280
280
281
- will rebuild "hw_atalla.o" using all such flags.
281
+ will rebuild "hw_atalla.o" using all such flags.
282
282
283
- 3 . Manually enter the same compilation line to compile the
284
- "hw_atalla.c" file but with the following two changes;
285
- * add "-DENGINE_DYNAMIC_SUPPORT" to the command line switches,
286
- * change the output file from "hw_atalla.o" to something new,
287
- eg. "tmp_atalla.o"
283
+ 3 . Manually enter the same compilation line to compile the
284
+ "hw_atalla.c" file but with the following two changes;
288
285
289
- 4 . Link "tmp_atalla.o" into a shared-library using the top-level
290
- OpenSSL libraries to resolve any dependencies. The syntax for doing
291
- this depends heavily on your system/compiler and is a nightmare
292
- known well to anyone who has worked with shared-library portability
293
- before. 'gcc' on Linux, for example, would use the following syntax;
286
+ - add "-DENGINE_DYNAMIC_SUPPORT" to the command line switches,
287
+ - change the output file from "hw_atalla.o" to something new,
288
+ eg. "tmp_atalla.o"
294
289
295
- gcc -shared -o dyn_atalla.so tmp_atalla.o -L../.. -lcrypto
290
+ 4 . Link "tmp_atalla.o" into a shared-library using the top-level
291
+ OpenSSL libraries to resolve any dependencies. The syntax for doing
292
+ this depends heavily on your system/compiler and is a nightmare
293
+ known well to anyone who has worked with shared-library portability
294
+ before. 'gcc' on Linux, for example, would use the following syntax;
296
295
297
- 5 . Test your shared library using "openssl engine" as explained in the
298
- previous section. Eg. from the top-level directory, you might try
296
+ gcc -shared -o dyn_atalla.so tmp_atalla.o -L../.. -lcrypto
299
297
300
- apps/openssl engine -vvvv dynamic \
301
- -pre SO_PATH:./crypto/engine/dyn_atalla.so -pre LOAD
298
+ 5 . Test your shared library using "openssl engine" as explained in the
299
+ previous section. Eg. from the top-level directory, you might try
300
+
301
+ apps/openssl engine -vvvv dynamic \
302
+ -pre SO_PATH:./crypto/engine/dyn_atalla.so -pre LOAD
302
303
303
304
If the shared-library loads successfully, you will see both "-pre"
304
305
commands marked as "SUCCESS" and the list of control commands
@@ -314,4 +315,3 @@ It seems like the ENGINE part doesn't work too well with CryptoSwift on Win32.
314
315
A quick test done right before the release showed that trying "openssl speed
315
316
-engine cswift" generated errors. If the DSO gets enabled, an attempt is made
316
317
to write at memory address 0x00000002.
317
-
0 commit comments