📄 certextpage.cpp
字号:
// SetDlgItemText(IDC_EDIT_KEY, m_key); //复原原选择
GetDlgItem(IDC_STATIC_EXT8)->EnableWindow(1);
GetDlgItem(IDC_EDIT_KEY)->EnableWindow(0);
GetDlgItem(IDC_STATIC_EXT9)->EnableWindow(0);
SetDlgItemText(IDC_B_OK,MiniCT_0718);//MiniCT_0719
}
else//P7合并
{
GetDlgItem(IDC_EXT_CHECK1)->EnableWindow(1);
GetDlgItem(IDC_EDIT_P12)->EnableWindow(1);
SetDlgItemText(IDC_STATIC_EXT8,MiniCT_0719);//MiniCT_0719 "选择公钥:"
m_XpEditP12.SetCaption(MiniCT_0734);//MiniCT_0734 "选择公钥证书文件(可多选)"
m_XpEditP12.SetFilter(MiniCT_0721);//MiniCT_0721 "公钥文件(*.der;*.cer;*.crt;*.pem)|*.der;*.cer;*.crt;*.pem|所有文件(*.*)|*.*||"
SetDlgItemText(IDC_STATIC_EXT9,MiniCT_0731);//MiniCT_0731 "选择CRL:"
m_XpEditKey.SetCaption(MiniCT_0732);//MiniCT_0732 "选择黑名单文件"
m_XpEditKey.SetFilter(MiniCT_0733);//MiniCT_0733 "黑名单(*.crl)|*.crl|所有文件(*.*)|*.*||"
GetDlgItem(IDC_STATIC_DEC)->EnableWindow(0);
GetDlgItem(IDC_STATIC_ENC)->EnableWindow(0);
GetDlgItem(IDC_EDIT_PASSWORD)->EnableWindow(0);
GetDlgItem(IDC_EDIT_PASSWORD2)->EnableWindow(0);
SetDlgItemText(IDC_EDIT_P12, m_cert); //复原原选择
SetDlgItemText(IDC_EDIT_KEY, m_key); //复原原选择
GetDlgItem(IDC_STATIC_EXT8)->EnableWindow(1);
GetDlgItem(IDC_EDIT_KEY)->EnableWindow(1);
GetDlgItem(IDC_STATIC_EXT9)->EnableWindow(1);
SetDlgItemText(IDC_B_OK,MiniCT_0724);//MiniCT_0724 "合并证书"
}
}
void CCertExtPage::OnRParse() //提取证书操作
{
// TODO: Add your control notification handler code here
m_TypeP12=0;
SetCheck();
}
void CCertExtPage::OnRCreate() //合并证书操作
{
// TODO: Add your control notification handler code here
m_TypeP12=1;
SetCheck();
}
void CCertExtPage::OnRChangep() //修改密钥操作
{
// TODO: Add your control notification handler code here
m_TypeP12=2;
SetCheck();
}
void CCertExtPage::OnRParse2() //P7证书提取
{
// TODO: Add your control notification handler code here
m_TypeP12=3;
SetCheck();
}
void CCertExtPage::OnRCreate2() //合并证书到P7
{
// TODO: Add your control notification handler code here
m_TypeP12 = 4;
SetCheck();
}
void CCertExtPage::OnRadioDertopem() //TO->PEM
{
// TODO: Add your control notification handler code here
m_TypeCert = 0;
SetDlgItemText(IDC_STATIC_EXT10,MiniCT_0735);//MiniCT_0735 "选择证书:"
SetDlgItemText(IDC_STATIC_EXT11,MiniCT_0736);//MiniCT_0736 "输出PEM:"
m_XpEditInfile.SetCaption(MiniCT_0747);//MiniCT_0747 "选择证书文件"
m_XpEditInfile.SetFilter(MiniCT_0748);//MiniCT_0748 "证书文件(*.der;*.cer;*.crt;*.pem)|*.der;*.cer;*.crt;*.pem|所有文件(*.*)|*.*||"
m_XpEditOutfile.SetCaption(MiniCT_0749);//MiniCT_0749 "选择要保存的证书文件"
m_XpEditOutfile.SetFilter(MiniCT_0748);//MiniCT_0748 "证书文件(*.der;*.cer;*.crt;*.pem)|*.der;*.cer;*.crt;*.pem|所有文件(*.*)|*.*||"
GetDlgItem(IDC_EDIT_OUTFILE)->EnableWindow(1);
GetDlgItem(IDC_STATIC_EXT11)->EnableWindow(1);
GetDlgItem(IDC_EDIT_PASSWORD3)->EnableWindow(1);
GetDlgItem(IDC_EDIT_PASSWORD4)->EnableWindow(1);
}
void CCertExtPage::OnRadioPemtoder() //->DER
{
// TODO: Add your control notification handler code here
m_TypeCert = 1;
SetDlgItemText(IDC_STATIC_EXT10,MiniCT_0735);//MiniCT_0735 "选择证书:"
SetDlgItemText(IDC_STATIC_EXT11,MiniCT_0737);//MiniCT_0737 "输出DER:"
m_XpEditInfile.SetCaption(MiniCT_0747);//MiniCT_0747 "选择证书文件"
m_XpEditInfile.SetFilter(MiniCT_0748);//MiniCT_0748 "证书文件(*.der;*.cer;*.crt;*.pem)|*.der;*.cer;*.crt;*.pem|所有文件(*.*)|*.*||"
m_XpEditOutfile.SetCaption(MiniCT_0749);//MiniCT_0749 "选择要保存的证书文件"
m_XpEditOutfile.SetFilter(MiniCT_0748);//MiniCT_0748 "证书文件(*.der;*.cer;*.crt;*.pem)|*.der;*.cer;*.crt;*.pem|所有文件(*.*)|*.*||"
GetDlgItem(IDC_EDIT_OUTFILE)->EnableWindow(1);
GetDlgItem(IDC_STATIC_EXT11)->EnableWindow(1);
GetDlgItem(IDC_EDIT_PASSWORD3)->EnableWindow(1);
GetDlgItem(IDC_EDIT_PASSWORD4)->EnableWindow(1);
}
void CCertExtPage::OnRadioRootch() //ROOT CHECK
{
// TODO: Add your control notification handler code here
m_TypeCert = 2;
SetDlgItemText(IDC_STATIC_EXT10,MiniCT_0719);//MiniCT_0719 "选择公钥:"
SetDlgItemText(IDC_STATIC_EXT11,MiniCT_0738);//MiniCT_0738 "选择ROOT:"
m_XpEditInfile.SetCaption(MiniCT_0720);//MiniCT_0720
m_XpEditInfile.SetFilter(MiniCT_0721);//MiniCT_0721
m_XpEditOutfile.SetCaption(MiniCT_0750);//MiniCT_0750 "选择根证书公钥文件"
m_XpEditOutfile.SetFilter(MiniCT_0751);//MiniCT_0751 "根证书文件(*.der;*.cer;*.crt;*.pem)|*.der;*.cer;*.crt;*.pem|所有文件(*.*)|*.*||"
GetDlgItem(IDC_EDIT_OUTFILE)->EnableWindow(1);
GetDlgItem(IDC_STATIC_EXT11)->EnableWindow(1);
GetDlgItem(IDC_EDIT_PASSWORD3)->EnableWindow(0);
GetDlgItem(IDC_EDIT_PASSWORD4)->EnableWindow(0);
}
void CCertExtPage::OnRadioCrlch() //CRL CHECK
{
// TODO: Add your control notification handler code here
m_TypeCert = 3;
SetDlgItemText(IDC_STATIC_EXT10,MiniCT_0719);//MiniCT_0719 "选择公钥:"
SetDlgItemText(IDC_STATIC_EXT11,MiniCT_0731);//MiniCT_0731 "选择CRL:"
m_XpEditInfile.SetCaption(MiniCT_0720);//MiniCT_0720
m_XpEditInfile.SetFilter(MiniCT_0721);//MiniCT_0721
m_XpEditOutfile.SetCaption(MiniCT_0732);//MiniCT_0732
m_XpEditOutfile.SetFilter(MiniCT_0733);//MiniCT_0733
GetDlgItem(IDC_EDIT_OUTFILE)->EnableWindow(1);
GetDlgItem(IDC_STATIC_EXT11)->EnableWindow(1);
GetDlgItem(IDC_EDIT_PASSWORD3)->EnableWindow(0);
GetDlgItem(IDC_EDIT_PASSWORD4)->EnableWindow(0);
}
void CCertExtPage::OnRadioTiemch() //TIME CHECK
{
// TODO: Add your control notification handler code here
m_TypeCert = 4;
SetDlgItemText(IDC_STATIC_EXT10,MiniCT_0719);//MiniCT_0719 "选择公钥:"
m_XpEditInfile.SetCaption(MiniCT_0720);//MiniCT_0720
m_XpEditInfile.SetFilter(MiniCT_0721);//MiniCT_0721
GetDlgItem(IDC_EDIT_OUTFILE)->EnableWindow(0);
GetDlgItem(IDC_STATIC_EXT11)->EnableWindow(0);
GetDlgItem(IDC_EDIT_PASSWORD3)->EnableWindow(0);
GetDlgItem(IDC_EDIT_PASSWORD4)->EnableWindow(0);
}
void CCertExtPage::OnRadioKeypairch() //KEY PARI CHECK
{
// TODO: Add your control notification handler code here
m_TypeCert = 5;
SetDlgItemText(IDC_STATIC_EXT10,MiniCT_0719);//MiniCT_0719 "选择公钥:"
SetDlgItemText(IDC_STATIC_EXT11,MiniCT_0713);//MiniCT_0713 "选择私钥:"
m_XpEditInfile.SetCaption(MiniCT_0720);//MiniCT_0720
m_XpEditInfile.SetFilter(MiniCT_0721);//MiniCT_0721
m_XpEditOutfile.SetCaption(MiniCT_0714);//MiniCT_0714
m_XpEditOutfile.SetFilter(MiniCT_0715);//MiniCT_0715
GetDlgItem(IDC_EDIT_OUTFILE)->EnableWindow(1);
GetDlgItem(IDC_STATIC_EXT11)->EnableWindow(1);
GetDlgItem(IDC_EDIT_PASSWORD3)->EnableWindow(1);
GetDlgItem(IDC_EDIT_PASSWORD4)->EnableWindow(0);
}
void CCertExtPage::OnBOk2()
{
// TODO: Add your control notification handler code here
//获得输入文件和输出文件
CString infile,outfile;
char out[100]={0};
GetDlgItemText(IDC_EDIT_INFILE,infile);
GetDlgItemText(IDC_EDIT_OUTFILE,outfile);
CString strPwdEnc,strPwdDec;//加密密钥,和解密密钥
GetDlgItemText(IDC_EDIT_PASSWORD3,strPwdDec);
GetDlgItemText(IDC_EDIT_PASSWORD4,strPwdEnc);
if(m_TypeCert == 0)//der -> pem
{
if(infile=="")
{
AddMsg(MiniCT_0739,M_WARING);//MiniCT_0739 "没有选择证书文件"
return;
}
if(outfile=="")
{
AddMsg(MiniCT_0740,M_WARING);//MiniCT_0740 "没有指定PEM文件"
return;
}
if(CertFormatConver(infile.GetBuffer(0),0,strPwdDec.GetBuffer(0),
outfile.GetBuffer(0),0,strPwdEnc.GetBuffer(0),PEM,out))
AddMsg(out);
else
AddMsg(out,M_ERROR);
}
else if(m_TypeCert == 1) //pem -> der
{
if(infile=="")
{
AddMsg(MiniCT_0739,M_WARING);//MiniCT_0739 "没有选择证书文件"
return;
}
if(outfile=="")
{
AddMsg(MiniCT_0741,M_WARING);//MiniCT_0741 "没有指定DER文件"
return;
}
if(CertFormatConver(infile.GetBuffer(0),0,strPwdDec.GetBuffer(0),
outfile.GetBuffer(0),0,strPwdEnc.GetBuffer(0),DER,out))
AddMsg(out);
else
AddMsg(out,M_ERROR);
}
else if(m_TypeCert == 2)
{
if(infile=="")
{
AddMsg(MiniCT_0739,M_WARING);//MiniCT_0739 "没有选择证书文件"
return;
}
if(outfile=="")
{
AddMsg(MiniCT_0742,M_WARING);//MiniCT_0742 "没有选择根证书文件"
return;
}
if(CheckCertWithRoot(infile.GetBuffer(0),0,outfile.GetBuffer(0),0,out))
{
AddMsg(out);
}
else
{
AddMsg(out,M_ERROR);
}
}
else if(m_TypeCert == 3)
{
if(infile=="")
{
AddMsg(MiniCT_0743,M_WARING);//MiniCT_0743 "没有选择公钥文件"
return;
}
if(outfile=="")
{
AddMsg(MiniCT_0744,M_WARING);//MiniCT_0744 "没有选择黑名单文件"
return;
}
if(CheckCertWithCrl(infile.GetBuffer(0),0,outfile.GetBuffer(0),0,out))
{
AddMsg(out);
}
else
{
AddMsg(out,M_ERROR);
}
}
else if(m_TypeCert == 4)
{
if(infile=="")
{
AddMsg(MiniCT_0743,M_WARING);//MiniCT_0743 "没有选择公钥文件"
return;
}
if(CheckCertLife(infile.GetBuffer(0),0,out))
{
AddMsg(out);
}
else
{
AddMsg(out,M_ERROR);
}
}
else if(m_TypeCert == 5)
{
if(infile=="")
{
AddMsg(MiniCT_0743,M_WARING);//MiniCT_0743 "没有选择公钥文件"
return;
}
if(outfile=="")
{
AddMsg(MiniCT_0745,M_WARING);//MiniCT_0745 "没有选择私钥文件"
return;
}
BOOL bCheck = CertPairCheck(infile.GetBuffer(0),outfile.GetBuffer(0),out,strPwdDec.GetBuffer(0));
infile.ReleaseBuffer();
outfile.ReleaseBuffer();
strPwdDec.ReleaseBuffer();
if(bCheck)
AddMsg(MiniCT_0746);//MiniCT_0746 "公私钥对匹配"
else
AddMsg(out,M_ERROR);
}
}
BOOL CCertExtPage::PreTranslateMessage(MSG* pMsg)
{
// CG: The following block was added by the ToolTips component. { // Let the ToolTip process this message. m_toolTip.RelayEvent(pMsg); } return CPropertyPage::PreTranslateMessage(pMsg); // CG: This was added by the ToolTips component.
}
void CCertExtPage::AddMsg(CString info, DWORD type)
{
((CMiniMainDlg *)GetParent())->AddMsg("数证辅助",info, type); //MiniCT_0001
}
void CCertExtPage::OnCheck1()
{
// TODO: Add your control notification handler code here
int check=((CButton *)GetDlgItem(IDC_EXT_CHECK1))->GetCheck();
if(check)
{
m_CertFormat = DER;
}
else
{
m_CertFormat = PEM;
}
}
void CCertExtPage::TranslateCT()
{
SetDlgItemText(IDC_STATIC_EXT1, MiniCT_11201);
SetDlgItemText(IDC_STATIC_EXT2, MiniCT_11202);
SetDlgItemText(IDC_STATIC_EXT3, MiniCT_11203);
SetDlgItemText(IDC_STATIC_EXT4, MiniCT_11204);
SetDlgItemText(IDC_STATIC_EXT5, MiniCT_11205);
SetDlgItemText(IDC_STATIC_EXT6, MiniCT_11206);
SetDlgItemText(IDC_STATIC_EXT7, MiniCT_11207);
SetDlgItemText(IDC_STATIC_EXT8, MiniCT_11208);
SetDlgItemText(IDC_STATIC_EXT9, MiniCT_11209);
SetDlgItemText(IDC_STATIC_EXT10, MiniCT_11210);
SetDlgItemText(IDC_STATIC_EXT11, MiniCT_11211);
SetDlgItemText(IDC_STATIC_DEC, MiniCT_11212);
SetDlgItemText(IDC_STATIC_ENC, MiniCT_11213);
SetDlgItemText(IDC_STATIC_DEC2, MiniCT_11214);
SetDlgItemText(IDC_STATIC_ENC2, MiniCT_11215);
SetDlgItemText(IDC_R_PARSE, MiniCT_11216);
SetDlgItemText(IDC_R_CREATE, MiniCT_11217);
SetDlgItemText(IDC_R_CHANGEP, MiniCT_11218);
SetDlgItemText(IDC_B_OK, MiniCT_11219);
SetDlgItemText(IDC_RADIO_DERTOPEM, MiniCT_11220);
SetDlgItemText(IDC_RADIO_PEMTODER, MiniCT_11221);
SetDlgItemText(IDC_RADIO_CRLCH, MiniCT_11222);
SetDlgItemText(IDC_RADIO_ROOTCH, MiniCT_11223);
SetDlgItemText(IDC_RADIO_KEYPAIRCH, MiniCT_11224);
SetDlgItemText(IDC_RADIO_TIEMCH, MiniCT_11225);
SetDlgItemText(IDC_B_OK2, MiniCT_11226);
SetDlgItemText(IDC_EXT_CHECK1, MiniCT_11227);
SetDlgItemText(IDC_R_PARSE2, MiniCT_11228);
SetDlgItemText(IDC_R_CREATE2, MiniCT_11229);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -