GcrCertificateRequest

GcrCertificateRequest — Represents a certificate request

Synopsis

                    GcrCertificateRequest;
enum                GcrCertificateRequestFormat;
gboolean            gcr_certificate_request_capable     (GckObject *private_key,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                gcr_certificate_request_capable_async
                                                        (GckObject *private_key,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            gcr_certificate_request_capable_finish
                                                        (GAsyncResult *result,
                                                         GError **error);
GcrCertificateRequest * gcr_certificate_request_prepare (GcrCertificateRequestFormat format,
                                                         GckObject *private_key);
GcrCertificateRequestFormat gcr_certificate_request_get_format
                                                        (GcrCertificateRequest *self);
GckObject *         gcr_certificate_request_get_private_key
                                                        (GcrCertificateRequest *self);
void                gcr_certificate_request_set_cn      (GcrCertificateRequest *self,
                                                         const gchar *cn);
gboolean            gcr_certificate_request_complete    (GcrCertificateRequest *self,
                                                         GCancellable *cancellable,
                                                         GError **error);
void                gcr_certificate_request_complete_async
                                                        (GcrCertificateRequest *self,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            gcr_certificate_request_complete_finish
                                                        (GcrCertificateRequest *self,
                                                         GAsyncResult *result,
                                                         GError **error);
guchar *            gcr_certificate_request_encode      (GcrCertificateRequest *self,
                                                         gboolean textual,
                                                         gsize *length);

Description

This is an object that allows creation of certificate requests. A certificate request is sent to a certificate authority to request an X.509 certificate.

Use gcr_certificate_request_prepare() to create a blank certificate request for a given private key. Set the common name on the certificate request with gcr_certificate_request_set_cn(), and then sign the request with gcr_certificate_request_complete_async().

Details

GcrCertificateRequest

typedef struct _GcrCertificateRequest GcrCertificateRequest;

Represents a certificate request.


enum GcrCertificateRequestFormat

typedef enum {
	GCR_CERTIFICATE_REQUEST_PKCS10 = 1,
} GcrCertificateRequestFormat;

The format of a certificate request. Currently only PKCS#10 is supported.

GCR_CERTIFICATE_REQUEST_PKCS10

certificate request is in PKCS#10 format

gcr_certificate_request_capable ()

gboolean            gcr_certificate_request_capable     (GckObject *private_key,
                                                         GCancellable *cancellable,
                                                         GError **error);

Check whether GcrCertificateRequest is capable of creating a request for the given private_key.

private_key :

a private key

cancellable :

cancellation object

error :

location to place an error

Returns :

whether a request can be created

gcr_certificate_request_capable_async ()

void                gcr_certificate_request_capable_async
                                                        (GckObject *private_key,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Asynchronously check whether GcrCertificateRequest is capable of creating a request for the given private_key.

private_key :

a private key

cancellable :

cancellation object

callback :

will be called when the operation completes

user_data :

data to be passed to callback

gcr_certificate_request_capable_finish ()

gboolean            gcr_certificate_request_capable_finish
                                                        (GAsyncResult *result,
                                                         GError **error);

Get the result for asynchronously check whether GcrCertificateRequest is capable of creating a request for the given private_key.

result :

asynchronous result

error :

location to place an error

Returns :

whether a request can be created

gcr_certificate_request_prepare ()

GcrCertificateRequest * gcr_certificate_request_prepare (GcrCertificateRequestFormat format,
                                                         GckObject *private_key);

Create a new certificate request, in the given format for the private key.

format :

the format for the certificate request

private_key :

the private key the the certificate is being requested for

Returns :

a new GcrCertificate request. [transfer full]

gcr_certificate_request_get_format ()

GcrCertificateRequestFormat gcr_certificate_request_get_format
                                                        (GcrCertificateRequest *self);

Get the format of this certificate request.

self :

the certificate request

Returns :

the format

gcr_certificate_request_get_private_key ()

GckObject *         gcr_certificate_request_get_private_key
                                                        (GcrCertificateRequest *self);

Get the private key this certificate request is for.

self :

the certificate request

Returns :

the private key,. [transfer none]

gcr_certificate_request_set_cn ()

void                gcr_certificate_request_set_cn      (GcrCertificateRequest *self,
                                                         const gchar *cn);

Set the common name encoded in the certificate request.

self :

the certificate request

cn :

common name to set on the request

gcr_certificate_request_complete ()

gboolean            gcr_certificate_request_complete    (GcrCertificateRequest *self,
                                                         GCancellable *cancellable,
                                                         GError **error);

Complete and sign a certificate request, so that it can be encoded and sent to a certificate authority.

This call may block as it signs the request using the private key.

self :

a certificate request

cancellable :

a cancellation object

error :

location to place an error on failure

Returns :

whether certificate request was successfully completed or not

gcr_certificate_request_complete_async ()

void                gcr_certificate_request_complete_async
                                                        (GcrCertificateRequest *self,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

Asynchronously complete and sign a certificate request, so that it can be encoded and sent to a certificate authority.

This call will return immediately and complete later.

self :

a certificate request

cancellable :

a cancellation object

callback :

called when the operation completes

user_data :

data to pass to the callback

gcr_certificate_request_complete_finish ()

gboolean            gcr_certificate_request_complete_finish
                                                        (GcrCertificateRequest *self,
                                                         GAsyncResult *result,
                                                         GError **error);

Finish an asynchronous operation to complete and sign a certificate request.

self :

a certificate request

result :

result of the asynchronous operation

error :

location to place an error on failure

Returns :

whether certificate request was successfully completed or not

gcr_certificate_request_encode ()

guchar *            gcr_certificate_request_encode      (GcrCertificateRequest *self,
                                                         gboolean textual,
                                                         gsize *length);

Encode the certificate request. It must have been completed with gcr_certificate_request_complete() or gcr_certificate_request_complete_async()

If textual is FALSE, the output is a DER encoded certificate request.

If textual is TRUE, the output is encoded as text. For PKCS#10 requests this is done using the OpenSSL style PEM encoding.

self :

a certificate request

textual :

whether to encode output as text

length :

location to place length of returned data

Returns :

the encoded certificate request. [transfer full][array length=length]