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

connectiona #GTlsConnection object
flagsflags providing more information about the request
cancellablean optional #GCancellable cancellation object

Returns

The status of the certificate request interaction.

Throws

[ErrorWrap]