g_tls_interaction_invoke_request_certificate (
  GTlsInteraction* interaction,
  GTlsConnection* connection,
  GTlsCertificateRequestFlags flags,
  GCancellable* cancellable,
  GError** error


Invoke the interaction to ask the user to choose a certificate to use with the connection. It invokes this interaction in the main loop, specifically the GMainContext returned by g_main_context_get_thread_default() when the interaction is created. This is called by called by GTlsConnection when the peer requests a certificate during the handshake.

Derived subclasses usually implement a certificate selector, although they may also choose to provide a certificate from elsewhere. Alternatively the user may abort this certificate request, which may or may not abort the TLS connection.

The implementation can either be a synchronous (eg: modal dialog) or an asynchronous one (eg: modeless dialog). This function will take care of calling which ever one correctly.

If the interaction is cancelled by the cancellation object, or by the user then G_TLS_INTERACTION_FAILED will be returned with an error that contains a G_IO_ERROR_CANCELLED error code. Certain implementations may not support immediate cancellation.

Available since:2.40


connection GTlsConnection

A GTlsConnection object.

 The data is owned by the caller of the function.
flags GTlsCertificateRequestFlags

Flags providing more information about the request.

cancellable GCancellable

An optional GCancellable cancellation object.

 The argument can be NULL.
 The data is owned by the caller of the function.
error GError **
  The return location for a GError*, or NULL.

Return value

Returns: GTlsInteractionResult

The status of the certificate request interaction.