#include <certificate.h>
Data Fields | |
gchar * | name |
Name of the certificate type ex: "x509", "pgp", etc. | |
gchar * | fullname |
User-friendly name for this type ex: N_("X.509 Certificates") When this is displayed anywhere, it should be i18ned ex: _(scheme->fullname). | |
PurpleCertificate *(* | import_certificate )(const gchar *filename) |
Imports a certificate from a file. | |
gboolean(* | export_certificate )(const gchar *filename, PurpleCertificate *crt) |
Exports a certificate to a file. | |
PurpleCertificate *(* | copy_certificate )(PurpleCertificate *crt) |
Duplicates a certificate. | |
void(* | destroy_certificate )(PurpleCertificate *crt) |
Destroys and frees a Certificate structure. | |
gboolean(* | signed_by )(PurpleCertificate *crt, PurpleCertificate *issuer) |
Find whether "crt" has a valid signature from issuer "issuer". | |
GByteArray *(* | get_fingerprint_sha1 )(PurpleCertificate *crt) |
Retrieves the certificate public key fingerprint using SHA1. | |
gchar *(* | get_unique_id )(PurpleCertificate *crt) |
Retrieves a unique certificate identifier. | |
gchar *(* | get_issuer_unique_id )(PurpleCertificate *crt) |
Retrieves a unique identifier for the certificate's issuer. | |
gchar *(* | get_subject_name )(PurpleCertificate *crt) |
Gets the certificate subject's name. | |
gboolean(* | check_subject_name )(PurpleCertificate *crt, const gchar *name) |
Check the subject name against that on the certificate. | |
gboolean(* | get_times )(PurpleCertificate *crt, time_t *activation, time_t *expiration) |
Retrieve the certificate activation/expiration times. | |
void(* | _purple_reserved1 )(void) |
void(* | _purple_reserved2 )(void) |
void(* | _purple_reserved3 )(void) |
void(* | _purple_reserved4 )(void) |
A CertificateScheme must implement all of the fields in the structure, and register it using purple_certificate_register_scheme()
There may be only ONE CertificateScheme provided for each certificate type, as specified by the "name" field.
Definition at line 145 of file certificate.h.
gboolean(* _PurpleCertificateScheme::check_subject_name)(PurpleCertificate *crt, const gchar *name) |
Check the subject name against that on the certificate.
Duplicates a certificate.
Certificates are generally assumed to be read-only, so feel free to do any sort of reference-counting magic you want here. If this ever changes, please remember to change the magic accordingly.
Destroys and frees a Certificate structure.
Destroys a Certificate's internal data structures and calls free(crt)
crt | Certificate instance to be destroyed. It WILL NOT be destroyed if it is not of the correct CertificateScheme. Can be NULL |
gboolean(* _PurpleCertificateScheme::export_certificate)(const gchar *filename, PurpleCertificate *crt) |
Exports a certificate to a file.
filename | File to export the certificate to | |
crt | Certificate to export |
GByteArray*(* _PurpleCertificateScheme::get_fingerprint_sha1)(PurpleCertificate *crt) |
Retrieves the certificate public key fingerprint using SHA1.
crt | Certificate instance |
gchar*(* _PurpleCertificateScheme::get_issuer_unique_id)(PurpleCertificate *crt) |
Retrieves a unique identifier for the certificate's issuer.
crt | Certificate instance |
gchar*(* _PurpleCertificateScheme::get_subject_name)(PurpleCertificate *crt) |
Gets the certificate subject's name.
For X.509, this is the "Common Name" field, as we're only using it for hostname verification at the moment
crt | Certificate instance |
gchar*(* _PurpleCertificateScheme::get_unique_id)(PurpleCertificate *crt) |
Retrieves a unique certificate identifier.
crt | Certificate instance |
PurpleCertificate*(* _PurpleCertificateScheme::import_certificate)(const gchar *filename) |
Imports a certificate from a file.
filename | File to import the certificate from |
Name of the certificate type ex: "x509", "pgp", etc.
This must be globally unique - you may not register more than one CertificateScheme of the same name at a time.
Definition at line 152 of file certificate.h.
gboolean(* _PurpleCertificateScheme::signed_by)(PurpleCertificate *crt, PurpleCertificate *issuer) |
Find whether "crt" has a valid signature from issuer "issuer".