当前位置: 首页 > news >正文

沈阳网站的建设wordpress media

沈阳网站的建设,wordpress media,广州条友网广告推荐,开县网站制作openssl实现了标准的x509v3数字证书#xff0c;其源码在crypto/x509和crypto/x509v3中。其中x509目录实现了数字证书以及证书申请相关的各种函数#xff0c;包括了X509和X509_REQ结构的设置、读取、打印和比较#xff1b;数字证书的验证、摘要#xff1b;各种公钥的导入导出…openssl实现了标准的x509v3数字证书其源码在crypto/x509和crypto/x509v3中。其中x509目录实现了数字证书以及证书申请相关的各种函数包括了X509和X509_REQ结构的设置、读取、打印和比较数字证书的验证、摘要各种公钥的导入导出等功能。x509v3目录主要实现了数字证书扩展项相关的函数。 在进行身份认证时首先要对发送给服务器进行认证的x509证书有效性进行验证在Openssl中可以用一个API接口可以实现int X509_verify_cert(X509_STORE_CTX *ctx); 接口中形参是X509_STORE_CTXX509证书库上下文类型在X509证书库上下文中存在一个X509证书库和一个待验证的X509证书可以加入信任的证书链也可以加入CRL证书链证书撤销列表~ 对X509证书有效性进行验证可以由以下几个函数来完成~ X509_STORE_CTX *ctx; //证书上下文 X509_STORE *cert_store; //证书库存在证书链 X509* x509; //待验证X509证书 ctx X509_STORE_CTX_new(); X509_STORE_CTX_init(ctx,cert_store,x509,NULL); X509_verify_cert(ctx);//根据返回值可以确认X509证书是否有效也可以根据X509_STORE_CTX_get_error和X509_verify_cert_error_string函数来确认无效原因 示例程序如下 #include stdio.h #include string.h #include stdlib.h#include openssl/evp.h #include openssl/x509.h#define CERT_PATH /home/dengaj/Desktop/openssl #define ROOT_CERT RootCert.crt #define CARD_CERT CardCert.crt #define GET_DEFAULT_CA_CERT(str) sprintf(str, %s/%s, CERT_PATH, ROOT_CERT) #define GET_CUSTOM_CERT(str, path, name) sprintf(str, %s/%s, path, name)#define MAX_LEGTH 4096int my_load_cert(unsigned char *str, unsigned long *str_len,const char *verify_cert, const unsigned int cert_len) {FILE *fp;fp fopen(verify_cert, rb);if ( NULL fp){fprintf(stderr, fopen fail\n);return -1;}*str_len fread(str, 1, cert_len, fp);fclose(fp);return 0; }X509 *der_to_x509(const unsigned char *der_str, unsigned int der_str_len) {X509 *x509;x509 d2i_X509(NULL, der_str, der_str_len);if ( NULL x509 ){fprintf(stderr, d2i_X509 fail\n);return NULL;}return x509; } int x509_verify() {int ret;char cert[MAX_LEGTH];unsigned char user_der[MAX_LEGTH];unsigned long user_der_len;X509 *user NULL;unsigned char ca_der[MAX_LEGTH];unsigned long ca_der_len;X509 *ca NULL;X509_STORE *ca_store NULL;X509_STORE_CTX *ctx NULL;STACK_OF(X509) *ca_stack NULL;/* x509初始化 */ca_store X509_STORE_new();ctx X509_STORE_CTX_new();/* root ca*/GET_DEFAULT_CA_CERT(cert);/* 从文件中读取 */my_load_cert(ca_der, ca_der_len, cert, MAX_LEGTH);/* DER编码转X509结构 */ca der_to_x509(ca_der, ca_der_len);/* 加入证书存储区 */ret X509_STORE_add_cert(ca_store, ca);if ( ret ! 1 ){fprintf(stderr, X509_STORE_add_cert fail, ret %d\n, ret);goto EXIT;}/* 需要校验的证书 */GET_CUSTOM_CERT(cert, CERT_PATH, CARD_CERT);my_load_cert(user_der, user_der_len, cert, MAX_LEGTH);user der_to_x509(user_der, user_der_len);ret X509_STORE_CTX_init(ctx, ca_store, user, ca_stack);if ( ret ! 1 ){fprintf(stderr, X509_STORE_CTX_init fail, ret %d\n, ret);goto EXIT;}//openssl-1.0.1c/crypto/x509/x509_vfy.hret X509_verify_cert(ctx);if ( ret ! 1 ){fprintf(stderr, X509_verify_cert fail, ret %d, error id %d, %s\n,ret, ctx-error, X509_verify_cert_error_string(ctx-error));goto EXIT;}fprintf(stdout, X509_verify_cert successful\n); EXIT:X509_free(user);X509_free(ca);X509_STORE_CTX_cleanup(ctx);X509_STORE_CTX_free(ctx);X509_STORE_free(ca_store);return ret 1 ? 0 : -1; }int main() {OpenSSL_add_all_algorithms();x509_verify();return 0; } 第二种方法使用 int X509_verify(X509 * x509, EVP_PKEY * pkey); X509 * root;X509 * mycert;//Get root certificate into root //Get mycert into mycert.//Get the public key. EVP_PKEY * pubkey X509_get_pubkey(root);//verify. result less than or 0 means not verified or some error. int result X509_verify(mycert, pubkey);//free the public key. EVP_PKEY_free(pubkey);
http://www.huolong8.cn/news/85192/

相关文章:

  • 怎么做网站流量统计百度广告 网站域名 已验证
  • 重庆住建网站惠州网站制作哪里好
  • 网站建设项目验收报告书移动网站建设是什么
  • 自己有一个域名怎么做网站如何在百度发布信息推广
  • 怎样建立公司的网站揭阳网站建设维护
  • 青岛做网站优化哪家好高端的环保行业网站开发
  • 河北网站制作多少钱互联网做网站的话术
  • 无锡网站建设 app 微信婚纱摄影网站应该如何做优化
  • 简单大气网站模板怎么制作网站栏目页主页
  • 网站设计与网页制作模板莞城区小程序app网站开发
  • 个人网站备案可以盈利吗管理咨询公司经营范围有哪些
  • 网站开发标书范本今天中美关系最新消息
  • 慈溪网站制作哪家最便宜网站建设选择服务器
  • 简历在线制作网站少儿编程加盟机构
  • 校园服装网站建设演示文稿怎么恢复网站数据库文件位置
  • 凡科网站可以做淘宝客吗做网站都需要准备什么软件
  • 建设项目从哪个网站可以查服务器有哪些
  • 网站制作 网站北京网站建设课程培训班
  • 做网站地图的步骤做游戏代练的网站
  • 根据网站集约化建设要求wordpress删除的菜单找回
  • 成都企业如何建网站led的网站建设
  • 阜阳公司网站建设网站有了订单邮箱提醒代码
  • 百度网站大全旧版福利窝又一个wordpress
  • 广州排名网站关键词优化國家建设协会官方网站
  • 网站建设与运营的课程标准襄阳微网站建设
  • 网页设计与网站建设docx怎样进WordPress
  • 网站关键词优化推广哪家好北京企业网站seo平台
  • 手机网站建站公司有哪些前端开发工资
  • 做时间轴的在线网站手机wap网站 设计
  • 手游传奇新开服网站seo百度首页排名业务