summaryrefslogtreecommitdiffstats
path: root/security/nss/cmd/certutil/certutil.h
blob: 565587264dad8215c509535df675b89859324a2b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/* 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 */