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

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

?? sslsocket.h

?? 一個(gè)簡單實(shí)用的開源C++消息中間件SAFMQ - [軟件開發(fā)] - [開源 消息中間件 SAFMQ ] 2006-11-23 在很多網(wǎng)絡(luò)應(yīng)用中
?? H
字號:
/*
 Copyright 2005 Matthew J. Battey

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

	Unless required by applicable law or agreed to in writing, software distributed
	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
	CONDITIONS OF ANY KIND, either express or implied. See the License for the
	specific language governing permissions and limitations under the License.




This software implements a platform independent C++ interface to TCP/IP socket
communications.
*/
#ifndef _SSLSOCKET_H_
#define _SSLSOCKET_H_

#include "tcpsocket.h"
#include <string>
#include <exception>

namespace tcpsocket {

struct SSLSocketData;

struct X509Data;

/**
An exception thrown by the SSLSocket class.  This exception
is generated in response to an error generated by the SSL library.
*/
class SSLSocketException : public SocketException {
public:
	/**
	Default Constructor
	*/
    SSLSocketException() throw() {
	}
	/**
	Constructs from a string message
	@param error The error to be represented in this exception
	*/
    SSLSocketException(const char* error)  throw() {
		_what = error;
	}
	/**
	Copy constructor.
	@param src the source exception
	*/
    SSLSocketException(const std::exception& src) throw() {
		*this = src;
	}
	/**
	Copy operator.
	@param src Source object
	@return A reference to this object
	*/
    std::exception& operator= (const std::exception& src) throw() {
		_what = src.what();
		return  *this;
	}
	/**
	Destructor
	*/
    virtual ~SSLSocketException() throw () {
	}
	/**
	Provides the error message.
	@return The error message
	*/
    virtual const char* what() const throw() {
		return _what.c_str();
	}

protected:
	std::string	_what;
};


/**
Represents an X509 Certificate object.  This object provides access to
an X509 certificate object.
*/
class X509Certificate 
{
public:
	X509Certificate(const X509Data* certificate);
	virtual ~X509Certificate();

	std::string			getSerialNumber();
	std::string			getIssuerName();
	std::string			getSubjectName();
	std::string			getNotBefore();
	std::string			getNotAfter();

	void* getX509();

	std::string			toString();
protected:
	X509Data*	certificate;
};


/**
Implements a Secure Sockets Layer socket connection.
*/
class SSLSocket : public Socket
{
public:
	/// An enumeration of SLL versions to use with the <code>SSLSocket</code>
	enum ssl_ver { 
		/// No SSL Version
		none, 
		/// Use SSLv2 when communicating
		sslv2, 
		/// Use SSLv3 when communicating, note the server/client must also use only SSLv3
		sslv3, 
		/// Use SSLv2 or SSLv3 when communicating, communications will start in SSLv2 and then be negotiated to SSLv3 when using OpenSSL
		sslv23 };

	/// An enumeration of SSL Certificate/Private Key file types
	enum file_type {
		/// PEM file type
		ssl_pem, 
		/// ASN1 file type
		ssl_asn1};

	/// An enumeration SSL Conneciton types indicating whether the object will be used as a client or server
	enum con_type { 
		/// A client connection
		con_client, 
		/// A server connection
		con_server };

	explicit SSLSocket();
	explicit SSLSocket(int socket_handle, con_type type=con_client, ssl_ver version=sslv23);
	explicit SSLSocket(int socket_handle, SSLSocketData* pData, con_type type=con_server) throw (SSLSocketException);

	SSLSocket(const SSLSocket& s);
	explicit SSLSocket(const char* host, short port, ssl_ver version=sslv23) throw (SSLSocketException,SocketException);
	virtual ~SSLSocket();
	SSLSocket& operator=(const SSLSocket& s);
	
	virtual size_t send(const char* sendBuffer, size_t length)	throw (SSLSocketException);
	virtual size_t receive(char* readBuffer, size_t length)		throw (SSLSocketException);
	virtual size_t receiveSome(char* readBuffer, size_t length)	throw (SSLSocketException);
	virtual void close() throw (SocketException);

	virtual Socket* clone() const;

	virtual bool setCertificateFile(const char* fname, file_type type);
	virtual bool setPrivateKeyFile(const char* fname, file_type type);
	
	virtual X509Certificate* getPeerCertificate();
	virtual int getVerifyResult();

	virtual std::string getErrorMessage();

	virtual void* getSSL();
	virtual void* getCTX();

protected:
	void init();
	void init_ssl(ssl_ver version);

	SSLSocketData*	pdata;
};

/**
Implements a Secure Sockets Layer server socket.
*/
class SSLServerSocket : protected SSLSocket
{
public:

	SSLServerSocket(short bindPort, ssl_ver version=sslv23, unsigned long bindAddress = INADDR_ANY, int listenerBacklog = 5) throw (SocketException);
	SSLServerSocket(short bindPort, const char* key_file, file_type key_type, const char* cert_file, file_type cert_type, ssl_ver version=sslv23, unsigned long bindAddress = INADDR_ANY, int listenerBacklog = 5) throw (SocketException);
	virtual ~SSLServerSocket() throw (SocketException);

	SSLSocket acceptConnection() throw (SocketException);
	void close() throw (SocketException);
	void enableVerification();

	virtual bool setCertificateFile(const char* fname, file_type type);
	virtual bool setPrivateKeyFile(const char* fname, file_type type);
	virtual void* getCTX();
protected:
	void init(short bindPort, ssl_ver version, unsigned long bindAddress, int listenerBacklog) throw (SocketException);
	void init_ssl(SSLSocket::ssl_ver version);
};

}

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品福利视频网站| 亚洲日本va午夜在线影院| 一区二区三区在线视频观看58| 91小视频免费观看| 国产一区二区精品久久91| 91精品久久久久久久久99蜜臂| 日韩理论在线观看| 一本到三区不卡视频| 亚洲另类色综合网站| 欧美色精品在线视频| 亚洲动漫第一页| 6080日韩午夜伦伦午夜伦| 久久成人免费电影| 久久久精品天堂| av午夜一区麻豆| 悠悠色在线精品| 欧美一区二区三区四区五区| 九九九精品视频| 中文字幕一区免费在线观看| gogogo免费视频观看亚洲一| 亚洲影院在线观看| 日韩欧美电影一区| 成人精品电影在线观看| 亚洲自拍偷拍九九九| 日韩亚洲欧美成人一区| 成人性生交大片免费看中文网站| 亚洲视频一区在线| 日韩一级视频免费观看在线| 成人福利视频网站| 午夜电影久久久| 日本一区二区三区视频视频| 在线亚洲一区二区| 国产在线一区二区综合免费视频| 国产精品国产三级国产aⅴ原创| 精品电影一区二区| 99久久精品一区| 日本视频在线一区| 综合久久久久久| 欧美大片在线观看一区| 91丨九色丨蝌蚪丨老版| 久久av资源站| 亚洲愉拍自拍另类高清精品| 国产婷婷色一区二区三区| 欧美亚洲综合久久| 国产高清不卡一区| 日韩精品乱码免费| 中文字幕中文字幕一区二区| 日韩欧美亚洲一区二区| 一本高清dvd不卡在线观看| 国产麻豆一精品一av一免费| 亚洲国产aⅴ成人精品无吗| 国产欧美1区2区3区| 日韩一区二区三区视频在线观看| 99re视频精品| 国产成人h网站| 日韩高清在线电影| 亚洲一区在线看| 国产精品高清亚洲| 久久久99精品免费观看不卡| 884aa四虎影成人精品一区| 色一情一伦一子一伦一区| 国产成人av影院| 久久成人18免费观看| 亚洲成人av电影在线| 亚洲精品国产一区二区三区四区在线 | 色综合久久中文字幕综合网 | 亚洲午夜久久久久中文字幕久| 精品国产一区二区三区忘忧草 | 国产美女视频91| 香蕉久久夜色精品国产使用方法 | 成人黄色免费短视频| 免费成人美女在线观看.| 亚洲最快最全在线视频| 国产精品久久久久9999吃药| 久久久久久免费网| 精品国产91乱码一区二区三区| 欧美另类久久久品| 欧美撒尿777hd撒尿| 在线免费观看一区| 色久综合一二码| 91蝌蚪国产九色| 91欧美一区二区| 色呦呦一区二区三区| 99精品欧美一区二区蜜桃免费| 国产成人aaa| 成人va在线观看| bt欧美亚洲午夜电影天堂| 成人伦理片在线| 99国产精品久| 91国偷自产一区二区开放时间 | 欧美军同video69gay| 国产嫩草影院久久久久| 久久久精品中文字幕麻豆发布| wwwwww.欧美系列| 国产欧美一区二区精品性色| 久久嫩草精品久久久精品一| 久久―日本道色综合久久| 久久久久久久久伊人| 中文字幕国产一区| 亚洲日本免费电影| 五月天国产精品| 麻豆精品新av中文字幕| 精品亚洲国产成人av制服丝袜| 国产一区二区影院| 97久久久精品综合88久久| 欧美综合一区二区| 日韩欧美国产电影| 国产清纯美女被跳蛋高潮一区二区久久w | av亚洲精华国产精华精华| 成人av电影在线播放| 97精品国产露脸对白| 欧美亚洲动漫另类| 日韩一级大片在线| 国产精品久久久久永久免费观看| 亚洲免费观看高清完整| 日韩va亚洲va欧美va久久| 国产一区不卡视频| 日本韩国精品一区二区在线观看| 6080国产精品一区二区| 国产亚洲欧美日韩俺去了| 樱花影视一区二区| 精品亚洲国内自在自线福利| 91亚洲国产成人精品一区二区三 | 亚洲精品国久久99热| 蜜桃视频免费观看一区| 3d动漫精品啪啪1区2区免费| 久久久精品欧美丰满| 亚洲免费伊人电影| 激情图片小说一区| 欧美视频一区在线观看| 国产亚洲人成网站| 香蕉成人啪国产精品视频综合网| 国产成人福利片| 91麻豆精品国产91久久久| 亚洲欧洲日韩av| 精品在线免费视频| 欧美色图激情小说| 国产清纯美女被跳蛋高潮一区二区久久w | 蜜臀av性久久久久蜜臀aⅴ流畅| 成人污视频在线观看| 91精品国产综合久久精品图片| 国产精品不卡视频| 精品在线免费观看| 7777女厕盗摄久久久| 一区二区在线观看不卡| 国产精一品亚洲二区在线视频| 欧美色网站导航| 日韩久久一区二区| 国产精品88888| 欧美xxxxx裸体时装秀| 亚洲福利视频导航| 色菇凉天天综合网| 国产精品欧美久久久久一区二区 | 亚洲精品中文字幕在线观看| 国产在线视频一区二区三区| 91精品视频网| 一级特黄大欧美久久久| 99re视频精品| 国产精品久久看| 成人黄色一级视频| 国产欧美一区二区精品秋霞影院| 老司机一区二区| 91精品婷婷国产综合久久| 性感美女久久精品| 欧美私模裸体表演在线观看| 亚洲人成精品久久久久| av一区二区三区| 中文字幕五月欧美| 成人国产精品免费观看| 中文天堂在线一区| 国产精品麻豆久久久| 国内精品在线播放| 日韩欧美在线1卡| 日本少妇一区二区| 日韩欧美一区二区免费| 日韩av中文字幕一区二区三区| 在线播放亚洲一区| 日韩精品一二三区| 日韩一级大片在线观看| 乱一区二区av| 久久婷婷综合激情| 国产精品18久久久| 亚洲国产成人私人影院tom| 成人av免费网站| 亚洲婷婷在线视频| 色婷婷av一区二区三区软件| 亚洲精品成人a在线观看| 欧美午夜精品理论片a级按摩| 亚洲午夜久久久久中文字幕久| 欧美日韩高清一区二区不卡| 午夜国产精品影院在线观看| 欧美v国产在线一区二区三区| 久久狠狠亚洲综合| 国产欧美一区二区三区沐欲| 波多野结衣亚洲一区| 亚洲一卡二卡三卡四卡| 制服丝袜av成人在线看| 国产一区激情在线| 日韩毛片视频在线看| 欧美精品在欧美一区二区少妇 |