Tizen 2.0 Release
[external/libgnutls26.git] / src / certtool-common.h
1 #ifndef CERTTOOL_COMMON_H
2 #define CERTTOOL_COMMON_H
3
4 #include <gnutls/x509.h>
5 #include <stdio.h>
6
7 enum
8 {
9   ACTION_SELF_SIGNED,
10   ACTION_GENERATE_PRIVKEY,
11   ACTION_CERT_INFO,
12   ACTION_GENERATE_REQUEST,
13   ACTION_GENERATE_CERTIFICATE,
14   ACTION_VERIFY_CHAIN,
15   ACTION_PRIVKEY_INFO,
16   ACTION_UPDATE_CERTIFICATE,
17   ACTION_TO_PKCS12,
18   ACTION_PKCS12_INFO,
19   ACTION_GENERATE_DH,
20   ACTION_GET_DH,
21   ACTION_CRL_INFO,
22   ACTION_P7_INFO,
23   ACTION_GENERATE_CRL,
24   ACTION_VERIFY_CRL,
25   ACTION_SMIME_TO_P7,
26   ACTION_GENERATE_PROXY,
27   ACTION_GENERATE_PKCS8,
28   ACTION_PGP_INFO,
29   ACTION_PGP_PRIVKEY_INFO,
30   ACTION_RING_INFO,
31   ACTION_REQUEST,
32   ACTION_PUBKEY_INFO,
33   ACTION_CERT_PUBKEY,
34 };
35
36 #define TYPE_CRT 1
37 #define TYPE_CRQ 2
38
39 void certtool_version (void);
40
41 #include <gnutls/x509.h>
42 #include <gnutls/abstract.h>
43
44 typedef struct common_info
45 {
46   const char *secret_key;
47   const char *privkey;
48   const char *pubkey;
49   int pkcs8;
50   int incert_format;
51   const char *cert;
52
53   const char *request;
54   const char *ca;
55   const char *ca_privkey;
56 } common_info_st;
57
58 gnutls_pubkey_t load_public_key_or_import(int mand, gnutls_privkey_t privkey, common_info_st * info);
59 gnutls_privkey_t load_private_key (int mand, common_info_st * info);
60 gnutls_x509_privkey_t load_x509_private_key (int mand, common_info_st * info);
61 gnutls_x509_crq_t load_request (common_info_st * info);
62 gnutls_privkey_t load_ca_private_key (common_info_st * info);
63 gnutls_x509_crt_t load_ca_cert (common_info_st * info);
64 gnutls_x509_crt_t load_cert (int mand, common_info_st * info);
65 gnutls_datum *load_secret_key (int mand, common_info_st * info);
66 gnutls_pubkey_t load_pubkey (int mand, common_info_st * info);
67 gnutls_x509_crt_t *load_cert_list (int mand, size_t * size,
68                                    common_info_st * info);
69
70 /* returns the bits specified in cmd */
71 int get_bits (gnutls_pk_algorithm_t);
72
73 /* prime.c */
74 int generate_prime (int how);
75
76 FILE *safe_open_rw (const char *file, int privkey_op);
77
78 extern unsigned char buffer[];
79 extern const int buffer_size;
80
81
82 #endif