We have an ASP.NET web app running in IIS, with about 200 users, some are inside our LAN and other ones are outside our LAN. Every user has a userid account and a password to login.

Besides those credentials, we want to add more security for accessing that web app with this requirement:

A user will access that web app just and only from its PC. If the user goes to other place and/or uses other PC, and even if its credential login were right, then he/she will not be able to access that web app.

We thought about using client-side certificates Now we are told that we can meet this requirement using machine certificates instead of client side certificates. With machine certificates, the user will not be able to use any other machine to use the web application.

Also we'd have to install a CA in our IIS server, but we can issue machine certificate for non Active Directory machines also.

Is it possible to meet this requirement with machine ceritificates?


There is no real difference between machine and user certificates: it's a X509 cert that is used during the TLS handshake as client authentication (client authenticated handshake).

The difference is how the certificate is installed and configured on the client: typically, a user certificate will be linked to the user account. depending on the system, it might be "moved" from one system to another when the user moves (for instance, if it's an AD-integrated certificate) and the private key will not be accessible to other users of the same server.

A machine cert, however, is tied to the specific machine. Typically, on windows, it is linked to the LOCAL_MACHINE certificate store and the access to the private key is protected by ACLs so that only local admins and authorized users have access to it.

So, to answer your question: you, you can use machine certificate since the only difference is the way they are distributed and their access is controlled.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.