コード例 #1
0
static gboolean
default_filter_privkey (const GtkFileFilterInfo *filter_info, gpointer user_data)
{
#ifdef LIBNM_GLIB_BUILD
	const char *extensions[] = { ".der", ".pem", ".p12", ".key", NULL };
#endif
	gboolean require_encrypted = !!user_data;
	gboolean is_encrypted;

	if (!filter_info->filename)
		return FALSE;

#if defined (LIBNM_GLIB_BUILD)
	if (!file_has_extension (filter_info->filename, extensions))
		return FALSE;

	is_encrypted = TRUE;
	if (   !file_is_der_or_pem (filter_info->filename, TRUE, &is_encrypted)
	    && !nm_utils_file_is_pkcs12 (filter_info->filename))
		return FALSE;
#elif defined (LIBNM_BUILD)
	is_encrypted = FALSE;
	if (!nm_utils_file_is_private_key (filter_info->filename, &is_encrypted))
		return FALSE;
#else
#error neither LIBNM_BUILD nor LIBNM_GLIB_BUILD defined
#endif

	return require_encrypted ? is_encrypted : TRUE;
}
コード例 #2
0
static gboolean
default_filter_privkey (const GtkFileFilterInfo *filter_info, gpointer user_data)
{
	const char *extensions[] = { ".der", ".pem", ".p12", NULL };
	gboolean require_encrypted = !!user_data;
	gboolean is_encrypted = TRUE;

	if (!filter_info->filename)
		return FALSE;

	if (!file_has_extension (filter_info->filename, extensions))
		return FALSE;

	if (   !file_is_der_or_pem (filter_info->filename, TRUE, &is_encrypted)
	    && !nm_utils_file_is_pkcs12 (filter_info->filename))
		return FALSE;

	return require_encrypted ? is_encrypted : TRUE;
}