aboutsummaryrefslogtreecommitdiffstats
path: root/src/content/docs/advanced/gnupg-controller.md
blob: 36f74e08cb1c4d8fc5f3d0f63fdbff8eac9c5356 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
---
title: A Comprehensive Guide of GpgController
sidebar:
  label: Gpg Controller
---

The **GpgController** in **GpgFrontend** is a powerful tool for configuring and
managing GPG-related settings. It provides advanced options for file operations,
password input methods, and custom GPG configurations, catering to both general
and advanced users.

## Accessing the GpgController

To access the **GpgController**:

1. Navigate to the **Advanced** menu in the top toolbar.
2. Select **Open GnuPG Controller** from the dropdown menu.

![Open GnuPG Controller](https://image.cdn.bktus.com/i/2024/11/29/abfaa919-2945-1acc-eb35-5c86828a97ca.webp)

The **GpgController** interface includes three tabs: **General**, **Key
Database**, and **Advanced**. Below is a detailed explanation of each tab's
features.

## General Tab: Core Settings

The **General** tab provides essential configuration options for GpgFrontend's interaction with GPG.

![General Tab](https://image.cdn.bktus.com/i/2024/11/29/0ee752ca-ecd1-2a86-91b5-f6129184c7a4.webp)

### Available Options

#### Use Binary Mode for File Operations

This option determines the format used for encrypted or signed files:
- **Binary Mode**: Produces compact and efficient files, ideal for storage and
 processing.
- **ASCII Mode**: Generates human-readable files encoded in ASCII format. This
 is useful for sharing files over email or systems that might corrupt binary
 files.

Recommendation: Use binary mode for local file operations and ASCII
mode for file sharing or email attachments.

#### Use Pinentry as Password Input Dialog

GpgFrontend includes a built-in password input dialog designed as a
temporary fallback when no external **Pinentry** program is available.
However, the built-in dialog has limitations and may not work for all
password input scenarios.

Recommendation: Users are strongly encouraged to install a
full-featured **Pinentry** program to ensure a seamless and secure password
input experience. **Pinentry** is optimized for GnuPG's requirements and
provides additional features such as better passphrase caching and hardware
token support.

#### Enable GpgME Debug Log

Enables verbose logging for troubleshooting GPG operations via the
**GpgME** library. This is useful for advanced users diagnosing issues in
encryption or signing workflows.

#### Restart Gpg Agent on Start

Ensures that the GPG agent is restarted whenever GpgFrontend launches. This
helps avoid issues caused by stale GPG agent processes.

#### Kill All GPG Daemons at Close

Terminates all GPG-related background processes when the application exits.
This ensures that no sensitive information is cached in memory or
accessible after the session ends.

Recommendation: Always enable this option for improved security.

> **Note**: Changes to any settings in the General tab will require
> restarting GpgFrontend to take effect.

## Key Database Tab: Overview

The **Key Database** tab allows users to manage multiple key databases. While
detailed documentation is available elsewhere, note the following key points:

- **Add New Key Database**: Easily create and manage isolated key databases for
  different projects or security requirements.
- **Switch Between Databases**: Use the **Key Toolbox** dropdown in the main
  interface to select the active database.

![](https://image.cdn.bktus.com/i/2024/11/29/7a66848e-bc23-fd13-08a4-1923de39369e.webp)

:::tip[Tipps]
> For more information on key database management, refer to the dedicated
> documentation.
:::

## Advanced Tab: Custom GnuPG Configuration

The **Advanced** tab is designed for users who need to configure custom GPG installations.

![](https://image.cdn.bktus.com/i/2024/11/29/ba283263-c9f5-9a6b-44a7-b0adf79684e8.webp)

### Configuring Custom GnuPG

1. **Enable Custom GnuPG**: Check the **Use Custom GnuPG** box to enable this
   feature.
2. **Specify GPG Configuration Path**: Use the **Select GnuPG Path** button to
   locate and set the directory where `gpgconf` resides. This is critical
   because GpgFrontend relies on the paths provided by `gpgconf` to locate
   essential components like `gpg`, `gpgsm`, and `gpg-agent`.
3. **Verifying Custom Configuration**: After setting the path, you can test the
   configuration by running `gpgconf --list-components` in a terminal. This
   command lists all available GPG components and their paths, ensuring that
   GpgFrontend can access themcorrectly.

![](https://image.cdn.bktus.com/i/2024/11/29/a9b9eb46-f064-610f-892e-dfc71f1a45d4.webp)

:::caution
If `gpgconf` is not configured correctly, GpgFrontend may fail to
locate and execute necessary GPG binaries.
:::

## Tips for Using GpgController Effectively

- Choose File Formats Wisely: Use **Binary Mode** for efficiency in local
  operations and **ASCII Mode** for readability and compatibility in file
  sharing.
- Install a Full-Featured Pinentry: Avoid relying on GpgFrontend's built-in
  password dialog for critical operations. Installing **Pinentry** ensures better
  compatibility and security.