diff options
Diffstat (limited to 'manual')
28 files changed, 1245 insertions, 0 deletions
diff --git a/manual/.nojekyll b/manual/.nojekyll new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/manual/.nojekyll diff --git a/manual/CNAME b/manual/CNAME new file mode 100644 index 00000000..91bbe11c --- /dev/null +++ b/manual/CNAME @@ -0,0 +1 @@ +gpgfrontend.pub
\ No newline at end of file diff --git a/manual/_coverpage.md b/manual/_coverpage.md new file mode 100644 index 00000000..b483c479 --- /dev/null +++ b/manual/_coverpage.md @@ -0,0 +1,33 @@ + + +# GpgFrontend - A Cross-Platform OpenPGP Crypto Tool + + + + + +[](https://www.codacy.com/gh/saturneric/GpgFrontend/dashboard?utm_source=github.com&utm_medium=referral&utm_content=saturneric/GpgFrontend&utm_campaign=Badge_Grade) +[](https://app.fossa.com/projects/git%2Bgithub.com%2Fsaturneric%2FGpgFrontend?ref=badge_shield) + +GpgFrontend is a Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and +Installation-Free [OpenPGP](https://www.openpgp.org/) Crypto Tool(using GnuPG). + +## Purpose + +Let more people all over the world can use GnuPG to safely send information to the destination in a safe way. + +## Features + +- Can run on **Windows, Linux and macOS**. +- Open source and free. +- Even if you don't understand gpg, you can use it with this software. +- Just download, double-click, and then you can use it freely. +- Supports multiple languages. Languages spoken by most people in the world. + + + +[Download Here](https://github.com/saturneric/GpgFrontend/releases/latest) +[Quick Start](quick-start.md) + +<!-- 背景色 --> + diff --git a/manual/_media/icon.svg b/manual/_media/icon.svg new file mode 100644 index 00000000..67375a64 --- /dev/null +++ b/manual/_media/icon.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1641046753295" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="732" width="64" height="64" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M763.52 968.96H261.248C147.2 968.96 54.784 876.544 54.784 762.496V260.224C54.784 146.176 147.2 53.76 261.248 53.76h502.272c114.048 0 206.464 92.416 206.464 206.464v502.272c0 114.048-92.416 206.464-206.464 206.464z" fill="#89898E" p-id="733"></path><path d="M671.36 365.44c0-88.576-72.32-160.128-161.536-158.976-81.024 1.152-150.656 66.688-156.288 147.456-5.504 79.104 46.336 146.56 118.016 165.12h0.128v224.128c0 5.12 1.92 9.984 5.376 13.824l45.568 49.92c4.48 4.992 12.288 4.992 16.768 0l65.664-71.68c4.608-4.992 4.352-12.672-0.384-17.408l-33.536-33.536c-5.248-5.248-5.248-13.952 0-19.2l36.096-36.096c7.04-7.04 7.04-18.304 0-25.216l-43.392-43.392c-4.224-4.224-6.528-9.856-6.528-15.744v-26.368c65.92-19.328 114.048-80.384 114.048-152.832zM512.256 294.4c22.528 0 40.832 18.176 40.832 40.576 0 22.528-18.304 40.576-40.832 40.576-22.272 0-40.576-18.176-40.576-40.576 0-22.528 18.304-40.576 40.576-40.576z" fill="#FFFFFF" p-id="734"></path></svg>
\ No newline at end of file diff --git a/manual/_media/trademark.png b/manual/_media/trademark.png Binary files differnew file mode 100644 index 00000000..7e9841be --- /dev/null +++ b/manual/_media/trademark.png diff --git a/manual/_navbar.md b/manual/_navbar.md new file mode 100644 index 00000000..4044c3de --- /dev/null +++ b/manual/_navbar.md @@ -0,0 +1,9 @@ +<!-- _navbar.md --> + +* [OpenPGP](https://www.openpgp.org/) +* [GnuPG](https://www.gnupg.org/) +* [Repository](https://gpgfrontend.bktus.com/?p=GPGFrontend.git;a=summary) +* [Github](https://github.com/saturneric/GpgFrontend) +* [Document](overview.md) +* [Contract](contract.md) + diff --git a/manual/_sidebar.md b/manual/_sidebar.md new file mode 100644 index 00000000..d4b2854b --- /dev/null +++ b/manual/_sidebar.md @@ -0,0 +1,26 @@ +- Getting Start + - [Overview](overview.md) + - [Quick Start](quick-start.md) + - Basic concepts +- Manual + - [Understand Interface](manual/understand-interface.md) + - [Encrypt & Decrypt Text](manual/encrypt-decrypt-text.md) + - [Sign & Verify Text](manual/sign-verify-text.md) + - [Encrypt & Decrypt File](manual/encrypt-decrypt-file.md) + - [Sign & Verify File](manual/sign-verify-file.md) + - [Generate Key Pair & Subkey](manual/generate-key.md) + - [View Key Pair Details](manual/view-keypair-info.md) + - [Import & Export Key Pair](manual/import-export-key-pair.md) + - Key Server Operations + - Email Operations + - Sync +- Features Guides + - [Introduce](features/introduce.md) + - [Short Cipher-text](features/short-ciphertext.md) + - [Public Key Sync](features/automatic-pubkey-exchange.md) +- Contribute + - [Translate Interface](translate-interface.md) +- About + - [FAQ](faq.md) + - [Code & Binary Verify](about/code-binary-verify.md) + - [Contract](contract.md) diff --git a/manual/about/code-binary-verify.md b/manual/about/code-binary-verify.md new file mode 100644 index 00000000..02b2474e --- /dev/null +++ b/manual/about/code-binary-verify.md @@ -0,0 +1,152 @@ +# Code & Binary Verify + +Some users of this software have relatively high requirements for security, so here are instructions on how to verify +whether the code and executable files have been tampered with.If you find that the signature is incorrect, please stop +using it immediately. + +## Code compilation + +When you see the document, every binary file version released on github is automatically compiled after submission using **Github Actions**. The generation of the final code is completely done by Github Actions. I will not compile the code on my local machine, but may use my machine to sign the packaged code. The code for all release versions comes from the main branch of the Github repository. + +All commands and environment configuration at compile time can be consulted in the project +code(`.github/workflow/release.yml`). + +## Introduction of third-party libraries + +For safety reasons, GnuPG will not be available in the major releases of GpgFrontned. GpgFrontnend will not use insecure or non-open source third-party libraries. The compiled version of the third-party library comes from the public code repository. + +## Verify Code + +If you have the need, interest or time, you are welcome to review the code that I use and write. When you have any +questions, please feel free to [Contact ME](../contract.md). + +I will sign most new git commit. The key I use is the key that I use to perform Git related operations: +Saturneric\<[email protected]\>. It will be given at the end of this description. For information about signing git commits, you +can see it on the github interface. + +The fingerprint of the key is now given: + +```text +E3379489C39B7270E70E2E303AAF1C64137CEE57 +``` + +## Verify Release Binary Verify + +### ZIP package Sign + +Starting from version 1.0.5, I will use the Gpg key to sign the ZIP package that contains the binary executable file. +Each ZIP compressed package will be accompanied by a signature file in the Release (end with sig suffix). You can use +the gpg command tool to verify them before use. + +The key used for binary signature is Saturneric\<[email protected]\>. This is my official key and will be given below. + +The fingerprint of the key is now given: + +```text +E3379489C39B7270E70E2E303AAF1C64137CEE57 +``` + +## Check on About Interface + +There is an About interface under the help option in the top menu.You can check the version and platform of this binary +file. More importantly, you can view the github repository branch and commit hash code corresponding to the source code +used for compilation of this binary version on the second line. + + + +## Pubkey Mentioned Above + +#### Fingerprint + +```text +E3379489C39B7270E70E2E303AAF1C64137CEE57 +``` + +#### Pubkey Content (OpenPGP) + +```text +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQGNBGCVnvEBDACuEcjxckb4rocHGU7VPT/OOOOZapNG/0ViB3XhmzNh7q8QJiq6 +M4z0fpC5sf1pHXbbKtehLETrAUTFuaEp19askZI0ISoz5+qKGZuaM3bDZWBjwUpt +woVgUphfeZy2DFsnmTtVj9CRU9Nma6smXVFud3Roj2ImZ0NFrkdETvprfLJ7jqk/ +mXgznNbbJdqmQ4l0I1E91VmrqHHHSakh3grzRDj/GuDookQl2JZfLA0J55qOYdkF +5mmnqbYURGVcP2oot/wSrrWH0F/WatwRx9w+jZjrJWgKjJoqWwvzG8WGop1XkRn1 +Ea3Nzj/KsSL7C5YRu03BL7wNu6UNIJ/zsAnNLp87nCY85w+HnNGHkL3QcnqNQbQP +3aySOkIjXdT8AlGIV5r5wO/RBg4e+xASGzQXx9lYbjJiiIOP2uLxYGGFbalDoiCa +sonlXzMZTJrK7VvZ2UsnSnBJ8l/EPsY/AeZdWbmswQaFsJlfNsZZ6T5Rfyjtu8a3 +fwPJTTsbfIB6N3EAEQEAAbQbU2F0dXJuZXJpYyA8ZXJpY0Bia3R1cy5jb20+iQHO +BBMBCAA4AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAFiEE4zeUicObcnDnDi4w +Oq8cZBN87lcFAmCWg1kACgkQOq8cZBN87leJfQv/ShjV9PRi8ixlJ1Ez1TDG+4N9 +EHoi2IwVK1UF51kA9lxyD+8n1ZHpcz7bRXV+YhHAO4A2l1ENrkCJVIZK9OO+Z64l +TPKCV9JVSkxcpnr6sqKJ76Zplwah1ZkwAG9tdK9H95wgeIkO4oSRutX/cCJ35Gko +FfhbV+/OyPYTT2562SZeQ2VqnptGLm0eF+FVt0HP4uxvRyGfgHQD46Ki6dr/JOXQ +j57S06CIHGj1RT4uQVSx53gbFvfIgweHsWraRWwY8jMrgOazlo/KRHG4N04eQdzM +K+WA80ODKuXdhnlGFMhn3RCFZpRV+Upso9syJ1FFChzsuX69+mRPvAojEDnREgd9 +s61nx5xWy6vKMB9oZiomNuPw2EScBwS9EK0M6APqgBaIdL6HOC7kjxBLfqgyhulD +qGZXWNvFj5P2FNMVwSvK1cYftYz+QWqB5BhbJT2H/HpF2xNsH7jfTxwUp6KrN1Bz +geNWgpQDXS5ZXU7dk22BwSah3nXs+LJi3Sloeh/piQHUBBMBCAA+FiEE4zeUicOb +cnDnDi4wOq8cZBN87lcFAmCVnvECGwMFCQPC1M8FCwkIBwIGFQoJCAsCBBYCAwEC +HgECF4AACgkQOq8cZBN87le3zAv/fMnxVMORS5rz/vsc0X8YSldmM1MqdIKSNghK +nQKKnzTBtTKA/oHEyPhjnQRaCfi4eUGeUsdZq8fwbN6sWSmbhJ6cOVgIps9YcS/U +sCV4egUHGy/+ozgDSh563v82ROWxXjszcnFz0F2d4stgroe8A//3OgQDv1wuhMJe +vtSZe8W8ebj7mt0zNjccGQzNkWo82mOyZfjgvK//vWisW4JwP8gfEKBgAktj5MCY +iGS2NbWPAToDIPCA6hKPb3sHQIY2/tGkKwyvr4oxwYRkNq4T5PWcV0p3qRsQudHp +ZXGiL3VNIW04ihLcn8uxSE6sQK2eq5wp/6Wnt1EWG1xb0pU2nPFuAlULHsGxM+bB +YJOk5WzYST1xdgXW3QxVsIoTuVqA+ehqrzvu+gGCz4uenFt6OAswqR7ii8D/Tpso +RAU0nTEOAVpCxXAMgsdUS6jOjtyfTHixGlVL6U3dY3wTuqWdbxmYX/g00PnOTYF0 +1plvf21NHMeYLk68+1nRbtqoLnPVuQGNBGCVnvEBDAC8zNpSGRHUp+X7hit0bCDP +P8HR+rxH50rOVFtQNyXw32lkIrwnHq0Y7FR4t7OSWTkX1xvxhXMILQdTBxKKrBtF +IpQ44cO1UcklkYdCwE/F0lasLLfleo2NlG7ISwNEOxmJcWiwmkLHN3CnqXpXXqpG +DTRavbuhE7yRewp/jNSCsikrvL7NedB5Ef5EZmSkvx7kXibXKzgKcyft5OlylRMU +JS8gzzTPA+xMH/Cl1zFCSgymJw1DK1wx+u0ye2Oj7NDdrYtRR1qLpCq7kaGIPvIW +556/58sj+/YRGeP5JTjhYFk/K8QQr8cK6HWuJQVASJUP+KBk8CiaqzbOPjlq69eG +Oymraa8H7JvSR5ArJWPczOxQyiEbYABOtJk1ZSz4v4pa7+RLUfwFOYuTMyBoY3rJ +uGhVxA77oHftfjteH1YcKyJXrWnJEA2UbUmyRa5cwZ8S7HXOIvMhCQS897Tzjpab +lfnIKE0n99c2ylJ4y4fHYSXYDKiCPKniFio8CxfqY+cAEQEAAYkBvAQYAQgAJhYh +BOM3lInDm3Jw5w4uMDqvHGQTfO5XBQJglZ7xAhsMBQkDwtTPAAoJEDqvHGQTfO5X +FbAL/0XZJW6XUca9d7f6Ft/0crMILRKID5uuSaLN1jG7BuLTwyWPhi7eSWbZQmlD +Fun/E3vHFj3U/WG13DJL6M89f3707R6rKxT1B17Ht53bO9zHqJ9KesP1G+mR3phk +hnxoQFlFvfSASZbDFtwEm3eZs55UBY4EPYf9MV+qPT0iNu1KPVX427uQfI0Ic/m4 +xFAO2XI11wMunDQoXi7rjknjYWxqVyGgqgRLrBD1Bb/aLenKN9Wn4FajEDaYrgpH +46HHyhAOJ2RZbenWO689rZY6/0qPwDGRL7B2xiktu2G+e5JMJjuRhwEB0g63G8M1 +MVuRGr/PvrBjs58kF47rxWpp2xmo8dqCHjNS3ze9pl6oyshPa1J5zeDTNk3Ujgr9 +IJEzWLDWv9PP9ApcSD15Ia60bxSvsC8FJAZh81JEadLywx0QNBLmnMP3Dxpd21LK +W8cWXa31F6E6eNf/45h7UGxVBRoOdPQ/Kwg4z69V9T/AXOuK65XgtG5ajwlmoQcv +Vx7KIrkCDQRgloMRARAAtRIaNwOpLKA1ogvpzgx8/A8PeXCKvKPZ/ls+8sJ8RSZb +b8lmd+HN52sotj3h9XGZXO1123WLW5F7n/M3HazRBRLlIoUf5kWnuQmXXmUZ6DEC +mq9VoZ30CPHWDEZv/BoScXEHMZNEppziebe2r57SqY9cIONt7B2wzi3sVcYOtDye +c+9BUQoEEv/grSfRN/1Lzezb8Ac9XY0Jet9XK/ImKbGCoxMNzszGQeFO2Neg4hVG +65NIHjTRwzMUOp2D9GV14z/mu2xj5z0mP8zTLw2nzjSW8b0s9ewsvawH45s+XBS8 +ndMU3R+pnHqZBJXU1OR9XjSSMZhaNk+cpOgVwlmbGhNUZ4jSPNVZr/fABpgpY7Bh +ctY42Q3DZVSMwSmiGZA2Uoy7kKx2qtm1Q0ogh6x5mq9QKHODuh+Uc1XhbqxheySv +/jWxvnWhRqaRMBIY+H6vFbXRkQvYjdtwwHZvBRyF5VOsdSUbdLunjyIeKTl2wMqR +hm0y2li+nbTE+zbCcguGPtIMZq6V08M3OZZGxT1jZZocOi3y0qwuApaQvAvk7GpC +mjjbSsq/ykbPUMSQHqAh77YY/9/v2kBh5u21fBPmtPyndAeZTNyukJ2dq8pecVgP +eqT/sSs/Gn56T1cekPEIuUkUxQ4K1sLah1z4G+jg8VqCPIj4yBH6pfd6zBEPx70A +EQEAAYkD8gQYAQgAJhYhBOM3lInDm3Jw5w4uMDqvHGQTfO5XBQJgloMRAhsCBQkH +hh93AkAJEDqvHGQTfO5XwXQgBBkBCAAdFiEExEoeTMpVzDyCCrnkOlA5Ga/6SF8F +AmCWgxEACgkQOlA5Ga/6SF9U+hAAs59FJP2pCQDnrFCrmk38mVePAyPNceSm7IEl +zJWuoxf6XOkz7SP7Vh4mPxyRj3yltEnFN5tLvDOF8W+AwMMMHrK9TnXxnJ2HwCbY +ifLgAGmNrMq+IoagTJDAZvlkp4m3gHe6zDYv9UIbFKdnB48FbwtahNm9LjMbqNDc +nLBt+IuiO/PXUu6c56Wl+L9ntOSVLb1ySnRisI4iYx4J80GcFaMjlJFjQ5uGt0jh +Ardq4zFLYgJfTTl6cM8WTANiKO2a6DgpZxb1knfKOjdasqeQcEs4ZcB6Nf9Bcw/X +Qe2Ee85FA+qClxuIMTT5l6fDw+DXgZfSR0clwA4rMY7hCUvuRxCjc1LDOCbyHe/Z +PUAntlNNKrXEicXxi8Odpzcq0/rDR53OMyzFhGXpbbxa89F/B96H249IW/waefN6 +VKpSb693VOyl8AtQ2tRAvy7YxYyhUQIKKCuahjdoib3GmFNE67rjW9MUVfefIhvp +nBJaY8tp8YhYrDF0U9DMuYrTLcPu5VsR7gvlFY30If1XCavpAnq+eNaxIdTDIKfJ +Q2cgALPBfzogEOeR+RY4Lo46dIGCaEYTpbImcJdum0GVACoMb0T1oOXIHWd1hy46 +ianYKGxMmjfS1f13cr6F1U18l8QKMBZhNTBazw2IdXaugdnbqryEsp20zPQ+caGR ++E1wZmOLMAv+JMPJSK7Ra9cQf6GEos1XurjhaoegPh0Y9U4p1Dk1pQduI7togmJ/ +bhvIpawfi52rI/4I4g1HqjcU8iG6ZjTVE7kVVvDISex71czbmV9isWvW0HJlDgTQ +piZbTCPqvgyEZRF0eIA+VTXOKD/qUwxvw3jo75KEcmW+sezqctREgH02EBPuD5GC +Qyxi7+nNq37FTNYReydCEGEDfJXZ6x12FkW9nPe2fkxx7WT/ceVT2jGtSG4re5vk +wYtnfgKvfHXYmTudoMuVmIsJc9zcdvhL1Nmrd1BOyeJmQCNyvwP48OkU5TqIGHc4 +PcbwniPKO8tozjuwE+iO2TjgwWc/Eg5hLPGYlyqalysP4nOO/KYLBwvgTrPse40N +jg4/3Ew4DKxsrHtCGfhx+i5pXVYwbWklPd7mDmmvxnM5gFEqs0VMMGsjElCzDsmm +v3fSDNozRpd0LXK7J4QGwtOBVivNf7XDQOx5ZXbh/HTQuTG2/8FMCbwUwPYFLx07 +hHHFn9+/wu20 +=bgvm +-----END PGP PUBLIC KEY BLOCK----- + +```
\ No newline at end of file diff --git a/manual/basic-concepts.md b/manual/basic-concepts.md new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/manual/basic-concepts.md diff --git a/manual/contract.md b/manual/contract.md new file mode 100644 index 00000000..47dfe5e4 --- /dev/null +++ b/manual/contract.md @@ -0,0 +1,130 @@ +# Contract + +Contents related to business and politics are rejected. This tool belongs to all mankind. If you have any questions about technology and improving this software, please feel free to contact me. + +## About ME + +Name: Saturneric, Eric or Erich. + +Email: [[email protected]](mailto:[email protected]) + +Tips: BKTUS(Bakantu Union) is not a company, it is my personal domain name. + +## Languages + +You can write to me in the following language. + +1. English +2. Chinese +3. Deutsch + +## GPG Public Key Info + +``` +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +65XgtG5ajwlmoQcvVx7KIg== +=syqc +-----END PGP PUBLIC KEY BLOCK----- +``` + diff --git a/manual/faq.md b/manual/faq.md new file mode 100644 index 00000000..0823d4ff --- /dev/null +++ b/manual/faq.md @@ -0,0 +1,36 @@ +# FAQ + +## What is GpgFrontend + +GpgFrontend is a cross-platform encryption tool that conforms to the OpenPGP standard. +It is committed to making OpenPGP easier to use, so that more people can use the tool to protect their privacy. + +## Relationship with OpenPGP(pgp) and Gnupg(gpg) + +OpenPGP is a data encryption and decryption standard, and GpgFrontend supports it. +GnuPG is a cryptographic software used to encrypt, sign communication content and manage keys for asymmetric cryptography. It follows the OpenPGP standard. +GpgFrontend drives gnupg at runtime to implement operations such as encryption and decryption. + +## How to obtain and use GpgFrontend + +The various versions of GpgFrontend will be released in the GitHub repository, and you can find and download the latest version in Releases. +After downloading, you can refer to the instructions in ReadME and you can start using it in just a few steps. + +## I found some flaws in GpgFrontend, what should I do? + +If you find a defect in GpgFrontend, you are welcome to create an issue in the Github repository to describe the problem. When I see your issue, I will respond as soon as possible. +If you do not have a GitHub account, please send an email to my personal mailbox. For contact information, please see Contract. + +## Can I modify the code of GpgFrontend? + +If you have any good ideas, you are free to modify the code of GpgFrontend. You are welcome to submit a Pull Request to add your good ideas to the next version. + +## Why should I install GnuPG additionally + +The source code of GpgFrontend does not contain operations such as encryption and decryption, which requires Gnupg to provide support. In addition, for users with higher security requirements, they can let GpgFrontend drive their trusted copy of Gnupg. +This design improves the security of GpgFrontend. + +## What is the release version with BETA + +The release version with the word "beta" means that some modules of this version have not yet been thoroughly tested. In addition, some of the support for the beta version may not be complete. But rest assured, I will test after the beta version is released, and release a stable version at an appropriate time. + diff --git a/manual/features/automatic-pubkey-exchange.md b/manual/features/automatic-pubkey-exchange.md new file mode 100644 index 00000000..94ae12de --- /dev/null +++ b/manual/features/automatic-pubkey-exchange.md @@ -0,0 +1,17 @@ +# Public Key Sync + +Sometimes, you need to keep your local key consistent with the one on the key server. This is critical in cases where a key owner revokes its key, at which point you need to stop using the key immediately. This avoids potential man-in-the-middle attacks. Or, if the key owner creates a new subkey for signing, gpg will not be able to verify the validity of the ciphertext if the ciphertext he sends to you signs with the subkey and you do not have local information about the subkey. + +## How to use + +It's very simple, after clicking the Sync Public Key button in the Key ToolBox or the Key Management interface on the homepage, things will be done automatically. + + + +This feature will check all the public keys you now have (only the public key, not any private keys) and then search for it in the key server. If the corresponding public key is found in the key server, GpgFrontend will import the latest public key from the key server to the local. + +### Key server + +How do I know which key server GpgFrontend accessed? It's simple, GpgFrontned will exchange keys using the default key server you set up. If you need to change the key server you need to access, you just need to add your key server in the settings and set it as the default. + + diff --git a/manual/features/introduce.md b/manual/features/introduce.md new file mode 100644 index 00000000..eb250877 --- /dev/null +++ b/manual/features/introduce.md @@ -0,0 +1,4 @@ +# Introduce Features + +GpgFrontend provides some advanced functions that can meet the needs of certain scenarios. +These features will be gradually introduced as the version is updated. diff --git a/manual/features/short-ciphertext.md b/manual/features/short-ciphertext.md new file mode 100644 index 00000000..8e301966 --- /dev/null +++ b/manual/features/short-ciphertext.md @@ -0,0 +1,14 @@ +# Short Cipher-text + +**NOTICE: As of version 2.0.0, GpgFrontend has eliminated this feature.** + +The short ciphertext function allows OpenPGP to transfer ciphertext quickly and conveniently in instant messaging software. +After successfully configuring the own key and obtaining the Service Token, you can use the short cipher text function. + +After the encryption and signature operations, you can click the short crypto button in the additional operations menu. +GpgFrontend will return a very short ciphertext, and you can publish the short ciphertext anywhere. + +You can paste the ciphertext into the text tab of GpgFrontend and select decryption and verification operations. +At this time, GpgFrontend will perform the corresponding operations. + +Note: The short ciphertext is valid within seven days of being generated. The short ciphertext function has restrictions on the length of the ciphertext. diff --git a/manual/index.html b/manual/index.html new file mode 100644 index 00000000..2e07158b --- /dev/null +++ b/manual/index.html @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <title>GpgFrontend - An OpenPGP Frontend Tool</title> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> + <meta name="description" content="Description"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"> + <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css"> + <link rel="shortcut icon" href="/_media/icon.svg" type="image/x-icon"> +</head> +<body> + <div id="app"></div> + <script> + window.$docsify = { + logo: '/_media/trademark.png', + name: 'GpgFrontend', + loadNavbar: true, + loadSidebar: true, + coverpage: true, + onlyCover: true, + subMaxLevel: 3, + alias: { + '/.*/_sidebar.md': '/_sidebar.md' + } + } + </script> + <script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script> + <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/emoji.min.js"></script> + <script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-bash.min.js"></script> + <script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-php.min.js"></script> +</body> +</html> diff --git a/manual/index.html.bak b/manual/index.html.bak new file mode 100644 index 00000000..671a6e38 --- /dev/null +++ b/manual/index.html.bak @@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <title>GpgFrontend - An OpenPGP Frontend Tool</title> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> + <meta name="description" content="Description"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"> + <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/lib/themes/vue.css"> + <link rel="shortcut icon" href="/_media/icon.png" type="image/x-icon"> +</head> +<body> + <div id="app"></div> + <script> + window.$docsify = { + logo: '/_media/trademark.png', + name: 'GpgFrontend', + loadNavbar: true, + loadSidebar: true, + coverpage: true, + onlyCover: true, + subMaxLevel: 3, + alias: { + '/.*/_sidebar.md': '/_sidebar.md' + } + } + </script> + <script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script> + <script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/emoji.min.js"></script> + <script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-bash.min.js"></script> + <script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-php.min.js"></script> +</body> +</html> diff --git a/manual/manual/advance-key-opera.md b/manual/manual/advance-key-opera.md new file mode 100644 index 00000000..4e086f71 --- /dev/null +++ b/manual/manual/advance-key-opera.md @@ -0,0 +1,4 @@ +# Advance Key Operation + +Some advanced key operations will be introduced in this module. +There are some operations that you may not use most of the time. diff --git a/manual/manual/encrypt-decrypt-file.md b/manual/manual/encrypt-decrypt-file.md new file mode 100644 index 00000000..752c341f --- /dev/null +++ b/manual/manual/encrypt-decrypt-file.md @@ -0,0 +1,66 @@ +# Encrypt & Sign File + +GpgFrontend provides two ways to perform file operations, a quick way and a custom way. The fast way is to use the +right-click menu of the file browser. It provides the recommended method for encryption and decryption operations ( +encrypt & sign OR decrypt & verify). The custom way provides two outdated but general and old functions: only encryption +and only decryption. + +The following is divided into two parts to introduce the above two ways respectively. + +## Fast Way + +In the top menu file option, you can open the file browser(Ctrl/Command + B). Then by using the file browser, first +enter your working directory. Then right-click the file you need to operate, and then select the operation you want in +the pop-up menu. + + + +There are two control buttons at the top of the file tab. The one on the left is the up level, and the one on the right +is to enter or refresh the corresponding path in the input box on the left. + +### Encrypt & Sign + +This method provides encryption and signature functions, which GpgFrontend recommend, so that the receiver can know that +the ciphertext comes from you. You can select one or more recipients' public key and your own private key to complete +this operation. + +This operation generates a file with the gpg extension. The file with this suffix contains both encrypted content and +signed content. + + + +### Decrypt & Verify + +This ciphertext is verified while decrypting, which can improve security. In addition, you can also perform Only Verify +operations and this operation will verify without decryption. To use this operation, you need to select a file with a +gpg extension, which contains the ciphertext and signature content. + + + +## Custom Way + +The custom mode provides a more flexible operation scheme for files. You can specify the directory, file name and suffix +of the output file. + + + + + +### Encrypt + +This operation will only encrypt the file which means the receiver won't know who this ciphertext is created by. This +operation will generate a file with the suffix asc, which contains ciphertext. + + + +### Decrypt + +For decryption, you do not need to check the corresponding key from the table. GpgFrontend will make the selection +automatically. To use this operation, you need to select a file with an extension of gpg or asc, which contains +ciphertext. + + + + + + diff --git a/manual/manual/encrypt-decrypt-text.md b/manual/manual/encrypt-decrypt-text.md new file mode 100644 index 00000000..130148b5 --- /dev/null +++ b/manual/manual/encrypt-decrypt-text.md @@ -0,0 +1,51 @@ +# Encrypt & Decrypt Text + +To start encryption and decryption operations, you need to prepare your plain text. In addition, you also need a public key that can perform encryption operations. How to generate such a key can be found in the chapter on generating a key pair. + +## Encrypt + +The Encrypt operation itself uses a public key and does not require a private key. Remember that whoever you want to send it to encrypts it with whose public key. For people who don't use gpg very often, they often get confused and use their own keys to encrypt ciphertext. + +Note that if you want to encrypt your text and send it to "foo", you need to know foo's public key first. Then you need to encrypt your text with foo's public key instead of using your public key. Before encrypting, check to see if the public key has cryptographic capabilities. This can be viewed in the usage column of the key toolbox (the letter E stands for encryption). + +It is worth mentioning that if you only use foo's public key to encrypt the ciphertext, no one but foo's own private key can decrypt the ciphertext. There is a situation where you want ciphertexts to be decrypted by multiple people (including yourself), please check their corresponding public keys before doing so. After an encryption operation, if you misuse (some people's public keys are found to be missing), you can use the undo operation to restore your original ciphertext before closing GpgFrontend. + +### Only Encrypt + +In this case, you only encrypt the ciphertext, and the ciphertext will be shorter. Because in operation, the ciphertext does not contain additional signature information to determine the identity of the encryptor. If you don't want to receive your mestigraphs knowing your identity, use this method to generate your ciphertexts. + +After the encrypted operation, there is no additional information display in the information board except for the prompt of whether the operation is successful. + + + + +### Encrypt Sign + +By encrypting and signing at the same time, not only can the text be protected, but the recipient can also know that thecipher text is from your hand. This encryption is often used in scenarios where both parties need to ensure that the decrypted text is credible, and in general, in that scenario, the upper reaches know each other. The ciphertext generated by this operation is longer because of the additional signature information attached to it. + +Before doing so, you only need to select the public key(s) you need to use for encryption. Halfway through the encryption operation, you'll be asked to choose the private key you need to use for signing. That is, the signer. If you don't find the key you want in the Signaler list, confirm that your private key can be used for encryption and is valid. To check whether the key can be used for signing, please check the usage column in the key toolbox on the right (letter S stands for signature). You can select the public key to use for encryption, or you can select the public key to use for signing. + +For this type of ciphertext, you can use the validate operation to see if the ciphertext is trustworthy before decryption. + +When the operation is complete, information about the cryptographic operation and the signature operation is displayed in the Infomation Board. You can view information about the signature, such as the pattern of your signature and the algorithm used (you can indirectly see which subkey you used to sign). Please note the distinction between the dates used in your signature messages in UTC and not your local time. + + + +## Decrypt + +Paste the ciphertext you obtained directly, gpg will automatically select the appropriate key in the list for decryption. Always remember to decrypt with the private key. + +Whether a key pair can be used for decryption will not be displayed in the usage column. You only need to remember that a valid private key can be used to decrypt the ciphertext encrypted with the related public key. + +Regarding whether this key is a public key or a private key, you can check the type column in the key toolbox. + + + +## Decrypt Verify + +While decrypting, you can learn some information about the encryptor of the key (if you signed it during encryption). + +Whether a key pair can be used for verification will not be displayed in the usage column, you only need to remember a valid public key can be used for verificationWhether a key pair can be used for verification will not be displayed in the usage column, you only need to remember a valid public key can be used for verification. +Regarding whether this key is a public key or a private key, you can check the type column in the key toolbox. + + diff --git a/manual/manual/generate-key.md b/manual/manual/generate-key.md new file mode 100644 index 00000000..ba663242 --- /dev/null +++ b/manual/manual/generate-key.md @@ -0,0 +1,115 @@ +# Generate Key Pair & Subkey + +For GpgFrontend, to understand the key, you must first understand two concepts: key pair and subkey. + +A key pair can be compared to a key ring. When it is generated, there is a key in the ring called the master key. This +master key can do the intended operation (encryption, decryption, etc.). At the same time, keep this in mind, only +through the master key can you open the keychain to add new keys to it. + +The sub-keys can be analogous to the keys you add to the key pair later, and each of them can independently perform +operations such as encryption and decryption. It can be considered that the master key mentioned above is a special +subkey. + +When there is no master key in the key pair, you will not be able to open the key ring to add a new sub key, but you can +still use this sub key if it is changed to exist for your operations. This mechanism is very helpful to the security of +the key. + +Let's see how to generate them next. + +## Generate Key Pair + +You can quickly grasp the operation of generating a key pair through the following animation. + + + +### Name & Email & Comment + +These three fields are used to facilitate people to distinguish this key pair from the card key pair. For these three +options, except for name and email, which are required, comments are optional. + +In addition, the length of the name is required to be greater than 5 letters, as long as the email conforms to the +format (no actual existence is required). + + + +### Expiration Date + +You can set an expiration date for the key pair. After this date, the key may still be used normally, but the operation +it does will be logically invalid (especially for signature operations). GpgFrontend recommends and defaults this date +to two years later. If you wish, check the Never expire checkbox to make this key pair never expire. + +But don't worry, you can change this option at any time after generation, even long after the expiration date (as long +as the master key exists). + + + +### Key Size & Algo + +These two options are related. In general, different encryption algorithms have different optional lengths. GpgFrontend +will give you sufficient hints on the UI so that you will not go wrong. + +Just remember that the larger the key length, the more secure, but it will be slower when performing operations. + +!treeModuleSelected[keysize-algo](https://github.com/saturneric/Blob/blob/master/screenshots/keysize-algo.png?raw=true) + +### Passphrase + +You can set a key to protect the master key, which is very important when the master key is leaked. +When the Do not set password check box is not checked, an interface for you to enter the password will pop up during the process of generating the password. +Just follow the prompts. +After setting the password, when you need to use the master key for operation, you may enter the password to unlock it +(some systems have a password networkAccessManager to take over this process). + +You can also check the checkbox to not set a protection password for the master key, but due to security considerations, this is not recommended. + +### Usage + +In the option of generating a key pair, you can specify the usage for the first subkey of the key pair, which is the +master key. There are four options: + + + +- Encryption: After generation, it can be used for encryption operations. + +- Signing: After generation, it can be used for signature operations. + +- Certification: Popular understanding can be used to unlock this key ring (key pair). Only the master key can check + this function. + +- Authentication: It can perform authentication operations like SSH keys. + +The third of these four uses (authentication purposes) can only be owned by the master key. In addition, some usages are +not available when using certain algorithms for encryption. For example, when the DSA algorithm is selected, the +encryption uses are disabled. + +## Generate Subkey + +We can add sub-keys to the generated key pair. The subkey does not need to fill in the name, email and comment options. +The rest is basically the same as generating the key pair. + + + + +### Extra note + +#### Master Key & Subkey + +A key pair can have multiple subkeys and one master key. Using this design reduces the risk of key leakage. For subkey, +After the subkey is leaked, you can revoke it at any time to reduce the loss. However, when the master key is leaked, +the entire key pair will be insecure (the popular reason is that the main force can be used to manage this key pair). + +Therefore, the recommended approach is to generate multiple subkeys after creating the key pair, and export the master +key separately and store it in a safe place. This operation is not yet supported by GpgFrontend, you need to use the gpg +command to perform it. But gpgfrontend can identify and prompt the user whether the master key exists or not. This is +very important, because some special operations (adding subkeys, signing other keys, etc.) cannot be performed without +the master key. + +#### Some practical tips + +The purpose of the master key cannot be changed after it is generated. If the master key of this key pair +does not have a certain purpose, but a certain sub-key has this purpose, this key pair can still be used for operations +corresponding to this purpose. + +For example, when you generated the key pair, you didn't check the encryption usage. Don't worry, you can generate a +subkey and check the encryption usage. In this way, this key pair can still perform encryption operations. + diff --git a/manual/manual/import-export-key-pair.md b/manual/manual/import-export-key-pair.md new file mode 100644 index 00000000..0c9f85ba --- /dev/null +++ b/manual/manual/import-export-key-pair.md @@ -0,0 +1,50 @@ +# Import & Export Key Pair + +GpgFrontend provides multiple ways for users to import or export key paris. Read the guide. + +# Import Key Pair + +You can find the import options in the toolbar. You can choose several import methods according to your actual situation. +Let’s introduce these methods. + +## File + +When you select this option, you need to select a public key or private key file that meets the standard. +The file you choose should be in text format, with any extension. + +## Editor + +You can paste the contents of the key file on a blank text label page. Then click this option, GpgFrontend will automatically recognize and import the corresponding key. + +## Clipboard + +You can copy the contents of the key to your system clipboard somewhere else. Then, after selecting this option, the corresponding key will be imported. + +## Keyserver + +After selecting this option, you can enter the email or ID corresponding to the key in the pop-up selection, and then select the appropriate key server. +Then after clicking the search button, GpgFrontend will list the public keys that can be imported in the key server. +You can import them together, or you can choose to double-click the table row to import the corresponding public key. +Note: The keys imported in this way are all public keys. + +## Dropdown on Key Toolbox + +You can drag the key file directly to the key toolbox, and then follow the prompts of GpgFrontend to import the key. + +# Export Key Pair + +Similar to import, there are multiple export methods. + +## Append Pubkey to Editor + +Right-click a row in the key toolbox, and click Append Select Key(s) to Editor in the pop-up menu item. +You will find that the public key that the key is right appears at the end of your text label page. +You can freely copy the content to any place. + +## Export Private Key + +You can find private key options everywhere in the details page that contains the private key (master key or subkey). +Then you can select a location, and GpgFrontend will export the corresponding private key content to that location later. +Generally speaking, the private key content will be bundled with the public key content to export and export. +Please note: the private key file can never be disclosed to others. If it is leaked, it means that all ciphertexts encrypted by the key are no longer safe. + diff --git a/manual/manual/sign-verify-file.md b/manual/manual/sign-verify-file.md new file mode 100755 index 00000000..5a50bbd7 --- /dev/null +++ b/manual/manual/sign-verify-file.md @@ -0,0 +1,47 @@ +# Sign & Verify File + +GpgFrontend provides two ways to perform file operations, a quick way and a custom way. The fast way is to use the +right-click menu of the file browser. The custom way uses the file path designate interface. + +The following is divided into two parts to introduce the above two ways respectively. + +## Quick Way + +In the top menu file option, you can open the file browser(Ctrl/Command + B). Then by using the file browser, first +enter your working directory. Then right-click the file you need to operate, and then select the operation you want in +the pop-up menu. + + + +There are two control buttons at the top of the file tab. The one on the left is the up level, and the one on the right +is to enter or refresh the corresponding path in the input box on the left. + +### Sign + +Through the right-click menu, you can quickly sign a file. This operation will generate a file with a sig suffix, which +contains the signature content. In this case, you need to pass this file along with the original file so that the other +party can verify it. + +### Verify + +This operation needs to select a file with a gpg suffix (may be invalid for the ciphertext of a binary file) or a file +with a sig suffix for verification. + +When selecting a file with the sig suffix, make sure that the source file is also in this directory. This means that the +name of the source file is just missing a sig suffix. + +## Custom Way + +The custom mode provides a more flexible operation scheme for files. You can specify the directory, file name and suffix +of the output file. + +### Sign + +This operation will generate a file with a sig suffix(You can customize the name and path of the generated file), which +contains the signature content. In this case, you need to pass this file along with the original file so that the other +party can verify it. + +### Verify + +Consistent with fast operation. The difference is that you can specify the path of the source file and the signature +file, and their naming rules are basically unlimited.
\ No newline at end of file diff --git a/manual/manual/sign-verify-text.md b/manual/manual/sign-verify-text.md new file mode 100644 index 00000000..c8d35078 --- /dev/null +++ b/manual/manual/sign-verify-text.md @@ -0,0 +1,33 @@ +# Sign & Verify Text + +## Only Sign + +By signing the text, you can show that you are the only and unchangeable certification with this text. You can just sign +the text without encrypting the text like the following. + +To check whether the key can be used for signing, please check the usage column in the key toolbox on the right (letter S stands for signature). + + + +## Sign With Encrypt + +You can also encrypt this short text while signing, which is equivalent to signing while encrypting. +A typical usage method is to check two key pairs, one is someone else's public key, which is used for encryption; the other is your own private key, which is used for signing. +If you do not check any key that can be used for signing, this is possible (equivalent to encryption only). The only difference is that you will receive a warning. + + + +## Verify + +After obtaining a plaintext and its signature, you can verify the signature. +Whether a key pair can be used for verification will not be displayed in the usage column, you only need to remember a valid public key can be used for verificationWhether a key pair can be used for verification will not be displayed in the usage column, you only need to remember a valid public key can be used for verification. + + + +## Verify With Decrypt + +After obtaining a ciphertext, you can try to verify it while decrypting it. This is a good habit regardless of whether +the encryptor has signed in advance. +Whether a key pair can be used for decryption will not be displayed in the usage column. You only need to remember that a valid private key can be used to decrypt the ciphertext encrypted with the related public key. + + diff --git a/manual/manual/understand-interface.md b/manual/manual/understand-interface.md new file mode 100644 index 00000000..f037ad57 --- /dev/null +++ b/manual/manual/understand-interface.md @@ -0,0 +1,99 @@ +# Understand Interface + +As a novice, you only need to quickly grasp the meaning of a few important parts of the page. You will gradually discover other functions in the next exploration. The interface may not be the same for different versions. + + + +## Text Editor + +In the text editing area, you can type text at will. Or create a new tab through the New option in the top file menu. Tabs can be moved, closed, and so on. + +You can operate your text through the options in the Operations Bar. Or you can use some common shortcuts(ctrl+c/v/s) to copy-paste save or even find operations. + +The text edited in the text box is UTF8 encoded and does not have any formatting. Not providing any formatting (plain text) ensures that the reality of redaction in a message is not confusing. I plan to join rich text editors in the future, but the details are still under consideration. + +### Large text file support + +Here, GpgFrontend supports opening some of the larger files without being stuck. However, when opening a relatively large file, you cannot edit this tab until the file has been totally read. Although this will make you unable to edit the file, you can still view it. + +## Information Board + +The result of your operation on the current tab page will be printed in the Information Board: success or failure. In addition to the success and failure information, its text will also contain other information to help you understand the details of your encryption, decryption, signature and other operations. Depending on your language settings, the output in the dashboard will vary. + +I used the information board as a solution to be able to display more information in the same space. In the future, a graphical interface display of this information will be introduced, which can help users understand the actual role of this information. + +### Font Color + +- **Green**: When the operation succeeds and the results of the operation are verified and no problems are found, the font color will be green. +- **Yellow**: When the operation succeeds and there are some problems with the result testing of the operation at that time, the font turns yellow, which is a reminder to the user. At this time, the user needs to check the details of the operation. +- **Red **: When the operation is unsuccessful or there is a serious conflict with the result of the operation, the font color will turn red, and the user will need to carefully check the details of the operation to ensure security. + +### Font Size + +When you feel that the font of the information board is too small, you can set the font size in the Application column of the settings. The font size defaults to 10 and can be set to a range of between 9 and 18. + +### Information Board Actions Menu + +The dashboard actions menu provides some commonly used actions for information board content. This enables users to quickly record large pieces of content in the Information Board for other uses. + +#### Copy + +This enables users to quickly record large pieces of content in the Information Board for other uses. + +#### Save File + +The operation stores the contents of the information board in the file system in UTF-8 format. Although the output file does not have a suffix name, in fact this file is in plain text format. + +#### Clear + +This action immediately empties the information board. The empty operation includes the contents of the information board and all the statuses. The emptying operation occurs automatically when you make the next operation (encryption, etc.). + +### Optional Actions Menu + +There will also be a column of Optional Actions Menu below the Information Board. If there are other auxiliary operations that can be done after your operation is completed (display more detailed information, send encrypted text through email, etc.), the entry points for these auxiliary operations will be displayed here. + +## Key ToolBox + +Here is a list of key pairs stored on your machine that can be used for Gpg operations. The key lists in the Toolbox have multiple categories that correspond to different usage scenarios. The toolbox also provides some commonly used operations, all of which are in the Key List Menu. + +### Usage + +Most operations related to Gpg need to specify a key pair (such as encryption, decryption, signature, etc.). You can select the check box in the first column of the table in the key toolbox to specify one or more keys for your operation. Classifications that contain only public keys are often used in cryptographic scenarios. + +### Classification + +The Toolbox provides a categorical display through tabs. All classifications do not include all expired or revoked keys. If you want to view expired or revoked keys, use the Key Manager. The default classification contains all private and public keys. The operation takes only the key from the currently selected classification as input. + +### Columns + +It is important to understand this list. Now let me take you to understand it step by step. + +- Select: Turn the checkbox in this column to let Gpg Frontend know that you specify the key of this row for your next + operation. + +- Type: See this column to let you know the type of key and whether the primary key exists in your key pair. + - `pub` means this is a public key, Can be used for encryption or verification operations. + - `pub/sec` The key pair contains both public and private keys. It can be used for almost all operations(Need to + combine the usage column to determine this). + - `pub/sec#` The key pair contains a public key and a private key, but the primary key is not in the key pair. This + shows that you will not be able to do some special (add subkeys, sign other key pairs, etc.) +- Name: The identity information of the key pair. +- Email Address: The identity information of the key pair. +- Usage: This determines which operations the key pair can use. Composed of four capital letters, each capital letter + represents a usage. + - `C` Certificate. Generally, the key pair that contains the primary key will have this usage + - `E` Encrypt. The key pair can be used for encryption operations. + - `S` Sign. The key pair can be used for sign operations. + - `A` Authenticate. The key pair can be used to perform operations like SSH authentication. + +- Validity: One of the concepts of Gpg, simply put it represents the degree of trust in this key. + +## Operations Bar + +Here, you can perform corresponding operations by clicking the buttons above. For example, after typing text in a text editor and setting the key you want to use in the key toolbox, you can click the encryption button to perform the operation. + +Some operations need to specify the key, and some are not used, which will be explained in other corresponding parts of the document. + +### Customize + +Some operations you may not use for a long time, at which point you can uncheck the relevant function group in the view of the top menu. Conversely, for some of the operations you use frequently, you can also add here.
\ No newline at end of file diff --git a/manual/manual/view-keypair-info.md b/manual/manual/view-keypair-info.md new file mode 100644 index 00000000..b9f1ac0b --- /dev/null +++ b/manual/manual/view-keypair-info.md @@ -0,0 +1,113 @@ +# View Key Pair Details + +Right-click the key pair in the key toolbox or key management interface and click Show key details to view the +information about the key pair. + +This part may involve a brief introduction to gpg-related concepts, and it will be relatively long. + + + +## General Info + +### Owner + +Through this section, you can understand the owner of this key pair. This information is not fixed and unchangeable. You +can create a new UID in the UID section and set it as the main UID to change it. + +According to the OpenPGP protocol, this part is divided into Name, Email, and Comment. + + + +### primary key + +This part is the information of the primary key of the key pair. The primary key is very important, because without it, +the key pair cannot perform related management operations such as adding and revoking sub-keys (similar to the key ring +cannot be opened). Let's introduce the information of the primary key separately below. + + + +#### Key ID + +The unique identifier of the primary key is fixed and unchanging. + +#### Algorithm + +The encryption algorithm used by the primary key. + +#### Key Size + +The length of the primary key. It can be said that the longer the key, the harder it is to crack the ciphertext, but at +the same time, the more time it takes for a single operation. Generally speaking, a length of 2048 bits is safe enough. + +#### Normal Usage + +What can the key pair conceptually be used for (including the conceptual usage of the primary key and sub-key). When the +primary key or subkey generation can be used to sign, but it has already expired or does not exist, the signature usage +will still be displayed here. + +#### Actual Usage + +The actual usage of the primary key and all subkeys. It is the union of their usage. If there is only one primary key in +the key pair that can be used for signing, but this primary key does not exist. Then the signature usage will not appear +here, only in Normal Usage. In addition, when there is only one subkey that can be used for signing, if it has expired, +the signature purpose will not be displayed here. + +#### Expires on + +The expiration time of the primary key. When the primary key expires, it will be invalid. You cannot use it for any +operation. In addition, the subkeys in the key pair will also be unavailable. Fortunately, you can change the expiration +time of the primary key at any time, or even set it to never expire. The prerequisite for this is that the primary key +exists. + +#### Last Update + +The time when the content of the key pair was last updated. Operations such as adding a UID or subkey will modify the +content of the key pair. + +#### Secret Key Existence + +Shows whether the actual content of the primary key exists. When the primary key does not exist, if there are still +available subkeys in the key pair, the key pair can still be used for normal operations. However, in the above case, the +content of the key pair cannot be modified (that is, operations such as adding UID or subkey cannot be performed), and +the key pair cannot sign other key pairs. + +### Fingerprint + + + +The fingerprint of the key pair is used for humans to quickly compare whether the key pair is the expected key pair. + +### Operations + + + +This column lists all available operations. + +## UID Info + +UID is used to identify the key, and this mechanism is mainly used to facilitate human identification. Humans can +roughly identify whether a key pair is what he expected by looking at the UID, but to accurately identify it, +fingerprints need to be compared. A key can have one or more UIDs. A key pair has one and only one main UID. + +UID has three elements, Name, Email, Comment. The name must be greater than or equal to five characters, and the email +must conform to the format. Comment rules are relatively loose. + +### Signature + +You can use the primary key of another key pair to sign a UID. When the master UID of a key pair has many valid +signatures attached, it will be more trustworthy than without a valid key pair. + +## Subkey Info + +The sub-key mechanism is an important content of gpg, which enhances flexibility and security, but also brings a certain +degree of complexity, making it difficult for beginners to understand. + +In order to help you understand this concept and get a preliminary grasp, you only need to read the following points: + +- A key pair can be compared to a keychain, with a primary key and multiple subkeys (or no subkeys). +- The sub-key can do related operations (such as signing, encryption) when the primary key is not present or cannot. +- The functions of the sub-keys can overlap. When both sub-keys can be used for signing, the earliest generated one is + selected for this operation. +- The sub-key can use more algorithms than the primary key, but generally they have the same effect on daily operations. +- The disclosure of the subkey only affects the subkey, and the entire key pair is in danger after the disclosure of the + primary key. diff --git a/manual/overview.md b/manual/overview.md new file mode 100644 index 00000000..3b1aee71 --- /dev/null +++ b/manual/overview.md @@ -0,0 +1,48 @@ +# Overview of GpgFrontend +--- + + + + +[](https://www.codacy.com/gh/saturneric/GpgFrontend/dashboard?utm_source=github.com&utm_medium=referral&utm_content=saturneric/GpgFrontend&utm_campaign=Badge_Grade) +[](https://app.fossa.com/projects/git%2Bgithub.com%2Fsaturneric%2FGpgFrontend?ref=badge_shield) + +**GpgFrontend** is a Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free [OpenPGP](https://www.openpgp.org/) Crypto Tool. + +By using GpgFrontend, you can quickly encrypt and decrypt text or files. Or at the same time as the above operations, you can add your own signature to let others know that this document or this paragraph of text was issued by you. + +Furthermore, it visualizes most of the common operations of gpg commands. It aims to allow ordinary users to quickly use gpg and make professional users more convenient. GpgFrontend supports new features of GnuPG 2.x. + +## Interface + +Note: For different operating system and system style settings, GpgFrontned may look different. + + + +## Origin + +The GpgFrontend project inherit from a relatively mature but not maintained [gpg4usb](https://www.gpg4usb.org/) project. It inherits the stable, easy-to-use, compact, and installation-free features of gpg4usb, and plans to support some new features of OpenPGP based on it and continue to improve it. + +## Purpose + +Let more people all over the world (even if they don't know the command line and programming) can use GnuPG to safely send information to the destination in a safe way. Free software belongs to the common wealth of all mankind, but there are still many people who cannot use these wealth due to the limitation of knowledge and usage habits. We should break this pattern. GpgFrontend is committed to improving the ease of use and intuitiveness of the free software GnuPG, so that more and more people can use it. + +The GpgFrontend project is as open source, and it also insists on using open source codes and libraries. + +### Free forever + +GpgFrontend will be free forever, and you don't need to worry about being asked to pay a fee to use the software one day. + +## License + +GpgFrontend's own code is under a GPL-3.0 license, which means that GpgFrontend is free software. You may exercise the rights set forth in the Licence under the conditions of compliance with the rules of the Licence. + +## Contribution + +At the same time, the addition of new functions does not affect the old basic functions. My personal strength is always limited. GpgFrontend welcomes volunteers to join. You can use the GitHub platform to file an issue, or submit a pull request. + +## Privacy Guarantee + +GpgFrontend has no servers and does not require servers to run. In addition to the public key transfers allowed by the OpenPGP protocol to the public key server unexpectedly, GpgFrontend does not collect and upload any additional information. + +For users with high security requirements, a version with no Internet access capability will be available in the future.
\ No newline at end of file diff --git a/manual/quick-start.md b/manual/quick-start.md new file mode 100644 index 00000000..2742038a --- /dev/null +++ b/manual/quick-start.md @@ -0,0 +1,99 @@ +# Quick Start + +Getting started with GpgFrontend is very simple, you only need a few very simple steps. Moreover, it is oriented to all PC platforms. + +## Get channels + +The current mainstream distribution channel is the Release feature available through GitHub. It's free and accessible to most people in the world, without me having to worry about servers and bandwidth, which allows me to save a lot of money. + +When you click on the [download](https://github.com/saturneric/GpgFrontend/releases/latest), you can see such an interface. It identifies the current version number of the latest release, the release date of that version, and so on. + + + +You can see some notable features or fixes for the version in the main text, or if you're a programmer, you can also click change log to get how the source code differs from the previous version. It is worth mentioning that you can see two green tick marks, which represent that I have personally signed up to the source code of the version. This may be important for some people with high security needs. + +Then, if you swipe down, you can see a lot of Assets, which are releases for GpgFrontned for different operating systems. As you can see, the parts of the file name are separated by separators. You need to know that the second section(e.g. 6171479) provides a unique identification number for the version's source code, and when pointing out problems with a version, you need to provide the 7-digit unique identification number of the released version you are using. + + + +Files with sig as the suffix are gpg separate signatures for the released version of the file of the same name. You can use gpg to check if the changed file is signed and approved by me. + +Follow your needs or follow the instructions below to click on the name of the corresponding release version to download. + +## Install & Run + +GpgFrontend is cross-platform, which is one of its differences. For your operating system, you'll need to choose different ways to lay out GpgFrontend. It is worth noting that GpgFrontend only supports 64-bit operating systems. Please check your hardware with your operating system. + +### Pre-conditions + +GpgFrontend runs dependent on the basic features provided by GnuPG, so you need to install GnuPG before you can install GpgFrontend. Why does GpgFronend require users to install GnuPG separately?Starting with GnuPG 2.0, gpg relies on separate modules to do all of its functions. This requires that when using gpg, these modules all need to be in the correct location on your operating system so that the gpg can find them. + +GnuPG is not included by default in some operating systems (e.g. Windows and macOS), so this situation has caused GpgFrontend to be temporarily unavailable in the Apple Store and Microsoft Store. I have plans to launch GnuPG-based version 1.4 in the future, which will enable GpgFrontend users to start using it when they get it. + +In general, the latest Linux distributions offer a GnuPG 2.0 environment. You can check by typing `gpg --version` in the command line tool. **In general, it is recommended to install versions of GnuPG 2.1 and above.** + +### Windows (No Setup) + +0. If you haven't installed gnupg, + please [Download](https://gnupg.org/ftp/gcrypt/binary/gnupg-w32-2.3.1_20210420.exe) `gnupg-w32-******.exe` and + install it. +1. [Download](https://github.com/saturneric/GpgFrontend/releases/latest)`GpgFrontend-*******-Windows-NoSetup.zip` +2. Unzip `GpgFrontend-*******-Windows-NoSetup.zip` +3. Go into the directory and double click `GpgFrontend.exe`. + +### Windows(Setup) + +1. [Download](https://github.com/saturneric/GpgFrontend/releases/latest) `GpgFrontend-*******-Windows-Setup.exe` +2. Install it and you can find GpgFrontend on your desktop. + +### macOS + +1. [Download](https://github.com/saturneric/GpgFrontend/releases) `GpgFrontend-*******-x86_64.dmg` +2. Double-Click GpgFrontend.dmg to load it + - macOS will automatically decompress the zip file and then you will be able to see the dmg +3. Double click and run it. All published app packages have passed Apple's check, which means you can open it directly. +4. If it satisfies you, you can drag it into your Application folder. + +#### Debian/Ubuntu/CentOS (AppImage) + +AppImage is a format used in Linux systems to distribute portable software without the need for superuser privileges to install them. The core idea of AppImage is a file as an application. Each AppImage contains the application and all the files needed for the application to run. In other words, in addition to the underlying components of the operating system itself, AppImage runs without dependency. This is convenient for users. + +0. Install gnupg (If you have already followed please skip) + - For Debian/Ubuntu + ```shell + $ sudo apt update + $ sudo apt install gpg + ``` + - For CentOS + ```shell + $ sudo yum install gnupg + ``` +1. [Download](https://github.com/saturneric/GpgFrontend/releases) `GpgFrontend-*******-x86_64.AppImage` +2. Give `GpgFrontend-***.AppImage` permission to execute + ```shell + $ chmod u+x ./GpgFrontend-***-x86_64.AppImage + ``` +3. Just double-click `GpgFrontend-***-x86_64.AppImage` to run it. + +### Debian/Ubuntu (DEB) + +With deb, you can easily manage dependencies using the apt tool. Deb packages are small compared to AppImage. + +0. Install gnupg (If you have already followed please skip) + + - For Debian/Ubuntu + + ```shell + $ sudo apt update + $ sudo apt install gpg + ``` + +1. [Download](https://github.com/saturneric/GpgFrontend/releases) `GpgFrontend-*******-x86_64.deb` + +2. Use apt to install GpgFrontned. + + ```shell + $ apt install ./GpgFrontend-*******-x86_64.deb + ``` + +3. At this point, you can find the GpgFrontend icon in your app menu.
\ No newline at end of file diff --git a/manual/translate-interface.md b/manual/translate-interface.md new file mode 100644 index 00000000..36c39b74 --- /dev/null +++ b/manual/translate-interface.md @@ -0,0 +1,31 @@ +# Translate Interface + +GpgFrontend is designed to support multiple languages, but requires volunteer contributions to achieve this goal. +Fortunately, translation work does not require an understanding of difficult technology. Volunteers only need to move their fingers to complete. + +There are two ways to translate, through a translation tool with a GUI interface or directly through a text editor. + +## What you need to know about translation work + +From v2.0.1, Gpg Frontend uses the popular translation support library [GNU gettext](https://www.gnu.org/software/gettext/) in the GNU project. Before starting everything, you need to know something about this library. After you are sure about the content of the document, you can first try to see how GpgFrontned uses the tools provided by this library. + +### Facts + +Most of the translation work is carried out by Google Translate. In most cases, what you have to do is to correct some of the bad aspects of Google Translate. + +## About translation files + +1. Download or clone source code [Here](https://github.com/saturneric/GpgFrontend) +2. You will find some po files(.po) at path `resource/locale/po` +2. You will find some template file(.pot) at path `resource/locale/template` + +## Before starting your work + +In order to facilitate coordination, please contact me via email before you start this work. This is very important, please contact me first so that the work you do can be better used by GpgFrontend. + +## Hand in your work + +You can submit your great work in two ways: + +1. Raise a pull request and merge the changed translation file(s) to the repository. +2. [Email ME](mailto:[email protected]). Please attach the changed ts file on the email.
\ No newline at end of file |