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

📄 vc3.txt

📁 { OCSP REQUEST*req=NULL if ((req=OCSP一 REQUEST new())一NULL) goto err if (name) /* optional*/ f
💻 TXT
字号:
void CBOcspCIientDIg::OnButon2() //find按钮的响应
{
 MOCSPCiient client;
//与responder连接.
BIO *b=client.mtakcConnect("10.10.10.92","80","/");
/*产生新请求*/
char szp[_MAX_PATH];
GetDlgItemText(IDC_path,szp,_MAX_PATH);
OCSP_REQUEST *req=client.generateNewRequest(szp);
it(req==NULL)
prinif("req is wrong");
print("req=NULL\n");
return ;
}
//发送请求给oc印响应器
OCSP_RESPONSE *resp=client.OCSP_sendreq_bio(b, "/", req);
if(!resp)
{ printf("Get Response failed!");
return;
}
//请求解码并显示查询的证书信息
CEdit*edit2=(CEdit*)GetDlgltem(IDC_EDIT2);
OCSP_BASICRESP *bs=client.parseResponder(resp);
int count=OCSP_resp_count(bs);
if(count<0)
{
edit2->SetWindowText("No certificate!");
return;
}
//。坦示证书信息
OCSP_SINGLERESP*singleResp;
for(int i=0; i<count;i++)
{singleResp=OCSP_resp_get()(bs,i);
int status = singleResp->certStatus->tag;
if(status==V_OCSP_CERTSTATUS_UNKNOWN)
{
edit2->SetWindowText(状态:Wt找不到a书吟);
}if(status==V_OCSP_ERTSTATUS_GOOD)
{ edit2->SetWindowText("状态loft证书状态良好灼;);
}
else if(status=V_OCSP_CERTSTATUS_REVOKED)
{ASN1_GENERALIZEDTIME *revtime=singleResp->certStatus->revoked->revocationTime;
int reason= ASN1_ENUMERATED_get(singleResp->certStatus->revoked->revocationReason);
int generalizedtime_to_str(ASN1_ENERALIZEDTIME *tm, char* buf);
char buf[48];
generalizedtime_to_str(mvtime,buf);
OCSP_CERTID *certid=singleResp->certId;
ASN1_GENERALIZEDTIME* thisupd=singleResp->thisUpdate;
ASN1_GENERALIZEDTIME*nextupd=singleResp->nextUpdate;
//显示撤销时间
char tmp1[128];
sprintf(tmp1,"撤销时间:%s\r\n",buf);
//显示撤销原因
char tmp2[156];
long pos=edit2->GetWindowTextLength();
edit2->SetSel(pos,pos);
char szdesc[128];
switch(reason)
{
case CRL_REASON UNSPECIFIED:
strcpy(szdesc,"AfLX因未指定");
break;
case CRL_REASON_KEY_COMPROMISE:
strcpy(szdesc,"秘钥泄露");
break;
case CRL_CASON_CA_COMPROMISE:
strcpy(szdesc,"CA miss");
break;
case CRL_REASON_AFFILIATION_CHANGED:
strcpy(szdesc,"从属关系改变今");
break;
case CRL_REASON_SUPERSEDED:
strcpy(szdesc,"证书挂起伙");
break;

case CRL_REASON_CESSATION_OF_OPERATION:
strcpy(szdesc,"停止使用");
break;
case CRL_REASON_CETIFICATE_HOLD:
strcPy(szdesc,"证书保留");
break;
default:
strcpy(szdesc,"未知原因");
}
sprintf(tmp2,"撤销原因:%s\r\n",szdesc);
strcat(tmp1,tmp2);
edit2->SetWindowText(tmp1);

}
}
}

⌨️ 快捷键说明

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