blob: 565587264dad8215c509535df675b89859324a2b [file] [log] [blame]
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef _CERTUTIL_H
#define _CERTUTIL_H
extern SECKEYPrivateKey *
CERTUTIL_GeneratePrivateKey(KeyType keytype,
PK11SlotInfo *slot,
int rsasize,
int publicExponent,
char *noise,
SECKEYPublicKey **pubkeyp,
char *pqgFile,
PK11AttrFlags attrFlags,
CK_FLAGS opFlagsOn,
CK_FLAGS opFlagsOff,
secuPWData *pwdata);
extern char *progName;
enum certutilExtns {
ext_keyUsage = 0,
ext_basicConstraint,
ext_authorityKeyID,
ext_CRLDistPts,
ext_NSCertType,
ext_extKeyUsage,
ext_authInfoAcc,
ext_subjInfoAcc,
ext_certPolicies,
ext_policyMappings,
ext_policyConstr,
ext_inhibitAnyPolicy,
ext_subjectKeyID,
ext_nameConstraints,
ext_subjectAltName,
ext_End
};
typedef struct ExtensionEntryStr {
PRBool activated;
const char *arg;
} ExtensionEntry;
typedef ExtensionEntry certutilExtnList[ext_End];
extern SECStatus
AddExtensions(void *extHandle, const char *emailAddrs, const char *dnsNames,
certutilExtnList extList, const char *extGeneric);
extern SECStatus
GetOidFromString(PLArenaPool *arena, SECItem *to,
const char *from, size_t fromLen);
#endif /* _CERTUTIL_H */