亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ssl.h

?? 一個不錯的關(guān)于手機(jī)模塊程序This page contains everything that has changed in the history of DC++. Read this to fin
?? H
字號:
/* ssl.h                                
 *
 * Copyright (C) 2003 Sawtooth Consulting Ltd.
 *
 * This file is part of yaSSL.
 *
 * yaSSL is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * yaSSL is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 */

/*  ssl.h defines openssl compatibility layer 
 *
 */



#ifndef ysSSL_openssl_h__
#define yaSSL_openssl_h__

#include <stdio.h>   /* ERR_print fp */
#include "rsa.h"

#if defined(__cplusplus) && !defined(YASSL_MYSQL_COMPATIBLE)
namespace yaSSL {
extern "C" {
#endif

#undef X509_NAME   /* wincrypt.h clash */

#if defined(__cplusplus) && !defined(YASSL_MYSQL_COMPATIBLE)
    class SSL;
    class SSL_SESSION;
    class SSL_METHOD;
    class SSL_CTX;
    class SSL_CIPHER;

    class RSA;

    class X509;
    class X509_NAME;
#else
    typedef struct SSL          SSL;          
    typedef struct SSL_SESSION  SSL_SESSION;
    typedef struct SSL_METHOD   SSL_METHOD;
    typedef struct SSL_CTX      SSL_CTX;
    typedef struct SSL_CIPHER   SSL_CIPHER;

    typedef struct RSA RSA;

    typedef struct X509       X509;
    typedef struct X509_NAME  X509_NAME;
#endif


/* Big Number stuff, different file? */
typedef struct BIGNUM BIGNUM;

BIGNUM *BN_bin2bn(const unsigned char*, int, BIGNUM*);


/* Diffie-Hellman stuff, different file? */
/* mySQL deferences to set group parameters */
typedef struct DH {
    BIGNUM* p;
    BIGNUM* g;
} DH;

DH*  DH_new(void);
void DH_free(DH*);

/* RSA stuff */

void RSA_free(RSA*);
RSA* RSA_generate_key(int, unsigned long, void(*)(int, int, void*), void*);


/* X509 stuff, different file? */

typedef struct X509_STORE         X509_STORE;
typedef struct X509_LOOKUP        X509_LOOKUP;
typedef struct X509_OBJECT { char c; } X509_OBJECT;
typedef struct X509_CRL           X509_CRL;
typedef struct X509_REVOKED       X509_REVOKED;
typedef struct X509_LOOKUP_METHOD X509_LOOKUP_METHOD;


void X509_free(X509*);


/* bio stuff */
typedef struct BIO BIO;

/* ASN stuff */
typedef struct ASN1_TIME ASN1_TIME;



/* because mySQL dereferences to use error and current_cert, even after calling
 * get functions for local references */
typedef struct X509_STORE_CTX {
    int   error;
    int   error_depth;
    X509* current_cert;
} X509_STORE_CTX;



X509* X509_STORE_CTX_get_current_cert(X509_STORE_CTX*);
int   X509_STORE_CTX_get_error(X509_STORE_CTX*);
int   X509_STORE_CTX_get_error_depth(X509_STORE_CTX*);

char*       X509_NAME_oneline(X509_NAME*, char*, int);
X509_NAME*  X509_get_issuer_name(X509*);
X509_NAME*  X509_get_subject_name(X509*);
const char* X509_verify_cert_error_string(long);

int                 X509_LOOKUP_add_dir(X509_LOOKUP*, const char*, long);
int                 X509_LOOKUP_load_file(X509_LOOKUP*, const char*, long);
X509_LOOKUP_METHOD* X509_LOOKUP_hash_dir(void);
X509_LOOKUP_METHOD* X509_LOOKUP_file(void);

X509_LOOKUP* X509_STORE_add_lookup(X509_STORE*, X509_LOOKUP_METHOD*);
X509_STORE*  X509_STORE_new(void);
int          X509_STORE_get_by_subject(X509_STORE_CTX*, int, X509_NAME*,
                                       X509_OBJECT*);




enum { /* X509 Constants */
    X509_V_OK                                 =  0,
    X509_V_ERR_CERT_CHAIN_TOO_LONG            =  1,
    X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT      =  2,
    X509_V_ERR_CERT_NOT_YET_VALID             =  3,
    X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD =  4,
    X509_V_ERR_CERT_HAS_EXPIRED               =  5,
    X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD  =  6,
    X509_FILETYPE_PEM                         =  7,
    X509_LU_X509                              =  8,
    X509_LU_CRL                               =  9,
    X509_V_ERR_CRL_SIGNATURE_FAILURE          = 10,
    X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD = 11,
    X509_V_ERR_CRL_HAS_EXPIRED                = 12,
    X509_V_ERR_CERT_REVOKED                   = 13

};


/* Error stuff, could move to yassl_error */
unsigned long ERR_get_error_line_data(const char**, int*, const char**, int *);
void          ERR_print_errors_fp(FILE*);
char*         ERR_error_string(unsigned long,char*);
void          ERR_remove_state(unsigned long);
unsigned long ERR_get_error(void);
unsigned long ERR_peek_error(void);
int           ERR_GET_REASON(int);


enum {  /* ERR Constants */
    ERR_TXT_STRING = 1,
    EVP_R_BAD_DECRYPT = 2
};



SSL_CTX* SSL_CTX_new(SSL_METHOD*);
SSL* SSL_new(SSL_CTX*);
int  SSL_set_fd (SSL*, int);
int  SSL_connect(SSL*);
int  SSL_write(SSL*, const void*, int);
int  SSL_read(SSL*, void*, int);
int  SSL_accept(SSL*);
void SSL_CTX_free(SSL_CTX*);
void SSL_free(SSL*);
int  SSL_clear(SSL*);
int  SSL_shutdown(SSL*);

void SSL_set_connect_state(SSL*);
void SSL_set_accept_state(SSL*);
int  SSL_do_handshake(SSL*);

const char* SSL_get_cipher(SSL*);
const char* SSL_get_cipher_name(SSL*);	           /* uses SSL_get_cipher */
char*       SSL_get_shared_ciphers(SSL*, char*, int);
const char* SSL_get_cipher_list(SSL*, int);
const char* SSL_get_version(SSL*);
const char* SSLeay_version(int);

int  SSL_get_error(SSL*, int);
void SSL_load_error_strings(void);

int          SSL_set_session(SSL *ssl, SSL_SESSION *session);
SSL_SESSION* SSL_get_session(SSL* ssl);
long         SSL_SESSION_set_timeout(SSL_SESSION*, long);
X509*        SSL_get_peer_certificate(SSL*);
long         SSL_get_verify_result(SSL*);


typedef int (*VerifyCallback)(int, X509_STORE_CTX*);
typedef int (*pem_password_cb)(char*, int, int, void*);

void SSL_CTX_set_verify(SSL_CTX*, int, VerifyCallback verify_callback);
int  SSL_CTX_load_verify_locations(SSL_CTX*, const char*, const char*);
int  SSL_CTX_set_default_verify_paths(SSL_CTX*);
int  SSL_CTX_check_private_key(SSL_CTX*);
int  SSL_CTX_set_session_id_context(SSL_CTX*, const unsigned char*,
                                    unsigned int);

void SSL_CTX_set_tmp_rsa_callback(SSL_CTX*, RSA*(*)(SSL*, int, int));
long SSL_CTX_set_options(SSL_CTX*, long);
long SSL_CTX_set_session_cache_mode(SSL_CTX*, long);
long SSL_CTX_set_timeout(SSL_CTX*, long);
int  SSL_CTX_use_certificate_chain_file(SSL_CTX*, const char*);
void SSL_CTX_set_default_passwd_cb(SSL_CTX*, pem_password_cb);
int  SSL_CTX_use_RSAPrivateKey_file(SSL_CTX*, const char*, int);
void SSL_CTX_set_info_callback(SSL_CTX*, void (*)());

long SSL_CTX_sess_accept(SSL_CTX*);
long SSL_CTX_sess_connect(SSL_CTX*);
long SSL_CTX_sess_accept_good(SSL_CTX*);
long SSL_CTX_sess_connect_good(SSL_CTX*);
long SSL_CTX_sess_accept_renegotiate(SSL_CTX*);
long SSL_CTX_sess_connect_renegotiate(SSL_CTX*);
long SSL_CTX_sess_hits(SSL_CTX*);
long SSL_CTX_sess_cb_hits(SSL_CTX*);
long SSL_CTX_sess_cache_full(SSL_CTX*);
long SSL_CTX_sess_misses(SSL_CTX*);
long SSL_CTX_sess_timeouts(SSL_CTX*);
long SSL_CTX_sess_number(SSL_CTX*);
long SSL_CTX_sess_get_cache_size(SSL_CTX*);

int SSL_CTX_get_verify_mode(SSL_CTX*);
int SSL_get_verify_mode(SSL*);
int SSL_CTX_get_verify_depth(SSL_CTX*);
int SSL_get_verify_depth(SSL*);

long SSL_get_default_timeout(SSL*);
long SSL_CTX_get_session_cache_mode(SSL_CTX*);
int  SSL_session_reused(SSL*);

int  SSL_set_rfd(SSL*, int);
int  SSL_set_wfd(SSL*, int);
void SSL_set_shutdown(SSL*, int);

int SSL_want_read(SSL*);
int SSL_want_write(SSL*);

int SSL_pending(SSL*);


enum { /* ssl Constants */
    SSL_BAD_STAT        = -7,
    SSL_BAD_PATH        = -6,
    SSL_BAD_FILETYPE    = -5,
    SSL_BAD_FILE        = -4,
    SSL_NOT_IMPLEMENTED = -3,
    SSL_UNKNOWN         = -2,
    SSL_FATAL_ERROR     = -1,
    SSL_NORMAL_SHUTDOWN =  0,
    SSL_ERROR_NONE      =  0,   /* for most functions */
    SSL_FAILURE         =  0,   /* for some functions */
    SSL_SUCCESS	        =  1,

    SSL_FILETYPE_ASN1    = 10,
    SSL_FILETYPE_PEM     = 11,
    SSL_FILETYPE_DEFAULT = 10, /* ASN1 */

    SSL_VERIFY_NONE                 = 0,
    SSL_VERIFY_PEER                 = 1,
    SSL_VERIFY_FAIL_IF_NO_PEER_CERT = 2,
    SSL_VERIFY_CLIENT_ONCE          = 4,

    SSL_SESS_CACHE_OFF                = 30,
    SSL_SESS_CACHE_CLIENT             = 31,
    SSL_SESS_CACHE_SERVER             = 32,
    SSL_SESS_CACHE_BOTH               = 33,
    SSL_SESS_CACHE_NO_AUTO_CLEAR      = 34,
    SSL_SESS_CACHE_NO_INTERNAL_LOOKUP = 35,

    SSL_OP_MICROSOFT_SESS_ID_BUG            = 50,
    SSL_OP_NETSCAPE_CHALLENGE_BUG           = 51,
    SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG = 52,
    SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG      = 53,
    SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER       = 54,
    SSL_OP_MSIE_SSLV2_RSA_PADDING           = 55,
    SSL_OP_SSLEAY_080_CLIENT_DH_BUG         = 56,
    SSL_OP_TLS_D5_BUG                       = 57,
    SSL_OP_TLS_BLOCK_PADDING_BUG            = 58,
    SSL_OP_TLS_ROLLBACK_BUG                 = 59,
    SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS      = 60,
    SSL_OP_ALL                              = 61,
    SSL_OP_SINGLE_DH_USE                    = 62,
    SSL_OP_EPHEMERAL_RSA                    = 63,
    SSL_OP_NO_SSLv2                         = 64,
    SSL_OP_NO_SSLv3                         = 65,
    SSL_OP_NO_TLSv1                         = 66,
    SSL_OP_PKCS1_CHECK_1                    = 67,
    SSL_OP_PKCS1_CHECK_2                    = 68,
    SSL_OP_NETSCAPE_CA_DN_BUG               = 69,
    SSL_OP_NON_EXPORT_FIRST                 = 70,
    SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG  = 71,

    SSL_ERROR_WANT_READ        = 80,
    SSL_ERROR_WANT_WRITE       = 81,
    SSL_ERROR_SYSCALL          = 82,
    SSL_ERROR_WANT_X509_LOOKUP = 83,
    SSL_ERROR_ZERO_RETURN      = 84,
    SSL_ERROR_SSL              = 85,

    SSL_SENT_SHUTDOWN     = 90,
    SSL_RECEIVED_SHUTDOWN = 91,
    SSL_CB_LOOP           = 92,
    SSL_ST_CONNECT        = 93,
    SSL_ST_ACCEPT         = 94,
    SSL_CB_ALERT          = 95,
    SSL_CB_READ           = 96,
    SSL_CB_HANDSHAKE_DONE = 97

};


SSL_METHOD *SSLv3_method(void);
SSL_METHOD *SSLv3_server_method(void);
SSL_METHOD *SSLv3_client_method(void);
SSL_METHOD *TLSv1_server_method(void);  
SSL_METHOD *TLSv1_client_method(void);
SSL_METHOD *SSLv23_server_method(void);

int SSL_CTX_use_certificate_file(SSL_CTX*, const char*, int);
int SSL_CTX_use_PrivateKey_file(SSL_CTX*, const char*, int);
int SSL_CTX_set_cipher_list(SSL_CTX*, const char*);

long SSL_CTX_sess_set_cache_size(SSL_CTX*, long);
long SSL_CTX_set_tmp_dh(SSL_CTX*, DH*);

void OpenSSL_add_all_algorithms(void);
void SSLeay_add_ssl_algorithms(void);


SSL_CIPHER* SSL_get_current_cipher(SSL*);
char*       SSL_CIPHER_description(SSL_CIPHER*, char*, int);


char* SSL_alert_type_string_long(int);
char* SSL_alert_desc_string_long(int);
char* SSL_state_string_long(SSL*);


/* EVP stuff, des and md5, different file? */
typedef struct Digest Digest;
typedef Digest EVP_MD;

typedef struct BulkCipher BulkCipher;
typedef BulkCipher EVP_CIPHER;

typedef struct EVP_PKEY EVP_PKEY;

typedef unsigned char DES_cblock[8];
typedef const  DES_cblock const_DES_cblock;
typedef DES_cblock DES_key_schedule;
                                                          
                                                             
const EVP_MD*     EVP_md5(void);
const EVP_CIPHER* EVP_des_ede3_cbc(void);

typedef unsigned char opaque;

int EVP_BytesToKey(const EVP_CIPHER*, const EVP_MD*, const opaque*,
                   const opaque*, int, int, opaque*, opaque*);

void DES_set_key_unchecked(const_DES_cblock*, DES_key_schedule*);
void DES_ede3_cbc_encrypt(const opaque*, opaque*, long, DES_key_schedule*,
                        DES_key_schedule*, DES_key_schedule*, DES_cblock*, int);


/* RAND stuff */
void        RAND_screen(void);
const char* RAND_file_name(char*, size_t);
int         RAND_write_file(const char*);
int         RAND_load_file(const char*, long);


#define SSL_DEFAULT_CIPHER_LIST ""   /* default all */




#if defined(__cplusplus) && !defined(YASSL_MYSQL_COMPATIBLE)
}      /* namespace  */
}      /* extern "C" */
#endif


#endif /* yaSSL_openssl_h__ */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久夜甘婷婷 | 久久成人久久爱| 美女视频黄免费的久久| 成人免费毛片a| 欧美午夜精品免费| 久久精品一区八戒影视| 亚洲图片欧美色图| 成人免费视频caoporn| 三级一区在线视频先锋| 99在线精品一区二区三区| 91精品国产乱| 亚洲电影欧美电影有声小说| 9色porny自拍视频一区二区| 国产日韩欧美麻豆| 国模娜娜一区二区三区| 欧美一区二区三区视频在线观看 | 99久久国产免费看| 欧美mv和日韩mv的网站| 一区二区三区电影在线播| 国产激情精品久久久第一区二区| 在线观看日韩一区| 欧美极品美女视频| 紧缚捆绑精品一区二区| 在线成人午夜影院| 亚洲欧美综合另类在线卡通| 国产精品99精品久久免费| 欧美精品一区二区久久婷婷| 免费成人在线观看| 欧美一级久久久| 日韩制服丝袜先锋影音| 欧美日韩成人激情| 五月婷婷激情综合| 91.麻豆视频| 喷水一区二区三区| 欧美色综合网站| 午夜视黄欧洲亚洲| 69堂成人精品免费视频| 视频一区欧美日韩| 日韩欧美一二三四区| 亚洲第四色夜色| 欧美日韩aaaaaa| 三级精品在线观看| 欧美成人免费网站| 国产一区二区在线观看视频| 日韩美女视频在线| 激情综合网天天干| 国产精品久久久久影院亚瑟| 99精品视频一区| 亚洲二区视频在线| 在线不卡免费欧美| 久久疯狂做爰流白浆xx| 久久精品视频一区二区三区| 成人精品一区二区三区四区 | 色哟哟欧美精品| 亚洲国产日产av| 精品一区二区免费| 中文字幕av一区二区三区免费看| 波多野结衣中文字幕一区二区三区| 中文字幕一区二区在线播放| 亚洲高清久久久| 精品国产伦一区二区三区观看方式| 成人精品免费视频| 亚洲人成在线观看一区二区| 欧美片网站yy| 国产91精品久久久久久久网曝门| 亚洲人成网站精品片在线观看 | 国产在线国偷精品产拍免费yy| 国产区在线观看成人精品| 99久久久无码国产精品| 亚洲成人av福利| 亚洲精品在线免费观看视频| 中文字幕一区二区三区乱码在线| 欧美高清一级片在线| 日韩av在线播放中文字幕| 久久久亚洲精品一区二区三区| 99re热这里只有精品视频| 蜜臀av一区二区在线观看| 欧美国产精品专区| 国产精品区一区二区三区| 欧美福利一区二区| 色婷婷综合久久久中文一区二区 | 国产成人在线观看免费网站| 亚洲欧美区自拍先锋| 精品国产人成亚洲区| 91麻豆高清视频| 精品一区二区三区在线视频| 成人免费小视频| 日韩欧美的一区| 色综合久久综合网97色综合| 蜜臀久久99精品久久久久宅男 | 国产精品国产三级国产aⅴ入口| 欧美电影一区二区| 日本丶国产丶欧美色综合| 国产成人一区在线| 捆绑调教美女网站视频一区| 亚洲一区二区在线免费观看视频| 国产精品污污网站在线观看| 精品福利一二区| 91麻豆精品国产91久久久 | 色哟哟一区二区三区| 高清av一区二区| 寂寞少妇一区二区三区| 麻豆传媒一区二区三区| 午夜精品国产更新| 亚洲午夜成aⅴ人片| 亚洲精品国产成人久久av盗摄| 国产夜色精品一区二区av| 制服丝袜av成人在线看| 欧美日韩视频在线第一区| 91精彩视频在线| 91免费版在线看| 99久久99久久精品国产片果冻| 丁香激情综合国产| 成人免费观看av| 99视频一区二区三区| 成人免费黄色大片| 成人av网站在线观看免费| 91久久精品国产91性色tv| av午夜精品一区二区三区| gogo大胆日本视频一区| 国产成人午夜99999| 丁香六月久久综合狠狠色| 成人精品小蝌蚪| 色一情一乱一乱一91av| 欧美色偷偷大香| 69久久夜色精品国产69蝌蚪网| 欧美一卡二卡三卡四卡| 91麻豆精品国产91久久久久久久久 | 在线精品视频一区二区三四| 亚洲婷婷综合久久一本伊一区| 国产精品第一页第二页第三页| 成人免费一区二区三区在线观看| 亚洲精品菠萝久久久久久久| 亚洲午夜一区二区三区| 日韩高清不卡一区二区三区| 美国三级日本三级久久99| 国产福利一区二区| 不卡在线视频中文字幕| 日本韩国精品在线| 日韩视频一区二区在线观看| 久久蜜桃av一区精品变态类天堂| 欧美国产丝袜视频| 夜夜精品浪潮av一区二区三区| 午夜电影网一区| 国内精品国产三级国产a久久| 成人激情免费视频| 欧美美女黄视频| 久久久精品综合| 亚洲激情自拍视频| 久久精品99国产精品日本| 成人小视频在线| 午夜国产精品影院在线观看| 国产一区二区在线观看视频| 色婷婷香蕉在线一区二区| 欧美人与禽zozo性伦| 精品理论电影在线| 欧美成人免费网站| 一区二区三区国产精华| 国产资源在线一区| 欧美亚洲自拍偷拍| 国产视频一区二区在线观看| 日本人妖一区二区| 99精品视频在线观看| 欧美精品一区二区三区四区 | 懂色av噜噜一区二区三区av| 欧美视频一区二区三区| 久久精品在线免费观看| 婷婷丁香久久五月婷婷| 成人激情黄色小说| 日韩精品一区二区三区在线 | 精品国产a毛片| 亚洲国产综合91精品麻豆| 国产精品综合久久| 欧美精品日韩一本| 亚洲特黄一级片| 国产精品久久久久久亚洲伦| 美女脱光内衣内裤视频久久影院| 播五月开心婷婷综合| 久久久国产综合精品女国产盗摄| 日韩精品一级二级 | 亚洲少妇30p| 国产综合久久久久影院| 在线观看亚洲一区| 亚洲欧洲精品一区二区三区| 久久99深爱久久99精品| 7777精品伊人久久久大香线蕉| 国产精品卡一卡二| 国产高清在线观看免费不卡| 免费在线观看日韩欧美| 日韩精品一区二区三区视频播放 | 韩国av一区二区三区四区| 欧美日韩一区二区电影| 亚洲青青青在线视频| 中文字幕成人av| 大陆成人av片| 中文在线一区二区| 成人h动漫精品一区二区| 国产午夜精品福利| 国产精品一品二品| 久久精品一区二区三区四区|