TlsInteraction.invokeRequestCertificate

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 glib.main_context.MainContext.getThreadDefault 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 gio.types.TlsInteractionResult.Failed will be returned with an error that contains a gio.types.IOErrorEnum.Cancelled error code. Certain implementations may not support immediate cancellation.

Parameters

connection gio.tls_connection.TlsConnection

a #GTlsConnection object

flags gio.types.TlsCertificateRequestFlags

flags providing more information about the request

cancellable gio.cancellable.Cancellable

an optional #GCancellable cancellation object

Return Value

Type: gio.types.TlsInteractionResult

The status of the certificate request interaction.