Main Page | File List | File Members

Security.h File Reference

OpenSOAP API Security Processing. More...

#include <stdio.h>
#include <OpenSOAP/Envelope.h>

Go to the source code of this file.

Defines

#define OPENSOAP_HA_MD2   (1) /* MD2 */
 Hash Algorithm Definition For MD2.

#define OPENSOAP_HA_MD4   (2) /* MD4 */
 Hash Algorithm Definition For MD4.

#define OPENSOAP_HA_MD5   (3) /* MD5 */
 Hash Algorithm Definition For MD5.

#define OPENSOAP_HA_MDC2   (4) /* MDC2 */
 Hash Algorithm Definition For MDC2.

#define OPENSOAP_HA_RIPEMD   (5) /* RIPEMD */
 Hash Algorithm Definition For RIPEMD.

#define OPENSOAP_HA_SHA   (6) /* SHA */
 Hash Algorithm Definition For SHA.

#define OPENSOAP_CA_OWNER_LEN   (1024)
 Max Owner Length in CA Database.

#define OPENSOAP_CERT_DATE_LEN   (14)
 Data Length in Certificate.


Typedefs

typedef tagOpenSOAPSecCert OpenSOAPSecCert
 OpenSOAPSecCert Structure Type Definition.

typedef OpenSOAPSecCertOpenSOAPSecCertPtr
 OpenSOAPSecCert Pointer Type Definition.

typedef tagOpenSOAPCARec OpenSOAPCARec
 OpenSOAPCARec Structure Type Definition.

typedef OpenSOAPCARecOpenSOAPCARecPtr
 OpenSOAPCARec Pointer Type Definition.


Functions

int OpenSOAPSecGenerateRSAKeys (const unsigned char *szSeedPhrase, FILE *fpPrivKey, FILE *fpPubKey)
 Generate RSA Keys To Stream.

int OpenSOAPSecGenerateRSAKeysToFile (const unsigned char *szSeedPhrase, const char *szPrivKeyFileName, const char *szPubKeyFileName)
 Generate RSA Keys To File.

int OpenSOAPSecEncWithStream (OpenSOAPEnvelopePtr env, FILE *fpPubKey)
 Encrypt Envelope Using Public Key File Stream.

int OpenSOAPSecEncWithFile (OpenSOAPEnvelopePtr env, const char *szPubKName)
 Encrypt Envelope Using Public Key File.

int OpenSOAPSecDecWithStream (OpenSOAPEnvelopePtr env, FILE *fpPrivKey)
 Decrypt Envelope Using Private Key File Stream.

int OpenSOAPSecDecWithFile (OpenSOAPEnvelopePtr env, const char *szPrivKName)
 Decrypt Envelope Using Private Key File.

int OpenSOAPSecAddSignWithStream (OpenSOAPEnvelopePtr env, int iType, FILE *fpPrivKey, OpenSOAPStringPtr name)
 Add Signature to SOAP Message using PrivateKey File Stream.

int OpenSOAPSecAddSignWithFile (OpenSOAPEnvelopePtr env, int iType, const char *szPrivKName, OpenSOAPStringPtr name)
 Add Signature to SOAP Message using PrivateKey File.

int OpenSOAPSecCntSign (const OpenSOAPEnvelopePtr env, int *pnSig)
 Count Signatures.

int OpenSOAPSecGetSignedByList (OpenSOAPEnvelopePtr env, int nCntMax, OpenSOAPStringPtr list[], int *pnCntPacked)
 Get "SignedBy" List of Signatures.

int OpenSOAPSecVerifySignWithStream (OpenSOAPEnvelopePtr env, FILE *fpPubKey)
 Verify Signature using PublicKey File Stream.

int OpenSOAPSecVerifySignWithFile (OpenSOAPEnvelopePtr env, const char *szPubKName)
 Verify Signature using PublicKey File.

int OpenSOAPSecCertCreateWithStream (const char *szPublish, FILE *fpPrivKey, int iHashType, const OpenSOAPCARecPtr pRec, FILE *fpCert)
 Create Certificate from CA Record(stream).

int OpenSOAPSecCertCreateWithFile (const char *szPublish, const char *szPrivKeyFile, int iHashType, const OpenSOAPCARecPtr pRec, const char *szCertName)
 Create Certificate from CA Record(file).

int OpenSOAPSecCertLoadFromMem (size_t sizArea, const unsigned char *pucArea, OpenSOAPSecCertPtr *ppCert)
 Load Certificate From Memory.

int OpenSOAPSecCertLoad (const char *szName, OpenSOAPSecCertPtr *ppCert)
 Load Certificate From File.

int OpenSOAPSecCertFree (OpenSOAPSecCertPtr ppCert)
 Free Certificate.

int OpenSOAPSecCertVerifyWithStream (FILE *fpCert, FILE *fpPubKey)
 Verify Certificate (Stream).

int OpenSOAPSecCertVerifyWithFile (const char *szCertName, const char *szPubKeyName)
 Verify Certificate (File).

int OpenSOAPSecCertGetPublisherName (OpenSOAPSecCertPtr pCert, char **pszName)
 Get Name Of Publisher.

int OpenSOAPSecCertGetSerialNo (OpenSOAPSecCertPtr pCert, unsigned long *pulSerial)
 Get Serial Number.

int OpenSOAPSecCertGetOwnerName (OpenSOAPSecCertPtr pCert, char **pszName)
 Get Name of Owner.

int OpenSOAPSecCertGetEndDate (OpenSOAPSecCertPtr pCert, char **pszDate)
 Get End Date.

int OpenSOAPSecCertGetPubKey (OpenSOAPSecCertPtr pCert, const char *szSaveName)
 Get Public Key.

int OpenSOAPSecDecodeKeyFile (FILE *fp, unsigned long *pulLenOut, unsigned char **ppucDecode)
 Decode Key File.

int OpenSOAPSecCABrowseRec (const OpenSOAPCARecPtr pRec, FILE *fpOut)
 Browse CA Record.

int OpenSOAPSecCABrowse (FILE *fpOut)
 Browse CA Database.

int OpenSOAPSecCARegist (const char *szNameOwner, const char *szTermDate, size_t sizPubkey, const unsigned char *szPubKey, unsigned long *pulSerialNo)
 Regist Key To CA Databse.

int OpenSOAPSecCAInvalidate (const char *szNameOwner, unsigned long ulSerial)
 Invalidate CA Record.

int OpenSOAPSecCASearchRecords (const char *szNameOwner, int *pnRec, long **pplIdxs)
 Search Records.

int OpenSOAPSecCASearchOneRecord (const char *szNameOwner, OpenSOAPCARecPtr *ppRec)
 Search Record(Longest Period).

int OpenSOAPSecCAGetRecord (long lIdx, OpenSOAPCARecPtr *ppRec)
 Get Record.

int OpenSOAPSecCAFreeRecord (OpenSOAPCARecPtr pRec)
 Free Record.

int OpenSOAPSecCARemoveRecord (unsigned long ulSerial)
 Remove CA Record.


Detailed Description

OpenSOAP API Security Processing.

Author:
OpenSOAP Development Team

Define Documentation

#define OPENSOAP_CA_OWNER_LEN   (1024)
 

Max Owner Length in CA Database.

(1024)

#define OPENSOAP_CERT_DATE_LEN   (14)
 

Data Length in Certificate.

(14)

#define OPENSOAP_HA_MD2   (1) /* MD2 */
 

Hash Algorithm Definition For MD2.

(1)

#define OPENSOAP_HA_MD4   (2) /* MD4 */
 

Hash Algorithm Definition For MD4.

(2)

#define OPENSOAP_HA_MD5   (3) /* MD5 */
 

Hash Algorithm Definition For MD5.

(3)

#define OPENSOAP_HA_MDC2   (4) /* MDC2 */
 

Hash Algorithm Definition For MDC2.

(4)

#define OPENSOAP_HA_RIPEMD   (5) /* RIPEMD */
 

Hash Algorithm Definition For RIPEMD.

(5)

#define OPENSOAP_HA_SHA   (6) /* SHA */
 

Hash Algorithm Definition For SHA.

(6)


Function Documentation

int OpenSOAPSecAddSignWithFile OpenSOAPEnvelopePtr  env,
int  iType,
const char *  szPrivKName,
OpenSOAPStringPtr  name
 

Add Signature to SOAP Message using PrivateKey File.

Parameters:
env OpenSOAPEnvelopePtr [in, out] ((|env|)) Envelope
iType int [in] ((|iType|)) Hash Type(OPENSOAP_HA_*)
szPrivKName const char * [in] ((|szPrivKName|)) Private Key File Name
name OpenSOAPStringPtr [in] ((|name|)) Signature Name
Returns:
Error Code

int OpenSOAPSecAddSignWithStream OpenSOAPEnvelopePtr  env,
int  iType,
FILE *  fpPrivKey,
OpenSOAPStringPtr  name
 

Add Signature to SOAP Message using PrivateKey File Stream.

Parameters:
env OpenSOAPEnvelopePtr [in, out] ((|env|)) Envelope
iType int [in] ((|iType|)) Hash Type(OPENSOAP_HA_*)
fpPrivKey FILE * [in] ((|fpPrivKey|)) Private Key File Stream
name OpenSOAPStringPtr [in] ((|name|)) Signature Name
Returns:
Error Code

int OpenSOAPSecCABrowse FILE *  fpOut  ) 
 

Browse CA Database.

Parameters:
fpOut FILE * [in] ((|fpOut|)) Output Stream
Returns:
Error Code

int OpenSOAPSecCABrowseRec const OpenSOAPCARecPtr  pRec,
FILE *  fpOut
 

Browse CA Record.

Parameters:
pRec const OpenSOAPCARecPtr [in] ((|pRec|)) Record
fpOut FILE * [in] ((|fpOut|)) Output Stream
Returns:
Error Code

int OpenSOAPSecCAFreeRecord OpenSOAPCARecPtr  pRec  ) 
 

Free Record.

Parameters:
pRec OpenSOAPCARecPtr [in] ((|pRec|)) Record
Returns:
Error Code

int OpenSOAPSecCAGetRecord long  lIdx,
OpenSOAPCARecPtr ppRec
 

Get Record.

Parameters:
lIdx long [in] ((|lIdx|)) Index
ppRec OpenSOAPCARecPtr * [out] ((|ppRec|)) Record
Returns:
Error Code

int OpenSOAPSecCAInvalidate const char *  szNameOwner,
unsigned long  ulSerial
 

Invalidate CA Record.

Parameters:
szNameOwner const char * [in] ((|szNameOwner|)) Owner's Name
ulSerial unsigned long [in] ((|ulSerial|)) Serial Number
Returns:
Error Code

int OpenSOAPSecCARegist const char *  szNameOwner,
const char *  szTermDate,
size_t  sizPubkey,
const unsigned char *  szPubKey,
unsigned long *  pulSerialNo
 

Regist Key To CA Databse.

Parameters:
szNameOwner const char * [in] ((|szNameOwner|)) Owner's Name
szTermDate const char * [in] ((|szTermDate|)) Terminate Date ("YYYYMMDDHHMMSS")
sizPubkey size_t [in] ((|sizPubkey|)) Size of Public Key
szPubKey const unsigned char * [in] ((|szPubKey|)) Public Key
pulSerialNo unsigned long * [out] ((pulSerialNo|)) Serial Number
Returns:
Error Code

int OpenSOAPSecCARemoveRecord unsigned long  ulSerial  ) 
 

Remove CA Record.

Parameters:
ulSerial unsigned long [in] ((|ulSerial|)) Serial Number
Returns:
Error Code

int OpenSOAPSecCASearchOneRecord const char *  szNameOwner,
OpenSOAPCARecPtr ppRec
 

Search Record(Longest Period).

Parameters:
szNameOwner const char * [in] ((|szNameOwner|)) Owner's Name
ppRec OpenSOAPCARecPtr * [out] ((|ppRec|)) Record
Returns:
Error Code

int OpenSOAPSecCASearchRecords const char *  szNameOwner,
int *  pnRec,
long **  pplIdxs
 

Search Records.

Parameters:
szNameOwner const char * [in] ((|szNameOwner|)) Owner's Name
pnRec int * [out] ((|pnRec|)) Record Count
pplIdxs lomg ** [out] ((|pplIdxs|)) Index Numbers
Note:
After calling this function, call free() to free resources used by pplIdxs.
Returns:
Error Code

int OpenSOAPSecCertCreateWithFile const char *  szPublish,
const char *  szPrivKeyFile,
int  iHashType,
const OpenSOAPCARecPtr  pRec,
const char *  szCertName
 

Create Certificate from CA Record(file).

Parameters:
szPublish const char * [in] ((|szPublish|)) Publisher's Name
szPrivKeyFile const char * [in] ((|szPrivKeyFile|)) Private Key File Name(Publisher)
iHashType int [in] ((|iHashType|)) Hash Type(OPENSOAP_HA_*)
pRec const OpenSOAPCARecPtr [in] ((|pRec|)) CA Record
szCertName const char * [in] ((|szCertName|)) Certificate File Name
Returns:
Error Code

int OpenSOAPSecCertCreateWithStream const char *  szPublish,
FILE *  fpPrivKey,
int  iHashType,
const OpenSOAPCARecPtr  pRec,
FILE *  fpCert
 

Create Certificate from CA Record(stream).

Parameters:
szPublish const char * [in] ((|szPublish|)) Publisher's Name
fpPrivKey FILE * [in] ((|fpPrivKey|)) Private Key(Publisher
iHashType int [in] ((|iHashType|)) Hash type(OPENSOAP_HA_*)
pRec const OpenSOAPRecPtr [in] ((|pRec|)) CA Record
fpCert FILE * [out] ((|fpCert|)) Certificate File
Returns:
Error Code

int OpenSOAPSecCertFree OpenSOAPSecCertPtr  ppCert  ) 
 

Free Certificate.

Parameters:
ppCert OpenSOAPSecCertPtr * [in] ((|ppCert|)) Certificate
Returns:
Error Code

int OpenSOAPSecCertGetEndDate OpenSOAPSecCertPtr  pCert,
char **  pszDate
 

Get End Date.

Parameters:
pCert OpenSOAPSecCertPtr [in] ((|pCert|)) Certificate
pszDate char ** [out] ((|pszDate|)) Date (Internal Area)
Returns:
Error Code

int OpenSOAPSecCertGetOwnerName OpenSOAPSecCertPtr  pCert,
char **  pszName
 

Get Name of Owner.

Parameters:
pCert OpenSOAPSecCertPtr [in] ((|pCert|)) Certificate
pszName char ** [out] ((|pszName|)) Name (Internal Area)
Returns:
Error Code

int OpenSOAPSecCertGetPubKey OpenSOAPSecCertPtr  pCert,
const char *  szSaveName
 

Get Public Key.

Parameters:
pCert OpenSOAPSecCertPtr [in] ((|pCert|))
szSaveName const char * [in] ((|szSaveName|)) Public Key File Name
Returns:
Error Code

int OpenSOAPSecCertGetPublisherName OpenSOAPSecCertPtr  pCert,
char **  pszName
 

Get Name Of Publisher.

Parameters:
pCert OpenSOAPSecCertPtr [in] ((|pCert|)) Certificate
pszName char ** [out] ((|pszName|)) Name (Internal Area)
Returns:
Error Code

int OpenSOAPSecCertGetSerialNo OpenSOAPSecCertPtr  pCert,
unsigned long *  pulSerial
 

Get Serial Number.

Parameters:
pCert OpenSOAPSecCertPtr [in] ((|pCert|)) Certificate
pulSerial unsigned long * [out] ((|pulSerial|)) Serial Number
Returns:
Error Code

int OpenSOAPSecCertLoad const char *  szName,
OpenSOAPSecCertPtr ppCert
 

Load Certificate From File.

Parameters:
szName const char * [in] ((|szName|)) File Name
ppCert OpenSOAPSecCertPtr * [out] ((|ppCert|)) Certificate
Returns:
Error Code

int OpenSOAPSecCertLoadFromMem size_t  sizArea,
const unsigned char *  pucArea,
OpenSOAPSecCertPtr ppCert
 

Load Certificate From Memory.

Parameters:
sizArea size_t [in] ((|sizArea|)) Size Of Input Area
pucArea const unsigned char * [in] ((|pucArea|)) Input Area
ppCert OpenSOAPSecCertPtr * [out] ((|ppCert|)) Certificate
Returns:
Error Code

int OpenSOAPSecCertVerifyWithFile const char *  szCertName,
const char *  szPubKeyName
 

Verify Certificate (File).

Parameters:
szCertName const char * [in] ((|szCertName|)) Certificate File Name
szPubKeyName const char * [in] ((|szPubKeyName|)) Public Key File Name
Returns:
Error Code

int OpenSOAPSecCertVerifyWithStream FILE *  fpCert,
FILE *  fpPubKey
 

Verify Certificate (Stream).

Parameters:
fpCert FILE * [in] ((|fpCert|)) Certificate File Stream
fpPubKey FILE * [in] ((|fpPubKey|)) Public Key File Stream
Returns:
Error Code

int OpenSOAPSecCntSign const OpenSOAPEnvelopePtr  env,
int *  pnSig
 

Count Signatures.

Parameters:
env const OpenSOAPEnvelopePtr [in] ((|env|)) OpenSOAP Envelope
pnSig int * [out] ((|pnSig|)) Signature Count
Returns:
Error Code

int OpenSOAPSecDecodeKeyFile FILE *  fp,
unsigned long *  pulLenOut,
unsigned char **  ppucDecode
 

Decode Key File.

Parameters:
fp FILE * [in] ((|fp|)) File Stream
pulLenOut unsigned long * [out] ((|pulLenOut|)) Length of output data
ppucDecode unsigned char ** [out] ((|ppucDecode|)) Decoded String
Note:
After calling this function, call free() to free resources used by ppucDecode.
Returns:
Error Code

int OpenSOAPSecDecWithFile OpenSOAPEnvelopePtr  env,
const char *  szPrivKName
 

Decrypt Envelope Using Private Key File.

Parameters:
env OpenSOAPEnvelopePtr [in] ((|env|)) Envelope
szPrivKName const char * [in] ((|szPrivKName|)) Private Key File Name
Returns:
Error Code

int OpenSOAPSecDecWithStream OpenSOAPEnvelopePtr  env,
FILE *  fpPrivKey
 

Decrypt Envelope Using Private Key File Stream.

Parameters:
env OpenSOAPEnvelopePtr [in] ((|env|)) Envelope
fpPrivKey FILE * [in] ((|fpPrivKey|)) Private Key File Stream
Returns:
Error Code

int OpenSOAPSecEncWithFile OpenSOAPEnvelopePtr  env,
const char *  szPubKName
 

Encrypt Envelope Using Public Key File.

Parameters:
env OpenSOAPEnvelopePtr [in, out] ((|env|)) Envelope
szPubKName const char * [in] ((|szPubKName|)) Public Key File Name
Returns:
Error Code

int OpenSOAPSecEncWithStream OpenSOAPEnvelopePtr  env,
FILE *  fpPubKey
 

Encrypt Envelope Using Public Key File Stream.

Parameters:
env OpenSOAPEnvelopePtr [in, out] ((|env|)) Envelope
fpPubKey FILE * [in] ((|fpPubKey|)) Public Key File Stream
Returns:
Error Code

int OpenSOAPSecGenerateRSAKeys const unsigned char *  szSeedPhrase,
FILE *  fpPrivKey,
FILE *  fpPubKey
 

Generate RSA Keys To Stream.

Parameters:
szSeedPhrase const unsigned char * [in] ((|szSeedPhrase|)) Seed Phrase
fpPrivKey FILE * [in] ((|fpPrivKey|)) RSA Private Key File Stream
fpPubKey FILE * [in] ((|fpPubKey|)) RSA Public Key File Stream
Returns:
Error Code

int OpenSOAPSecGenerateRSAKeysToFile const unsigned char *  szSeedPhrase,
const char *  szPrivKeyFileName,
const char *  szPubKeyFileName
 

Generate RSA Keys To File.

Parameters:
szSeedPhrase const unsigned char * [in] ((|szSeedPhrase|)) Seed Phrase
szPrivKeyFileName const char * [in] ((|szPrivKeyFileName\)) Private Key File Name
szPubKeyFileName const char * [in] ((|szPrivKeyFileName\)) Public Key File Name
Returns:
Error Code

int OpenSOAPSecGetSignedByList OpenSOAPEnvelopePtr  env,
int  nCntMax,
OpenSOAPStringPtr  list[],
int *  pnCntPacked
 

Get "SignedBy" List of Signatures.

Parameters:
env OpenSOAPEnvelopePtr [in] ((|env|)) OpenSOAP Envelope
nCntMax int [in] ((|nCntMax|)) Maximum Count
list[] OpenSOAPStringPtr [in, out] ((|list[]|)) SignedBy List
pnCntPacked int * [out] ((|pnCntPacked|)) Packed Count
Returns:
Error Code

int OpenSOAPSecVerifySignWithFile OpenSOAPEnvelopePtr  env,
const char *  szPubKName
 

Verify Signature using PublicKey File.

Parameters:
env OpenSOAPEnvelopePtr [in, out] ((|env|)) OpenSOAP Envelope
szPubKName const char * [in] ((|szPubKName||) Public Key File Name
Returns:
Error Code

int OpenSOAPSecVerifySignWithStream OpenSOAPEnvelopePtr  env,
FILE *  fpPubKey
 

Verify Signature using PublicKey File Stream.

Parameters:
env OpenSOAPEnvelopePtr [in, out] ((|env|)) OpenSOAP Envelope
fpPubKey FILE * [in] ((|fpPubKey|)) Public Key File Stream
Returns:
Error Code


Generated on Mon Oct 18 18:29:44 2004 for OpenSOAP by doxygen 1.3.6