云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > PKI - 实验三 - 版本一

PKI - 实验三 - 版本一

  • 62 次阅读
  • 3 次下载
  • 2025/5/25 21:17:57

} if(file_type==USER_CA&&userCA){ } if(file_type==CRL&&crl){ } der_buffer_len=fread(der_buffer,1,MAX_CERT_LEN,fp); Der2X509(der_buffer,der_buffer_len,file_type); fclose(fp); return 0; Reset(CRL); Reset(USER_CA); int CertVerfier::Verify(){ } constchar* CertVerfier::Get_error_str(){ } constchar* CertVerfier::Get_CA_information(int file_type,int information_type,bool is_issuer_info){ X509 *CA; X509_NAME *issuer_or_subject=NULL; int entriesNum; if(ctx) return X509_verify_cert_error_string(ctx->error); } else return -1; if(!ctx){ } return X509_verify_cert(ctx); ctx=X509_STORE_CTX_new(); X509_STORE_CTX_init(ctx,rootCAstore,userCA,CAstack); if(rootCA&&userCA&&crl){ if(!rootCAstore){ } rootCAstore=X509_STORE_new(); X509_STORE_add_cert(rootCAstore,rootCA); X509_STORE_set_flags(rootCAstore,X509_V_FLAG_CRL_CHECK); X509_STORE_add_crl(rootCAstore,crl); X509_NAME_ENTRY *name_entry; ASN1_INTEGER *Serial = NULL; ASN1_TIME *time; EVP_PKEY *pubKey; int Version; int NID; unsignedchar derpubkey[1024],*Ptr; int derpubkeyLen; int msginfoLen; LPWSTR pUtf8 = NULL; int nUtf8; int rv; int i; char*msginfo_temp; switch(file_type){ case ROOT_CA: } switch(information_type){ case CA_VERSION: Version=X509_get_version(CA); itoa(Version,msginfo,10); return msginfo; Serial=X509_get_serialNumber(CA); for(msginfo_temp=msginfo,i=0; ilength; i++,msginfo_temp+=2){ } *(msginfo_temp+1)='\\0'; return msginfo; time=X509_get_notBefore(CA); itoa(Serial->data[i],msginfo_temp,16); if(Serial->data[i]<16){ } *(msginfo_temp+1)=*msginfo_temp; *msginfo_temp='0'; CA=rootCA; break; CA=userCA; break; return NULL; case USER_CA: default: case CA_SERIAL_NUMBER: case CA_NOT_BEFORE: } for(i=0;time->data[i]!='\\0';i++){ } msginfo[i]='\\0'; return msginfo; time=X509_get_notAfter(CA); for(i=0;time->data[i]!='\\0';i++){ } msginfo[i]='\\0'; return msginfo; pubKey=X509_get_pubkey(CA); Ptr=derpubkey; derpubkeyLen=i2d_PublicKey(pubKey,&Ptr); for(msginfo_temp=msginfo,i=0;idata[i]; msginfo[i]=time->data[i]; case CA_NOT_AFTER: case CA_PUBLIC_KEY: switch(is_issuer_info){ casefalse: issuer_or_subject = X509_get_subject_name(CA); if(!(name_entry=sk_X509_NAME_ENTRY_value(issuer_or_subject->entries,0))){ } NID=OBJ_obj2nid(name_entry->object); break; issuer_or_subject=X509_get_issuer_name(CA); if(!(name_entry=sk_X509_NAME_ENTRY_value(issuer_or_subject->entries,0))){ } NID=OBJ_obj2nid(name_entry->object); strcpy(msginfo,\); return msginfo; strcpy(msginfo,\); return msginfo; casetrue: } break; for(i=0;NID!=information_type;i++){ } if(!(name_entry=sk_X509_NAME_ENTRY_value(issuer_or_subject->entries,i))){ } NID=OBJ_obj2nid(name_entry->object); strcpy(msginfo,\); return msginfo; if(name_entry->value->type==V_ASN1_UTF8STRING){ } else { msginfoLen=name_entry->value->length; nUtf8 = 2*name_entry->value->length; pUtf8 = (LPWSTR)malloc(nUtf8); memset(pUtf8,0,nUtf8); rv = MultiByteToWideChar( CP_UTF8, 0, (char*)name_entry->value->data, name_entry->value->length, pUtf8, nUtf8); CP_ACP, 0, pUtf8, rv, (char*)msginfo, nUtf8, NULL, NULL); rv = WideCharToMultiByte( free(pUtf8); pUtf8 = NULL; msginfoLen = rv; msginfo[msginfoLen]='\\0';

搜索更多关于: PKI - 实验三 - 版本一 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

} if(file_type==USER_CA&&userCA){ } if(file_type==CRL&&crl){ } der_buffer_len=fread(der_buffer,1,MAX_CERT_LEN,fp); Der2X509(der_buffer,der_buffer_len,file_type); fclose(fp); return 0; Reset(CRL); Reset(USER_CA); int CertVerfier::Verify(){ } constchar* CertVerfier::Get_error_str(){ } constchar* CertVerfier::Get_CA_information(int file_type,int information_typ

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com