Draft: Try to use native Web Crypto and async functions
This fails because node-forge uses "classic" Web Workers, which Deno doesn't support:
➜ seeded-rsa git:(main) ✗ deno test
Check file:///home/alex/Projects/seeded-rsa/test.ts
running 1 test from ./test.ts
generateSeededRsa ... FAILED (9ms)
ERRORS
generateSeededRsa => ./test.ts:15:6
error: NotSupported: Classic workers are not supported.
at createWorker (internal:runtime/js/11_workers.js:37:16)
at new Worker (internal:runtime/js/11_workers.js:106:18)
at generate (file:///home/alex/.cache/deno/npm/registry.npmjs.org/node-forge/1.3.1/lib/prime.js:192:20)
at primeincFindPrimeWithWorkers (file:///home/alex/.cache/deno/npm/registry.npmjs.org/node-forge/1.3.1/lib/prime.js:178:3)
at primeincFindPrime (file:///home/alex/.cache/deno/npm/registry.npmjs.org/node-forge/1.3.1/lib/prime.js:96:12)
at Object.prime.generateProbablePrime (file:///home/alex/.cache/deno/npm/registry.npmjs.org/node-forge/1.3.1/lib/prime.js:88:12)
at getPrime (file:///home/alex/.cache/deno/npm/registry.npmjs.org/node-forge/1.3.1/lib/rsa.js:1749:17)
at generate (file:///home/alex/.cache/deno/npm/registry.npmjs.org/node-forge/1.3.1/lib/rsa.js:1736:5)
at _generateKeyPair (file:///home/alex/.cache/deno/npm/registry.npmjs.org/node-forge/1.3.1/lib/rsa.js:1732:3)
at Object.pki.rsa.generateKeyPair (file:///home/alex/.cache/deno/npm/registry.npmjs.org/node-forge/1.3.1/lib/rsa.js:1040:3)
FAILURES
generateSeededRsa => ./test.ts:15:6
FAILED | 0 passed | 1 failed (127ms)
error: Test failed