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)
 Hash Algorithm Definition For MD2.

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

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

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

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

#define OPENSOAP_HA_SHA   (6)
 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 OpenSOAPSecCert * OpenSOAPSecCertPtr
 OpenSOAPSecCert Pointer Type Definition.

typedef tagOpenSOAPCARec OpenSOAPCARec
 OpenSOAPCARec Structure Type Definition.

typedef OpenSOAPCARec * OpenSOAPCARecPtr
 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)
 

Hash Algorithm Definition For MD2.

(1)

#define OPENSOAP_HA_MD4   (2)
 

Hash Algorithm Definition For MD4.

(2)

#define OPENSOAP_HA_MD5   (3)
 

Hash Algorithm Definition For MD5.

(3)

#define OPENSOAP_HA_MDC2   (4)
 

Hash Algorithm Definition For MDC2.

(4)

#define OPENSOAP_HA_RIPEMD   (5)
 

Hash Algorithm Definition For RIPEMD.

(5)

#define OPENSOAP_HA_SHA   (6)
 

Hash Algorithm Definition For SHA.

(6)


Typedef Documentation

struct tagOpenSOAPCARec OpenSOAPCARec
 

OpenSOAPCARec Structure Type Definition.

OpenSOAPCARec * OpenSOAPCARecPtr
 

OpenSOAPCARec Pointer Type Definition.

struct tagOpenSOAPSecCert OpenSOAPSecCert
 

OpenSOAPSecCert Structure Type Definition.

OpenSOAPSecCert * OpenSOAPSecCertPtr
 

OpenSOAPSecCert Pointer Type Definition.


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 Fri May 30 12:19:51 2003 for OpenSOAP by doxygen1.3