1 module bindbc.gnutls.openpgp; 2 3 import bindbc.gnutls.gnutls; 4 import core.stdc.limits; 5 import core.sys.posix.sys.select; 6 7 enum gnutls_openpgp_crt_fmt 8 { 9 GNUTLS_OPENPGP_FMT_RAW = 0, 10 GNUTLS_OPENPGP_FMT_BASE64 = 1 11 } 12 13 alias gnutls_openpgp_crt_fmt_t = gnutls_openpgp_crt_fmt; 14 15 enum GNUTLS_OPENPGP_KEYID_SIZE = 8; 16 enum GNUTLS_OPENPGP_V4_FINGERPRINT_SIZE = 20; 17 alias gnutls_openpgp_keyid_t = ubyte[GNUTLS_OPENPGP_KEYID_SIZE]; 18 enum GNUTLS_OPENPGP_MASTER_KEYID_IDX = INT_MAX; 19 20 extern(C) nothrow @nogc 21 { 22 alias gnutls_openpgp_recv_key_func = int function (gnutls_session_t session, const(ubyte)* keyfpr, uint keyfpr_length, gnutls_datum_t* key); 23 } 24 25 version (BindGnuTLS_Static) 26 { 27 extern (System) @nogc nothrow @system: 28 29 int gnutls_openpgp_crt_init (gnutls_openpgp_crt_t* key); 30 void gnutls_openpgp_crt_deinit (gnutls_openpgp_crt_t key); 31 int gnutls_openpgp_crt_import (gnutls_openpgp_crt_t key, const(gnutls_datum_t)* data, gnutls_openpgp_crt_fmt_t format); 32 int gnutls_openpgp_crt_export (gnutls_openpgp_crt_t key, gnutls_openpgp_crt_fmt_t format, void* output_data, size_t* output_data_size); 33 int gnutls_openpgp_crt_export2 (gnutls_openpgp_crt_t key, gnutls_openpgp_crt_fmt_t format, gnutls_datum_t* out_); 34 int gnutls_openpgp_crt_print (gnutls_openpgp_crt_t cert, gnutls_certificate_print_formats_t format, gnutls_datum_t* out_); 35 int gnutls_openpgp_crt_get_key_usage (gnutls_openpgp_crt_t key, uint* key_usage); 36 int gnutls_openpgp_crt_get_fingerprint (gnutls_openpgp_crt_t key, void* fpr, size_t* fprlen); 37 int gnutls_openpgp_crt_get_subkey_fingerprint (gnutls_openpgp_crt_t key, uint idx, void* fpr, size_t* fprlen); 38 int gnutls_openpgp_crt_get_name (gnutls_openpgp_crt_t key, int idx, char* buf, size_t* sizeof_buf); 39 gnutls_pk_algorithm_t gnutls_openpgp_crt_get_pk_algorithm (gnutls_openpgp_crt_t key, uint* bits); 40 int gnutls_openpgp_crt_get_version (gnutls_openpgp_crt_t key); 41 time_t gnutls_openpgp_crt_get_creation_time (gnutls_openpgp_crt_t key); 42 time_t gnutls_openpgp_crt_get_expiration_time (gnutls_openpgp_crt_t key); 43 int gnutls_openpgp_crt_get_key_id (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid); 44 int gnutls_openpgp_crt_check_hostname (gnutls_openpgp_crt_t key, const(char)* hostname); 45 int gnutls_openpgp_crt_check_hostname2 (gnutls_openpgp_crt_t key, const(char)* hostname, uint flags); 46 int gnutls_openpgp_crt_check_email (gnutls_openpgp_crt_t key, const(char)* email, uint flags); 47 int gnutls_openpgp_crt_get_revoked_status (gnutls_openpgp_crt_t key); 48 int gnutls_openpgp_crt_get_subkey_count (gnutls_openpgp_crt_t key); 49 int gnutls_openpgp_crt_get_subkey_idx (gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid); 50 int gnutls_openpgp_crt_get_subkey_revoked_status (gnutls_openpgp_crt_t key, uint idx); 51 gnutls_pk_algorithm_t gnutls_openpgp_crt_get_subkey_pk_algorithm (gnutls_openpgp_crt_t key, uint idx, uint* bits); 52 time_t gnutls_openpgp_crt_get_subkey_creation_time (gnutls_openpgp_crt_t key, uint idx); 53 time_t gnutls_openpgp_crt_get_subkey_expiration_time (gnutls_openpgp_crt_t key, uint idx); 54 int gnutls_openpgp_crt_get_subkey_id (gnutls_openpgp_crt_t key, uint idx, gnutls_openpgp_keyid_t keyid); 55 int gnutls_openpgp_crt_get_subkey_usage (gnutls_openpgp_crt_t key, uint idx, uint* key_usage); 56 int gnutls_openpgp_crt_get_subkey_pk_dsa_raw (gnutls_openpgp_crt_t crt, uint idx, gnutls_datum_t* p, gnutls_datum_t* q, gnutls_datum_t* g, gnutls_datum_t* y); 57 int gnutls_openpgp_crt_get_subkey_pk_rsa_raw (gnutls_openpgp_crt_t crt, uint idx, gnutls_datum_t* m, gnutls_datum_t* e); 58 int gnutls_openpgp_crt_get_pk_dsa_raw (gnutls_openpgp_crt_t crt, gnutls_datum_t* p, gnutls_datum_t* q, gnutls_datum_t* g, gnutls_datum_t* y); 59 int gnutls_openpgp_crt_get_pk_rsa_raw (gnutls_openpgp_crt_t crt, gnutls_datum_t* m, gnutls_datum_t* e); 60 int gnutls_openpgp_crt_get_preferred_key_id (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid); 61 int gnutls_openpgp_crt_set_preferred_key_id (gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid); 62 int gnutls_openpgp_privkey_init (gnutls_openpgp_privkey_t* key); 63 void gnutls_openpgp_privkey_deinit (gnutls_openpgp_privkey_t key); 64 gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_pk_algorithm (gnutls_openpgp_privkey_t key, uint* bits); 65 gnutls_sec_param_t gnutls_openpgp_privkey_sec_param (gnutls_openpgp_privkey_t key); 66 int gnutls_openpgp_privkey_import (gnutls_openpgp_privkey_t key, const(gnutls_datum_t)* data, gnutls_openpgp_crt_fmt_t format, const(char)* password, uint flags); 67 int gnutls_openpgp_privkey_get_fingerprint (gnutls_openpgp_privkey_t key, void* fpr, size_t* fprlen); 68 int gnutls_openpgp_privkey_get_subkey_fingerprint (gnutls_openpgp_privkey_t key, uint idx, void* fpr, size_t* fprlen); 69 int gnutls_openpgp_privkey_get_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid); 70 int gnutls_openpgp_privkey_get_subkey_count (gnutls_openpgp_privkey_t key); 71 int gnutls_openpgp_privkey_get_subkey_idx (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid); 72 int gnutls_openpgp_privkey_get_subkey_revoked_status (gnutls_openpgp_privkey_t key, uint idx); 73 int gnutls_openpgp_privkey_get_revoked_status (gnutls_openpgp_privkey_t key); 74 gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_subkey_pk_algorithm (gnutls_openpgp_privkey_t key, uint idx, uint* bits); 75 time_t gnutls_openpgp_privkey_get_subkey_expiration_time (gnutls_openpgp_privkey_t key, uint idx); 76 int gnutls_openpgp_privkey_get_subkey_id (gnutls_openpgp_privkey_t key, uint idx, gnutls_openpgp_keyid_t keyid); 77 time_t gnutls_openpgp_privkey_get_subkey_creation_time (gnutls_openpgp_privkey_t key, uint idx); 78 int gnutls_openpgp_privkey_export_subkey_dsa_raw (gnutls_openpgp_privkey_t pkey, uint idx, gnutls_datum_t* p, gnutls_datum_t* q, gnutls_datum_t* g, gnutls_datum_t* y, gnutls_datum_t* x); 79 int gnutls_openpgp_privkey_export_subkey_rsa_raw (gnutls_openpgp_privkey_t pkey, uint idx, gnutls_datum_t* m, gnutls_datum_t* e, gnutls_datum_t* d, gnutls_datum_t* p, gnutls_datum_t* q, gnutls_datum_t* u); 80 int gnutls_openpgp_privkey_export_dsa_raw (gnutls_openpgp_privkey_t pkey, gnutls_datum_t* p, gnutls_datum_t* q, gnutls_datum_t* g, gnutls_datum_t* y, gnutls_datum_t* x); 81 int gnutls_openpgp_privkey_export_rsa_raw (gnutls_openpgp_privkey_t pkey, gnutls_datum_t* m, gnutls_datum_t* e, gnutls_datum_t* d, gnutls_datum_t* p, gnutls_datum_t* q, gnutls_datum_t* u); 82 int gnutls_openpgp_privkey_export (gnutls_openpgp_privkey_t key, gnutls_openpgp_crt_fmt_t format, const(char)* password, uint flags, void* output_data, size_t* output_data_size); 83 int gnutls_openpgp_privkey_export2 (gnutls_openpgp_privkey_t key, gnutls_openpgp_crt_fmt_t format, const(char)* password, uint flags, gnutls_datum_t* out_); 84 int gnutls_openpgp_privkey_set_preferred_key_id (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid); 85 int gnutls_openpgp_privkey_get_preferred_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid); 86 int gnutls_openpgp_crt_get_auth_subkey (gnutls_openpgp_crt_t crt, gnutls_openpgp_keyid_t keyid, uint flag); 87 int gnutls_openpgp_keyring_init (gnutls_openpgp_keyring_t* keyring); 88 void gnutls_openpgp_keyring_deinit (gnutls_openpgp_keyring_t keyring); 89 int gnutls_openpgp_keyring_import (gnutls_openpgp_keyring_t keyring, const(gnutls_datum_t)* data, gnutls_openpgp_crt_fmt_t format); 90 int gnutls_openpgp_keyring_check_id (gnutls_openpgp_keyring_t ring, const gnutls_openpgp_keyid_t keyid, uint flags); 91 int gnutls_openpgp_crt_verify_ring (gnutls_openpgp_crt_t key, gnutls_openpgp_keyring_t keyring, uint flags, uint* verify); 92 int gnutls_openpgp_crt_verify_self (gnutls_openpgp_crt_t key, uint flags, uint* verify); 93 int gnutls_openpgp_keyring_get_crt (gnutls_openpgp_keyring_t ring, uint idx, gnutls_openpgp_crt_t* cert); 94 int gnutls_openpgp_keyring_get_crt_count (gnutls_openpgp_keyring_t ring); 95 void gnutls_openpgp_set_recv_key_function (gnutls_session_t session, gnutls_openpgp_recv_key_func func); 96 int gnutls_certificate_set_openpgp_key (gnutls_certificate_credentials_t res, gnutls_openpgp_crt_t crt, gnutls_openpgp_privkey_t pkey); 97 int gnutls_certificate_get_openpgp_key (gnutls_certificate_credentials_t res, uint index, gnutls_openpgp_privkey_t* key); 98 int gnutls_certificate_get_openpgp_crt (gnutls_certificate_credentials_t res, uint index, gnutls_openpgp_crt_t** crt_list, uint* crt_list_size); 99 int gnutls_certificate_set_openpgp_key_file (gnutls_certificate_credentials_t res, const(char)* certfile, const(char)* keyfile, gnutls_openpgp_crt_fmt_t format); 100 int gnutls_certificate_set_openpgp_key_mem (gnutls_certificate_credentials_t res, const(gnutls_datum_t)* cert, const(gnutls_datum_t)* key, gnutls_openpgp_crt_fmt_t format); 101 int gnutls_certificate_set_openpgp_key_file2 (gnutls_certificate_credentials_t res, const(char)* certfile, const(char)* keyfile, const(char)* subkey_id, gnutls_openpgp_crt_fmt_t format); 102 int gnutls_certificate_set_openpgp_key_mem2 (gnutls_certificate_credentials_t res, const(gnutls_datum_t)* cert, const(gnutls_datum_t)* key, const(char)* subkey_id, gnutls_openpgp_crt_fmt_t format); 103 int gnutls_certificate_set_openpgp_keyring_mem (gnutls_certificate_credentials_t c, const(ubyte)* data, size_t dlen, gnutls_openpgp_crt_fmt_t format); 104 int gnutls_certificate_set_openpgp_keyring_file (gnutls_certificate_credentials_t c, const(char)* file, gnutls_openpgp_crt_fmt_t format); 105 } 106 else 107 { 108 extern (System) @nogc nothrow @system 109 { 110 alias pgnutls_openpgp_crt_init = int function (gnutls_openpgp_crt_t* key); 111 alias pgnutls_openpgp_crt_deinit = void function (gnutls_openpgp_crt_t key); 112 alias pgnutls_openpgp_crt_import = int function (gnutls_openpgp_crt_t key, const(gnutls_datum_t)* data, gnutls_openpgp_crt_fmt_t format); 113 alias pgnutls_openpgp_crt_export = int function (gnutls_openpgp_crt_t key, gnutls_openpgp_crt_fmt_t format, void* output_data, size_t* output_data_size); 114 alias pgnutls_openpgp_crt_export2 = int function (gnutls_openpgp_crt_t key, gnutls_openpgp_crt_fmt_t format, gnutls_datum_t* out_); 115 alias pgnutls_openpgp_crt_print = int function (gnutls_openpgp_crt_t cert, gnutls_certificate_print_formats_t format, gnutls_datum_t* out_); 116 alias pgnutls_openpgp_crt_get_key_usage = int function (gnutls_openpgp_crt_t key, uint* key_usage); 117 alias pgnutls_openpgp_crt_get_fingerprint = int function (gnutls_openpgp_crt_t key, void* fpr, size_t* fprlen); 118 alias pgnutls_openpgp_crt_get_subkey_fingerprint = int function (gnutls_openpgp_crt_t key, uint idx, void* fpr, size_t* fprlen); 119 alias pgnutls_openpgp_crt_get_name = int function (gnutls_openpgp_crt_t key, int idx, char* buf, size_t* sizeof_buf); 120 alias pgnutls_openpgp_crt_get_pk_algorithm = gnutls_pk_algorithm_t function (gnutls_openpgp_crt_t key, uint* bits); 121 alias pgnutls_openpgp_crt_get_version = int function (gnutls_openpgp_crt_t key); 122 alias pgnutls_openpgp_crt_get_creation_time = time_t function (gnutls_openpgp_crt_t key); 123 alias pgnutls_openpgp_crt_get_expiration_time = time_t function (gnutls_openpgp_crt_t key); 124 alias pgnutls_openpgp_crt_get_key_id = int function (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid); 125 alias pgnutls_openpgp_crt_check_hostname = int function (gnutls_openpgp_crt_t key, const(char)* hostname); 126 alias pgnutls_openpgp_crt_check_hostname2 = int function (gnutls_openpgp_crt_t key, const(char)* hostname, uint flags); 127 alias pgnutls_openpgp_crt_check_email = int function (gnutls_openpgp_crt_t key, const(char)* email, uint flags); 128 alias pgnutls_openpgp_crt_get_revoked_status = int function (gnutls_openpgp_crt_t key); 129 alias pgnutls_openpgp_crt_get_subkey_count = int function (gnutls_openpgp_crt_t key); 130 alias pgnutls_openpgp_crt_get_subkey_idx = int function (gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid); 131 alias pgnutls_openpgp_crt_get_subkey_revoked_status = int function (gnutls_openpgp_crt_t key, uint idx); 132 alias pgnutls_openpgp_crt_get_subkey_pk_algorithm = gnutls_pk_algorithm_t function (gnutls_openpgp_crt_t key, uint idx, uint* bits); 133 alias pgnutls_openpgp_crt_get_subkey_creation_time = time_t function (gnutls_openpgp_crt_t key, uint idx); 134 alias pgnutls_openpgp_crt_get_subkey_expiration_time = time_t function (gnutls_openpgp_crt_t key, uint idx); 135 alias pgnutls_openpgp_crt_get_subkey_id = int function (gnutls_openpgp_crt_t key, uint idx, gnutls_openpgp_keyid_t keyid); 136 alias pgnutls_openpgp_crt_get_subkey_usage = int function (gnutls_openpgp_crt_t key, uint idx, uint* key_usage); 137 alias pgnutls_openpgp_crt_get_subkey_pk_dsa_raw = int function (gnutls_openpgp_crt_t crt, uint idx, gnutls_datum_t* p, gnutls_datum_t* q, gnutls_datum_t* g, gnutls_datum_t* y); 138 alias pgnutls_openpgp_crt_get_subkey_pk_rsa_raw = int function (gnutls_openpgp_crt_t crt, uint idx, gnutls_datum_t* m, gnutls_datum_t* e); 139 alias pgnutls_openpgp_crt_get_pk_dsa_raw = int function (gnutls_openpgp_crt_t crt, gnutls_datum_t* p, gnutls_datum_t* q, gnutls_datum_t* g, gnutls_datum_t* y); 140 alias pgnutls_openpgp_crt_get_pk_rsa_raw = int function (gnutls_openpgp_crt_t crt, gnutls_datum_t* m, gnutls_datum_t* e); 141 alias pgnutls_openpgp_crt_get_preferred_key_id = int function (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid); 142 alias pgnutls_openpgp_crt_set_preferred_key_id = int function (gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid); 143 alias pgnutls_openpgp_privkey_init = int function (gnutls_openpgp_privkey_t* key); 144 alias pgnutls_openpgp_privkey_deinit = void function (gnutls_openpgp_privkey_t key); 145 alias pgnutls_openpgp_privkey_get_pk_algorithm = gnutls_pk_algorithm_t function (gnutls_openpgp_privkey_t key, uint* bits); 146 alias pgnutls_openpgp_privkey_sec_param = gnutls_sec_param_t function (gnutls_openpgp_privkey_t key); 147 alias pgnutls_openpgp_privkey_import = int function (gnutls_openpgp_privkey_t key, const(gnutls_datum_t)* data, gnutls_openpgp_crt_fmt_t format, const(char)* password, uint flags); 148 alias pgnutls_openpgp_privkey_get_fingerprint = int function (gnutls_openpgp_privkey_t key, void* fpr, size_t* fprlen); 149 alias pgnutls_openpgp_privkey_get_subkey_fingerprint = int function (gnutls_openpgp_privkey_t key, uint idx, void* fpr, size_t* fprlen); 150 alias pgnutls_openpgp_privkey_get_key_id = int function (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid); 151 alias pgnutls_openpgp_privkey_get_subkey_count = int function (gnutls_openpgp_privkey_t key); 152 alias pgnutls_openpgp_privkey_get_subkey_idx = int function (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid); 153 alias pgnutls_openpgp_privkey_get_subkey_revoked_status = int function (gnutls_openpgp_privkey_t key, uint idx); 154 alias pgnutls_openpgp_privkey_get_revoked_status = int function (gnutls_openpgp_privkey_t key); 155 alias pgnutls_openpgp_privkey_get_subkey_pk_algorithm = gnutls_pk_algorithm_t function (gnutls_openpgp_privkey_t key, uint idx, uint* bits); 156 alias pgnutls_openpgp_privkey_get_subkey_expiration_time = time_t function (gnutls_openpgp_privkey_t key, uint idx); 157 alias pgnutls_openpgp_privkey_get_subkey_id = int function (gnutls_openpgp_privkey_t key, uint idx, gnutls_openpgp_keyid_t keyid); 158 alias pgnutls_openpgp_privkey_get_subkey_creation_time = time_t function (gnutls_openpgp_privkey_t key, uint idx); 159 alias pgnutls_openpgp_privkey_export_subkey_dsa_raw = int function (gnutls_openpgp_privkey_t pkey, uint idx, gnutls_datum_t* p, gnutls_datum_t* q, gnutls_datum_t* g, gnutls_datum_t* y, gnutls_datum_t* x); 160 alias pgnutls_openpgp_privkey_export_subkey_rsa_raw = int function (gnutls_openpgp_privkey_t pkey, uint idx, gnutls_datum_t* m, gnutls_datum_t* e, gnutls_datum_t* d, gnutls_datum_t* p, gnutls_datum_t* q, gnutls_datum_t* u); 161 alias pgnutls_openpgp_privkey_export_dsa_raw = int function (gnutls_openpgp_privkey_t pkey, gnutls_datum_t* p, gnutls_datum_t* q, gnutls_datum_t* g, gnutls_datum_t* y, gnutls_datum_t* x); 162 alias pgnutls_openpgp_privkey_export_rsa_raw = int function (gnutls_openpgp_privkey_t pkey, gnutls_datum_t* m, gnutls_datum_t* e, gnutls_datum_t* d, gnutls_datum_t* p, gnutls_datum_t* q, gnutls_datum_t* u); 163 alias pgnutls_openpgp_privkey_export = int function (gnutls_openpgp_privkey_t key, gnutls_openpgp_crt_fmt_t format, const(char)* password, uint flags, void* output_data, size_t* output_data_size); 164 alias pgnutls_openpgp_privkey_export2 = int function (gnutls_openpgp_privkey_t key, gnutls_openpgp_crt_fmt_t format, const(char)* password, uint flags, gnutls_datum_t* out_); 165 alias pgnutls_openpgp_privkey_set_preferred_key_id = int function (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid); 166 alias pgnutls_openpgp_privkey_get_preferred_key_id = int function (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid); 167 alias pgnutls_openpgp_crt_get_auth_subkey = int function (gnutls_openpgp_crt_t crt, gnutls_openpgp_keyid_t keyid, uint flag); 168 alias pgnutls_openpgp_keyring_init = int function (gnutls_openpgp_keyring_t* keyring); 169 alias pgnutls_openpgp_keyring_deinit = void function (gnutls_openpgp_keyring_t keyring); 170 alias pgnutls_openpgp_keyring_import = int function (gnutls_openpgp_keyring_t keyring, const(gnutls_datum_t)* data, gnutls_openpgp_crt_fmt_t format); 171 alias pgnutls_openpgp_keyring_check_id = int function (gnutls_openpgp_keyring_t ring, const gnutls_openpgp_keyid_t keyid, uint flags); 172 alias pgnutls_openpgp_crt_verify_ring = int function (gnutls_openpgp_crt_t key, gnutls_openpgp_keyring_t keyring, uint flags, uint* verify); 173 alias pgnutls_openpgp_crt_verify_self = int function (gnutls_openpgp_crt_t key, uint flags, uint* verify); 174 alias pgnutls_openpgp_keyring_get_crt = int function (gnutls_openpgp_keyring_t ring, uint idx, gnutls_openpgp_crt_t* cert); 175 alias pgnutls_openpgp_keyring_get_crt_count = int function (gnutls_openpgp_keyring_t ring); 176 alias pgnutls_openpgp_set_recv_key_function = void function (gnutls_session_t session, gnutls_openpgp_recv_key_func func); 177 alias pgnutls_certificate_set_openpgp_key = int function (gnutls_certificate_credentials_t res, gnutls_openpgp_crt_t crt, gnutls_openpgp_privkey_t pkey); 178 alias pgnutls_certificate_get_openpgp_key = int function (gnutls_certificate_credentials_t res, uint index, gnutls_openpgp_privkey_t* key); 179 alias pgnutls_certificate_get_openpgp_crt = int function (gnutls_certificate_credentials_t res, uint index, gnutls_openpgp_crt_t** crt_list, uint* crt_list_size); 180 alias pgnutls_certificate_set_openpgp_key_file = int function (gnutls_certificate_credentials_t res, const(char)* certfile, const(char)* keyfile, gnutls_openpgp_crt_fmt_t format); 181 alias pgnutls_certificate_set_openpgp_key_mem = int function (gnutls_certificate_credentials_t res, const(gnutls_datum_t)* cert, const(gnutls_datum_t)* key, gnutls_openpgp_crt_fmt_t format); 182 alias pgnutls_certificate_set_openpgp_key_file2 = int function (gnutls_certificate_credentials_t res, const(char)* certfile, const(char)* keyfile, const(char)* subkey_id, gnutls_openpgp_crt_fmt_t format); 183 alias pgnutls_certificate_set_openpgp_key_mem2 = int function (gnutls_certificate_credentials_t res, const(gnutls_datum_t)* cert, const(gnutls_datum_t)* key, const(char)* subkey_id, gnutls_openpgp_crt_fmt_t format); 184 alias pgnutls_certificate_set_openpgp_keyring_mem = int function (gnutls_certificate_credentials_t c, const(ubyte)* data, size_t dlen, gnutls_openpgp_crt_fmt_t format); 185 alias pgnutls_certificate_set_openpgp_keyring_file = int function (gnutls_certificate_credentials_t c, const(char)* file, gnutls_openpgp_crt_fmt_t format); 186 } 187 188 __gshared 189 { 190 pgnutls_openpgp_crt_init gnutls_openpgp_crt_init; 191 pgnutls_openpgp_crt_deinit gnutls_openpgp_crt_deinit; 192 pgnutls_openpgp_crt_import gnutls_openpgp_crt_import; 193 pgnutls_openpgp_crt_export gnutls_openpgp_crt_export; 194 pgnutls_openpgp_crt_export2 gnutls_openpgp_crt_export2; 195 pgnutls_openpgp_crt_print gnutls_openpgp_crt_print; 196 pgnutls_openpgp_crt_get_key_usage gnutls_openpgp_crt_get_key_usage; 197 pgnutls_openpgp_crt_get_fingerprint gnutls_openpgp_crt_get_fingerprint; 198 pgnutls_openpgp_crt_get_subkey_fingerprint gnutls_openpgp_crt_get_subkey_fingerprint; 199 pgnutls_openpgp_crt_get_name gnutls_openpgp_crt_get_name; 200 pgnutls_openpgp_crt_get_pk_algorithm gnutls_openpgp_crt_get_pk_algorithm; 201 pgnutls_openpgp_crt_get_version gnutls_openpgp_crt_get_version; 202 pgnutls_openpgp_crt_get_creation_time gnutls_openpgp_crt_get_creation_time; 203 pgnutls_openpgp_crt_get_expiration_time gnutls_openpgp_crt_get_expiration_time; 204 pgnutls_openpgp_crt_get_key_id gnutls_openpgp_crt_get_key_id; 205 pgnutls_openpgp_crt_check_hostname gnutls_openpgp_crt_check_hostname; 206 pgnutls_openpgp_crt_check_hostname2 gnutls_openpgp_crt_check_hostname2; 207 pgnutls_openpgp_crt_check_email gnutls_openpgp_crt_check_email; 208 pgnutls_openpgp_crt_get_revoked_status gnutls_openpgp_crt_get_revoked_status; 209 pgnutls_openpgp_crt_get_subkey_count gnutls_openpgp_crt_get_subkey_count; 210 pgnutls_openpgp_crt_get_subkey_idx gnutls_openpgp_crt_get_subkey_idx; 211 pgnutls_openpgp_crt_get_subkey_revoked_status gnutls_openpgp_crt_get_subkey_revoked_status; 212 pgnutls_openpgp_crt_get_subkey_pk_algorithm gnutls_openpgp_crt_get_subkey_pk_algorithm; 213 pgnutls_openpgp_crt_get_subkey_creation_time gnutls_openpgp_crt_get_subkey_creation_time; 214 pgnutls_openpgp_crt_get_subkey_expiration_time gnutls_openpgp_crt_get_subkey_expiration_time; 215 pgnutls_openpgp_crt_get_subkey_id gnutls_openpgp_crt_get_subkey_id; 216 pgnutls_openpgp_crt_get_subkey_usage gnutls_openpgp_crt_get_subkey_usage; 217 pgnutls_openpgp_crt_get_subkey_pk_dsa_raw gnutls_openpgp_crt_get_subkey_pk_dsa_raw; 218 pgnutls_openpgp_crt_get_subkey_pk_rsa_raw gnutls_openpgp_crt_get_subkey_pk_rsa_raw; 219 pgnutls_openpgp_crt_get_pk_dsa_raw gnutls_openpgp_crt_get_pk_dsa_raw; 220 pgnutls_openpgp_crt_get_pk_rsa_raw gnutls_openpgp_crt_get_pk_rsa_raw; 221 pgnutls_openpgp_crt_get_preferred_key_id gnutls_openpgp_crt_get_preferred_key_id; 222 pgnutls_openpgp_crt_set_preferred_key_id gnutls_openpgp_crt_set_preferred_key_id; 223 pgnutls_openpgp_privkey_init gnutls_openpgp_privkey_init; 224 pgnutls_openpgp_privkey_deinit gnutls_openpgp_privkey_deinit; 225 pgnutls_openpgp_privkey_get_pk_algorithm gnutls_openpgp_privkey_get_pk_algorithm; 226 pgnutls_openpgp_privkey_sec_param gnutls_openpgp_privkey_sec_param; 227 pgnutls_openpgp_privkey_import gnutls_openpgp_privkey_import; 228 pgnutls_openpgp_privkey_get_fingerprint gnutls_openpgp_privkey_get_fingerprint; 229 pgnutls_openpgp_privkey_get_subkey_fingerprint gnutls_openpgp_privkey_get_subkey_fingerprint; 230 pgnutls_openpgp_privkey_get_key_id gnutls_openpgp_privkey_get_key_id; 231 pgnutls_openpgp_privkey_get_subkey_count gnutls_openpgp_privkey_get_subkey_count; 232 pgnutls_openpgp_privkey_get_subkey_idx gnutls_openpgp_privkey_get_subkey_idx; 233 pgnutls_openpgp_privkey_get_subkey_revoked_status gnutls_openpgp_privkey_get_subkey_revoked_status; 234 pgnutls_openpgp_privkey_get_revoked_status gnutls_openpgp_privkey_get_revoked_status; 235 pgnutls_openpgp_privkey_get_subkey_pk_algorithm gnutls_openpgp_privkey_get_subkey_pk_algorithm; 236 pgnutls_openpgp_privkey_get_subkey_expiration_time gnutls_openpgp_privkey_get_subkey_expiration_time; 237 pgnutls_openpgp_privkey_get_subkey_id gnutls_openpgp_privkey_get_subkey_id; 238 pgnutls_openpgp_privkey_get_subkey_creation_time gnutls_openpgp_privkey_get_subkey_creation_time; 239 pgnutls_openpgp_privkey_export_subkey_dsa_raw gnutls_openpgp_privkey_export_subkey_dsa_raw; 240 pgnutls_openpgp_privkey_export_subkey_rsa_raw gnutls_openpgp_privkey_export_subkey_rsa_raw; 241 pgnutls_openpgp_privkey_export_dsa_raw gnutls_openpgp_privkey_export_dsa_raw; 242 pgnutls_openpgp_privkey_export_rsa_raw gnutls_openpgp_privkey_export_rsa_raw; 243 pgnutls_openpgp_privkey_export gnutls_openpgp_privkey_export; 244 pgnutls_openpgp_privkey_export2 gnutls_openpgp_privkey_export2; 245 pgnutls_openpgp_privkey_set_preferred_key_id gnutls_openpgp_privkey_set_preferred_key_id; 246 pgnutls_openpgp_privkey_get_preferred_key_id gnutls_openpgp_privkey_get_preferred_key_id; 247 pgnutls_openpgp_crt_get_auth_subkey gnutls_openpgp_crt_get_auth_subkey; 248 pgnutls_openpgp_keyring_init gnutls_openpgp_keyring_init; 249 pgnutls_openpgp_keyring_deinit gnutls_openpgp_keyring_deinit; 250 pgnutls_openpgp_keyring_import gnutls_openpgp_keyring_import; 251 pgnutls_openpgp_keyring_check_id gnutls_openpgp_keyring_check_id; 252 pgnutls_openpgp_crt_verify_ring gnutls_openpgp_crt_verify_ring; 253 pgnutls_openpgp_crt_verify_self gnutls_openpgp_crt_verify_self; 254 pgnutls_openpgp_keyring_get_crt gnutls_openpgp_keyring_get_crt; 255 pgnutls_openpgp_keyring_get_crt_count gnutls_openpgp_keyring_get_crt_count; 256 pgnutls_openpgp_set_recv_key_function gnutls_openpgp_set_recv_key_function; 257 pgnutls_certificate_set_openpgp_key gnutls_certificate_set_openpgp_key; 258 pgnutls_certificate_get_openpgp_key gnutls_certificate_get_openpgp_key; 259 pgnutls_certificate_get_openpgp_crt gnutls_certificate_get_openpgp_crt; 260 pgnutls_certificate_set_openpgp_key_file gnutls_certificate_set_openpgp_key_file; 261 pgnutls_certificate_set_openpgp_key_mem gnutls_certificate_set_openpgp_key_mem; 262 pgnutls_certificate_set_openpgp_key_file2 gnutls_certificate_set_openpgp_key_file2; 263 pgnutls_certificate_set_openpgp_key_mem2 gnutls_certificate_set_openpgp_key_mem2; 264 pgnutls_certificate_set_openpgp_keyring_mem gnutls_certificate_set_openpgp_keyring_mem; 265 pgnutls_certificate_set_openpgp_keyring_file gnutls_certificate_set_openpgp_keyring_file; 266 } 267 268 import bindbc.loader : SharedLib, bindSymbol_stdcall; 269 void bindOpenPGP(SharedLib lib) 270 { 271 lib.bindSymbol_stdcall(gnutls_openpgp_crt_init, "gnutls_openpgp_crt_init"); 272 lib.bindSymbol_stdcall(gnutls_openpgp_crt_deinit, "gnutls_openpgp_crt_deinit"); 273 lib.bindSymbol_stdcall(gnutls_openpgp_crt_import, "gnutls_openpgp_crt_import"); 274 lib.bindSymbol_stdcall(gnutls_openpgp_crt_export, "gnutls_openpgp_crt_export"); 275 lib.bindSymbol_stdcall(gnutls_openpgp_crt_export2, "gnutls_openpgp_crt_export2"); 276 lib.bindSymbol_stdcall(gnutls_openpgp_crt_print, "gnutls_openpgp_crt_print"); 277 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_key_usage, "gnutls_openpgp_crt_get_key_usage"); 278 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_fingerprint, "gnutls_openpgp_crt_get_fingerprint"); 279 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_subkey_fingerprint, "gnutls_openpgp_crt_get_subkey_fingerprint"); 280 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_name, "gnutls_openpgp_crt_get_name"); 281 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_pk_algorithm, "gnutls_openpgp_crt_get_pk_algorithm"); 282 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_version, "gnutls_openpgp_crt_get_version"); 283 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_creation_time, "gnutls_openpgp_crt_get_creation_time"); 284 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_expiration_time, "gnutls_openpgp_crt_get_expiration_time"); 285 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_key_id, "gnutls_openpgp_crt_get_key_id"); 286 lib.bindSymbol_stdcall(gnutls_openpgp_crt_check_hostname, "gnutls_openpgp_crt_check_hostname"); 287 lib.bindSymbol_stdcall(gnutls_openpgp_crt_check_hostname2, "gnutls_openpgp_crt_check_hostname2"); 288 lib.bindSymbol_stdcall(gnutls_openpgp_crt_check_email, "gnutls_openpgp_crt_check_email"); 289 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_revoked_status, "gnutls_openpgp_crt_get_revoked_status"); 290 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_subkey_count, "gnutls_openpgp_crt_get_subkey_count"); 291 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_subkey_idx, "gnutls_openpgp_crt_get_subkey_idx"); 292 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_subkey_revoked_status, "gnutls_openpgp_crt_get_subkey_revoked_status"); 293 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_subkey_pk_algorithm, "gnutls_openpgp_crt_get_subkey_pk_algorithm"); 294 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_subkey_creation_time, "gnutls_openpgp_crt_get_subkey_creation_time"); 295 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_subkey_expiration_time, "gnutls_openpgp_crt_get_subkey_expiration_time"); 296 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_subkey_id, "gnutls_openpgp_crt_get_subkey_id"); 297 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_subkey_usage, "gnutls_openpgp_crt_get_subkey_usage"); 298 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_subkey_pk_dsa_raw, "gnutls_openpgp_crt_get_subkey_pk_dsa_raw"); 299 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_subkey_pk_rsa_raw, "gnutls_openpgp_crt_get_subkey_pk_rsa_raw"); 300 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_pk_dsa_raw, "gnutls_openpgp_crt_get_pk_dsa_raw"); 301 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_pk_rsa_raw, "gnutls_openpgp_crt_get_pk_rsa_raw"); 302 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_preferred_key_id, "gnutls_openpgp_crt_get_preferred_key_id"); 303 lib.bindSymbol_stdcall(gnutls_openpgp_crt_set_preferred_key_id, "gnutls_openpgp_crt_set_preferred_key_id"); 304 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_init, "gnutls_openpgp_privkey_init"); 305 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_deinit, "gnutls_openpgp_privkey_deinit"); 306 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_get_pk_algorithm, "gnutls_openpgp_privkey_get_pk_algorithm"); 307 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_sec_param, "gnutls_openpgp_privkey_sec_param"); 308 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_import, "gnutls_openpgp_privkey_import"); 309 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_get_fingerprint, "gnutls_openpgp_privkey_get_fingerprint"); 310 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_get_subkey_fingerprint, "gnutls_openpgp_privkey_get_subkey_fingerprint"); 311 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_get_key_id, "gnutls_openpgp_privkey_get_key_id"); 312 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_get_subkey_count, "gnutls_openpgp_privkey_get_subkey_count"); 313 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_get_subkey_idx, "gnutls_openpgp_privkey_get_subkey_idx"); 314 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_get_subkey_revoked_status, "gnutls_openpgp_privkey_get_subkey_revoked_status"); 315 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_get_revoked_status, "gnutls_openpgp_privkey_get_revoked_status"); 316 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_get_subkey_pk_algorithm, "gnutls_openpgp_privkey_get_subkey_pk_algorithm"); 317 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_get_subkey_expiration_time, "gnutls_openpgp_privkey_get_subkey_expiration_time"); 318 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_get_subkey_id, "gnutls_openpgp_privkey_get_subkey_id"); 319 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_get_subkey_creation_time, "gnutls_openpgp_privkey_get_subkey_creation_time"); 320 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_export_subkey_dsa_raw, "gnutls_openpgp_privkey_export_subkey_dsa_raw"); 321 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_export_subkey_rsa_raw, "gnutls_openpgp_privkey_export_subkey_rsa_raw"); 322 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_export_dsa_raw, "gnutls_openpgp_privkey_export_dsa_raw"); 323 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_export_rsa_raw, "gnutls_openpgp_privkey_export_rsa_raw"); 324 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_export, "gnutls_openpgp_privkey_export"); 325 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_export2, "gnutls_openpgp_privkey_export2"); 326 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_set_preferred_key_id, "gnutls_openpgp_privkey_set_preferred_key_id"); 327 lib.bindSymbol_stdcall(gnutls_openpgp_privkey_get_preferred_key_id, "gnutls_openpgp_privkey_get_preferred_key_id"); 328 lib.bindSymbol_stdcall(gnutls_openpgp_crt_get_auth_subkey, "gnutls_openpgp_crt_get_auth_subkey"); 329 lib.bindSymbol_stdcall(gnutls_openpgp_keyring_init, "gnutls_openpgp_keyring_init"); 330 lib.bindSymbol_stdcall(gnutls_openpgp_keyring_deinit, "gnutls_openpgp_keyring_deinit"); 331 lib.bindSymbol_stdcall(gnutls_openpgp_keyring_import, "gnutls_openpgp_keyring_import"); 332 lib.bindSymbol_stdcall(gnutls_openpgp_keyring_check_id, "gnutls_openpgp_keyring_check_id"); 333 lib.bindSymbol_stdcall(gnutls_openpgp_crt_verify_ring, "gnutls_openpgp_crt_verify_ring"); 334 lib.bindSymbol_stdcall(gnutls_openpgp_crt_verify_self, "gnutls_openpgp_crt_verify_self"); 335 lib.bindSymbol_stdcall(gnutls_openpgp_keyring_get_crt, "gnutls_openpgp_keyring_get_crt"); 336 lib.bindSymbol_stdcall(gnutls_openpgp_keyring_get_crt_count, "gnutls_openpgp_keyring_get_crt_count"); 337 lib.bindSymbol_stdcall(gnutls_openpgp_set_recv_key_function, "gnutls_openpgp_set_recv_key_function"); 338 lib.bindSymbol_stdcall(gnutls_certificate_set_openpgp_key, "gnutls_certificate_set_openpgp_key"); 339 lib.bindSymbol_stdcall(gnutls_certificate_get_openpgp_key, "gnutls_certificate_get_openpgp_key"); 340 lib.bindSymbol_stdcall(gnutls_certificate_get_openpgp_crt, "gnutls_certificate_get_openpgp_crt"); 341 lib.bindSymbol_stdcall(gnutls_certificate_set_openpgp_key_file, "gnutls_certificate_set_openpgp_key_file"); 342 lib.bindSymbol_stdcall(gnutls_certificate_set_openpgp_key_mem, "gnutls_certificate_set_openpgp_key_mem"); 343 lib.bindSymbol_stdcall(gnutls_certificate_set_openpgp_key_file2, "gnutls_certificate_set_openpgp_key_file2"); 344 lib.bindSymbol_stdcall(gnutls_certificate_set_openpgp_key_mem2, "gnutls_certificate_set_openpgp_key_mem2"); 345 lib.bindSymbol_stdcall(gnutls_certificate_set_openpgp_keyring_mem, "gnutls_certificate_set_openpgp_keyring_mem"); 346 lib.bindSymbol_stdcall(gnutls_certificate_set_openpgp_keyring_file, "gnutls_certificate_set_openpgp_keyring_file"); 347 } 348 }