rename background.js to main_start.js
parent
15260c9718
commit
d99cdc48f4
@ -1,48 +0,0 @@
|
|||||||
import { randomBytes } from 'crypto';
|
|
||||||
|
|
||||||
const g = global as any;
|
|
||||||
|
|
||||||
// Because curve wrapper will populate this
|
|
||||||
g.Internal = {};
|
|
||||||
|
|
||||||
// Because curve wrapper uses 'Module' to get at curve-provided functionality
|
|
||||||
// tslint:disable-next-line
|
|
||||||
g.Module = require('../../js/curve/curve25519_compiled');
|
|
||||||
// tslint:disable-next-line
|
|
||||||
require('../../js/curve/curve25519_wrapper');
|
|
||||||
|
|
||||||
export type BinaryType = Uint8Array | Buffer;
|
|
||||||
|
|
||||||
interface CurveType {
|
|
||||||
keyPair: (
|
|
||||||
privateKey: BinaryType
|
|
||||||
) => {
|
|
||||||
pubKey: BinaryType;
|
|
||||||
privKey: BinaryType;
|
|
||||||
};
|
|
||||||
sign: (privateKey: BinaryType, message: BinaryType) => BinaryType;
|
|
||||||
verify: (publicKey: BinaryType, message: BinaryType, signature: BinaryType) => boolean;
|
|
||||||
}
|
|
||||||
|
|
||||||
const { keyPair: internalKeyPair, sign: internalSign, verify: internalVerify } = g.Internal
|
|
||||||
.curve25519 as CurveType;
|
|
||||||
|
|
||||||
export function keyPair() {
|
|
||||||
const privateKey = randomBytes(32);
|
|
||||||
const { pubKey, privKey } = internalKeyPair(privateKey);
|
|
||||||
|
|
||||||
return {
|
|
||||||
publicKey: pubKey,
|
|
||||||
privateKey: privKey,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export function sign(privateKey: BinaryType, message: BinaryType) {
|
|
||||||
return internalSign(privateKey, message);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function verify(publicKey: BinaryType, message: BinaryType, signature: BinaryType) {
|
|
||||||
const failed = internalVerify(publicKey, message, signature);
|
|
||||||
|
|
||||||
return !failed;
|
|
||||||
}
|
|
Loading…
Reference in New Issue