⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userfilenamedlg.cpp

📁 运行debug下的cisoca.exe即可。 由于在vc6.0下开发的
💻 CPP
字号:
// UserFileNameDlg.cpp : implementation file
//

#include "stdafx.h"
#include "CisoCA.h"
#include "UserFileNameDlg.h"
#include "UserMakeCertSheet.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

extern  CInfoReport InfoReport;
extern  DWORD dwMoudleID;

/////////////////////////////////////////////////////////////////////////////
// CUserFileNameDlg dialog
IMPLEMENT_DYNCREATE(CUserFileNameDlg, CPropertyPage)

CUserFileNameDlg::CUserFileNameDlg(CWnd* pParent /*=NULL*/)
	: CPropertyPage(CUserFileNameDlg::IDD)
{
	//{{AFX_DATA_INIT(CUserFileNameDlg)
	m_certFileName = _T("");
	m_pvkFileName =  _T("");
	//}}AFX_DATA_INIT
	pSheet = (CPropertySheet*)pParent;
}

void CUserFileNameDlg::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CUserFileNameDlg)
	DDX_Text(pDX, IDC_USER_CERT_FILENAME, m_certFileName);
	DDX_Text(pDX, IDC_USER_PVK_FILENAME, m_pvkFileName);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CUserFileNameDlg, CPropertyPage)
	//{{AFX_MSG_MAP(CUserFileNameDlg)
	ON_WM_SHOWWINDOW()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CUserFileNameDlg message handlers

BOOL CUserFileNameDlg::OnSetActive()
{
	((CUserMakeCertSheet*)pSheet)->SetWizardButtons(PSWIZB_BACK|PSWIZB_FINISH);	
	return CPropertyPage::OnSetActive();
}

BOOL CUserFileNameDlg::OnWizardFinish()
{
	// 检查证书文件名

	((CEdit*)GetDlgItem(IDC_USER_CERT_FILENAME))->GetWindowText(m_certFileName);
	if(m_certFileName.GetLength() > 4)
	{
		CString str="";
		try
		{
			str = m_certFileName.Right(4);
			if(str.CompareNoCase(".crt") == 0 || str.CompareNoCase(".p12") == 0)
			{
				m_certFileName = m_certFileName.Mid(0,m_certFileName.GetLength()-4);
			}
		}
		catch(CMemoryException e)
		{}
	}
	if(m_certFileName.IsEmpty())
	{
		AfxMessageBox("证书的文件名为空,请重新输入!");
		((CUserMakeCertSheet*)pSheet)->SetActivePage(this);
		return FALSE;
	}

	// 检查私钥文件名

	if(((CUserMakeCertSheet*)pSheet)->m_pExtInfo->certFormat == 1)
	{
		
		((CEdit*)GetDlgItem(IDC_USER_PVK_FILENAME))->GetWindowText(m_pvkFileName);
		if(m_pvkFileName.GetLength() > 4)
		{
			CString str="";
			try
			{
				str = m_pvkFileName.Right(4);
				if(str.CompareNoCase(".pem") == 0)
				{
					m_pvkFileName = m_pvkFileName.Mid(0,m_pvkFileName.GetLength()-4);
				}
			}
			catch(CMemoryException e)
			{}
		}
		if(m_pvkFileName.IsEmpty())
		{
			AfxMessageBox("私钥的文件名为空,请重新输入!");
			((CUserMakeCertSheet*)pSheet)->SetActivePage(this);
			return FALSE;
		}
		if(m_certFileName.CompareNoCase(m_pvkFileName) == 0 )
		{
			AfxMessageBox("证书与私钥的文件名重名,请重新输入!");
			((CUserMakeCertSheet*)pSheet)->SetActivePage(this);
			return FALSE;
		}
	}
	return TRUE;
}

BOOL CUserFileNameDlg::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	
	// 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 CUserFileNameDlg::OnShowWindow(BOOL bShow, UINT nStatus) 
{
	CPropertyPage::OnShowWindow(bShow, nStatus);
	CString strCertName;
	CString strKeyName ;
	// TODO: Add your message handler code here
	// p12
	if(((CUserMakeCertSheet*)pSheet)->m_pExtInfo->certFormat == 0)
	{
		strCertName = ((CUserMakeCertSheet*)pSheet)->m_pBaseInfo->m_name
			+"_Cert.p12";
		strKeyName  = "";
		((CEdit*)GetDlgItem(IDC_USER_PVK_FILENAME))->EnableWindow(FALSE);
	}
	else
	{
		strCertName = ((CUserMakeCertSheet*)pSheet)->m_pBaseInfo->m_name
			+"_Cert.crt";
		strKeyName  = ((CUserMakeCertSheet*)pSheet)->m_pBaseInfo->m_name
			+"_Key.pem";
		((CEdit*)GetDlgItem(IDC_USER_PVK_FILENAME))->EnableWindow(TRUE);
	}
	// 	
	((CEdit*)GetDlgItem(IDC_USER_CERT_FILENAME))->SetWindowText(strCertName);
	((CEdit*)GetDlgItem(IDC_USER_PVK_FILENAME))-> SetWindowText(strKeyName );


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -