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
131
132
133
134
135
136
137
138
139
140
|
---
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.

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.

### Available Options
1. **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.
2. **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.
3. **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.
4. **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.
5. **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.

> 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.

### 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 them
correctly.

> **Note**: If `gpgconf` is not configured correctly, GpgFrontend may fail to
> locate and execute necessary GPG binaries.
---
## Tips for Using GpgController Effectively
1. **Choose File Formats Wisely**
- Use **Binary Mode** for efficiency in local operations and **ASCII Mode**
for readability and compatibility in file sharing.
2. **Install a Full-Featured Pinentry**
- Avoid relying on GpgFrontend's built-in password dialog for critical
operations. Installing **Pinentry** ensures better compatibility and
security.
|