diff options
Diffstat (limited to 'server/resty/openssl/objects.lua')
-rw-r--r-- | server/resty/openssl/objects.lua | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/server/resty/openssl/objects.lua b/server/resty/openssl/objects.lua deleted file mode 100644 index bd02a38..0000000 --- a/server/resty/openssl/objects.lua +++ /dev/null @@ -1,74 +0,0 @@ -local ffi = require "ffi" -local C = ffi.C -local ffi_str = ffi.string -local ffi_sizeof = ffi.sizeof - -require "resty.openssl.include.objects" -require "resty.openssl.include.err" - -local buf = ffi.new('char[?]', 100) - -local function obj2table(obj) - local nid = C.OBJ_obj2nid(obj) - - local len = C.OBJ_obj2txt(buf, ffi_sizeof(buf), obj, 1) - local oid = ffi_str(buf, len) - - return { - id = oid, - nid = nid, - sn = ffi_str(C.OBJ_nid2sn(nid)), - ln = ffi_str(C.OBJ_nid2ln(nid)), - } -end - -local function nid2table(nid) - return obj2table(C.OBJ_nid2obj(nid)) -end - -local function txt2nid(txt) - if type(txt) ~= "string" then - return nil, "objects.txt2nid: expect a string at #1" - end - local nid = C.OBJ_txt2nid(txt) - if nid == 0 then - -- clean up error occurs during OBJ_txt2nid - C.ERR_clear_error() - return nil, "objects.txt2nid: invalid NID text " .. txt - end - return nid -end - -local function txtnid2nid(txt_nid) - local nid - if type(txt_nid) == "string" then - nid = C.OBJ_txt2nid(txt_nid) - if nid == 0 then - -- clean up error occurs during OBJ_txt2nid - C.ERR_clear_error() - return nil, "objects.txtnid2nid: invalid NID text " .. txt_nid - end - elseif type(txt_nid) == "number" then - nid = txt_nid - else - return nil, "objects.txtnid2nid: expect string or number at #1" - end - return nid -end - -local function find_sigid_algs(nid) - local out = ffi.new("int[0]") - if C.OBJ_find_sigid_algs(nid, out, nil) == 0 then - return 0, "objects.find_sigid_algs: invalid sigid " .. nid - end - return tonumber(out[0]) -end - -return { - obj2table = obj2table, - nid2table = nid2table, - txt2nid = txt2nid, - txtnid2nid = txtnid2nid, - find_sigid_algs = find_sigid_algs, - create = C.OBJ_create, -}
\ No newline at end of file |