pam_pkcs11 0.6.12
secutil.h File Reference
#include "seccomon.h"
#include "secitem.h"
#include "prerror.h"
#include "base64.h"
#include "key.h"
#include "secpkcs7.h"
#include "secasn1.h"
#include "secder.h"
#include <stdio.h>
#include "secerr.h"
#include "sslerr.h"

Go to the source code of this file.

Data Structures

struct  secuPWData
 
struct  secuCommandFlag
 
struct  secuCommand
 

Macros

#define SEC_CT_PRIVATE_KEY   "private-key"
 
#define SEC_CT_PUBLIC_KEY   "public-key"
 
#define SEC_CT_CERTIFICATE   "certificate"
 
#define SEC_CT_CERTIFICATE_REQUEST   "certificate-request"
 
#define SEC_CT_PKCS7   "pkcs7"
 
#define SEC_CT_CRL   "crl"
 
#define NS_CERTREQ_HEADER   "-----BEGIN NEW CERTIFICATE REQUEST-----"
 
#define NS_CERTREQ_TRAILER   "-----END NEW CERTIFICATE REQUEST-----"
 
#define NS_CERT_HEADER   "-----BEGIN CERTIFICATE-----"
 
#define NS_CERT_TRAILER   "-----END CERTIFICATE-----"
 
#define NS_CRL_HEADER   "-----BEGIN CRL-----"
 
#define NS_CRL_TRAILER   "-----END CRL-----"
 

Typedefs

typedef int(* SECU_PPFunc) (FILE *out, SECItem *item, char *msg, int level)
 
typedef SECStatus(* EXTEN_EXT_VALUE_ENCODER) (PRArenaPool *extHandleArena, void *value, SECItem *encodedValue)
 

Enumerations

enum  SignAndEncodeFuncExitStat {
  noKeyFound = 1 , noSignatureMatch = 2 , failToEncode = 3 , failToSign = 4 ,
  noMem = 5
}
 

Functions

SECStatus SEC_AddPermCertificate (CERTCertDBHandle *handle, SECItem *derCert, char *nickname, CERTCertTrust *trust)
 
SECStatus SECU_ChangePW (PK11SlotInfo *slot, char *passwd, char *pwFile)
 
PRBool SEC_CheckPassword (char *password)
 
PRBool SEC_BlindCheckPassword (char *password)
 
char * SEC_GetPassword (FILE *in, FILE *out, char *msg, PRBool(*chkpw)(char *))
 
char * SECU_FilePasswd (PK11SlotInfo *slot, PRBool retry, void *arg)
 
char * SECU_GetPasswordString (void *arg, char *prompt)
 
SECStatus SEC_WriteDongleFile (int fd, char *pw)
 
char * SEC_ReadDongleFile (int fd)
 
char * SECU_AppendFilenameToDir (char *dir, char *filename)
 
char * SECU_DefaultSSLDir (void)
 
char * SECU_ConfigDirectory (const char *base)
 
int SECU_GetClientAuthData (void *arg, PRFileDesc *fd, struct CERTDistNamesStr *caNames, struct CERTCertificateStr **pRetCert, struct SECKEYPrivateKeyStr **pRetKey)
 
void SECU_PrintError (char *progName, char *msg,...)
 
void SECU_PrintSystemError (char *progName, char *msg,...)
 
const char * SECU_Strerror (PRErrorCode errNum)
 
void SECU_printCertProblems (FILE *outfile, CERTCertDBHandle *handle, CERTCertificate *cert, PRBool checksig, SECCertificateUsage certUsage, void *pinArg, PRBool verbose)
 
SECStatus SECU_FileToItem (SECItem *dst, PRFileDesc *src)
 
SECStatus SECU_TextFileToItem (SECItem *dst, PRFileDesc *src)
 
SECStatus SECU_ReadDERFromFile (SECItem *der, PRFileDesc *inFile, PRBool ascii)
 
void SECU_Indent (FILE *out, int level)
 
void SECU_PrintInteger (FILE *out, SECItem *i, char *m, int level)
 
SECOidTag SECU_PrintObjectID (FILE *out, SECItem *oid, char *m, int level)
 
void SECU_PrintAlgorithmID (FILE *out, SECAlgorithmID *a, char *m, int level)
 
void SECU_PrintAsHex (FILE *out, SECItem *i, const char *m, int level)
 
void SECU_PrintBuf (FILE *out, const char *msg, const void *vp, int len)
 
void SECU_PrintUTCTime (FILE *out, SECItem *t, char *m, int level)
 
void SECU_PrintGeneralizedTime (FILE *out, SECItem *t, char *m, int level)
 
void SECU_PrintTimeChoice (FILE *out, SECItem *t, char *m, int level)
 
SECStatus SECU_PrintCertNickname (CERTCertListNode *cert, void *data)
 
SECStatus SECU_PrintCertificateNames (CERTCertDBHandle *handle, PRFileDesc *out, PRBool sortByName, PRBool sortByTrust)
 
int SECU_CheckCertNameExists (CERTCertDBHandle *handle, char *nickname)
 
int SECU_PrintCertificateRequest (FILE *out, SECItem *der, char *m, int level)
 
int SECU_PrintCertificate (FILE *out, SECItem *der, char *m, int level)
 
void SECU_PrintTrustFlags (FILE *out, CERTCertTrust *trust, char *m, int level)
 
int SECU_PrintPublicKey (FILE *out, SECItem *der, char *m, int level)
 
int SECU_PrintFingerprints (FILE *out, SECItem *derCert, char *m, int level)
 
int SECU_PrintPKCS7ContentInfo (FILE *out, SECItem *der, char *m, int level)
 
SECStatus SECU_PKCS11Init (PRBool readOnly)
 
int SECU_PrintSignedData (FILE *out, SECItem *der, char *m, int level, SECU_PPFunc inner)
 
int SECU_PrintCrl (FILE *out, SECItem *der, char *m, int level)
 
void SECU_PrintCRLInfo (FILE *out, CERTCrl *crl, char *m, int level)
 
void SECU_PrintString (FILE *out, SECItem *si, char *m, int level)
 
void SECU_PrintAny (FILE *out, SECItem *i, char *m, int level)
 
void SECU_PrintPolicy (FILE *out, SECItem *value, char *msg, int level)
 
void SECU_PrintPrivKeyUsagePeriodExtension (FILE *out, SECItem *value, char *msg, int level)
 
void SECU_PrintExtensions (FILE *out, CERTCertExtension **extensions, char *msg, int level)
 
void SECU_PrintName (FILE *out, CERTName *name, char *msg, int level)
 
SECItem * SECU_GetPBEPassword (void *arg)
 
char * SECU_GetModulePassword (PK11SlotInfo *slot, PRBool retry, void *arg)
 
SECStatus DER_PrettyPrint (FILE *out, SECItem *it, PRBool raw)
 
void SEC_Init (void)
 
char * SECU_SECModDBName (void)
 
void SECU_PrintPRandOSError (char *progName)
 
SECStatus SECU_RegisterDynamicOids (void)
 
SECOidTag SECU_StringToSignatureAlgTag (const char *alg)
 
SECStatus SECU_StoreCRL (PK11SlotInfo *slot, SECItem *derCrl, PRFileDesc *outFile, int ascii, char *url)
 
SECStatus SECU_DerSignDataCRL (PRArenaPool *arena, CERTSignedData *sd, unsigned char *buf, int len, SECKEYPrivateKey *pk, SECOidTag algID)
 
SECStatus SECU_SignAndEncodeCRL (CERTCertificate *issuer, CERTSignedCrl *signCrl, SECOidTag hashAlgTag, SignAndEncodeFuncExitStat *resCode)
 
SECStatus SECU_CopyCRL (PRArenaPool *destArena, CERTCrl *destCrl, CERTCrl *srcCrl)
 
CERTAuthKeyID * SECU_FindCRLAuthKeyIDExten (PRArenaPool *arena, CERTSignedCrl *crl)
 
CERTCertificate * SECU_FindCrlIssuer (CERTCertDBHandle *dbHandle, SECItem *subject, CERTAuthKeyID *id, PRTime validTime)
 
SECStatus SECU_EncodeAndAddExtensionValue (PRArenaPool *arena, void *extHandle, void *value, PRBool criticality, int extenType, EXTEN_EXT_VALUE_ENCODER EncodeValueFn)
 
SECStatus SECU_ParseCommandLine (int argc, char **argv, char *progName, secuCommand *cmd)
 
char * SECU_GetOptionArg (secuCommand *cmd, int optionNum)
 
char * SECU_ErrorString (int16 err)
 
char * SECU_ErrorStringRaw (int16 err)
 
void printflags (char *trusts, unsigned int flags)
 
int ffs (unsigned int i)
 

Macro Definition Documentation

◆ NS_CERT_HEADER

#define NS_CERT_HEADER   "-----BEGIN CERTIFICATE-----"

Definition at line 59 of file secutil.h.

◆ NS_CERT_TRAILER

#define NS_CERT_TRAILER   "-----END CERTIFICATE-----"

Definition at line 60 of file secutil.h.

◆ NS_CERTREQ_HEADER

#define NS_CERTREQ_HEADER   "-----BEGIN NEW CERTIFICATE REQUEST-----"

Definition at line 56 of file secutil.h.

◆ NS_CERTREQ_TRAILER

#define NS_CERTREQ_TRAILER   "-----END NEW CERTIFICATE REQUEST-----"

Definition at line 57 of file secutil.h.

◆ NS_CRL_HEADER

#define NS_CRL_HEADER   "-----BEGIN CRL-----"

Definition at line 62 of file secutil.h.

◆ NS_CRL_TRAILER

#define NS_CRL_TRAILER   "-----END CRL-----"

Definition at line 63 of file secutil.h.

◆ SEC_CT_CERTIFICATE

#define SEC_CT_CERTIFICATE   "certificate"

Definition at line 51 of file secutil.h.

◆ SEC_CT_CERTIFICATE_REQUEST

#define SEC_CT_CERTIFICATE_REQUEST   "certificate-request"

Definition at line 52 of file secutil.h.

◆ SEC_CT_CRL

#define SEC_CT_CRL   "crl"

Definition at line 54 of file secutil.h.

◆ SEC_CT_PKCS7

#define SEC_CT_PKCS7   "pkcs7"

Definition at line 53 of file secutil.h.

◆ SEC_CT_PRIVATE_KEY

#define SEC_CT_PRIVATE_KEY   "private-key"

Definition at line 49 of file secutil.h.

◆ SEC_CT_PUBLIC_KEY

#define SEC_CT_PUBLIC_KEY   "public-key"

Definition at line 50 of file secutil.h.

Typedef Documentation

◆ EXTEN_EXT_VALUE_ENCODER

typedef SECStatus(* EXTEN_EXT_VALUE_ENCODER) (PRArenaPool *extHandleArena, void *value, SECItem *encodedValue)

Definition at line 363 of file secutil.h.

◆ SECU_PPFunc

typedef int(* SECU_PPFunc) (FILE *out, SECItem *item, char *msg, int level)

Definition at line 74 of file secutil.h.

Enumeration Type Documentation

◆ SignAndEncodeFuncExitStat

Enumerator
noKeyFound 
noSignatureMatch 
failToEncode 
failToSign 
noMem 

Definition at line 331 of file secutil.h.

Function Documentation

◆ DER_PrettyPrint()

SECStatus DER_PrettyPrint ( FILE * out,
SECItem * it,
PRBool raw )
extern

◆ ffs()

int ffs ( unsigned int i)
extern

◆ printflags()

void printflags ( char * trusts,
unsigned int flags )

◆ SEC_AddPermCertificate()

SECStatus SEC_AddPermCertificate ( CERTCertDBHandle * handle,
SECItem * derCert,
char * nickname,
CERTCertTrust * trust )
extern

◆ SEC_BlindCheckPassword()

PRBool SEC_BlindCheckPassword ( char * password)
extern

◆ SEC_CheckPassword()

PRBool SEC_CheckPassword ( char * password)
extern

◆ SEC_GetPassword()

char * SEC_GetPassword ( FILE * in,
FILE * out,
char * msg,
PRBool(* chkpw )(char *) )
extern

◆ SEC_Init()

void SEC_Init ( void )
extern

◆ SEC_ReadDongleFile()

char * SEC_ReadDongleFile ( int fd)
extern

◆ SEC_WriteDongleFile()

SECStatus SEC_WriteDongleFile ( int fd,
char * pw )
extern

◆ SECU_AppendFilenameToDir()

char * SECU_AppendFilenameToDir ( char * dir,
char * filename )

◆ SECU_ChangePW()

SECStatus SECU_ChangePW ( PK11SlotInfo * slot,
char * passwd,
char * pwFile )

◆ SECU_CheckCertNameExists()

int SECU_CheckCertNameExists ( CERTCertDBHandle * handle,
char * nickname )

◆ SECU_ConfigDirectory()

char * SECU_ConfigDirectory ( const char * base)
extern

◆ SECU_CopyCRL()

SECStatus SECU_CopyCRL ( PRArenaPool * destArena,
CERTCrl * destCrl,
CERTCrl * srcCrl )
extern

◆ SECU_DefaultSSLDir()

char * SECU_DefaultSSLDir ( void )
extern

◆ SECU_DerSignDataCRL()

SECStatus SECU_DerSignDataCRL ( PRArenaPool * arena,
CERTSignedData * sd,
unsigned char * buf,
int len,
SECKEYPrivateKey * pk,
SECOidTag algID )
extern

◆ SECU_EncodeAndAddExtensionValue()

SECStatus SECU_EncodeAndAddExtensionValue ( PRArenaPool * arena,
void * extHandle,
void * value,
PRBool criticality,
int extenType,
EXTEN_EXT_VALUE_ENCODER EncodeValueFn )

◆ SECU_ErrorString()

char * SECU_ErrorString ( int16 err)

◆ SECU_ErrorStringRaw()

char * SECU_ErrorStringRaw ( int16 err)

◆ SECU_FilePasswd()

char * SECU_FilePasswd ( PK11SlotInfo * slot,
PRBool retry,
void * arg )

◆ SECU_FileToItem()

SECStatus SECU_FileToItem ( SECItem * dst,
PRFileDesc * src )
extern

◆ SECU_FindCRLAuthKeyIDExten()

CERTAuthKeyID * SECU_FindCRLAuthKeyIDExten ( PRArenaPool * arena,
CERTSignedCrl * crl )

◆ SECU_FindCrlIssuer()

CERTCertificate * SECU_FindCrlIssuer ( CERTCertDBHandle * dbHandle,
SECItem * subject,
CERTAuthKeyID * id,
PRTime validTime )

◆ SECU_GetClientAuthData()

int SECU_GetClientAuthData ( void * arg,
PRFileDesc * fd,
struct CERTDistNamesStr * caNames,
struct CERTCertificateStr ** pRetCert,
struct SECKEYPrivateKeyStr ** pRetKey )
extern

◆ SECU_GetModulePassword()

char * SECU_GetModulePassword ( PK11SlotInfo * slot,
PRBool retry,
void * arg )
extern

◆ SECU_GetOptionArg()

char * SECU_GetOptionArg ( secuCommand * cmd,
int optionNum )

◆ SECU_GetPasswordString()

char * SECU_GetPasswordString ( void * arg,
char * prompt )

◆ SECU_GetPBEPassword()

SECItem * SECU_GetPBEPassword ( void * arg)
extern

◆ SECU_Indent()

void SECU_Indent ( FILE * out,
int level )
extern

◆ SECU_ParseCommandLine()

SECStatus SECU_ParseCommandLine ( int argc,
char ** argv,
char * progName,
secuCommand * cmd )

◆ SECU_PKCS11Init()

SECStatus SECU_PKCS11Init ( PRBool readOnly)
extern

◆ SECU_PrintAlgorithmID()

void SECU_PrintAlgorithmID ( FILE * out,
SECAlgorithmID * a,
char * m,
int level )
extern

◆ SECU_PrintAny()

void SECU_PrintAny ( FILE * out,
SECItem * i,
char * m,
int level )
extern

◆ SECU_PrintAsHex()

void SECU_PrintAsHex ( FILE * out,
SECItem * i,
const char * m,
int level )
extern

◆ SECU_PrintBuf()

void SECU_PrintBuf ( FILE * out,
const char * msg,
const void * vp,
int len )
extern

◆ SECU_PrintCertificate()

int SECU_PrintCertificate ( FILE * out,
SECItem * der,
char * m,
int level )
extern

◆ SECU_PrintCertificateNames()

SECStatus SECU_PrintCertificateNames ( CERTCertDBHandle * handle,
PRFileDesc * out,
PRBool sortByName,
PRBool sortByTrust )
extern

◆ SECU_PrintCertificateRequest()

int SECU_PrintCertificateRequest ( FILE * out,
SECItem * der,
char * m,
int level )
extern

◆ SECU_PrintCertNickname()

SECStatus SECU_PrintCertNickname ( CERTCertListNode * cert,
void * data )
extern

◆ SECU_printCertProblems()

void SECU_printCertProblems ( FILE * outfile,
CERTCertDBHandle * handle,
CERTCertificate * cert,
PRBool checksig,
SECCertificateUsage certUsage,
void * pinArg,
PRBool verbose )
extern

◆ SECU_PrintCrl()

int SECU_PrintCrl ( FILE * out,
SECItem * der,
char * m,
int level )
extern

◆ SECU_PrintCRLInfo()

void SECU_PrintCRLInfo ( FILE * out,
CERTCrl * crl,
char * m,
int level )
extern

◆ SECU_PrintError()

void SECU_PrintError ( char * progName,
char * msg,
... )
extern

◆ SECU_PrintExtensions()

void SECU_PrintExtensions ( FILE * out,
CERTCertExtension ** extensions,
char * msg,
int level )
extern

◆ SECU_PrintFingerprints()

int SECU_PrintFingerprints ( FILE * out,
SECItem * derCert,
char * m,
int level )
extern

◆ SECU_PrintGeneralizedTime()

void SECU_PrintGeneralizedTime ( FILE * out,
SECItem * t,
char * m,
int level )
extern

◆ SECU_PrintInteger()

void SECU_PrintInteger ( FILE * out,
SECItem * i,
char * m,
int level )
extern

◆ SECU_PrintName()

void SECU_PrintName ( FILE * out,
CERTName * name,
char * msg,
int level )
extern

◆ SECU_PrintObjectID()

SECOidTag SECU_PrintObjectID ( FILE * out,
SECItem * oid,
char * m,
int level )
extern

◆ SECU_PrintPKCS7ContentInfo()

int SECU_PrintPKCS7ContentInfo ( FILE * out,
SECItem * der,
char * m,
int level )
extern

◆ SECU_PrintPolicy()

void SECU_PrintPolicy ( FILE * out,
SECItem * value,
char * msg,
int level )
extern

◆ SECU_PrintPRandOSError()

void SECU_PrintPRandOSError ( char * progName)
extern

◆ SECU_PrintPrivKeyUsagePeriodExtension()

void SECU_PrintPrivKeyUsagePeriodExtension ( FILE * out,
SECItem * value,
char * msg,
int level )
extern

◆ SECU_PrintPublicKey()

int SECU_PrintPublicKey ( FILE * out,
SECItem * der,
char * m,
int level )
extern

◆ SECU_PrintSignedData()

int SECU_PrintSignedData ( FILE * out,
SECItem * der,
char * m,
int level,
SECU_PPFunc inner )
extern

◆ SECU_PrintString()

void SECU_PrintString ( FILE * out,
SECItem * si,
char * m,
int level )
extern

◆ SECU_PrintSystemError()

void SECU_PrintSystemError ( char * progName,
char * msg,
... )
extern

◆ SECU_PrintTimeChoice()

void SECU_PrintTimeChoice ( FILE * out,
SECItem * t,
char * m,
int level )
extern

◆ SECU_PrintTrustFlags()

void SECU_PrintTrustFlags ( FILE * out,
CERTCertTrust * trust,
char * m,
int level )
extern

◆ SECU_PrintUTCTime()

void SECU_PrintUTCTime ( FILE * out,
SECItem * t,
char * m,
int level )
extern

◆ SECU_ReadDERFromFile()

SECStatus SECU_ReadDERFromFile ( SECItem * der,
PRFileDesc * inFile,
PRBool ascii )
extern

◆ SECU_RegisterDynamicOids()

SECStatus SECU_RegisterDynamicOids ( void )
extern

◆ SECU_SECModDBName()

char * SECU_SECModDBName ( void )
extern

◆ SECU_SignAndEncodeCRL()

SECStatus SECU_SignAndEncodeCRL ( CERTCertificate * issuer,
CERTSignedCrl * signCrl,
SECOidTag hashAlgTag,
SignAndEncodeFuncExitStat * resCode )
extern

◆ SECU_StoreCRL()

SECStatus SECU_StoreCRL ( PK11SlotInfo * slot,
SECItem * derCrl,
PRFileDesc * outFile,
int ascii,
char * url )
extern

◆ SECU_Strerror()

const char * SECU_Strerror ( PRErrorCode errNum)
extern

◆ SECU_StringToSignatureAlgTag()

SECOidTag SECU_StringToSignatureAlgTag ( const char * alg)
extern

◆ SECU_TextFileToItem()

SECStatus SECU_TextFileToItem ( SECItem * dst,
PRFileDesc * src )
extern