メインページ | ファイル一覧 | ファイルメンバ

Security.h

説明を見る。
00001 /* -*- mode: c++; -*-
00002  *-----------------------------------------------------------------------------
00003  * $RCSfile: Security.h,v $
00004  *
00005  * See Copyright for the status of this software.
00006  *
00007  * The OpenSOAP Project
00008  * http://opensoap.jp/
00009  *-----------------------------------------------------------------------------
00010  */
00517 #ifndef OpenSOAP_Security_H
00518 #define OpenSOAP_Security_H
00519 
00520 #include <stdio.h>
00521 #include <OpenSOAP/Envelope.h>
00522 
00523 #ifdef __cplusplus
00524 extern "C" {
00525 #endif /* __cplusplus */
00526 
00527 #define OPENSOAP_HA_MD2    (1)  /* MD2 */
00528 
00529 #define OPENSOAP_HA_MD4    (2)  /* MD4 */
00530 
00531 #define OPENSOAP_HA_MD5    (3)  /* MD5 */
00532 
00533 #define OPENSOAP_HA_MDC2   (4)  /* MDC2 */
00534 
00535 #define OPENSOAP_HA_RIPEMD (5)  /* RIPEMD */
00536 
00537 #define OPENSOAP_HA_SHA    (6)  /* SHA */
00538 
00539 #define OPENSOAP_CA_OWNER_LEN  (1024)
00540 #define OPENSOAP_CERT_DATE_LEN   (14)
00541 
00542 
00543 
00544     /* Certificate */
00545     typedef struct tagOpenSOAPSecCert OpenSOAPSecCert;
00546 
00547     typedef OpenSOAPSecCert* OpenSOAPSecCertPtr;
00548 
00549 
00550     /* CA */
00551     typedef struct tagOpenSOAPCARec OpenSOAPCARec;
00552 
00553     typedef OpenSOAPCARec* OpenSOAPCARecPtr;
00554 
00555     int
00556     OPENSOAP_API
00557     OpenSOAPSecGenerateRSAKeys
00558     (const unsigned char* szSeedPhrase, /* (i)  Seed phrase */
00559      FILE*          fpPrivKey,    /* (i)  RSA Private Key File stream */
00560      FILE*          fpPubKey);    /* (i)  RSA Public Key File stream */
00561 
00562     int
00563     OPENSOAP_API
00564     OpenSOAPSecGenerateRSAKeysToFile
00565     (const unsigned char* szSeedPhrase,      /* (i)  Seed phrase */
00566      const char*          szPrivKeyFileName, /* (i)  RSA Private Key File Name */
00567      const char*          szPubKeyFileName); /* (i)  RSA Public Key File Name */
00568 
00569     int
00570     OPENSOAP_API
00571     OpenSOAPSecEncWithStream
00572     (OpenSOAPEnvelopePtr env,       /* (i)  Envelope */
00573      FILE*               fpPubKey); /* (i)  Public Key File stream */
00574 
00575     int
00576     OPENSOAP_API
00577     OpenSOAPSecEncWithFile
00578     (OpenSOAPEnvelopePtr env,         /* (i)  Envelope */
00579      const char*         szPubKName); /* (i)  Public Key File Name */
00580 
00581     int
00582     OPENSOAP_API
00583     OpenSOAPSecDecWithStream
00584     (OpenSOAPEnvelopePtr env,        /* (i)  Envelope */
00585      FILE*               fpPrivKey); /* (i)  Private Key File stream */
00586 
00587     int
00588     OPENSOAP_API
00589     OpenSOAPSecDecWithFile
00590     (OpenSOAPEnvelopePtr env,          /* (i)  Envelope */
00591      const char*         szPrivKName); /* (i)  Private Key File Name */
00592 
00593     int
00594     OPENSOAP_API
00595     OpenSOAPSecAddSignWithStream
00596     (OpenSOAPEnvelopePtr env,        /* (io) Envelope */
00597      int                 iType,      /* (i)  Hash Type(OPENSOAP_HA_*) */
00598      FILE*               fpPrivKey,  /* (i)  Private Key File stream */
00599      OpenSOAPStringPtr   name);      /* (i)  Name of Sign */
00600 
00601     int
00602     OPENSOAP_API
00603     OpenSOAPSecAddSignWithFile
00604     (OpenSOAPEnvelopePtr env,          /* (io) Envelope */
00605      int                 iType,        /* (i)  Hash Type(OPENSOAP_HA_*) */
00606      const char*         szPrivKName,  /* (i)  Private Key File Name */
00607      OpenSOAPStringPtr   name);        /* (i)  Name of Sign */
00608 
00609     int
00610     OPENSOAP_API
00611     OpenSOAPSecCntSign
00612     (const OpenSOAPEnvelopePtr env,    /* (i)  Envelope */
00613      int*                      pnSig); /* (o)  Signature Count */
00614 
00615     int
00616     OPENSOAP_API
00617     OpenSOAPSecGetSignedByList
00618     (OpenSOAPEnvelopePtr env,          /* (i)  Envelope */
00619      int                 nCntMax,      /* (i)  Maximum Count */
00620      OpenSOAPStringPtr   list[],       /* (io) SignedBy List  */
00621      int*                pnCntPacked); /* (o)  Packed Count */
00622 
00623     int
00624     OPENSOAP_API
00625     OpenSOAPSecVerifySignWithStream
00626     (OpenSOAPEnvelopePtr env,       /* (io) Envelope */
00627      FILE*               fpPubKey); /* (i)  Public Key File stream */
00628 
00629     int
00630     OPENSOAP_API
00631     OpenSOAPSecVerifySignWithFile
00632     (OpenSOAPEnvelopePtr env,         /* (io) Envelope */
00633      const char*         szPubKName); /* (i)  Public Key File Name */
00634 
00635     int
00636     OPENSOAP_API
00637     OpenSOAPSecCertCreateWithStream
00638     (const char*            szPublish, /* (i)  Publisher's Name */
00639      FILE*                  fpPrivKey, /* (i)  Private Key(Publisher) */
00640      int                    iHashType, /* (i)  Hash Type(OPENSOAP_HA_*) */
00641      const OpenSOAPCARecPtr pRec,      /* (i)  CA Record */
00642      FILE*                  fpCert);   /* (o)  Certificate File */
00643 
00644     int
00645     OPENSOAP_API
00646     OpenSOAPSecCertCreateWithFile
00647     (const char*         szPublish,     /* (i)  Publisher's Name */
00648      const char*         szPrivKeyFile, /* (i)  PrivKey File Name (Publisher) */
00649      int                 iHashType,     /* (i)  Hash Type(OPENSOAP_HA_*) */
00650      const OpenSOAPCARecPtr pRec,          /* (i)  CA Record */
00651      const char*         szCertName);   /* (i)  Certificate File Name */
00652 
00653     int
00654     OPENSOAP_API
00655     OpenSOAPSecCertLoadFromMem
00656     (size_t               sizArea,  /* (i)  Size of Input Area */
00657      const unsigned char* pucArea,  /* (i)  Input Area */
00658      OpenSOAPSecCertPtr*  ppCert);  /* (o)  Certificate */
00659 
00660     int
00661     OPENSOAP_API
00662     OpenSOAPSecCertLoad
00663     (const char*          szName,   /* (i)  File Name */
00664      OpenSOAPSecCertPtr*  ppCert);  /* (o)  Certificate */
00665 
00666     int
00667     OPENSOAP_API
00668     OpenSOAPSecCertFree
00669     (OpenSOAPSecCertPtr ppCert);
00670 
00671     int
00672     OPENSOAP_API
00673     OpenSOAPSecCertVerifyWithStream
00674     (FILE* fpCert,                  /* (i)  Certificate File Stream */
00675      FILE* fpPubKey);               /* (i)  Public Key File Stream */
00676 
00677     int
00678     OPENSOAP_API
00679     OpenSOAPSecCertVerifyWithFile
00680     (const char* szCertName,    /* (i)  Certificate File Name */
00681      const char* szPubKeyName); /* (i)  Public Key File Name */
00682 
00683     int
00684     OPENSOAP_API
00685     OpenSOAPSecCertGetPublisherName
00686     (OpenSOAPSecCertPtr pCert,      /* (i)   */
00687      char**             pszName);   /* (o)  Name (Internal Area) */
00688 
00689     int
00690     OPENSOAP_API
00691     OpenSOAPSecCertGetSerialNo
00692     (OpenSOAPSecCertPtr pCert,      /* (i)   */
00693      unsigned long*     pulSerial); /* (o)  Serial Number */
00694 
00695     int
00696     OPENSOAP_API
00697     OpenSOAPSecCertGetOwnerName
00698     (OpenSOAPSecCertPtr pCert,      /* (i)   */
00699      char**             pszName);   /* (o)  Name (Internal Area) */
00700 
00701     int
00702     OPENSOAP_API
00703     OpenSOAPSecCertGetEndDate
00704     (OpenSOAPSecCertPtr pCert,      /* (i)   */
00705      char**             pszDate);   /* (o)  Date(Internal Area) */
00706 
00707     int
00708     OPENSOAP_API
00709     OpenSOAPSecCertGetPubKey
00710     (OpenSOAPSecCertPtr pCert,       /* (i)   */
00711      const char*        szSaveName); /* (i)  Public Key File Name */
00712 
00713     int
00714     OPENSOAP_API
00715     OpenSOAPSecDecodeKeyFile
00716     (FILE*           fp,          /* (i)  File Stream */
00717      unsigned long*  pulLenOut,   /* (o)  Length of output data */
00718      unsigned char** ppucDecode); /* (o)  Decoded String(call free() after use) */
00719 
00720     int
00721     OPENSOAP_API
00722     OpenSOAPSecCABrowseRec
00723     (const OpenSOAPCARecPtr pRec,   /* (i)  Record */
00724      FILE*                  fpOut); /* (i)  Output Stream */
00725 
00726     int
00727     OPENSOAP_API
00728     OpenSOAPSecCABrowse
00729     (FILE* fpOut);                  /* (i)  Output Stream */
00730 
00731     int
00732     OPENSOAP_API
00733     OpenSOAPSecCARegist
00734     (const char*    szNameOwner,    /* (i)  Owner's Name */
00735      const char*    szTermDate,     /* (i)  Terminate Date */
00736                                     /*      "YYYYMMDDHHMMSS" */
00737      size_t         sizPubkey,      /* (i)  Size of public key */
00738      const unsigned char* szPubKey, /* (i)  Public Key */
00739      unsigned long* pulSerialNo);   /* (o)  Serial Number */
00740 
00741     int
00742     OPENSOAP_API
00743     OpenSOAPSecCAInvalidate
00744     (const char*     szNameOwner,   /* (i)  Owner's Name */
00745      unsigned long   ulSerial);     /* (i)  Serial Number */
00746 
00747     int
00748     OPENSOAP_API
00749     OpenSOAPSecCASearchRecords
00750     (const char* szNameOwner, /* (i)  Owner's Name */
00751      int*        pnRec,       /* (o)  Record Count */
00752      long**      pplIdxs);    /* (o)  Index Numbers (call free() after use) */
00753 
00754     int
00755     OPENSOAP_API
00756     OpenSOAPSecCASearchOneRecord
00757     (const char*         szNameOwner, /* (i)  Owner's Name */
00758      OpenSOAPCARecPtr*   ppRec);      /* (o)  Record */
00759 
00760     int
00761     OPENSOAP_API
00762     OpenSOAPSecCAGetRecord
00763     (long              lIdx,    /* (i)  Index */
00764      OpenSOAPCARecPtr* ppRec);  /* (o)  Record */
00765 
00766     int
00767     OPENSOAP_API
00768     OpenSOAPSecCAFreeRecord
00769     (OpenSOAPCARecPtr pRec);  /* (i)  Record */
00770 
00771     int
00772     OPENSOAP_API
00773     OpenSOAPSecCARemoveRecord
00774     (unsigned long ulSerial);   /* (i)  Serial Number */
00775 
00776 #ifdef __cplusplus
00777 }
00778 #endif /* __cplusplus */
00779 
00780 #endif /* OpenSOAP_Security_H */

OpenSOAPに対してMon Oct 18 18:29:47 2004に生成されました。 doxygen 1.3.6