NetSurf
Functions
sslcert_viewer.h File Reference

SSL Certificate verification UI interface. More...

#include "netsurf/mouse.h"
Include dependency graph for sslcert_viewer.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

nserror sslcert_viewer_create_session_data (struct nsurl *url, nserror(*cb)(bool proceed, void *pw), void *cbpw, const struct cert_chain *chain, struct sslcert_session_data **ssl_d)
 Create ssl certificate viewer session data. More...
 
nserror sslcert_viewer_init (struct core_window_callback_table *cw_t, void *core_window_handle, struct sslcert_session_data *ssl_d)
 Initialise a ssl certificate viewer from session data. More...
 
nserror sslcert_viewer_fini (struct sslcert_session_data *ssl_d)
 Finalise a ssl certificate viewer. More...
 
nserror sslcert_viewer_reject (struct sslcert_session_data *ssl_d)
 Reject a certificate chain. More...
 
nserror sslcert_viewer_accept (struct sslcert_session_data *ssl_d)
 Accept a certificate chain. More...
 
void sslcert_viewer_redraw (struct sslcert_session_data *ssl_d, int x, int y, struct rect *clip, const struct redraw_context *ctx)
 Redraw the ssl certificate viewer. More...
 
void sslcert_viewer_mouse_action (struct sslcert_session_data *ssl_d, browser_mouse_state mouse, int x, int y)
 Handles all kinds of mouse action. More...
 
bool sslcert_viewer_keypress (struct sslcert_session_data *ssl_d, uint32_t key)
 Key press handling. More...
 

Detailed Description

SSL Certificate verification UI interface.

Definition in file sslcert_viewer.h.

Function Documentation

◆ sslcert_viewer_accept()

nserror sslcert_viewer_accept ( struct sslcert_session_data ssl_d)

Accept a certificate chain.

Parameters
ssl_dSSL certificate session data
Returns
NSERROR_OK on success, appropriate error otherwise

Definition at line 690 of file sslcert_viewer.c.

References sslcert_session_data::cb, sslcert_session_data::cbpw, NSERROR_OK, sslcert_session_data::url, and urldb_set_cert_permissions().

Referenced by ami_crtvrfy_accept(), handle_event(), nsw32_window_ssl_cert_command(), and ro_gui_cert_accept().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sslcert_viewer_create_session_data()

nserror sslcert_viewer_create_session_data ( struct nsurl url,
nserror(*)(bool proceed, void *pw)  cb,
void *  cbpw,
const struct cert_chain chain,
struct sslcert_session_data **  ssl_d 
)

Create ssl certificate viewer session data.

Parameters
urlAddress of the page we're inspecting certificates of
cbLow level cache callback
cbpwLow level cache private data
chainThe SSL certificate chain
ssl_dUpdated to SSL certificate session data
Returns
NSERROR_OK on success, appropriate error otherwise

Pass the session data to sslcert_viewer_init. sslcert_viewer_fini destroys the session data.

Definition at line 643 of file sslcert_viewer.c.

References sslcert_session_data::cb, sslcert_session_data::cbpw, sslcert_session_data::certs, convert_chain_to_cert_info(), cert_chain::depth, NSERROR_NOMEM, NSERROR_OK, nsurl_ref(), sslcert_session_data::num, sslcert_session_data::tree, and sslcert_session_data::url.

Referenced by ami_cert_verify(), gui_cert_verify(), and nsw32_cert_verify().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sslcert_viewer_fini()

nserror sslcert_viewer_fini ( struct sslcert_session_data ssl_d)

Finalise a ssl certificate viewer.

This destroys the certificate treeview and the certificate viewer module's session data.

Parameters
ssl_dSSL certificate session data
Returns
NSERROR_OK on success, appropriate error otherwise

Definition at line 463 of file sslcert_viewer.c.

References ssl_cert_info::cert_type, der_to_certinfo(), ssl_cert_info::err, treeview_field_desc::field, sslcert_session_data::fields, info, ssl_cert_info::issuer, min, ssl_cert_info::not_after, ssl_cert_info::not_before, NSERROR_INVALID, NSERROR_OK, NSLOG, ssl_cert_info::serialnum, ssl_cert_info::sig_type, sslcert_cleanup_session(), SSLCERT_V_N_FIELDS, ssl_cert_info::subject, sslcert_session_data::tree, treeview_destroy(), treeview_fini(), and ssl_cert_info::version.

Referenced by ami_crtvrfy_destroy(), atari_sslcert_viewer_finish(), nsw32_crtvrfy_destroy(), and ro_gui_cert_release_window().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sslcert_viewer_init()

nserror sslcert_viewer_init ( struct core_window_callback_table cw_t,
void *  core_window_handle,
struct sslcert_session_data ssl_d 
)

Initialise a ssl certificate viewer from session data.

This iterates through the certificates, building a treeview.

Parameters
cw_tCallback table for cert viewer's core_window
core_window_handleThe core_window in which the cert viewer is shown
ssl_dSSL certificate session data
Returns
NSERROR_OK on success, appropriate error otherwise

Definition at line 393 of file sslcert_viewer.c.

References ssl_cert_info::err, sslcert_session_data::fields, NSERROR_OK, NSLOG, sslcert_session_data::num, sslcert_init_entry_fields(), SSLCERT_V_N_FIELDS, sslcert_viewer_create_node(), sslcert_session_data::tree, treeview_create(), treeview_init(), and TREEVIEW_READ_ONLY.

Referenced by ami_cert_verify(), atari_sslcert_viewer_init_phase2(), gui_cert_verify(), and nsw32_cert_verify().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sslcert_viewer_keypress()

bool sslcert_viewer_keypress ( struct sslcert_session_data ssl_d,
uint32_t  key 
)

Key press handling.

Parameters
ssl_dSSL certificate session data
keyThe ucs4 character codepoint
Returns
true if the keypress is dealt with, false otherwise.

Definition at line 727 of file sslcert_viewer.c.

References sslcert_session_data::tree, and treeview_keypress().

Referenced by ami_crtvrfy_key(), atari_sslcert_viewer_keypress(), cert_key(), and nsw32_sslcert_viewer_key().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sslcert_viewer_mouse_action()

void sslcert_viewer_mouse_action ( struct sslcert_session_data ssl_d,
browser_mouse_state  mouse,
int  x,
int  y 
)

Handles all kinds of mouse action.

Parameters
ssl_dSSL certificate session data
mouseThe current mouse state
xX coordinate
yY coordinate

Definition at line 718 of file sslcert_viewer.c.

References sslcert_session_data::tree, and treeview_mouse_action().

Referenced by ami_crtvrfy_mouse(), atari_sslcert_viewer_mouse_action(), cert_mouse(), and nsw32_sslcert_viewer_mouse().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sslcert_viewer_redraw()

void sslcert_viewer_redraw ( struct sslcert_session_data ssl_d,
int  x,
int  y,
struct rect clip,
const struct redraw_context ctx 
)

Redraw the ssl certificate viewer.

Parameters
ssl_dSSL certificate session data
xX coordinate to render treeview at
yY coordinate to render treeview at
clipCurrent clip rectangle (wrt tree origin)
ctxCurrent redraw context

Definition at line 704 of file sslcert_viewer.c.

References sslcert_session_data::tree, and treeview_redraw().

Referenced by ami_crtvrfy_draw(), atari_sslcert_viewer_draw(), cert_draw(), and nsw32_sslcert_viewer_draw().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sslcert_viewer_reject()

nserror sslcert_viewer_reject ( struct sslcert_session_data ssl_d)

Reject a certificate chain.

Parameters
ssl_dSSL certificate session data
Returns
NSERROR_OK on success, appropriate error otherwise

Definition at line 679 of file sslcert_viewer.c.

References sslcert_session_data::cb, sslcert_session_data::cbpw, and NSERROR_OK.

Referenced by ami_crtvrfy_reject(), handle_event(), nsw32_window_ssl_cert_command(), nsw32_window_ssl_cert_event_callback(), and ro_gui_cert_reject().

Here is the caller graph for this function: