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

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

?? edtk.h

?? 加解密包
?? H
字號:
#ifndef HEADER_EDTK_H#define HEADER_EDTK_H#ifdef __cplusplusextern "C" {#endif  typedef struct EDtkSSL_t EDtkSSL;  /* Function: EDtkInit   * Description: initialize the tooltik.   * Return value:   *   1 : successful.   *   0 : failed.   */  int EDtkInit();    /* Function: EDtkEncrypt   * Description: encrypt and sign a message   * Parameters:   *   msg     : a buffer of data to be encrypted.   *   m_len   : the size of MSG.   *   out     : the buffer for encrypted data.   *   o_len   : the pointer of the size of OUT.   *             A real size will be returned.   *   pubkey  : the public key to encrypt MSG in PEM format.   *   pub_len : the length of PUBKEY.   *             (-1, unspecified.)   *   privkey : the private key to sign MSG in PEM format.   *   priv_len: the length of PRIVKEY.   *             (-1, unspecified.)   *   passin  : the password for PRIVKEY.   * Return value:   *   1 : successful.   *   0 : failed.   *    */  int EDtkEncrypt(const unsigned char *msg, int m_len,                  unsigned char *out, int *o_len,                  const char *pubkey, int pub_len,                  const char *privkey, int priv_len,                  const char *passin);                    /* Function: EDtkDecrypt   * Description: decrypt and verify a message   * Parameters:   *   msg     : a buffer of data to be decrypted.   *   m_len   : the size of MSG.   *   out     : the buffer for decrypted data.   *   o_len   : the pointer of the size of OUT.   *             A real size will be returned.   *   pubkey  : the public key to verify MSG in PEM format.   *   pub_len : the length of PUBKEY.   *             (-1, unspecified.)   *   privkey : the private key to decrypt MSG in PEM format.   *   priv_len: the length of PRIVKEY.   *             (-1, unspecified.)   *   passin  : the password for PRIVKEY.   * Return value:   *   1 : successful.   *   0 : failed.   *    */  int EDtkDecrypt(const unsigned char *msg, int m_len,                  unsigned char *out, int *o_len,                  const char *pubkey, int pub_len,                  const char *privkey, int priv_len,                  const char *passin);  /* Function: EDtkVerifyPrivateKey   * Description: verify the password for a private key   * Parameters:   *   privkey : the private key in PEM format.   *   priv_len: the length of PRIVKEY.   *             (-1, unspecified.)   *   passin  : the password for PRIVKEY.   * Return value:   *   1 : successful.   *   0 : failed.   */  int EDtkVerifyPrivateKey(const char *privkey, int priv_len,                           const char *passin);  /* Function: EDtkChangePassword   * Description: change the password for a private key   * Parameters:   *   privkey : the private key in PEM format.   *   priv_len: the length of PRIVKEY.   *             (-1, unspecified.)   *   passin  : the password for PRIVKEY.   *   newpass : the new password for PRIVKEY.   *   out     : the pointer to the new private key in PEM format.   *             Must be freed by EDtkFree.                *   o_len   : the pointer of the size of OUT.   * Return value:   *   1 : successful.   *   0 : failed.   */  int EDtkChangePassword(const char *privkey, int priv_len,                         const char *passin, const char *newpass,                         unsigned char **out, int *o_len);  /* Function: EDtkBase64Encode   * Description: encode a buffer in base64   * Parameters:   *   in      : the input buffer.   *   in_len  : the length of IN.   *   out     : the pointer to the output buffer.   *             Must be freed by EDtkFree.                *   o_len   : the pointer of the size of OUT.   * Return value:   *   1 : successful.   *   0 : failed.   */  int EDtkBase64Encode(const unsigned char *in, int len,                       char **out, int *o_len);  /* Function: EDtkBase64Decode   * Description: decode a buffer in base64   * Parameters:   *   in      : the input buffer.   *   in_len  : the length of IN.   *   out     : the pointer to the output buffer.   *             Must be freed by EDtkFree.                *   o_len   : the pointer of the size of OUT.   * Return value:   *   1 : successful.   *   0 : failed.   */  int EDtkBase64Decode(const char *in, int len,                       unsigned char **out, int *o_len);  /* Function: EDtk3DESEncrypt   * Description: encrypt a buffer in 3DES   * Parameters:   *   in      : the input buffer.   *   in_len  : the length of IN.   *   out     : the pointer to the output buffer.   *             Must be freed by EDtkFree.                *   o_len   : the pointer of the size of OUT.   *   password: the password.   * Return value:   *   1 : successful.   *   0 : failed.   */  int EDtk3DESEncrypt(const unsigned char *in, int len,                      char **out, int *o_len,                      char* password);  /* Function: EDtk3DESDecrypt   * Description: decrypt a buffer in 3DES   * Parameters:   *   in      : the input buffer.   *   in_len  : the length of IN.   *   out     : the pointer to the output buffer.   *             Must be freed by EDtkFree.                *   o_len   : the pointer of the size of OUT.   *   password: the password.   * Return value:   *   1 : successful.   *   0 : failed.   */  int EDtk3DESDecrypt(const char *in, int len,                      unsigned char **out, int *o_len,                      char* password);  /* Function: EDtk3DESEncryptFile   * Description: encrypt a file in 3DES   * Parameters:   *   in      : the input FILE ptr.   *   out     : the output FILE ptr.   *   password: the password.   * Return value:   *   1 : successful.   *   0 : failed.   */  int EDtk3DESEncryptFile(FILE *in, FILE *out, char* password);  /* Function: EDtk3DESDecryptFile   * Description: decrypt a file in 3DES   * Parameters:   *   in      : the input FILE ptr.   *   out     : the output FILE ptr.   *   password: the password.   * Return value:   *   1 : successful.   *   0 : failed.   */  int EDtk3DESDecryptFile(FILE *in, FILE *out, char* password);  /* Function: EDtkFree   * Description: Free a pointer   * Parameters:   *   p       : the pointer   * Return value:   *   1 : successful.   *   0 : failed.   */  int EDtkFree(void*p);  /* Function: EDtkFinish   * Description: finish the tooltik.   * Return value:   *   1 : successful.   *   0 : failed.   */  int EDtkFinish();  /* Function: EDtkLoadCertificate   * Description : Load a certificate from memory buffer.   * Parameters:   *   buf   : the input buffer.   *   len   : the length of BUF.   * Return value:   *   NULL      : failed.   *   Otherwise : the certificate, which must free by EDtkFreeCertificate.   */  struct x509_st *EDtkLoadCertificate(char*buf,int len);  /* Function: EDtkFreeCertificate   * Description : Free a certificate.   * Parameters:   *   cert  : the certificate.   * Return value:   *   0      : failed.   *   1      : successful.   */  int EDtkFreeCertificate(struct x509_st *cert);  /* Function: EDtkCertificateSubject   * Description : Get subject (Common name, etc) of a certificate.   * Parameters:   *   cert   : the certificate.   * Return value:   *   NULL      : failed.   *   Otherwise : the pointer to the subject,   *               which must free by EDtkFree.   */  char *EDtkCertificateSubject(struct x509_st *cert);  /* Function: EDtkCertificateNotBefore   * Description : Get start time of a certificate.   * Parameters:   *   cert   : the certificate.   * Return value:   *   NULL      : failed.   *   Otherwise : the time in ASN1 format (YYYYMMDDhhmmssZ),   *               which must free by EDtkFree.   */  char *EDtkCertificateNotBefore(struct x509_st *cert);  /* Function: EDtkCertificateNotAfter   * Description : Get expiration time of a certificate.   * Parameters:   *   cert   : the certificate.   * Return value:   *   NULL      : failed.   *   Otherwise : the time in ASN1 format (YYYYMMDDhhmmssZ),   *               which must free by EDtkFree.   */  char *EDtkCertificateNotAfter(struct x509_st *cert);  /* Function: EDtkCertificateEXpireInDays   * Description : Get days to expiration date of certificate.   * Parameters:   *   cert   : the certificate.   * Return value:   *   negtive : the certificate is expired.   *   0       : today is the expiration day.   *   positive: days to expiration date of certificate.   */  int EDtkCertificateExpireInDays(struct x509_st *cert);  /* Function: EDtkCertificateVerify   * Description : Verify a certificate   * Parameters:   *   cert   : the certificate.   *   cacert : the certificate of CA.   * Return value:   *   0 : failed.   *   1 : successful.   */  int EDtkCertificateVerify(struct x509_st *cert, struct x509_st *cacert);    /* Function: EDtkDigestSHA1   * Description : Digest DATA   * Parameters:   *   data   : the input data.   *   count  : the length of DATA.   *   md     : the output hash. Size should be 20 or more.   *   size   : the point to the actual output length of MD.   * Return value:   *   0      : failed.   *   1      : successful.   */  int EDtkDigestSHA1(void *data, unsigned int count, unsigned char *md, unsigned *size);  /* Function: EDtkSign   * Description : Sign a message.   * Parameters:   *   msg    : the message data.   *   m_len  : the length of MSG.   *   out    : the output data.   *   o_len  : the pointer to the length of output data.   *   privkey : the private key to sign MSG in PEM format.   *   priv_len: the length of PRIVKEY.   *             (-1, unspecified.)   *   passin  : the password for PRIVKEY.   * Return value:   *   0      : failed.   *   1      : successful.   */  int EDtkSign(const unsigned char *msg, int m_len,               unsigned char *out, int *o_len,               char *privkey, unsigned int priv_len, char *passin);  /* Function: EDtkVerify   * Description : Verify a message.   * Parameters:   *   msg    : the message data.   *   m_len  : the length of MSG.   *   sign   : the signature data.   *   s_len  : the length of signature data.   *   pubkey : the public key.   *   pub_len: the length of PUBKEY.   *             (-1, unspecified.)   * Return value:   *   0      : failed.   *   1      : successful.   */  int EDtkVerify(const unsigned char *msg, int m_len,                 unsigned char *sign, int s_len,                 char *pubkey, unsigned int pub_len);  /* Function: EDtkPBEsalt   * Description : Generate random DATA   * Parameters:   *   salt      : the pointer to the random data;   *             which must free by EDtkFree.   * Return value:   *   0      : failed.   *   1      : successful.   */  int EDtkPBEsalt(unsigned char **salt);  /* Function: EDtkFixedsalt   * Description : Generate fixed DATA   * Parameters:   *   salt      : the pointer to the fixed data;   *             which must free by EDtkFree.   * Return value:   *   0      : failed.   *   1      : successful.   */  int EDtkFixedsalt(unsigned char **salt);  /* Function: EDtkPBEhash   * Description : Digest DATA   * Parameters:   *   in      : the input data.   *   in_len  : the length of DATA.   *   iv      : the random data, generated by EDtkPBEiv;   *   out     : the pointer to output data.   *             which must free by EDtkFree.   *   o_len   : the pointer to the actual output length.   * Return value:   *   0      : failed.   *   1      : successful.   */  int EDtkPBEhash(const char *in, int in_len,                  const unsigned char *iv,                   unsigned char **out, int *o_len);  struct x509_st *EDtkLoadCertificateFile(const char*url);  struct evp_pkey_st *EDtkLoadPrivateKeyFile(const char*url, const char *pass);  struct X509_crl_st *EDtkLoadCRLFile(const char*url);  struct stack_st *EDtkNewStack();  int EDtkFreePrivateKey(struct evp_pkey_st*);  int EDtkFreeCRL(struct X509_crl_st *crl);  void EDtkFreeStack(struct stack_st *certs);  int EDtkCertificateVerifyCRL(struct x509_st *cert, struct x509_st *cacert,                               struct X509_crl_st * crl);  int EDtkAddCertificate(struct stack_st* certs,struct x509_st *cert);  int EDtkFileEncrypt(const char *in,                      const char *out,                      struct evp_pkey_st * pkey,                      struct x509_st * signcert,                      struct stack_st *recips,                      struct stack_st *certs);  int EDtkFileDecrypt(const char *in, const char *out,                      struct evp_pkey_st *pkey, struct x509_st *cert);  int EDtkFileInfo(const char *in);  EDtkSSL *EDtkSSLnew(struct x509_st *cert, struct evp_pkey_st *pkey,                      const char *cafile, const char*capath);  int EDtkSSLbind(EDtkSSL* self, int port);  int EDtkSSLaccept(EDtkSSL* self, EDtkSSL* another);  int EDtkSSLconnect(EDtkSSL* self, char *host, int port);  int EDtkSSLclose(EDtkSSL* self);  int EDtkSSLread(EDtkSSL* self,char *buf,size_t size);  int EDtkSSLwrite(EDtkSSL* self,const char *buf, size_t size);  void EDtk_print_errors_fp(FILE *fp);#ifdef  __cplusplus}#endif#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美少妇xxx| 久久久国产精品午夜一区ai换脸| 欧美日韩高清不卡| 久久久久久久久岛国免费| 丝袜a∨在线一区二区三区不卡| 国产激情一区二区三区桃花岛亚洲| 91视频xxxx| 国产日韩欧美精品综合| 日韩av高清在线观看| 色88888久久久久久影院野外| 久久―日本道色综合久久| 五月综合激情网| 在线观看91视频| 亚洲人成人一区二区在线观看| 韩国精品免费视频| 欧美一区二区三区公司| 亚洲成人午夜影院| 91免费看`日韩一区二区| 国产亚洲午夜高清国产拍精品 | 国产成人亚洲综合a∨婷婷图片| 欧美日韩国产一区| 亚洲自拍偷拍麻豆| 在线一区二区三区四区五区| 国产精品久久久久久妇女6080 | 97精品国产露脸对白| 久久久久久电影| 激情欧美一区二区三区在线观看| 日韩欧美一级在线播放| 日韩综合小视频| 538在线一区二区精品国产| 午夜影视日本亚洲欧洲精品| 欧美性一级生活| 亚洲一区二区三区四区在线| 在线视频一区二区免费| 亚洲黄色免费电影| 色综合久久综合网97色综合| 国产精品人妖ts系列视频| 国产高清不卡二三区| 国产日韩欧美制服另类| 懂色av噜噜一区二区三区av| 国产精品久久久久一区二区三区共| 不卡电影一区二区三区| 国产精品福利一区二区| 一本一本久久a久久精品综合麻豆| 国产精品青草久久| 99精品视频在线播放观看| 亚洲久本草在线中文字幕| 91搞黄在线观看| 日韩av一级电影| 国产清纯在线一区二区www| 国产91丝袜在线18| 一区二区三区精品| 欧美一二三在线| 国产精华液一区二区三区| 亚洲女同一区二区| 欧美日韩国产成人在线免费| 老司机免费视频一区二区| 国产日韩欧美a| 在线观看视频欧美| 久久99精品国产.久久久久| 国产精品理伦片| 欧美日韩综合一区| 国产乱国产乱300精品| 亚洲男人的天堂网| 日韩欧美一区二区视频| 成人永久aaa| 亚洲aⅴ怡春院| 久久精品亚洲精品国产欧美kt∨| 91蜜桃在线免费视频| 蜜臀久久久99精品久久久久久| 一区二区欧美视频| 欧美精品第一页| 粉嫩一区二区三区在线看| 一区二区免费视频| 精品99999| 欧美性生活大片视频| 国产精品456| 五月婷婷综合在线| 欧美国产精品一区二区| 91精品婷婷国产综合久久竹菊| 成人午夜视频免费看| 日本中文字幕一区| 亚洲欧美日本韩国| 国产午夜精品一区二区| 欧美精品丝袜中出| 91网站最新网址| 国产老女人精品毛片久久| 日韩国产在线一| 亚洲欧美另类综合偷拍| 欧美韩国日本综合| 日韩欧美成人一区二区| 在线视频一区二区免费| 91视频在线看| 成人av网在线| 国产999精品久久久久久| 久久91精品久久久久久秒播| 亚洲图片一区二区| 国产精品国产三级国产aⅴ原创| 精品国产91洋老外米糕| 91精品久久久久久久99蜜桃| 欧美亚洲国产怡红院影院| 成人美女视频在线观看18| 国产在线国偷精品免费看| 日韩1区2区3区| 午夜精品福利一区二区蜜股av| 国产精品欧美综合在线| 国产人伦精品一区二区| 国产日产欧美一区| www日韩大片| 久久美女高清视频| 久久精品亚洲国产奇米99| 日韩精品一区二区三区四区视频 | av电影在线观看完整版一区二区| 国产一区二区三区观看| 久久99精品久久久久久动态图 | 久久se精品一区精品二区| 日本午夜精品一区二区三区电影| 亚洲成人三级小说| 天堂av在线一区| 日韩二区在线观看| 久久福利视频一区二区| 久久精品国产精品青草| 久久99精品久久久久久国产越南 | 国产一区二区视频在线播放| 国产精品正在播放| 国产91精品在线观看| 成人午夜在线视频| 色婷婷综合久久| 欧美日韩三级一区二区| 91精品国产色综合久久久蜜香臀| 欧美一区二区视频免费观看| 精品对白一区国产伦| 久久久亚洲精品一区二区三区 | 青青草成人在线观看| 精品一区二区在线观看| 国产精品一区二区久久不卡| 成人免费视频视频| 91老师片黄在线观看| 欧美福利视频一区| 337p粉嫩大胆噜噜噜噜噜91av | 婷婷成人综合网| 久久精品国内一区二区三区| 国产成人三级在线观看| 97久久久精品综合88久久| 欧美精选一区二区| 久久色.com| 一区二区免费看| 日韩成人免费电影| www.欧美亚洲| 日韩一区二区三区观看| 国产蜜臀av在线一区二区三区| 亚洲一卡二卡三卡四卡五卡| 久久66热偷产精品| 色噜噜狠狠成人网p站| 日韩欧美亚洲一区二区| 国产精品久久久久久久久免费桃花 | 一区二区三区国产| 久草这里只有精品视频| 91久久精品日日躁夜夜躁欧美| 日韩视频免费直播| 亚洲私人影院在线观看| 黄一区二区三区| 欧美日韩国产在线观看| 国产精品不卡一区| 美女视频黄a大片欧美| 91麻豆免费观看| 精品成人佐山爱一区二区| 亚洲综合在线电影| 国产成人免费xxxxxxxx| 日韩一级免费观看| 亚洲理论在线观看| jizzjizzjizz欧美| 2022国产精品视频| 日韩精品成人一区二区在线| 99国产精品久| 久久久久国产精品厨房| 美女免费视频一区二区| 欧美中文字幕一区二区三区| 中文一区二区完整视频在线观看| 欧美aaaaa成人免费观看视频| 欧美亚洲图片小说| 亚洲欧美在线观看| 国产麻豆一精品一av一免费 | 136国产福利精品导航| 国产在线国偷精品产拍免费yy| 69成人精品免费视频| 亚洲专区一二三| 91免费看片在线观看| 日韩美女视频一区| 成人中文字幕电影| 国产精品免费丝袜| 国产aⅴ综合色| 2024国产精品| 激情综合五月天| 精品奇米国产一区二区三区| 美女性感视频久久| 日韩一区二区在线看| 蜜桃视频在线观看一区二区| 日韩亚洲欧美高清| 久久国产生活片100|