/* * Copyright (C) 2017 Nikos Mavrogiannopoulos * * Author: Nikos Mavrogiannopoulos * * This file is part of GnuTLS. * * The GnuTLS is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see * */ /* This file contains the definitions of OpenPGP stub functions * for ABI compatibility. */ #include "gnutls_int.h" #include #include int gnutls_openpgp_crt_init(gnutls_openpgp_crt_t * key) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } void gnutls_openpgp_crt_deinit(gnutls_openpgp_crt_t key) { return; } int gnutls_openpgp_crt_import(gnutls_openpgp_crt_t key, const gnutls_datum_t * data, gnutls_openpgp_crt_fmt_t format) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_export(gnutls_openpgp_crt_t key, gnutls_openpgp_crt_fmt_t format, void *output_data, size_t * output_data_size) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_export2(gnutls_openpgp_crt_t key, gnutls_openpgp_crt_fmt_t format, gnutls_datum_t * out) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_print(gnutls_openpgp_crt_t cert, gnutls_certificate_print_formats_t format, gnutls_datum_t * out) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_get_key_usage(gnutls_openpgp_crt_t key, unsigned int *key_usage) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_get_fingerprint(gnutls_openpgp_crt_t key, void *fpr, size_t * fprlen) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_get_subkey_fingerprint(gnutls_openpgp_crt_t key, unsigned int idx, void *fpr, size_t * fprlen) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_get_name(gnutls_openpgp_crt_t key, int idx, char *buf, size_t * sizeof_buf) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } gnutls_pk_algorithm_t gnutls_openpgp_crt_get_pk_algorithm(gnutls_openpgp_crt_t key, unsigned int *bits) { return GNUTLS_PK_UNKNOWN; } int gnutls_openpgp_crt_get_version(gnutls_openpgp_crt_t key) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } time_t gnutls_openpgp_crt_get_creation_time(gnutls_openpgp_crt_t key) { return (time_t)-1; } time_t gnutls_openpgp_crt_get_expiration_time(gnutls_openpgp_crt_t key) { return (time_t)-1; } int gnutls_openpgp_crt_get_key_id(gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_check_hostname(gnutls_openpgp_crt_t key, const char *hostname) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_check_hostname2(gnutls_openpgp_crt_t key, const char *hostname, unsigned int flags) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_check_email(gnutls_openpgp_crt_t key, const char *email, unsigned flags) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_get_revoked_status(gnutls_openpgp_crt_t key) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_get_subkey_count(gnutls_openpgp_crt_t key) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_get_subkey_idx(gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_get_subkey_revoked_status (gnutls_openpgp_crt_t key, unsigned int idx) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } gnutls_pk_algorithm_t gnutls_openpgp_crt_get_subkey_pk_algorithm(gnutls_openpgp_crt_t key, unsigned int idx, unsigned int *bits) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } time_t gnutls_openpgp_crt_get_subkey_creation_time (gnutls_openpgp_crt_t key, unsigned int idx) { return (time_t)-1; } time_t gnutls_openpgp_crt_get_subkey_expiration_time (gnutls_openpgp_crt_t key, unsigned int idx) { return (time_t)-1; } int gnutls_openpgp_crt_get_subkey_id(gnutls_openpgp_crt_t key, unsigned int idx, gnutls_openpgp_keyid_t keyid) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_get_subkey_usage(gnutls_openpgp_crt_t key, unsigned int idx, unsigned int *key_usage) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_get_subkey_pk_dsa_raw(gnutls_openpgp_crt_t crt, unsigned int idx, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g, gnutls_datum_t * y) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_get_subkey_pk_rsa_raw(gnutls_openpgp_crt_t crt, unsigned int idx, gnutls_datum_t * m, gnutls_datum_t * e) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } 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) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_get_pk_rsa_raw(gnutls_openpgp_crt_t crt, gnutls_datum_t * m, gnutls_datum_t * e) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_get_preferred_key_id(gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_set_preferred_key_id(gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } /* privkey stuff. */ int gnutls_openpgp_privkey_init(gnutls_openpgp_privkey_t * key) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } void gnutls_openpgp_privkey_deinit(gnutls_openpgp_privkey_t key) { return; } gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_pk_algorithm (gnutls_openpgp_privkey_t key, unsigned int *bits) { return GNUTLS_PK_UNKNOWN; } gnutls_sec_param_t gnutls_openpgp_privkey_sec_param(gnutls_openpgp_privkey_t key) { return 0; } int gnutls_openpgp_privkey_import(gnutls_openpgp_privkey_t key, const gnutls_datum_t * data, gnutls_openpgp_crt_fmt_t format, const char *password, unsigned int flags) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_privkey_get_fingerprint(gnutls_openpgp_privkey_t key, void *fpr, size_t * fprlen) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_privkey_get_subkey_fingerprint (gnutls_openpgp_privkey_t key, unsigned int idx, void *fpr, size_t * fprlen) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_privkey_get_key_id(gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_privkey_get_subkey_count(gnutls_openpgp_privkey_t key) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_privkey_get_subkey_idx(gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_privkey_get_subkey_revoked_status (gnutls_openpgp_privkey_t key, unsigned int idx) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_privkey_get_revoked_status (gnutls_openpgp_privkey_t key) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } gnutls_pk_algorithm_t gnutls_openpgp_privkey_get_subkey_pk_algorithm (gnutls_openpgp_privkey_t key, unsigned int idx, unsigned int *bits) { return GNUTLS_PK_UNKNOWN; } time_t gnutls_openpgp_privkey_get_subkey_expiration_time (gnutls_openpgp_privkey_t key, unsigned int idx) { return (time_t)-1; } int gnutls_openpgp_privkey_get_subkey_id(gnutls_openpgp_privkey_t key, unsigned int idx, gnutls_openpgp_keyid_t keyid) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } time_t gnutls_openpgp_privkey_get_subkey_creation_time (gnutls_openpgp_privkey_t key, unsigned int idx) { return (time_t)-1; } int gnutls_openpgp_privkey_export_subkey_dsa_raw (gnutls_openpgp_privkey_t pkey, unsigned int idx, gnutls_datum_t * p, gnutls_datum_t * q, gnutls_datum_t * g, gnutls_datum_t * y, gnutls_datum_t * x) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_privkey_export_subkey_rsa_raw (gnutls_openpgp_privkey_t pkey, unsigned int 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) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } 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) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } 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) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_privkey_export(gnutls_openpgp_privkey_t key, gnutls_openpgp_crt_fmt_t format, const char *password, unsigned int flags, void *output_data, size_t * output_data_size) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_privkey_export2(gnutls_openpgp_privkey_t key, gnutls_openpgp_crt_fmt_t format, const char *password, unsigned int flags, gnutls_datum_t * out) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_privkey_set_preferred_key_id (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_privkey_get_preferred_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_get_auth_subkey(gnutls_openpgp_crt_t crt, gnutls_openpgp_keyid_t keyid, unsigned int flag) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } /* Keyring stuff. */ int gnutls_openpgp_keyring_init(gnutls_openpgp_keyring_t * keyring) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } void gnutls_openpgp_keyring_deinit(gnutls_openpgp_keyring_t keyring) { return; } int gnutls_openpgp_keyring_import(gnutls_openpgp_keyring_t keyring, const gnutls_datum_t * data, gnutls_openpgp_crt_fmt_t format) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_keyring_check_id(gnutls_openpgp_keyring_t ring, const gnutls_openpgp_keyid_t keyid, unsigned int flags) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_verify_ring(gnutls_openpgp_crt_t key, gnutls_openpgp_keyring_t keyring, unsigned int flags, unsigned int *verify /* the output of the verification */ ) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_crt_verify_self(gnutls_openpgp_crt_t key, unsigned int flags, unsigned int *verify) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_keyring_get_crt(gnutls_openpgp_keyring_t ring, unsigned int idx, gnutls_openpgp_crt_t * cert) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_openpgp_keyring_get_crt_count(gnutls_openpgp_keyring_t ring) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } void gnutls_openpgp_set_recv_key_function(gnutls_session_t session, gnutls_openpgp_recv_key_func func) { return; } int gnutls_certificate_set_openpgp_key (gnutls_certificate_credentials_t res, gnutls_openpgp_crt_t crt, gnutls_openpgp_privkey_t pkey) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_certificate_get_openpgp_key(gnutls_certificate_credentials_t res, unsigned index, gnutls_openpgp_privkey_t *key) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_certificate_get_openpgp_crt(gnutls_certificate_credentials_t res, unsigned index, gnutls_openpgp_crt_t **crt_list, unsigned *crt_list_size) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_certificate_set_openpgp_key_file (gnutls_certificate_credentials_t res, const char *certfile, const char *keyfile, gnutls_openpgp_crt_fmt_t format) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } 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) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } 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) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } 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) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_certificate_set_openpgp_keyring_mem (gnutls_certificate_credentials_t c, const unsigned char *data, size_t dlen, gnutls_openpgp_crt_fmt_t format) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } int gnutls_certificate_set_openpgp_keyring_file (gnutls_certificate_credentials_t c, const char *file, gnutls_openpgp_crt_fmt_t format) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } /** * gnutls_pubkey_import_openpgp: * @key: The public key * @crt: The certificate to be imported * @flags: should be zero * * This function is no-op. * * Returns: %GNUTLS_E_UNIMPLEMENTED_FEATURE. * * Since: 2.12.0 **/ int gnutls_pubkey_import_openpgp(gnutls_pubkey_t key, gnutls_openpgp_crt_t crt, unsigned int flags) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } /** * gnutls_pubkey_import_openpgp_raw: * @pkey: The public key * @data: The public key data to be imported * @format: The format of the public key * @keyid: The key id to use (optional) * @flags: Should be zero * * This function is no-op. * * Returns: %GNUTLS_E_UNIMPLEMENTED_FEATURE. * * Since: 3.1.3 **/ int gnutls_pubkey_import_openpgp_raw(gnutls_pubkey_t pkey, const gnutls_datum_t * data, gnutls_openpgp_crt_fmt_t format, const gnutls_openpgp_keyid_t keyid, unsigned int flags) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } /** * gnutls_pubkey_get_key_id: * @key: Holds the public key * @flags: should be one of the flags from %gnutls_keyid_flags_t * @output_data: will contain the key ID * @output_data_size: holds the size of output_data (and will be * replaced by the actual size of parameters) * @subkey: ignored * * This function is no-op. * * Returns: %GNUTLS_E_UNIMPLEMENTED_FEATURE. * * Since: 2.12.0 **/ int gnutls_pubkey_get_openpgp_key_id(gnutls_pubkey_t key, unsigned int flags, unsigned char *output_data, size_t * output_data_size, unsigned int *subkey) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } /** * gnutls_privkey_import_openpgp: * @pkey: The private key * @key: The private key to be imported * @flags: Flags for the import * * This function is no-op. * * Returns: %GNUTLS_E_UNIMPLEMENTED_FEATURE. * * Since: 2.12.0 **/ int gnutls_privkey_import_openpgp(gnutls_privkey_t pkey, gnutls_openpgp_privkey_t key, unsigned int flags) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } /** * gnutls_privkey_export_openpgp: * @pkey: The private key * @key: Location for the key to be exported. * * This function is no-op. * * Returns: %GNUTLS_E_UNIMPLEMENTED_FEATURE. * * Since: 3.4.0 */ int gnutls_privkey_export_openpgp(gnutls_privkey_t pkey, gnutls_openpgp_privkey_t * key) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } /** * gnutls_privkey_import_openpgp_raw: * @pkey: The private key * @data: The private key data to be imported * @format: The format of the private key * @keyid: The key id to use (optional) * @password: A password (optional) * * This function is no-op. * * Returns: %GNUTLS_E_UNIMPLEMENTED_FEATURE. * * Since: 3.1.0 **/ int gnutls_privkey_import_openpgp_raw(gnutls_privkey_t pkey, const gnutls_datum_t * data, gnutls_openpgp_crt_fmt_t format, const gnutls_openpgp_keyid_t keyid, const char *password) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } /** * gnutls_pcert_import_openpgp_raw: * @pcert: The pcert structure * @cert: The raw certificate to be imported * @format: The format of the certificate * @keyid: The key ID to use (NULL for the master key) * @flags: zero for now * * This function is no-op. * * Returns: %GNUTLS_E_UNIMPLEMENTED_FEATURE. * * Since: 3.0 **/ int gnutls_pcert_import_openpgp_raw(gnutls_pcert_st * pcert, const gnutls_datum_t * cert, gnutls_openpgp_crt_fmt_t format, gnutls_openpgp_keyid_t keyid, unsigned int flags) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } /** * gnutls_pcert_import_openpgp: * @pcert: The pcert structure * @crt: The raw certificate to be imported * @flags: zero for now * * This function is no-op. * * Returns: %GNUTLS_E_UNIMPLEMENTED_FEATURE. * * Since: 3.0 **/ int gnutls_pcert_import_openpgp(gnutls_pcert_st * pcert, gnutls_openpgp_crt_t crt, unsigned int flags) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } /** * gnutls_pcert_export_x509: * @pcert: The pcert structure. * @crt: An initialized #gnutls_openpgp_crt_t. * * This function is no-op. * * Returns: %GNUTLS_E_UNIMPLEMENTED_FEATURE. * * Since: 3.4.0 */ int gnutls_pcert_export_openpgp(gnutls_pcert_st * pcert, gnutls_openpgp_crt_t * crt) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } /** * gnutls_openpgp_privkey_sign_hash: * @session: is a gnutls session * @status: is ignored * * This function is no-op. * * Returns: %GNUTLS_E_UNIMPLEMENTED_FEATURE. */ void gnutls_openpgp_send_cert(gnutls_session_t session, gnutls_openpgp_crt_status_t status) { return; } /** * gnutls_certificate_get_peers_subkey_id: * @session: is a gnutls session * @id: will contain the ID * * This function is no-op. * * Returns: %GNUTLS_E_UNIMPLEMENTED_FEATURE. * * Since: 3.1.3 **/ int gnutls_certificate_get_peers_subkey_id(gnutls_session_t session, gnutls_datum_t * id) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; } /** * gnutls_openpgp_privkey_sign_hash: * @key: Holds the key * @hash: holds the data to be signed * @signature: will contain newly allocated signature * * This function is no-op. * * Returns: %GNUTLS_E_UNIMPLEMENTED_FEATURE. */ int gnutls_openpgp_privkey_sign_hash(gnutls_openpgp_privkey_t key, const gnutls_datum_t * hash, gnutls_datum_t * signature) { return GNUTLS_E_UNIMPLEMENTED_FEATURE; }