|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 #ifndef _CERTUTIL_H |
|
6 #define _CERTUTIL_H |
|
7 |
|
8 extern SECKEYPrivateKey * |
|
9 CERTUTIL_GeneratePrivateKey(KeyType keytype, |
|
10 PK11SlotInfo *slot, |
|
11 int rsasize, |
|
12 int publicExponent, |
|
13 char *noise, |
|
14 SECKEYPublicKey **pubkeyp, |
|
15 char *pqgFile, |
|
16 PK11AttrFlags attrFlags, |
|
17 CK_FLAGS opFlagsOn, |
|
18 CK_FLAGS opFlagsOff, |
|
19 secuPWData *pwdata); |
|
20 |
|
21 extern char *progName; |
|
22 |
|
23 enum certutilExtns { |
|
24 ext_keyUsage = 0, |
|
25 ext_basicConstraint, |
|
26 ext_authorityKeyID, |
|
27 ext_CRLDistPts, |
|
28 ext_NSCertType, |
|
29 ext_extKeyUsage, |
|
30 ext_authInfoAcc, |
|
31 ext_subjInfoAcc, |
|
32 ext_certPolicies, |
|
33 ext_policyMappings, |
|
34 ext_policyConstr, |
|
35 ext_inhibitAnyPolicy, |
|
36 ext_subjectKeyID, |
|
37 ext_nameConstraints, |
|
38 ext_subjectAltName, |
|
39 ext_End |
|
40 }; |
|
41 |
|
42 typedef struct ExtensionEntryStr { |
|
43 PRBool activated; |
|
44 const char *arg; |
|
45 } ExtensionEntry; |
|
46 |
|
47 typedef ExtensionEntry certutilExtnList[ext_End]; |
|
48 |
|
49 extern SECStatus |
|
50 AddExtensions(void *extHandle, const char *emailAddrs, const char *dnsNames, |
|
51 certutilExtnList extList, const char *extGeneric); |
|
52 |
|
53 extern SECStatus |
|
54 GetOidFromString(PLArenaPool *arena, SECItem *to, |
|
55 const char *from, size_t fromLen); |
|
56 |
|
57 #endif /* _CERTUTIL_H */ |
|
58 |