summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/man/engine.3
diff options
context:
space:
mode:
authorjmc <>2016-11-06 15:52:50 +0000
committerjmc <>2016-11-06 15:52:50 +0000
commit9b30976af18b8a407761e020380b9ed595770866 (patch)
treed98f3cbf729ef563011a9ca161b7885314ef68d3 /src/lib/libcrypto/man/engine.3
parente91a5b9b0b9cb9b6adc699e59a9a6ed06a862192 (diff)
downloadopenbsd-9b30976af18b8a407761e020380b9ed595770866.tar.gz
openbsd-9b30976af18b8a407761e020380b9ed595770866.tar.bz2
openbsd-9b30976af18b8a407761e020380b9ed595770866.zip
first pass; ok schwarze
Diffstat (limited to 'src/lib/libcrypto/man/engine.3')
-rw-r--r--src/lib/libcrypto/man/engine.331
1 files changed, 17 insertions, 14 deletions
diff --git a/src/lib/libcrypto/man/engine.3 b/src/lib/libcrypto/man/engine.3
index 3624fa76e4..7ecc5f3bb2 100644
--- a/src/lib/libcrypto/man/engine.3
+++ b/src/lib/libcrypto/man/engine.3
@@ -1,4 +1,6 @@
1.Dd $Mdocdate: November 5 2016 $ 1.\" $OpenBSD: engine.3,v 1.2 2016/11/06 15:52:50 jmc Exp $
2.\"
3.Dd $Mdocdate: November 6 2016 $
2.Dt ENGINE 3 4.Dt ENGINE 3
3.Os 5.Os
4.Sh NAME 6.Sh NAME
@@ -511,7 +513,7 @@ Due to the modular nature of the
511.Nm engine 513.Nm engine
512API, pointers to 514API, pointers to
513.Vt ENGINE Ns s 515.Vt ENGINE Ns s
514need to be treated as handles - ie. not only as pointers, but also 516need to be treated as handles - i.e. not only as pointers, but also
515as references to the underlying 517as references to the underlying
516.Vt ENGINE 518.Vt ENGINE
517object. 519object.
@@ -527,8 +529,8 @@ At the most basic level, each
527pointer is inherently a 529pointer is inherently a
528.Sy structural 530.Sy structural
529reference - a structural reference is required to use the pointer value 531reference - a structural reference is required to use the pointer value
530at all, as this kind of reference is a guarantee that the structure can 532at all, as this kind of reference is a guarantee that the structure cannot
531not be deallocated until the reference is released. 533be deallocated until the reference is released.
532.Pp 534.Pp
533However, a structural reference provides no guarantee that the 535However, a structural reference provides no guarantee that the
534.Vt ENGINE 536.Vt ENGINE
@@ -653,7 +655,7 @@ function.
653This returns zero if the 655This returns zero if the
654.Vt ENGINE 656.Vt ENGINE
655was not already operational and couldn't be successfully initialised 657was not already operational and couldn't be successfully initialised
656(eg. lack of system drivers, no special hardware attached, etc.), 658(e.g. lack of system drivers, no special hardware attached),
657otherwise it will return non-zero to indicate that the 659otherwise it will return non-zero to indicate that the
658.Vt ENGINE 660.Vt ENGINE
659is now operational and will have allocated a new 661is now operational and will have allocated a new
@@ -665,7 +667,7 @@ All functional references are released by calling
665which removes the implicit structural reference as well. 667which removes the implicit structural reference as well.
666.Pp 668.Pp
667The second way to get a functional reference is by asking OpenSSL for a 669The second way to get a functional reference is by asking OpenSSL for a
668default implementation for a given task, eg. 670default implementation for a given task, e.g.
669by 671by
670.Fn ENGINE_get_default_RSA , 672.Fn ENGINE_get_default_RSA ,
671.Fn ENGINE_get_default_cipher_engine , 673.Fn ENGINE_get_default_cipher_engine ,
@@ -697,7 +699,7 @@ index.
697.Pp 699.Pp
698When a default 700When a default
699.Vt ENGINE 701.Vt ENGINE
700is requested for a given abstraction/algorithm/mode, (eg. when 702is requested for a given abstraction/algorithm/mode, (e.g. when
701calling 703calling
702.Fn RSA_new_method NULL ) , 704.Fn RSA_new_method NULL ) ,
703a "get_default" call will be made to the 705a "get_default" call will be made to the
@@ -781,7 +783,7 @@ code at all.
781So the first consideration is whether any/all available 783So the first consideration is whether any/all available
782.Vt ENGINE 784.Vt ENGINE
783implementations should be made visible to OpenSSL. 785implementations should be made visible to OpenSSL.
784This is controlled by calling the various "load" functions, eg. 786This is controlled by calling the various "load" functions, e.g.
785.Fn ENGINE_load_builtin_engines 787.Fn ENGINE_load_builtin_engines
786to make all 788to make all
787.Vt ENGINE 789.Vt ENGINE
@@ -836,7 +838,7 @@ they want used if any is to be used at all.
836Others may prefer to load all support and have OpenSSL automatically use 838Others may prefer to load all support and have OpenSSL automatically use
837at run-time any 839at run-time any
838.Vt ENGINE 840.Vt ENGINE
839that is able to successfully initialised - ie. to assume that this 841that is able to successfully initialised - i.e. to assume that this
840corresponds to acceleration hardware attached to the machine or 842corresponds to acceleration hardware attached to the machine or
841some such thing. 843some such thing.
842There are probably numerous other ways in which applications may prefer 844There are probably numerous other ways in which applications may prefer
@@ -942,11 +944,11 @@ nothing at all specific to the host system) so that it can be
942initialised for use. 944initialised for use.
943This could include the path to any driver or config files it needs to 945This could include the path to any driver or config files it needs to
944load, required network addresses, smart-card identifiers, passwords to 946load, required network addresses, smart-card identifiers, passwords to
945initialise protected devices, logging information, etc etc. 947initialise protected devices, logging information, etc.
946This class of commands typically needs to be passed to an 948This class of commands typically needs to be passed to an
947.Vt ENGINE 949.Vt ENGINE
948.Sy before 950.Sy before
949attempting to initialise it, ie. before calling 951attempting to initialise it, i.e. before calling
950.Fn ENGINE_init . 952.Fn ENGINE_init .
951The other class of commands consist of settings or operations that tweak 953The other class of commands consist of settings or operations that tweak
952certain behaviour or cause certain operations to take place, and these 954certain behaviour or cause certain operations to take place, and these
@@ -1049,7 +1051,7 @@ using a structural reference.
1049Note that some control commands are defined by OpenSSL itself and it 1051Note that some control commands are defined by OpenSSL itself and it
1050will intercept and handle these control commands on behalf of the 1052will intercept and handle these control commands on behalf of the
1051.Vt ENGINE , 1053.Vt ENGINE ,
1052ie. the 1054i.e. the
1053.Vt ENGINE Ap s 1055.Vt ENGINE Ap s
1054ctrl() handler is not used for the control command. 1056ctrl() handler is not used for the control command.
1055.In openssl/engine.h 1057.In openssl/engine.h
@@ -1160,7 +1162,7 @@ arbitrary type.
1160These commands are supported in the discovery mechanisms simply allow 1162These commands are supported in the discovery mechanisms simply allow
1161applications to determine if an 1163applications to determine if an
1162.Vt ENGINE 1164.Vt ENGINE
1163supports certain specific commands it might want to use (eg. 1165supports certain specific commands it might want to use (e.g.
1164application "foo" might query various 1166application "foo" might query various
1165.Vt ENGINE Ns s 1167.Vt ENGINE Ns s
1166to see if they implement "FOO_GET_VENDOR_LOGO_GIF" - and 1168to see if they implement "FOO_GET_VENDOR_LOGO_GIF" - and
@@ -1173,7 +1175,8 @@ The
1173API and internal architecture is currently being reviewed. 1175API and internal architecture is currently being reviewed.
1174Slated for possible release in 0.9.8 is support for transparent loading 1176Slated for possible release in 0.9.8 is support for transparent loading
1175of "dynamic" 1177of "dynamic"
1176.Vt ENGINE Ns s (built as self-contained shared libraries). 1178.Vt ENGINE Ns s
1179(built as self-contained shared libraries).
1177This would allow 1180This would allow
1178.Vt ENGINE 1181.Vt ENGINE
1179implementations to be provided independently of 1182implementations to be provided independently of