Score:1

X509 Client certificate - before - XEnroll / Certenroll / KEYGEN

lu flag

IBM (now HCL) Domino has since way back a complete procedure to issue X509 client certificate as a login option to a webserver. Back in 2010-ish it worked fine in both Firefox and Internet Explorer. The handling has 4 steps

  1. Acceptance of Root certificate, CA (usually self-signed from Domino)
  2. Request client certificate, with PrivateKey to local certificate store and PublicKey sent to the server
  3. Domino internal issuing of the certificate and insert in users credentials on the server.
  4. Sending certificate to the user and manually installation of that certificate together with local PrivateKey

But time has passed and web browsers support this solution much less. The problem that has emerged over time is step 2 in the process. The browsers work worse over time for various reasons.

  • Firefox used the HTML tag KEYGEN which is no longer supported (so it is gone)
  • IE has been using XEnroll and Certenroll (still working but IE is on the way out)
  • Chrome doen't work
  • Edge does not have access to use XEnroll/Certenroll and does not work.

I know that nowadays there are much better login methods via SAML, idp, OTP etc etc. But this is what is in place now and will hopefully work for a few more years before it has to be completely replaced. As it is now with IE as the only option, however, customers are putting IE down because it soon lacks support from MS.

Hope that someone can suggest some type of API, javascript that can replace generating KeyPair in the same way as KEYGEN, XEnroll/Certenroll done before, i.e. write down PrivateKey locally and send with PublicKey to the web server. In this way, most of the solutions could be run a little longer while new solutions are built.

With the right solution, it might even be less depending on the user's browser.

Maarten Bodewes avatar
in flag
Key *generation* is not so much a problem. Key management is. I'd not trust a browser to securely generate & store a private key. Why not simply upload a PKCS#10 Certificate Signing Request (CSR) where you keep the private key secure? The authentication mechanism can remain the same (for server certs you obviously want to check that the server is managed by the entity requesting the certificate).
kr flag
@MaartenBodewes: This question can be better answered on the [Security SE](https://security.stackexchange.com/). Can you please move it there?
Score:1
kr flag

Modern browsers support Web Crypto API and SubtleCrypto interface. See the compatibility matrix. In particular, it is possible with JavaScript to generate keys, import and export them, sign and verify signatures.

I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.