lua-resty-openssl
FFI-based OpenSSL binding for LuaJIT
$ opm get fffonion/lua-resty-openssl
lua-resty-openssl
FFI-based OpenSSL binding for LuaJIT, supporting OpenSSL 3.x, 1.1 series.
OpenSSL 1.1.0, 1.0.2 and BoringSSL support has been dropped, but are still available at the 0.x branch.
Description
lua-resty-openssl
is a FFI-based OpenSSL binding library, currently supports OpenSSL 3.x
and 1.1.1
series.
Status
Production.
Synopsis
This library is greatly inspired by luaossl, while uses the naming conversion closer to original OpenSSL API. For example, a function called X509_set_pubkey
in OpenSSL C API will expect to exist as resty.openssl.x509:set_pubkey
. CamelCases are replaced to underscore_cases, for exmaple X509_set_serialNumber
becomes resty.openssl.x509:set_serial_number
. Another difference than luaossl
is that errors are never thrown using error()
but instead return as last parameter.
Each Lua table returned by new()
contains a cdata object ctx
. User are not supposed to manully setting ffi.gc
or calling corresponding destructor of the ctx
struct (like *_free
functions).
Due to the size limit of OPM, the full documentation can be viewed at Github
Copyright and License
This module is licensed under the BSD license.
Copyright (C) 2019-2023, by fffonion <fffonion@gmail.com>.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
See Also
[NID]: https://github.com/openssl/openssl/blob/master/include/openssl/obj_mac.h [RFC 2246]: https://tools.ietf.org/html/rfc2246 [RFC 2898]: https://tools.ietf.org/html/rfc2898 [RFC 5246]: https://tools.ietf.org/html/rfc5246 [RFC 5869]: https://tools.ietf.org/html/rfc5869 [RFC 7914]: https://tools.ietf.org/html/rfc7914 [NIST SP 800-132]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf [NIST SP 800-135 r1]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-135r1.pdf
Authors
fffonion
License
3bsd
Dependencies
luajit
Versions
-
FFI-based OpenSSL binding for LuaJIT 2025-09-08 12:19:46
-
FFI-based OpenSSL binding for LuaJIT 2025-09-04 17:08:27
-
FFI-based OpenSSL binding for LuaJIT 2025-09-01 16:10:09
-
2025-09-01 16:09:37
-
FFI-based OpenSSL binding for LuaJIT 2025-02-26 09:51:16
-
FFI-based OpenSSL binding for LuaJIT 2024-07-23 04:05:39
-
FFI-based OpenSSL binding for LuaJIT 2024-05-28 05:47:01
-
FFI-based OpenSSL binding for LuaJIT 2024-04-23 07:47:19
-
FFI-based OpenSSL binding for LuaJIT 2024-04-15 05:58:05
-
FFI-based OpenSSL binding for LuaJIT 2023-12-28 06:56:17
-
FFI-based OpenSSL binding for LuaJIT 2023-11-22 07:44:35
-
FFI-based OpenSSL binding for LuaJIT 2023-11-07 08:06:23
-
FFI-based OpenSSL binding for LuaJIT 2023-11-03 07:42:45
-
fffonion/lua-resty-openssl 0.8.26FFI-based OpenSSL binding for LuaJIT 2023-10-31 06:31:55
-
fffonion/lua-resty-openssl 0.8.25FFI-based OpenSSL binding for LuaJIT 2023-09-05 07:21:23
-
fffonion/lua-resty-openssl 0.8.24FFI-based OpenSSL binding for LuaJIT 2023-08-07 08:27:12
-
fffonion/lua-resty-openssl 0.8.23FFI-based OpenSSL binding for LuaJIT 2023-06-20 06:13:46
-
fffonion/lua-resty-openssl 0.8.22FFI-based OpenSSL binding for LuaJIT 2023-04-26 10:30:15
-
fffonion/lua-resty-openssl 0.8.21FFI-based OpenSSL binding for LuaJIT 2023-03-24 08:12:46
-
fffonion/lua-resty-openssl 0.8.20FFI-based OpenSSL binding for LuaJIT 2023-03-10 14:50:37
-
fffonion/lua-resty-openssl 0.8.18FFI-based OpenSSL binding for LuaJIT 2023-03-06 09:20:26
-
fffonion/lua-resty-openssl 0.8.16FFI-based OpenSSL binding for LuaJIT 2023-03-06 09:20:04
-
2023-03-03 18:09:02
-
2022-12-23 09:52:04
-
fffonion/lua-resty-openssl 0.8.15FFI-based OpenSSL binding for LuaJIT 2022-10-28 04:19:04
-
fffonion/lua-resty-openssl 0.8.14FFI-based OpenSSL binding for LuaJIT 2022-10-21 07:45:33
-
fffonion/lua-resty-openssl 0.8.13FFI-based OpenSSL binding for LuaJIT 2022-10-14 08:39:11
-
fffonion/lua-resty-openssl 0.8.11FFI-based OpenSSL binding for LuaJIT 2022-10-12 11:05:20
-
fffonion/lua-resty-openssl 0.8.10FFI-based OpenSSL binding for LuaJIT 2022-06-24 04:25:51
-
FFI-based OpenSSL binding for LuaJIT 2022-04-14 11:05:49
-
FFI-based OpenSSL binding for LuaJIT 2022-03-18 01:34:00
-
FFI-based OpenSSL binding for LuaJIT 2022-03-15 18:59:13
-
FFI-based OpenSSL binding for LuaJIT 2022-02-02 11:47:25
-
FFI-based OpenSSL binding for LuaJIT 2021-12-20 11:33:42
-
FFI-based OpenSSL binding for LuaJIT 2021-12-16 15:07:30
-
FFI-based OpenSSL binding for LuaJIT 2021-11-22 05:48:36
-
2021-11-22 04:21:27
-
FFI-based OpenSSL binding for LuaJIT 2021-11-04 16:05:51
-
FFI-based OpenSSL binding for LuaJIT 2021-10-29 15:35:04
-
2021-10-29 15:34:09
-
FFI-based OpenSSL binding for LuaJIT 2021-09-27 10:18:19
-
2021-09-27 09:30:16
-
2021-09-17 22:16:53
-
FFI-based OpenSSL binding for LuaJIT 2021-08-02 09:59:15
-
FFI-based OpenSSL binding for LuaJIT 2021-06-29 08:40:27
-
FFI-based OpenSSL binding for LuaJIT 2021-03-24 19:01:42
-
FFI-based OpenSSL binding for LuaJIT 2021-03-18 11:35:09
-
FFI-based OpenSSL binding for LuaJIT 2021-02-19 11:24:29
-
fffonion/lua-resty-openssl 0.6.10FFI-based OpenSSL binding for LuaJIT 2021-01-12 15:18:28
-
FFI-based OpenSSL binding for LuaJIT 2020-11-09 15:42:09
-
FFI-based OpenSSL binding for LuaJIT 2020-10-15 11:55:20
-
FFI-based OpenSSL binding for LuaJIT 2020-10-08 14:22:24
-
FFI-based OpenSSL binding for LuaJIT 2020-09-29 14:40:23
-
FFI-based OpenSSL binding for LuaJIT 2020-09-25 08:20:24
-
2020-08-10 15:47:38
-
2020-05-13 14:51:25
-
2020-05-12 15:37:11
-
FFI-based OpenSSL binding for LuaJIT 2020-03-11 05:28:33
-
2020-02-26 21:40:57
-
2020-02-22 10:03:08
-
FFI-based OpenSSL binding for LuaJIT 2020-02-17 12:16:50
-
2020-02-17 06:53:07
-
2020-02-10 03:29:57
-
2020-02-10 03:22:06
-
2020-02-10 03:20:20
-
2020-02-09 06:21:42
-
2020-02-04 08:54:15
-
2020-02-04 08:42:23
-
FFI-based OpenSSL binding for LuaJIT 2020-02-03 07:56:01
-
FFI-based OpenSSL binding for LuaJIT 2020-01-15 10:16:57
-
FFI-based OpenSSL binding for LuaJIT 2019-12-24 22:01:41
-
FFI-based OpenSSL binding for LuaJIT 2019-12-21 00:25:48
-
FFI-based OpenSSL binding for LuaJIT 2019-12-12 08:00:56
-
FFI-based OpenSSL binding for LuaJIT 2019-10-22 20:39:09
-
FFI-based OpenSSL binding for LuaJIT 2019-10-18 18:49:34
-
FFI-based OpenSSL binding for LuaJIT 2019-09-25 23:40:33