亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main2.c

?? 加解密包
?? C
字號:
#include "config.h"#include <stdio.h>#ifdef HAVE_STRINGS_H#include <strings.h>#endif#ifdef HAVE_STRING_H#include <string.h>#endif#include <stdlib.h>#ifdef HAVE_HW_PKCS11_H#include "hw_pkcs11.h"#endif#include "EDtk.h"void usage() {  fprintf(stderr,"Usage:\n""\tEDtk2 verify CERT CA\n""\tEDtk2 enc [-o OUT.DATA] IN.DATA CERT1 CERT2 ...\n""\tEDtk2 enc-sign [-p pass] [-o OUT.DATA] IN.DATA PKEY SIGNCERT CERT1 CERT2 ...\n""\tEDtk2 dec [-p pass] [-o OUT.DATA] IN.DATA PKEY SIGNCERT\n""\tEDtk2 srvr port [cert.pem] [key.pem] [pass]\n""\tEDtk2 clnt HOST port [cert.pem] [key.pem] [pass]\n""\tEDtk2 info IN.DATA\n"          );  exit(1);}int main(int argc, char *argv[]){  int ret=0;  char buf[1024];  if (argc<2) { usage(); }  EDtkInit();#ifdef HAVE_HW_PKCS11_H  ENGINE_load_slbck();#endif  if (!strcmp(argv[1],"verify") && argc>3) {    char *subject=NULL;    struct X509_crl_st *crl=NULL;    struct x509_st * cert=NULL;    struct x509_st * ca=NULL;#ifdef HAVE_HW_PKCS11_H      if(!cert) cert=PKCS11_load_certificate(argv[2]);#endif    if (!cert)cert=EDtkLoadCertificateFile(argv[2]);    if (!cert) {      fprintf(stderr, "%s is not a certificate\n",argv[2]);      ret=1;      goto done;    }#ifdef HAVE_HW_PKCS11_H    if(!ca) ca=PKCS11_load_certificate(argv[3]);#endif    if (!ca) ca=EDtkLoadCertificateFile(argv[3]);    if (!ca) {      fprintf(stderr, "%s is not a certificate\n",argv[3]);      ret=1;      goto done;    }    if (argc>4) {      crl=EDtkLoadCRLFile(argv[4]);      if (!crl) {        fprintf(stderr, "%s is not a CRL\n",argv[4]);        ret=1;        goto done;      }    }    subject=EDtkCertificateSubject(cert);    if (EDtkCertificateVerifyCRL(cert,ca,crl)==0) {      EDtk_print_errors_fp(stderr);      fprintf(stderr,"%s is fake!\n",subject);      ret=1;    } else {      printf("%s is signed!\n",subject);    }done:    EDtkFree(subject);    EDtkFreeCertificate(cert);    EDtkFreeCertificate(ca);    EDtkFreeCRL(crl);  } else if (!strcmp(argv[1],"enc") && argc>3) {    int i;    struct x509_st * cert=NULL;    struct stack_st * certs=NULL;    char buf[256];    char *out;    if (!strcmp(argv[2],"-o")) {      out=argv[3];      argc-=2;      argv+=2;    }else {      sprintf(buf,"%s.p7m",argv[2]);      out=buf;    }    certs=EDtkNewStack();    for (i=3; i<argc;i++) {      cert=NULL;#ifdef HAVE_HW_PKCS11_H      if(!cert) cert=PKCS11_load_certificate(argv[i]);#endif      if(!cert) cert=EDtkLoadCertificateFile(argv[i]);      if (!cert) {        fprintf(stderr,"%s is not a certificate\n",argv[i]);        goto done1;      }      EDtkAddCertificate(certs,cert);    }    if (EDtkFileEncrypt(argv[2],out,NULL,NULL,certs,NULL)) {      ret=1;    } else {      EDtk_print_errors_fp(stderr);      fprintf(stderr,"Error in encrypt\n");    }  done1:    EDtkFreeStack(certs);  } else if (!strcmp(argv[1],"enc-sign") && argc>5) {    int i;    struct x509_st * cert=NULL;    struct stack_st * certs=NULL;    struct evp_pkey_st *pkey=NULL;    struct x509_st *signer=NULL;    char buf[256];    char *out;    char *pass=NULL;    if (!strcmp(argv[2],"-p")) {      pass=argv[3];      argc-=2;      argv+=2;    }    if (!strcmp(argv[2],"-o")) {      out=argv[3];      argc-=2;      argv+=2;    }else {      sprintf(buf,"%s.p7m",argv[2]);      out=buf;    }    if (argc<=5) {      goto err;    }#ifdef HAVE_HW_PKCS11_H    if(!pkey) pkey=PKCS11_load_privatekey(argv[3]);#endif    if(!pkey) pkey=EDtkLoadPrivateKeyFile(argv[3],pass);    if (!pkey) {      fprintf(stderr,"%s is not a private key\n",argv[3]);      goto done2;    }    #ifdef HAVE_HW_PKCS11_H    if(!signer) signer=PKCS11_load_certificate(argv[4]);#endif    if (!signer) signer=EDtkLoadCertificateFile(argv[4]);    if (!signer) {      fprintf(stderr,"%s is not a certificate\n",argv[4]);      goto done2;    }    certs=EDtkNewStack();    for (i=5; i<argc;i++) {      cert=NULL;#ifdef HAVE_HW_PKCS11_H      if(!cert) cert=PKCS11_load_certificate(argv[i]);#endif      if(!cert) cert=EDtkLoadCertificateFile(argv[i]);      if (!cert) {         EDtk_print_errors_fp(stderr);        fprintf(stderr,"%s is not a certificate\n",argv[i]);        goto done2;      }      EDtkAddCertificate(certs,cert);    }    if (EDtkFileEncrypt(argv[2],out,pkey,signer,certs,NULL)) {      ret=1;    } else {      EDtk_print_errors_fp(stderr);      fprintf(stderr,"Error in encrypt\n");    }  done2:    EDtkFreeStack(certs);    EDtkFreeCertificate(signer);    EDtkFreePrivateKey(pkey);  } else if (!strcmp(argv[1],"dec") && argc>4) {    struct evp_pkey_st *pkey=NULL;    struct x509_st *cert=NULL;    char buf[256];    char *out;    char *pass=NULL;    if (!strcmp(argv[2],"-p")) {      pass=argv[3];      argc-=2;      argv+=2;    }    if (!strcmp(argv[2],"-o")) {      out=argv[3];      argc-=2;      argv+=2;    }else {      sprintf(buf,"%s.out",argv[2]);      out=buf;    }    if (argc<=4) {      goto err;    }#ifdef HAVE_HW_PKCS11_H    if(!pkey) pkey=PKCS11_load_privatekey(argv[3]);#endif    if(!pkey) pkey=EDtkLoadPrivateKeyFile(argv[3],pass);    if (!pkey) {      EDtk_print_errors_fp(stderr);      fprintf(stderr,"%s is not a private key\n",argv[3]);      goto done4;    }    #ifdef HAVE_HW_PKCS11_H    if(!cert) cert=PKCS11_load_certificate(argv[4]);#endif    if (!cert) cert=EDtkLoadCertificateFile(argv[4]);    if (!cert) {      EDtk_print_errors_fp(stderr);      fprintf(stderr,"%s is not a certificate\n",argv[4]);      goto done4;    }    if (EDtkFileDecrypt(argv[2],out,pkey,cert)) {      ret=1;    } else {      EDtk_print_errors_fp(stderr);      fprintf(stderr,"Error in encrypt\n");    }  done4:    EDtkFreeCertificate(cert);    EDtkFreePrivateKey(pkey);  } else if (!strcmp(argv[1],"info") && argc>2) {    EDtkFileInfo(argv[2]);  } else if (!strcmp(argv[1],"clnt") && argc>3) {    struct evp_pkey_st *pkey=NULL;    struct x509_st * cert=NULL;    EDtkSSL *e;    int port=atoi(argv[3]);    if (argc>6) {      pkey=EDtkLoadPrivateKeyFile(argv[5],argv[6]);      cert=EDtkLoadCertificateFile(argv[4]);    }    e=EDtkSSLnew(cert,pkey,NULL,NULL);    if (!e) return 1;    EDtkSSLconnect(e, argv[2],port);    EDtkSSLread(e,buf,14);    buf[14]=0;    printf("%s\n",buf);    EDtkSSLwrite(e,"Hello, world!\n",14);    EDtkSSLclose(e);    ret=1;  } else if (!strcmp(argv[1],"srvr") && argc>5) {    struct evp_pkey_st *pkey=NULL;    struct x509_st * cert=NULL;    EDtkSSL *e;    EDtkSSL *v;    int port=atoi(argv[2]);    if (argc>5) {      pkey=EDtkLoadPrivateKeyFile(argv[4],argv[5]);      cert=EDtkLoadCertificateFile(argv[3]);    } else {      printf("No certificate\n");    }    e=EDtkSSLnew(cert,pkey,NULL,NULL);    v=EDtkSSLnew(NULL,NULL,NULL,NULL);    if (!e) return 1;    EDtkSSLbind(e, port);    while (EDtkSSLaccept(e,v)) {      EDtkSSLwrite(v,"Hello, world!\n",14);      EDtkSSLread(v,buf,14);      buf[14]=0;      printf("%s\n",buf);      EDtkSSLclose(v);    }    EDtkSSLclose(e);    ret=1;  } else {  err:    usage();  }  EDtkFinish();  return !ret;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久88色综合天天6| 欧美男男青年gay1069videost | 成人性生交大片免费看在线播放| 99久久精品久久久久久清纯| 欧美一区二区三区日韩视频| 综合欧美一区二区三区| 麻豆高清免费国产一区| 在线亚洲高清视频| 中文子幕无线码一区tr| 美女网站色91| 在线亚洲精品福利网址导航| 国产精品私人自拍| 久草中文综合在线| 欧美日韩你懂的| 成人欧美一区二区三区1314 | 91精品久久久久久久91蜜桃| 一区二区三区在线免费观看| 成人久久18免费网站麻豆| 欧美成人精品高清在线播放| 一区二区三区免费| 99在线热播精品免费| 久久色.com| 国产一区二区三区av电影 | 91色婷婷久久久久合中文| www国产精品av| 久久aⅴ国产欧美74aaa| 欧美高清dvd| 亚洲一区二区三区中文字幕| 99久久精品国产一区二区三区| 久久精品一区八戒影视| 久久99国内精品| 欧美一区二区免费视频| 青青青爽久久午夜综合久久午夜| 欧美丝袜第三区| 亚洲国产毛片aaaaa无费看| 色综合久久久久久久久| 亚洲三级电影网站| 欧美性做爰猛烈叫床潮| 国产精品女同一区二区三区| 成人h动漫精品一区二区| 国产午夜精品一区二区三区视频| 韩国欧美国产一区| 26uuu国产在线精品一区二区| 国产在线播放一区| 久久丝袜美腿综合| 国产91在线观看| 国产精品久久毛片a| av激情亚洲男人天堂| 亚洲视频免费看| 欧美视频一区在线观看| 亚洲成人黄色小说| 日韩欧美的一区| 国产sm精品调教视频网站| 国产欧美日韩另类一区| 99精品国产99久久久久久白柏| 自拍偷拍欧美激情| 欧美日韩高清不卡| 麻豆成人91精品二区三区| 精品国产伦理网| 北岛玲一区二区三区四区| 亚洲精品国产无套在线观| 欧美日韩三级视频| 国产精品18久久久久久久网站| 国产精品私人影院| 欧美福利视频一区| 国产成人av电影在线播放| 一区二区三区小说| 日韩精品一区二区三区视频播放 | 另类人妖一区二区av| 久久蜜桃一区二区| 色网站国产精品| 精品一区二区三区免费| 国产精品久久久久永久免费观看| 欧美日韩一区不卡| 国产99久久久国产精品潘金网站| 夜夜精品浪潮av一区二区三区| 日韩欧美色电影| 99re亚洲国产精品| 精品一区二区三区的国产在线播放| 国产精品免费丝袜| 日韩三级视频中文字幕| 91色乱码一区二区三区| 国产综合久久久久久鬼色 | 精品三级av在线| 国产主播一区二区| 日本一区二区三区电影| 欧美色图片你懂的| 春色校园综合激情亚洲| 日本在线不卡视频一二三区| 中文字幕在线观看不卡| 日韩免费一区二区三区在线播放| 91在线精品秘密一区二区| 久久综合综合久久综合| 亚洲一区二三区| 国产精品国产a| 欧美不卡一区二区三区| 欧美色综合网站| 91麻豆自制传媒国产之光| 国产精品一区二区在线播放 | 国产午夜精品久久| 欧美日韩国产美女| 91香蕉视频污在线| 成人理论电影网| 国产主播一区二区三区| 奇米四色…亚洲| 亚瑟在线精品视频| 午夜视频久久久久久| 亚洲精品乱码久久久久久久久| 国产精品色哟哟| 欧美国产亚洲另类动漫| 久久综合狠狠综合久久激情| 日韩情涩欧美日韩视频| 91精品福利在线一区二区三区| 日本电影欧美片| 日本韩国欧美在线| 91麻豆免费视频| 91亚洲精品乱码久久久久久蜜桃 | 久久国产精品露脸对白| 青青青伊人色综合久久| 人人超碰91尤物精品国产| 午夜精品免费在线| 日本aⅴ免费视频一区二区三区| 亚洲成人精品一区| 日韩国产精品大片| 欧美a级一区二区| 美国av一区二区| 韩国精品主播一区二区在线观看| 蜜桃视频一区二区三区| 久久er99精品| 国产中文一区二区三区| 国产福利一区二区三区| 粉嫩13p一区二区三区| 波多野洁衣一区| 在线观看成人免费视频| 在线不卡中文字幕播放| 欧美一区二区啪啪| 国产亚洲午夜高清国产拍精品| 国产区在线观看成人精品 | 色成年激情久久综合| 91日韩一区二区三区| 欧美亚洲国产一卡| 欧美xingq一区二区| 国产免费观看久久| 亚洲精品v日韩精品| 日韩高清在线不卡| 国产一区二区三区黄视频 | 成人动漫av在线| 91欧美激情一区二区三区成人| 91精品福利视频| 欧美一二三四在线| 亚洲欧洲精品一区二区精品久久久| 亚洲一区二区偷拍精品| 韩国毛片一区二区三区| 色999日韩国产欧美一区二区| 91精品国产综合久久久蜜臀粉嫩| 日韩欧美国产一区在线观看| 国产欧美精品日韩区二区麻豆天美| 国产精品福利一区二区三区| 亚洲成av人片在线| 国产成人午夜电影网| 欧美日韩不卡一区二区| 欧美国产激情二区三区 | 欧美一级专区免费大片| 欧美国产综合一区二区| 视频在线观看一区二区三区| 国产成人免费在线观看| 欧美夫妻性生活| 国产精品午夜久久| 免费精品视频最新在线| 91传媒视频在线播放| 久久久一区二区| 亚洲成人动漫av| 99久久国产综合精品色伊 | 韩国精品主播一区二区在线观看| 欧洲一区二区av| 中文字幕二三区不卡| 免费xxxx性欧美18vr| 色婷婷狠狠综合| 中文久久乱码一区二区| 久88久久88久久久| 欧美日韩成人一区| 亚洲精品第1页| 99精品视频在线观看| 国产欧美日本一区二区三区| 久久国产乱子精品免费女| 欧美三级日韩三级| 专区另类欧美日韩| 成人午夜激情片| 欧美成人video| 天天操天天干天天综合网| 日本电影欧美片| 一区二区三区四区在线免费观看| www.亚洲在线| 久久天堂av综合合色蜜桃网| 美女视频第一区二区三区免费观看网站| 欧美日韩三级一区二区| 亚洲一区二区精品视频| 色婷婷av一区二区三区gif | 欧美精品一区二区高清在线观看 | 精品国产伦一区二区三区免费|