Adding apx.crypto
This commit is contained in:
61
wco/crypto/crypto.js
Normal file
61
wco/crypto/crypto.js
Normal file
@@ -0,0 +1,61 @@
|
||||
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;
|
Reference in New Issue
Block a user