secure connection works

This commit is contained in:
open-trade
2022-01-20 15:41:11 +08:00
parent ce0f1f75de
commit 70c213a60a
3 changed files with 108 additions and 21 deletions

View File

@@ -23,8 +23,38 @@ export async function verify(signed, pk) {
await _sodium.ready;
sodium = _sodium;
}
pk = sodium.from_base64(pk, sodium.base64_variants.ORIGINAL);
if (typeof pk == 'string') {
pk = decodeBase64(pk);
}
return sodium.crypto_sign_open(signed, pk);
}
export function decodeBase64(pk) {
return sodium.from_base64(pk, sodium.base64_variants.ORIGINAL);
}
export function genBoxKeyPair() {
const pair = sodium.crypto_box_keypair();
const sk = pair.privateKey;
const pk = pair.publicKey;
return [sk, pk];
}
export function genSecretKey() {
return sodium.crypto_secretbox_keygen();
}
export function seal(unsigned, theirPk, ourSk) {
const nonce = Uint8Array.from(Array(24).fill(0));
return sodium.crypto_box_easy(unsigned, nonce, theirPk, ourSk);
}
export function encrypt(unsigned, nonce, key) {
return sodium.crypto_secretbox_easy(unsigned, nonce, key);
}
export function decrypt(signed, nonce, key) {
return sodium.crypto_secretbox_open_easy(signed, nonce, key);
}
window.startConn = startConn;