import { gpg } from "@mykeels/gpg";
(async () => {
const keys = await gpg.listKeys();
})();
import { gpg } from "@mykeels/gpg";
(async () => {
const keys = await gpg.generateKey(
"John Doe",
"john.doe@mailinator.com",
"sample-passphrase"
);
})();
import { gpg } from "@mykeels/gpg";
(async () => {
const keys = await gpg.exportPublicKey("john.doe@mailinator.com");
})();
or
import { gpg } from "@mykeels/gpg";
(async () => {
const keys = await gpg.exportPublicKey("John Doe <john.doe@mailinator.com>");
})();
import { gpg } from "@mykeels/gpg";
(async () => {
const keys = await gpg.listKeys();
const keyGridId = keys.find(key => key.email === "john.doe@mailinator.com");
const buffer = await gpg.exportPrivateKey(keyGridId); // this will be encrypted, if there's a passphrase
})();
import { gpg } from "@mykeels/gpg";
(async () => {
const keys = await gpg.listKeys();
const keyGridId = keys.find(key => key.email === "john.doe@mailinator.com");
const privateKey = await gpg.exportPrivateKeyAsBase64(keyGridId); // this will be encrypted, if there's a passphrase
})();
import { gpg } from "@mykeels/gpg";
(async () => {
const { fingerprint } = await gpg.importKeyFromFile(
path.join(__dirname, "public.key")
);
})();
import { gpg } from "@mykeels/gpg";
(async () => {
const { fingerprint } = await gpg.importKey(`THIS IS A SAMPLE PUBLIC KEY`);
})();
import { gpg } from "@mykeels/gpg";
(async () => {
await gpg.removeKey(`6F20F59D`); // pass the key's id
})();
import { gpg } from "@mykeels/gpg";
(async () => {
await gpg.verifySignature("Hello, this is me!", [
"--trust-model",
"always",
"--default-key",
"6F20F59D",
]); // pass the key's id
})();
import { gpg } from "@mykeels/gpg";
(async () => {
await gpg.encrypt("Hello World", [
"recipient1@example.com",
"recipient2@example.com",
]);
})();
import { gpg } from "@mykeels/gpg";
(async () => {
await gpg.encryptFile("/path/to/file", [
"recipient1@example.com",
"recipient2@example.com",
]);
})();
import { gpg } from "@mykeels/gpg";
(async () => {
await gpg.decrypt("SAMPLE-ENCRYPTED-STRING", "sample-passphrase");
})();
import { gpg } from "@mykeels/gpg";
(async () => {
await gpg.decryptFile("/path/to/encrypted/file", "sample-passphrase");
})();
import { gpg } from "@mykeels/gpg";
(async () => {
await gpg.call("<input>", [
"--skip-verify",
"--passphrase-fd",
"0",
"--decrypt",
"./path/to/key.gpg",
]);
})();
import { gpg } from "@mykeels/gpg";
(async () => {
await gpg.callStreaming(
{
source: "source",
dest: "dest",
},
[
"--decrypt",
"--default-key",
"6F20F59D",
"--recipient",
"6F20F59D",
"--trust-model",
"always",
]
);
})();
Unix uses ~/.gnupg
Windows uses C:\Users\[User]\AppData\Roaming\gnupg
import { gpg, GPG_WINDOWS_BASE_DIR } from "@mykeels/gpg";
// gpg uses unix base directory by default
(async () => {
gpg.setBaseDir(GPG_WINDOWS_BASE_DIR);
})();
gpg.setTempFolderPath("./temp");