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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? usbcertpage.cpp

?? 實現了數字證書的制作、SSL安全通訊、加解密操作等功能
?? CPP
字號:
// UsbCertPage.cpp : implementation file
//

#include "stdafx.h"
#include "UsbKey.h"
#include "UsbCertPage.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#include "..\ca.h"

/////////////////////////////////////////////////////////////////////////////
// CUsbCertPage property page

IMPLEMENT_DYNCREATE(CUsbCertPage, CPropertyPage)

CUsbCertPage::CUsbCertPage() : CPropertyPage(CUsbCertPage::IDD)
{
	//{{AFX_DATA_INIT(CUsbCertPage)
	m_Type = 0;
	//}}AFX_DATA_INIT
}

CUsbCertPage::~CUsbCertPage()
{
}

void CUsbCertPage::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CUsbCertPage)
	DDX_Control(pDX, IDC_LIST_CERT, m_List);
	DDX_Radio(pDX, IDC_R_PARSE, m_Type);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CUsbCertPage, CPropertyPage)
	//{{AFX_MSG_MAP(CUsbCertPage)
	ON_BN_CLICKED(IDC_BPTOD, OnBptod)
	ON_BN_CLICKED(IDC_B_PATH, OnBPath)
	ON_BN_CLICKED(IDC_B_PUB, OnBPub)
	ON_BN_CLICKED(IDC_B_KEY, OnBKey)
	ON_BN_CLICKED(IDC_B_OK, OnBOk)
	ON_BN_CLICKED(IDC_R_PARSE, OnRParse)
	ON_BN_CLICKED(IDC_R_CREATE, OnRCreate)
	ON_BN_CLICKED(IDC_R_CHANGEP, OnRChangep)
	ON_BN_CLICKED(IDC_BDTOP, OnBdtop)
	ON_BN_CLICKED(IDC_BSOUT, OnBsout)
	ON_BN_CLICKED(IDC_BSIN, OnBsin)
	ON_BN_CLICKED(IDC_B_CHECK, OnBCheck)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CUsbCertPage message handlers
BOOL CUsbCertPage::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	SetCheck();
	// TODO: Add extra initialization here
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

/*void CUsbCertPage::OnBPri() //選擇私鑰
{
	// TODO: Add your control notification handler code here
	CFileDialog dlgOpen(true,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
	"私鑰證書文件(*.crt;*.cer)|*.crt;*.cer|所有文件(*.*)|*.*||",NULL  );
	dlgOpen.m_ofn.lpstrTitle="選擇私鑰證書";//標題條
	if(dlgOpen.DoModal()!=IDOK) return;
	m_PriKey=dlgOpen.GetPathName();
	SetDlgItemText(IDC_EDIT_PRI,m_PriKey);
}

void CUsbCertPage::OnBChange() 
{
	// TODO: Add your control notification handler code here
	CString msg,m_Password,m_Newword;
	GetDlgItemText(IDC_EDIT_OLD,m_Password);
	GetDlgItemText(IDC_EDIT_NEW,m_Newword);
	//從私鑰文件獲得私鑰
	UCHAR	certbuff[3000];
	asn__data *kk=(asn__data*)(new char[sizeof(asn__data)]);//私鑰
	CFile f(m_PriKey,CFile::modeRead);
	kk->length=f.Read(certbuff,3000);
	kk->value=(UCHAR*)certbuff;
	f.Close();	
	//用私鑰口令生成解密私鑰的對稱密鑰
    UCHAR Dec_key[32]={0};
	UINT4 Dec_keylen=32;       
	if(RTN_OK!=CreateKeyFromPassword(ATTRIB_SDBI_KEY,(UCHAR *)m_Password.GetBuffer(32),
		m_Password.GetLength(),Dec_key,&Dec_keylen))
	{
		m_List.AddMsg("生成解密密鑰失敗。",M_ERROR);
		delete kk;
		return;
	}
	//用對稱密鑰解密私鑰
	UCHAR data[1024]={0};         //解密后的私鑰文件
	UINT4 datalen=1024;	         //解密后的私鑰文件長度
	if(RTN_OK!=CryptionProc(ATTRIB_SDBI_KEY,Dec_key,Dec_keylen,DECRYPT,kk->value,kk->length,data,&datalen))
	{
		m_List.AddMsg("解密私鑰失敗",M_ERROR);
		delete kk;
		return;
	}

    UCHAR Enc_key[32]={0};
	UINT4 Enc_keylen=32;       
	//生成加密密要
	if(RTN_OK!=CreateKeyFromPassword(ATTRIB_SDBI_KEY,(UCHAR *)m_Newword.GetBuffer(32),
		m_Newword.GetLength(),Enc_key,&Enc_keylen))
	{
		m_List.AddMsg("生成加密密鑰失敗。",M_ERROR);
		delete kk;
		return;
	}

	//用對稱密鑰加密私鑰
	UCHAR outbuf[1024];             //加密后的私鑰文件
	UINT4 outlen=1024;	         //加密后的私鑰文件長度
	if(RTN_OK!=CryptionProc(ATTRIB_SDBI_KEY,Enc_key,Enc_keylen,ENCRYPT,data,datalen,outbuf,&outlen))
	{
		m_List.AddMsg("加密私鑰失敗",M_ERROR);
		delete kk;
		return;
	}
	else
	{
		f.Open(m_PriKey,CFile::modeCreate|CFile::modeWrite);
		f.Write(outbuf,outlen);
		f.Close();	
		m_List.AddMsg("修改私鑰密碼成功");
	}
	//用私鑰解密口令
	delete kk;

}
*/
void CUsbCertPage::OnBPath() //設置輸出路徑,如果路徑下有文件則覆蓋
{
	// TODO: Add your control notification handler code here
	LPITEMIDLIST pidlRoot=NULL; 
	SHGetSpecialFolderLocation(m_hWnd,CSIDL_DRIVES ,&pidlRoot); 
	BROWSEINFO bi;   //必須傳入的參數,下面就是這個結構的參數的初始化 
	CString strDisplayName;   //用來得到,你選擇的活頁夾路徑,相當于提供一個緩沖區 
	bi.hwndOwner=GetSafeHwnd();   //得到父窗口Handle值 
	bi.pidlRoot=0;   //這個變量就是我們在上面得到的. 
	bi.pszDisplayName=strDisplayName.GetBuffer(MAX_PATH+1);   //得到緩沖區指針, 
	bi.lpszTitle="選擇文件輸出路徑,路徑下已有的文件將被覆蓋!!";   //設置標題 
	bi.ulFlags=BIF_RETURNONLYFSDIRS    ;   //設置標志 
	bi.lpfn=NULL; 
	bi.lParam=0; 
	bi.iImage=0;   //上面這個是一些無關的參數的設置,最好設置起來, 
	ITEMIDLIST * pidl;  
	pidl=SHBrowseForFolder(&bi);   //打開對話框 
	if(!pidl)
		return;
	SHGetPathFromIDList(pidl,bi.pszDisplayName);	
	strDisplayName.ReleaseBuffer();   //和上面的GetBuffer()相對應 
	m_Path=strDisplayName;
	SetDlgItemText(IDC_EDIT_PATH,m_Path);	
}

void CUsbCertPage::OnBPub() //選擇公鑰,選擇p12
{
	// TODO: Add your control notification handler code here
	if(m_Type==1)//選擇共鑰
	{
		CFileDialog dlgOpen(true,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
			"公鑰證書文件(*.crt;*.cer)|*.crt;*.cer|所有文件(*.*)|*.*||",NULL);
		dlgOpen.m_ofn.lpstrTitle="選擇公鑰證書文件";//標題條
		if(dlgOpen.DoModal()!=IDOK) return;
		m_cert=dlgOpen.GetPathName();
		SetDlgItemText(IDC_EDIT_P12,m_cert);
		
	}
	else//選擇p12
	{
		CFileDialog dlgOpen(true,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
			"個人信息交換(*.db;*.pfx;*.p12)|*.db;*.pfx;*.p12|所有文件(*.*)|*.*||",NULL);
		dlgOpen.m_ofn.lpstrTitle="選擇個人信息交換文件";//標題條
		if(dlgOpen.DoModal()!=IDOK) return;
		m_p12=dlgOpen.GetPathName();
		SetDlgItemText(IDC_EDIT_P12,m_p12);
	
	}
}

void CUsbCertPage::OnBKey() //選擇私鑰
{
	// TODO: Add your control notification handler code here
	CFileDialog dlgOpen(true,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
	"私鑰證書文件(*.crt;*.cer)|*.crt;*.cer|所有文件(*.*)|*.*||",NULL);
	dlgOpen.m_ofn.lpstrTitle="選擇私鑰證書文件";//標題條
	if(dlgOpen.DoModal()!=IDOK) return;
	m_key=dlgOpen.GetPathName();
	SetDlgItemText(IDC_EDIT_KEY,m_key);
	
}

void CUsbCertPage::OnBOk() //執行操作
{
	// TODO: Add your control notification handler code here
	if(m_Type!=2&&m_Path=="") 
	{
		m_List.AddMsg("請選擇輸出路徑!",M_WARING);
		return;
	}
	
	if(m_Type==0)//提取證書操作
	{
		//讀取p12文件
		CString pwd,pwd2;
		GetDlgItemText(IDC_EDIT_PASSWORD,pwd);
	/*if(pwd=="")
		{
			m_List.AddMsg("請給出解密口令!",M_WARING);
			return;
		}
	*/	
		CString filein,certout,keyout;
		certout=m_Path+"\\UserCert.crt";
		keyout=m_Path+"\\UserPriKey.crt";	
		GetDlgItemText(IDC_EDIT_PASSWORD2,pwd2);

		char out[100]={0};
		if(!ParseDB(m_p12.GetBuffer(0),pwd.GetBuffer(0),certout.GetBuffer(0),keyout.GetBuffer(0),PEM,out))
			m_List.AddMsg(out,M_ERROR);

		else//ok
			m_List.AddMsg("分解P12文件操作成功");	
	}

	else if(m_Type==1)//合并證書操作
	{
		CString fileout;
		fileout=m_Path+"\\Pkcs12.pfx";
		CString pwd,pwd2;
		GetDlgItemText(IDC_EDIT_PASSWORD2,pwd2);
		//	if(pwd2=="")
		//	{
		//		m_List.AddMsg("請給出加密口令!",M_WARING);
		//		return;
		//	}
		GetDlgItemText(IDC_EDIT_PASSWORD,pwd);
		
		char out[100]={0};
		if(CreateDB(fileout.GetBuffer(0),pwd2.GetBuffer(0),m_cert.GetBuffer(0),
			m_key.GetBuffer(0),out))
			m_List.AddMsg(out);
		else
			m_List.AddMsg(out,M_ERROR);
	}
	else//修改密碼
	{
		CString pwd,pwd2,fileOut;
		GetDlgItemText(IDC_EDIT_PASSWORD,pwd);
/*		if(pwd=="")
		{
			m_List.AddMsg("請給出解密口令!",M_WARING);
			return;
		}

*/		GetDlgItemText(IDC_EDIT_PASSWORD2,pwd2);
/*		if(pwd2=="")
		{
			m_List.AddMsg("請給出加密口令!",M_WARING);
			return;
		}

*/		char out[100]={0};
		if(ChangePB(m_p12.GetBuffer(0),pwd.GetBuffer(0),pwd2.GetBuffer(0),m_p12.GetBuffer(0),out))
			m_List.AddMsg(out);
		else
			m_List.AddMsg(out,M_ERROR);

	}
}

void CUsbCertPage::SetCheck()
{
	SetDlgItemText(IDC_EDIT_P12,"");
	SetDlgItemText(IDC_EDIT_PASSWORD,"");
	SetDlgItemText(IDC_EDIT_KEY,"");
	SetDlgItemText(IDC_EDIT_PASSWORD2,"");
	
	if(m_Type==0)
	{
		
		GetDlgItem(IDC_EDIT_P12)->EnableWindow(1);
		SetDlgItemText(IDC_B_PUB,"選擇P12");
		GetDlgItem(IDC_B_PUB)->EnableWindow(1);	
		GetDlgItem(IDC_EDIT_PASSWORD)->EnableWindow(1);	
		
		GetDlgItem(IDC_EDIT_KEY)->EnableWindow(0);
		GetDlgItem(IDC_B_KEY)->EnableWindow(0);	
		GetDlgItem(IDC_EDIT_PASSWORD2)->EnableWindow(1);	
		
	}
	else if(m_Type==1)
	{
		GetDlgItem(IDC_EDIT_P12)->EnableWindow(1);
		SetDlgItemText(IDC_B_PUB,"選擇公鑰");
		GetDlgItem(IDC_B_PUB)->EnableWindow(1);	
		GetDlgItem(IDC_EDIT_PASSWORD)->EnableWindow(1);	
		
		GetDlgItem(IDC_EDIT_KEY)->EnableWindow(1);
		GetDlgItem(IDC_B_KEY)->EnableWindow(1);	
		GetDlgItem(IDC_EDIT_PASSWORD2)->EnableWindow(1);	
		
	}
	else
	{
		GetDlgItem(IDC_EDIT_P12)->EnableWindow(1);
		SetDlgItemText(IDC_B_PUB,"選擇P12");
		GetDlgItem(IDC_B_PUB)->EnableWindow(1);	
		GetDlgItem(IDC_EDIT_PASSWORD)->EnableWindow(1);	
		
		GetDlgItem(IDC_EDIT_KEY)->EnableWindow(0);
		GetDlgItem(IDC_B_KEY)->EnableWindow(0);	
		GetDlgItem(IDC_EDIT_PASSWORD2)->EnableWindow(1);	
		
	}

}

void CUsbCertPage::OnRParse() //提取證書操作
{
	// TODO: Add your control notification handler code here
	m_Type=0;
	SetCheck();
	
}

void CUsbCertPage::OnRCreate() //合并證書操作
{
	// TODO: Add your control notification handler code here
	m_Type=1;
	SetCheck();
	
}

void CUsbCertPage::OnRChangep() //修改密碼操作
{
	// TODO: Add your control notification handler code here
	m_Type=2;
	SetCheck();
}



void CUsbCertPage::OnBsout() //選擇輸入文件
{
	// TODO: Add your control notification handler code here
	CFileDialog dlgOpen(true,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
		"證書文件(*.crt;*.cer;*.pem;*.der;*.p12;*.pfx)|*.crt;*.cer;*.pem;*.der;*.p12;*.pfx|所有文件(*.*)|*.*||",NULL);
	dlgOpen.m_ofn.lpstrTitle="選擇證書文件";//標題條
	if(dlgOpen.DoModal()!=IDOK) return;
	SetDlgItemText(IDC_EDIT_INFILE,dlgOpen.GetPathName());
}

void CUsbCertPage::OnBsin() //選擇輸出文件
{
	// TODO: Add your control notification handler code here
	CFileDialog dlgOpen(true,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
		"證書文件(*.crt;*.cer;*.pem;*.der;*.p12;*.pfx)|*.crt;*.cer;*.pem;*.der;*.p12;*.pfx|所有文件(*.*)|*.*||",NULL);
	dlgOpen.m_ofn.lpstrTitle="保存證書文件";//標題條
	if(dlgOpen.DoModal()!=IDOK) return;
	SetDlgItemText(IDC_EDIT_OUTFILE,dlgOpen.GetPathName());
	
}

void CUsbCertPage::OnBptod() //PEM-->DER 
{
	// TODO: Add your control notification handler code here
	char out[100]={0};
	//獲得輸入文件和輸出文件
	CString infile,outfile;
	GetDlgItemText(IDC_EDIT_INFILE,infile);
	GetDlgItemText(IDC_EDIT_OUTFILE,outfile);
	if(infile=="")
	{
		m_List.AddMsg("沒有選擇輸入文件",M_WARING);
		return;
	}
	GetDlgItemText(IDC_EDIT_OUTFILE,outfile);
	if(outfile=="")
	{
		m_List.AddMsg("沒有指定輸出文件",M_WARING);
		return;
	}
	
	if(CertFormatConver(infile.GetBuffer(0),0,NULL,outfile.GetBuffer(0),DER,out))
		m_List.AddMsg(out);
	else
		m_List.AddMsg(out,M_ERROR);

}


void CUsbCertPage::OnBdtop() //DER-->PEM
{
	// TODO: Add your control notification handler code here
	char out[100]={0};
	CString infile,outfile;
	GetDlgItemText(IDC_EDIT_INFILE,infile);
	if(infile=="")
	{
		m_List.AddMsg("沒有選擇輸入文件",M_WARING);
		return;
	}
	GetDlgItemText(IDC_EDIT_OUTFILE,outfile);
	if(outfile=="")
	{
		m_List.AddMsg("沒有指定輸出文件",M_WARING);
		return;
	}

	if(CertFormatConver(infile.GetBuffer(0),0,NULL,outfile.GetBuffer(0),PEM,out))
		m_List.AddMsg(out);
	else
		m_List.AddMsg(out,M_ERROR);
}


void CUsbCertPage::OnBCheck() 
{
	// TODO: Add your control notification handler code here
	char out[100]={0};
	CString infile,outfile;
	GetDlgItemText(IDC_EDIT_INFILE,infile);
	if(infile=="")
	{
		m_List.AddMsg("沒有選擇公鑰文件",M_WARING);
		return;
	}
	GetDlgItemText(IDC_EDIT_OUTFILE,outfile);
	if(outfile=="")
	{
		m_List.AddMsg("沒有選擇私鑰文件",M_WARING);
		return;
	}

	if(CertPairCheck(infile.GetBuffer(0),outfile.GetBuffer(0),out))
		m_List.AddMsg("公私鑰對匹配");
	else
	{
		m_List.AddMsg(out,M_ERROR);
	}
//	GeneratePair(out);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品视频| 精品婷婷伊人一区三区三| 99re热视频这里只精品| 欧美美女视频在线观看| 国产日韩精品一区二区三区| 亚洲精品国产第一综合99久久 | 久久国产精品72免费观看| 成人av免费在线观看| 日韩女同互慰一区二区| 夜色激情一区二区| 国产精品一区二区在线观看不卡| 欧美性受极品xxxx喷水| 成人欧美一区二区三区黑人麻豆| 麻豆专区一区二区三区四区五区| 色系网站成人免费| 136国产福利精品导航| 激情另类小说区图片区视频区| 欧美日韩国产另类不卡| 一级做a爱片久久| 成人黄色小视频| 久久久精品国产免费观看同学| 蜜乳av一区二区| 91精品福利在线一区二区三区| 亚洲精品日日夜夜| 一本色道久久加勒比精品| 国产精品久久久久天堂| 成人一级视频在线观看| 久久久99精品久久| 国产一区二区三区四区在线观看 | 亚洲一区二区免费视频| 91在线视频网址| 中文字幕欧美三区| 国产99久久久国产精品免费看| 久久色在线视频| 精品中文字幕一区二区小辣椒| 日韩午夜中文字幕| 看片网站欧美日韩| 欧美v国产在线一区二区三区| 日韩av午夜在线观看| 欧美一区二区三区思思人| 免费精品视频在线| 精品久久久久久久久久久久久久久| 视频一区二区不卡| 精品久久久久久久人人人人传媒 | 亚洲成人激情自拍| 欧美日韩一区二区不卡| 婷婷久久综合九色综合绿巨人| 欧美精品在线观看一区二区| 日本视频一区二区三区| 日韩免费观看高清完整版在线观看| 久久国产婷婷国产香蕉| 国产午夜精品一区二区三区嫩草| 成人免费av在线| 亚洲黄色录像片| 91麻豆精品国产91久久久更新时间| 日韩精彩视频在线观看| 精品国产sm最大网站免费看| 国产1区2区3区精品美女| 亚洲免费视频成人| 884aa四虎影成人精品一区| 精品一区二区三区不卡| 国产精品麻豆久久久| 欧美日韩一区精品| 精品系列免费在线观看| 亚洲人成7777| 精品噜噜噜噜久久久久久久久试看| 国产成人av电影| 亚洲bdsm女犯bdsm网站| 久久先锋影音av| 色噜噜狠狠色综合中国| 久久99精品久久久| 综合久久综合久久| 欧美成人女星排名| 成人高清免费观看| 免费日韩伦理电影| 亚洲色图欧美偷拍| 日韩欧美的一区| 91老司机福利 在线| 麻豆国产欧美一区二区三区| 国产精品久99| 精品日韩成人av| 色噜噜狠狠一区二区三区果冻| 国产一区二区在线看| 亚洲bt欧美bt精品| 国产精品毛片a∨一区二区三区| 91精品国产色综合久久不卡蜜臀| 不卡区在线中文字幕| 另类小说图片综合网| 一区二区高清免费观看影视大全 | 欧美精品一卡二卡| eeuss鲁片一区二区三区在线看| 奇米四色…亚洲| 亚洲一区二区三区四区不卡| 国产精品青草久久| 欧美一区二区三区日韩视频| 欧洲另类一二三四区| 成人短视频下载| 国产精品亚洲午夜一区二区三区| 日韩在线一二三区| 亚洲激情图片小说视频| 国产精品色在线| 久久伊人蜜桃av一区二区| 欧美一区二区日韩一区二区| 欧美日本一区二区| 91官网在线观看| 色老综合老女人久久久| 91网站在线观看视频| 成人高清视频免费观看| 成人免费视频视频在线观看免费| 精品综合久久久久久8888| 久久国产精品第一页| 日韩电影一区二区三区| 日韩av一区二区在线影视| 三级欧美韩日大片在线看| 日韩专区中文字幕一区二区| 首页国产丝袜综合| 午夜精品一区二区三区电影天堂 | 亚洲免费高清视频在线| 国产精品久久久久久久久免费桃花| 国产无人区一区二区三区| 久久久99免费| 欧美激情一区二区三区不卡 | 日韩高清不卡一区二区| 日韩中文字幕不卡| 伦理电影国产精品| 国产综合久久久久久鬼色| 精品一区二区三区日韩| 国产黑丝在线一区二区三区| 懂色av一区二区夜夜嗨| 成人国产精品免费观看视频| 97精品国产露脸对白| 在线看不卡av| 日韩欧美一级特黄在线播放| 精品av久久707| 国产精品久久综合| 亚洲一区二区三区精品在线| 日本视频中文字幕一区二区三区| 久久国产精品99精品国产 | 欧美亚洲国产怡红院影院| 欧美久久婷婷综合色| 精品国产自在久精品国产| 欧美高清在线精品一区| 亚洲精品高清在线| 日韩在线一区二区| 成人午夜激情影院| 欧美日韩激情一区二区| 2019国产精品| 亚洲人123区| 美女爽到高潮91| 99国产精品久久| 日韩西西人体444www| 国产精品福利一区| 天堂蜜桃91精品| 成人av电影在线网| 91精品国产欧美一区二区18| 欧美国产欧美亚州国产日韩mv天天看完整| 国产精品久99| 美女视频一区二区| 97se亚洲国产综合在线| 日韩网站在线看片你懂的| 国产精品福利电影一区二区三区四区| 亚洲一区二区三区四区在线观看 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 日韩精品中文字幕在线不卡尤物| 中文字幕乱码久久午夜不卡| 婷婷久久综合九色综合绿巨人| 国产91精品一区二区麻豆亚洲| 欧美伦理视频网站| 亚洲图片激情小说| 捆绑变态av一区二区三区| 欧美三级视频在线播放| 国产欧美精品一区二区色综合| 日韩和欧美的一区| 一本色道亚洲精品aⅴ| 久久久久久一级片| 日本不卡中文字幕| 在线看国产日韩| 成人免费在线视频观看| 国产精品一区久久久久| 日韩美女天天操| 日韩黄色免费网站| 欧美日韩视频一区二区| 亚洲欧美另类久久久精品2019| 国产99久久久国产精品| 精品处破学生在线二十三| 午夜久久久影院| 欧美日韩成人综合| 亚洲一区二区视频在线| 色综合视频在线观看| 中文字幕一区二区5566日韩| 国产成人亚洲综合色影视| 欧美xingq一区二区| 久久国产精品99久久久久久老狼| 欧美精品三级在线观看| 一卡二卡欧美日韩| 欧美日韩国产中文| 亚洲午夜影视影院在线观看| 色哟哟欧美精品| 亚洲人成网站在线| 一本色道久久综合亚洲91|