__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/* ssl/kssl.h */
/*
* Written by Vern Staats <staatsvr@asc.hpc.mil> for the OpenSSL project
* 2000. project 2000.
*/
/* ====================================================================
* Copyright (c) 2000 The OpenSSL Project. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. 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.
*
* 3. All advertising materials mentioning features or use of this
* software must display the following acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
*
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For written permission, please contact
* licensing@OpenSSL.org.
*
* 5. Products derived from this software may not be called "OpenSSL"
* nor may "OpenSSL" appear in their names without prior written
* permission of the OpenSSL Project.
*
* 6. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by the OpenSSL Project
* for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
*
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
* EXPRESSED 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 OpenSSL PROJECT OR
* ITS 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.
* ====================================================================
*
* This product includes cryptographic software written by Eric Young
* (eay@cryptsoft.com). This product includes software written by Tim
* Hudson (tjh@cryptsoft.com).
*
*/
/*
** 19990701 VRS Started.
*/
#ifndef KSSL_H
# define KSSL_H
# include <openssl/opensslconf.h>
# ifndef OPENSSL_NO_KRB5
# include <stdio.h>
# include <ctype.h>
# include <krb5.h>
# ifdef OPENSSL_SYS_WIN32
/*
* These can sometimes get redefined indirectly by krb5 header files after
* they get undefed in ossl_typ.h
*/
# undef X509_NAME
# undef X509_EXTENSIONS
# undef OCSP_REQUEST
# undef OCSP_RESPONSE
# endif
#ifdef __cplusplus
extern "C" {
#endif
/*
* Depending on which KRB5 implementation used, some types from
* the other may be missing. Resolve that here and now
*/
# ifdef KRB5_HEIMDAL
typedef unsigned char krb5_octet;
# define FAR
# else
# ifndef FAR
# define FAR
# endif
# endif
/*-
* Uncomment this to debug kssl problems or
* to trace usage of the Kerberos session key
*
* #define KSSL_DEBUG
*/
# ifndef KRB5SVC
# define KRB5SVC "host"
# endif
# ifndef KRB5KEYTAB
# define KRB5KEYTAB "/etc/krb5.keytab"
# endif
# ifndef KRB5SENDAUTH
# define KRB5SENDAUTH 1
# endif
# ifndef KRB5CHECKAUTH
# define KRB5CHECKAUTH 1
# endif
# ifndef KSSL_CLOCKSKEW
# define KSSL_CLOCKSKEW 300;
# endif
# define KSSL_ERR_MAX 255
typedef struct kssl_err_st {
int reason;
char text[KSSL_ERR_MAX + 1];
} KSSL_ERR;
/*- Context for passing
* (1) Kerberos session key to SSL, and
* (2) Config data between application and SSL lib
*/
typedef struct kssl_ctx_st {
/* used by: disposition: */
char *service_name; /* C,S default ok (kssl) */
char *service_host; /* C input, REQUIRED */
char *client_princ; /* S output from krb5 ticket */
char *keytab_file; /* S NULL (/etc/krb5.keytab) */
char *cred_cache; /* C NULL (default) */
krb5_enctype enctype;
int length;
krb5_octet FAR *key;
} KSSL_CTX;
# define KSSL_CLIENT 1
# define KSSL_SERVER 2
# define KSSL_SERVICE 3
# define KSSL_KEYTAB 4
# define KSSL_CTX_OK 0
# define KSSL_CTX_ERR 1
# define KSSL_NOMEM 2
/* Public (for use by applications that use OpenSSL with Kerberos 5 support */
krb5_error_code kssl_ctx_setstring(KSSL_CTX *kssl_ctx, int which, char *text);
KSSL_CTX *kssl_ctx_new(void);
KSSL_CTX *kssl_ctx_free(KSSL_CTX *kssl_ctx);
void kssl_ctx_show(KSSL_CTX *kssl_ctx);
krb5_error_code kssl_ctx_setprinc(KSSL_CTX *kssl_ctx, int which,
krb5_data *realm, krb5_data *entity,
int nentities);
krb5_error_code kssl_cget_tkt(KSSL_CTX *kssl_ctx, krb5_data **enc_tktp,
krb5_data *authenp, KSSL_ERR *kssl_err);
krb5_error_code kssl_sget_tkt(KSSL_CTX *kssl_ctx, krb5_data *indata,
krb5_ticket_times *ttimes, KSSL_ERR *kssl_err);
krb5_error_code kssl_ctx_setkey(KSSL_CTX *kssl_ctx, krb5_keyblock *session);
void kssl_err_set(KSSL_ERR *kssl_err, int reason, char *text);
void kssl_krb5_free_data_contents(krb5_context context, krb5_data *data);
krb5_error_code kssl_build_principal_2(krb5_context context,
krb5_principal *princ, int rlen,
const char *realm, int slen,
const char *svc, int hlen,
const char *host);
krb5_error_code kssl_validate_times(krb5_timestamp atime,
krb5_ticket_times *ttimes);
krb5_error_code kssl_check_authent(KSSL_CTX *kssl_ctx, krb5_data *authentp,
krb5_timestamp *atimep,
KSSL_ERR *kssl_err);
unsigned char *kssl_skip_confound(krb5_enctype enctype, unsigned char *authn);
void SSL_set0_kssl_ctx(SSL *s, KSSL_CTX *kctx);
KSSL_CTX *SSL_get0_kssl_ctx(SSL *s);
char *kssl_ctx_get0_client_princ(KSSL_CTX *kctx);
#ifdef __cplusplus
}
#endif
# endif /* OPENSSL_NO_KRB5 */
#endif /* KSSL_H */
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| aes.h | File | 6 KB | 0644 |
|
| asn1.h | File | 61.72 KB | 0644 |
|
| asn1_mac.h | File | 23.86 KB | 0644 |
|
| asn1t.h | File | 33.67 KB | 0644 |
|
| bio.h | File | 37.83 KB | 0644 |
|
| blowfish.h | File | 5.23 KB | 0644 |
|
| bn.h | File | 38.24 KB | 0644 |
|
| buffer.h | File | 4.91 KB | 0644 |
|
| camellia.h | File | 5.43 KB | 0644 |
|
| cast.h | File | 4.55 KB | 0644 |
|
| cmac.h | File | 3.18 KB | 0644 |
|
| cms.h | File | 27.97 KB | 0644 |
|
| comp.h | File | 2.32 KB | 0644 |
|
| conf.h | File | 10.99 KB | 0644 |
|
| conf_api.h | File | 4.05 KB | 0644 |
|
| crypto.h | File | 27.23 KB | 0644 |
|
| des.h | File | 11.49 KB | 0644 |
|
| des_old.h | File | 20.98 KB | 0644 |
|
| dh.h | File | 15.9 KB | 0644 |
|
| dsa.h | File | 14.64 KB | 0644 |
|
| dso.h | File | 19.74 KB | 0644 |
|
| dtls1.h | File | 8.83 KB | 0644 |
|
| e_os2.h | File | 10.69 KB | 0644 |
|
| ebcdic.h | File | 616 B | 0644 |
|
| ec.h | File | 50.77 KB | 0644 |
|
| ecdh.h | File | 5.07 KB | 0644 |
|
| ecdsa.h | File | 13.71 KB | 0644 |
|
| engine.h | File | 43.89 KB | 0644 |
|
| err.h | File | 16.42 KB | 0644 |
|
| evp.h | File | 66.58 KB | 0644 |
|
| fips.h | File | 13.31 KB | 0644 |
|
| fips_rand.h | File | 7.16 KB | 0644 |
|
| hmac.h | File | 4.43 KB | 0644 |
|
| idea.h | File | 4.57 KB | 0644 |
|
| krb5_asn.h | File | 7.97 KB | 0644 |
|
| kssl.h | File | 6.69 KB | 0644 |
|
| lhash.h | File | 9.33 KB | 0644 |
|
| md2.h | File | 3.89 KB | 0644 |
|
| md4.h | File | 4.67 KB | 0644 |
|
| md5.h | File | 4.67 KB | 0644 |
|
| modes.h | File | 8.46 KB | 0644 |
|
| obj_mac.h | File | 171.54 KB | 0644 |
|
| objects.h | File | 46.45 KB | 0644 |
|
| ocsp.h | File | 26.51 KB | 0644 |
|
| opensslconf-x86_64.h | File | 7.6 KB | 0644 |
|
| opensslconf.h | File | 1.54 KB | 0644 |
|
| opensslv.h | File | 3.85 KB | 0644 |
|
| ossl_typ.h | File | 7.65 KB | 0644 |
|
| pem.h | File | 25.27 KB | 0644 |
|
| pem2.h | File | 2.79 KB | 0644 |
|
| pkcs12.h | File | 14.5 KB | 0644 |
|
| pkcs7.h | File | 20.29 KB | 0644 |
|
| pqueue.h | File | 3.59 KB | 0644 |
|
| rand.h | File | 6.73 KB | 0644 |
|
| rc2.h | File | 4.44 KB | 0644 |
|
| rc4.h | File | 3.72 KB | 0644 |
|
| rc5.h | File | 4.82 KB | 0644 |
|
| ripemd.h | File | 4.27 KB | 0644 |
|
| rsa.h | File | 29.68 KB | 0644 |
|
| safestack.h | File | 198.15 KB | 0644 |
|
| seed.h | File | 5.9 KB | 0644 |
|
| sha.h | File | 7.4 KB | 0644 |
|
| srtp.h | File | 6.48 KB | 0644 |
|
| ssl.h | File | 143.33 KB | 0644 |
|
| ssl2.h | File | 11.77 KB | 0644 |
|
| ssl23.h | File | 3.7 KB | 0644 |
|
| ssl3.h | File | 32.5 KB | 0644 |
|
| stack.h | File | 4.43 KB | 0644 |
|
| symhacks.h | File | 27.04 KB | 0644 |
|
| tls1.h | File | 38.48 KB | 0644 |
|
| ts.h | File | 33.75 KB | 0644 |
|
| txt_db.h | File | 4.52 KB | 0644 |
|
| ui.h | File | 18.25 KB | 0644 |
|
| ui_compat.h | File | 3.41 KB | 0644 |
|
| whrlpool.h | File | 1.06 KB | 0644 |
|
| x509.h | File | 52.07 KB | 0644 |
|
| x509_vfy.h | File | 28.55 KB | 0644 |
|
| x509v3.h | File | 39.44 KB | 0644 |
|