In this post in the chromium forum there are alternatives mentioned
Within the browser space, alternatives exist such as:
- Use the device's native management capabilities if an enterprise use case. On Windows, this is Group Policy. On iOS/Android, this is the
mobile device management suites. On OS X, this is Enterprise settings.
On ChromeOS, there is chrome.enterprise.platformKeys  for
- Use WebCrypto to implement certificate enrollment, then deliver the certificate and (exported) private key in an appropriate format for
the platform (such as PKCS#7) and allow the native OS UI to guide
users through installation of certificates and keys.
WebCrypto is supported by many browsers: [link]
And you can use openpgp.js and other solutions. [openpgp.js]
Here are some examples.
You can also generate a CSR: https://www.w3.org/community/webcryptoapi/draft/#generatecertrequest-method
Some library for generating CSRs: https://pkijs.org/
Here is an example with PKIjs for generating selfsigned X509 certs + the keypairs:
generateKey() function creates keypairs.