| /* 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 */ |