61 lines
1.2 KiB
JavaScript
61 lines
1.2 KiB
JavaScript
var apx = apx || {};
|
|
|
|
apx.crypto = apx.crypto || {};
|
|
|
|
apx.crypto.genKey = async (uuid) => {
|
|
return await openpgp.generateKey(
|
|
{
|
|
type: "ecc",
|
|
curve: "curve25519",
|
|
userIDs: [
|
|
{
|
|
alias: uuid
|
|
}
|
|
],
|
|
passphrase: "",
|
|
format: "armored",
|
|
}
|
|
);
|
|
};
|
|
|
|
apx.crypto.encryptMessage = async (message, publicKey) => {
|
|
publicKey = await openpgp.readKey(
|
|
{
|
|
armoredKey: publicKey
|
|
}
|
|
);
|
|
|
|
return await openpgp.encrypt(
|
|
{
|
|
message: await openpgp.createMessage(
|
|
{
|
|
text: message
|
|
}
|
|
),
|
|
encryptionKeys: publicKey
|
|
}
|
|
);
|
|
};
|
|
|
|
apx.crypto.decryptMessage = async (encryptedMessage, privateKey) => {
|
|
privateKey = await openpgp.readPrivateKey(
|
|
{
|
|
armoredKey: privateKey
|
|
}
|
|
);
|
|
|
|
const message = await openpgp.readMessage(
|
|
{
|
|
armoredMessage: encryptedMessage
|
|
}
|
|
);
|
|
|
|
return await openpgp.decrypt(
|
|
{
|
|
message,
|
|
decryptionKeys: privateKey
|
|
}
|
|
);
|
|
};
|
|
|
|
export default apx; |