usr
/
include
/
openssl
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
aes.h
3.27 KB
Rename
Delete
asn1.h
32.84 KB
Rename
Delete
asn1_mac.h
395 bytes
Rename
Delete
asn1err.h
14.34 KB
Rename
Delete
asn1t.h
32.17 KB
Rename
Delete
async.h
2.34 KB
Rename
Delete
asyncerr.h
1.29 KB
Rename
Delete
bio.h
34.09 KB
Rename
Delete
bioerr.h
6.25 KB
Rename
Delete
blowfish.h
1.80 KB
Rename
Delete
bn.h
21.62 KB
Rename
Delete
bnerr.h
4.85 KB
Rename
Delete
buffer.h
1.56 KB
Rename
Delete
buffererr.h
820 bytes
Rename
Delete
camellia.h
3.10 KB
Rename
Delete
cast.h
1.63 KB
Rename
Delete
cmac.h
1.04 KB
Rename
Delete
cms.h
16.00 KB
Rename
Delete
cmserr.h
10.90 KB
Rename
Delete
comp.h
1.30 KB
Rename
Delete
comperr.h
1.18 KB
Rename
Delete
conf.h
5.47 KB
Rename
Delete
conf_api.h
1.27 KB
Rename
Delete
conferr.h
3.35 KB
Rename
Delete
crypto.h
16.93 KB
Rename
Delete
cryptoerr.h
2.21 KB
Rename
Delete
ct.h
15.50 KB
Rename
Delete
cterr.h
3.39 KB
Rename
Delete
des.h
7.45 KB
Rename
Delete
dh.h
13.42 KB
Rename
Delete
dherr.h
4.31 KB
Rename
Delete
dsa.h
9.87 KB
Rename
Delete
dsaerr.h
3.27 KB
Rename
Delete
dtls1.h
1.54 KB
Rename
Delete
e_os2.h
8.68 KB
Rename
Delete
ebcdic.h
924 bytes
Rename
Delete
ec.h
62.17 KB
Rename
Delete
ecdh.h
358 bytes
Rename
Delete
ecdsa.h
358 bytes
Rename
Delete
ecerr.h
16.25 KB
Rename
Delete
engine.h
33.85 KB
Rename
Delete
engineerr.h
5.32 KB
Rename
Delete
err.h
11.00 KB
Rename
Delete
evp.h
75.13 KB
Rename
Delete
evperr.h
11.79 KB
Rename
Delete
fips.h
9.74 KB
Rename
Delete
fips_rand.h
7.00 KB
Rename
Delete
hmac.h
1.55 KB
Rename
Delete
idea.h
2.05 KB
Rename
Delete
kdf.h
7.39 KB
Rename
Delete
kdferr.h
4.68 KB
Rename
Delete
lhash.h
9.05 KB
Rename
Delete
md2.h
1.03 KB
Rename
Delete
md4.h
1.29 KB
Rename
Delete
md5.h
1.29 KB
Rename
Delete
mdc2.h
1.03 KB
Rename
Delete
modes.h
10.23 KB
Rename
Delete
obj_mac.h
213.37 KB
Rename
Delete
objects.h
6.48 KB
Rename
Delete
objectserr.h
1.29 KB
Rename
Delete
ocsp.h
14.95 KB
Rename
Delete
ocsperr.h
3.28 KB
Rename
Delete
opensslconf-x86_64.h
4.78 KB
Rename
Delete
opensslconf.h
1.54 KB
Rename
Delete
opensslv.h
4.01 KB
Rename
Delete
ossl_typ.h
6.16 KB
Rename
Delete
pem.h
15.11 KB
Rename
Delete
pem2.h
415 bytes
Rename
Delete
pemerr.h
5.10 KB
Rename
Delete
pkcs12.h
9.64 KB
Rename
Delete
pkcs12err.h
3.66 KB
Rename
Delete
pkcs7.h
11.32 KB
Rename
Delete
pkcs7err.h
4.99 KB
Rename
Delete
rand.h
2.30 KB
Rename
Delete
rand_drbg.h
4.65 KB
Rename
Delete
randerr.h
4.58 KB
Rename
Delete
rc2.h
1.50 KB
Rename
Delete
rc4.h
825 bytes
Rename
Delete
rc5.h
1.94 KB
Rename
Delete
ripemd.h
1.21 KB
Rename
Delete
rsa.h
21.82 KB
Rename
Delete
rsaerr.h
9.59 KB
Rename
Delete
safestack.h
7.95 KB
Rename
Delete
seed.h
3.40 KB
Rename
Delete
sha.h
3.74 KB
Rename
Delete
srp.h
3.74 KB
Rename
Delete
srtp.h
1.29 KB
Rename
Delete
ssl.h
108.55 KB
Rename
Delete
ssl2.h
542 bytes
Rename
Delete
ssl3.h
14.36 KB
Rename
Delete
sslerr.h
45.58 KB
Rename
Delete
stack.h
3.02 KB
Rename
Delete
store.h
10.94 KB
Rename
Delete
storeerr.h
4.30 KB
Rename
Delete
symhacks.h
1.28 KB
Rename
Delete
tls1.h
70.79 KB
Rename
Delete
ts.h
21.90 KB
Rename
Delete
tserr.h
6.59 KB
Rename
Delete
txt_db.h
1.63 KB
Rename
Delete
ui.h
15.68 KB
Rename
Delete
uierr.h
2.67 KB
Rename
Delete
whrlpool.h
1.34 KB
Rename
Delete
x509.h
42.31 KB
Rename
Delete
x509_vfy.h
31.69 KB
Rename
Delete
x509err.h
6.64 KB
Rename
Delete
x509v3.h
32.66 KB
Rename
Delete
x509v3err.h
8.57 KB
Rename
Delete
/* * Copyright 2016-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ #ifndef HEADER_OSSL_STORE_H # define HEADER_OSSL_STORE_H # include <stdarg.h> # include <openssl/ossl_typ.h> # include <openssl/pem.h> # include <openssl/storeerr.h> # ifdef __cplusplus extern "C" { # endif /*- * The main OSSL_STORE functions. * ------------------------------ * * These allow applications to open a channel to a resource with supported * data (keys, certs, crls, ...), read the data a piece at a time and decide * what to do with it, and finally close. */ typedef struct ossl_store_ctx_st OSSL_STORE_CTX; /* * Typedef for the OSSL_STORE_INFO post processing callback. This can be used * to massage the given OSSL_STORE_INFO, or to drop it entirely (by returning * NULL). */ typedef OSSL_STORE_INFO *(*OSSL_STORE_post_process_info_fn)(OSSL_STORE_INFO *, void *); /* * Open a channel given a URI. The given UI method will be used any time the * loader needs extra input, for example when a password or pin is needed, and * will be passed the same user data every time it's needed in this context. * * Returns a context reference which represents the channel to communicate * through. */ OSSL_STORE_CTX *OSSL_STORE_open(const char *uri, const UI_METHOD *ui_method, void *ui_data, OSSL_STORE_post_process_info_fn post_process, void *post_process_data); /* * Control / fine tune the OSSL_STORE channel. |cmd| determines what is to be * done, and depends on the underlying loader (use OSSL_STORE_get0_scheme to * determine which loader is used), except for common commands (see below). * Each command takes different arguments. */ int OSSL_STORE_ctrl(OSSL_STORE_CTX *ctx, int cmd, ... /* args */); int OSSL_STORE_vctrl(OSSL_STORE_CTX *ctx, int cmd, va_list args); /* * Common ctrl commands that different loaders may choose to support. */ /* int on = 0 or 1; STORE_ctrl(ctx, STORE_C_USE_SECMEM, &on); */ # define OSSL_STORE_C_USE_SECMEM 1 /* Where custom commands start */ # define OSSL_STORE_C_CUSTOM_START 100 /* * Read one data item (a key, a cert, a CRL) that is supported by the OSSL_STORE * functionality, given a context. * Returns a OSSL_STORE_INFO pointer, from which OpenSSL typed data can be * extracted with OSSL_STORE_INFO_get0_PKEY(), OSSL_STORE_INFO_get0_CERT(), ... * NULL is returned on error, which may include that the data found at the URI * can't be figured out for certain or is ambiguous. */ OSSL_STORE_INFO *OSSL_STORE_load(OSSL_STORE_CTX *ctx); /* * Check if end of data (end of file) is reached * Returns 1 on end, 0 otherwise. */ int OSSL_STORE_eof(OSSL_STORE_CTX *ctx); /* * Check if an error occurred * Returns 1 if it did, 0 otherwise. */ int OSSL_STORE_error(OSSL_STORE_CTX *ctx); /* * Close the channel * Returns 1 on success, 0 on error. */ int OSSL_STORE_close(OSSL_STORE_CTX *ctx); /*- * Extracting OpenSSL types from and creating new OSSL_STORE_INFOs * --------------------------------------------------------------- */ /* * Types of data that can be ossl_stored in a OSSL_STORE_INFO. * OSSL_STORE_INFO_NAME is typically found when getting a listing of * available "files" / "tokens" / what have you. */ # define OSSL_STORE_INFO_NAME 1 /* char * */ # define OSSL_STORE_INFO_PARAMS 2 /* EVP_PKEY * */ # define OSSL_STORE_INFO_PKEY 3 /* EVP_PKEY * */ # define OSSL_STORE_INFO_CERT 4 /* X509 * */ # define OSSL_STORE_INFO_CRL 5 /* X509_CRL * */ /* * Functions to generate OSSL_STORE_INFOs, one function for each type we * support having in them, as well as a generic constructor. * * In all cases, ownership of the object is transferred to the OSSL_STORE_INFO * and will therefore be freed when the OSSL_STORE_INFO is freed. */ OSSL_STORE_INFO *OSSL_STORE_INFO_new_NAME(char *name); int OSSL_STORE_INFO_set0_NAME_description(OSSL_STORE_INFO *info, char *desc); OSSL_STORE_INFO *OSSL_STORE_INFO_new_PARAMS(EVP_PKEY *params); OSSL_STORE_INFO *OSSL_STORE_INFO_new_PKEY(EVP_PKEY *pkey); OSSL_STORE_INFO *OSSL_STORE_INFO_new_CERT(X509 *x509); OSSL_STORE_INFO *OSSL_STORE_INFO_new_CRL(X509_CRL *crl); /* * Functions to try to extract data from a OSSL_STORE_INFO. */ int OSSL_STORE_INFO_get_type(const OSSL_STORE_INFO *info); const char *OSSL_STORE_INFO_get0_NAME(const OSSL_STORE_INFO *info); char *OSSL_STORE_INFO_get1_NAME(const OSSL_STORE_INFO *info); const char *OSSL_STORE_INFO_get0_NAME_description(const OSSL_STORE_INFO *info); char *OSSL_STORE_INFO_get1_NAME_description(const OSSL_STORE_INFO *info); EVP_PKEY *OSSL_STORE_INFO_get0_PARAMS(const OSSL_STORE_INFO *info); EVP_PKEY *OSSL_STORE_INFO_get1_PARAMS(const OSSL_STORE_INFO *info); EVP_PKEY *OSSL_STORE_INFO_get0_PKEY(const OSSL_STORE_INFO *info); EVP_PKEY *OSSL_STORE_INFO_get1_PKEY(const OSSL_STORE_INFO *info); X509 *OSSL_STORE_INFO_get0_CERT(const OSSL_STORE_INFO *info); X509 *OSSL_STORE_INFO_get1_CERT(const OSSL_STORE_INFO *info); X509_CRL *OSSL_STORE_INFO_get0_CRL(const OSSL_STORE_INFO *info); X509_CRL *OSSL_STORE_INFO_get1_CRL(const OSSL_STORE_INFO *info); const char *OSSL_STORE_INFO_type_string(int type); /* * Free the OSSL_STORE_INFO */ void OSSL_STORE_INFO_free(OSSL_STORE_INFO *info); /*- * Functions to construct a search URI from a base URI and search criteria * ----------------------------------------------------------------------- */ /* OSSL_STORE search types */ # define OSSL_STORE_SEARCH_BY_NAME 1 /* subject in certs, issuer in CRLs */ # define OSSL_STORE_SEARCH_BY_ISSUER_SERIAL 2 # define OSSL_STORE_SEARCH_BY_KEY_FINGERPRINT 3 # define OSSL_STORE_SEARCH_BY_ALIAS 4 /* To check what search types the scheme handler supports */ int OSSL_STORE_supports_search(OSSL_STORE_CTX *ctx, int search_type); /* Search term constructors */ /* * The input is considered to be owned by the caller, and must therefore * remain present throughout the lifetime of the returned OSSL_STORE_SEARCH */ OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_name(X509_NAME *name); OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_issuer_serial(X509_NAME *name, const ASN1_INTEGER *serial); OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_key_fingerprint(const EVP_MD *digest, const unsigned char *bytes, size_t len); OSSL_STORE_SEARCH *OSSL_STORE_SEARCH_by_alias(const char *alias); /* Search term destructor */ void OSSL_STORE_SEARCH_free(OSSL_STORE_SEARCH *search); /* Search term accessors */ int OSSL_STORE_SEARCH_get_type(const OSSL_STORE_SEARCH *criterion); X509_NAME *OSSL_STORE_SEARCH_get0_name(OSSL_STORE_SEARCH *criterion); const ASN1_INTEGER *OSSL_STORE_SEARCH_get0_serial(const OSSL_STORE_SEARCH *criterion); const unsigned char *OSSL_STORE_SEARCH_get0_bytes(const OSSL_STORE_SEARCH *criterion, size_t *length); const char *OSSL_STORE_SEARCH_get0_string(const OSSL_STORE_SEARCH *criterion); const EVP_MD *OSSL_STORE_SEARCH_get0_digest(const OSSL_STORE_SEARCH *criterion); /* * Add search criterion and expected return type (which can be unspecified) * to the loading channel. This MUST happen before the first OSSL_STORE_load(). */ int OSSL_STORE_expect(OSSL_STORE_CTX *ctx, int expected_type); int OSSL_STORE_find(OSSL_STORE_CTX *ctx, OSSL_STORE_SEARCH *search); /*- * Function to register a loader for the given URI scheme. * ------------------------------------------------------- * * The loader receives all the main components of an URI except for the * scheme. */ typedef struct ossl_store_loader_st OSSL_STORE_LOADER; OSSL_STORE_LOADER *OSSL_STORE_LOADER_new(ENGINE *e, const char *scheme); const ENGINE *OSSL_STORE_LOADER_get0_engine(const OSSL_STORE_LOADER *loader); const char *OSSL_STORE_LOADER_get0_scheme(const OSSL_STORE_LOADER *loader); /* struct ossl_store_loader_ctx_st is defined differently by each loader */ typedef struct ossl_store_loader_ctx_st OSSL_STORE_LOADER_CTX; typedef OSSL_STORE_LOADER_CTX *(*OSSL_STORE_open_fn)(const OSSL_STORE_LOADER *loader, const char *uri, const UI_METHOD *ui_method, void *ui_data); int OSSL_STORE_LOADER_set_open(OSSL_STORE_LOADER *loader, OSSL_STORE_open_fn open_function); typedef int (*OSSL_STORE_ctrl_fn)(OSSL_STORE_LOADER_CTX *ctx, int cmd, va_list args); int OSSL_STORE_LOADER_set_ctrl(OSSL_STORE_LOADER *loader, OSSL_STORE_ctrl_fn ctrl_function); typedef int (*OSSL_STORE_expect_fn)(OSSL_STORE_LOADER_CTX *ctx, int expected); int OSSL_STORE_LOADER_set_expect(OSSL_STORE_LOADER *loader, OSSL_STORE_expect_fn expect_function); typedef int (*OSSL_STORE_find_fn)(OSSL_STORE_LOADER_CTX *ctx, OSSL_STORE_SEARCH *criteria); int OSSL_STORE_LOADER_set_find(OSSL_STORE_LOADER *loader, OSSL_STORE_find_fn find_function); typedef OSSL_STORE_INFO *(*OSSL_STORE_load_fn)(OSSL_STORE_LOADER_CTX *ctx, const UI_METHOD *ui_method, void *ui_data); int OSSL_STORE_LOADER_set_load(OSSL_STORE_LOADER *loader, OSSL_STORE_load_fn load_function); typedef int (*OSSL_STORE_eof_fn)(OSSL_STORE_LOADER_CTX *ctx); int OSSL_STORE_LOADER_set_eof(OSSL_STORE_LOADER *loader, OSSL_STORE_eof_fn eof_function); typedef int (*OSSL_STORE_error_fn)(OSSL_STORE_LOADER_CTX *ctx); int OSSL_STORE_LOADER_set_error(OSSL_STORE_LOADER *loader, OSSL_STORE_error_fn error_function); typedef int (*OSSL_STORE_close_fn)(OSSL_STORE_LOADER_CTX *ctx); int OSSL_STORE_LOADER_set_close(OSSL_STORE_LOADER *loader, OSSL_STORE_close_fn close_function); void OSSL_STORE_LOADER_free(OSSL_STORE_LOADER *loader); int OSSL_STORE_register_loader(OSSL_STORE_LOADER *loader); OSSL_STORE_LOADER *OSSL_STORE_unregister_loader(const char *scheme); /*- * Functions to list STORE loaders * ------------------------------- */ int OSSL_STORE_do_all_loaders(void (*do_function) (const OSSL_STORE_LOADER *loader, void *do_arg), void *do_arg); # ifdef __cplusplus } # endif #endif
Save